@font-face{font-family:Shabnam;font-weight:normal;font-display:swap;src:url('https://cdn.jsdelivr.net/gh/rastikerdar/shabnam-font@v5.0.1/dist/Shabnam.woff2') format('woff2'),url('https://cdn.jsdelivr.net/gh/rastikerdar/shabnam-font@v5.0.1/dist/Shabnam.woff') format('woff');}
@font-face{font-family:Shabnam;font-weight:bold;font-display:swap;src:url('https://cdn.jsdelivr.net/gh/rastikerdar/shabnam-font@v5.0.1/dist/Shabnam-Bold.woff2') format('woff2'),url('https://cdn.jsdelivr.net/gh/rastikerdar/shabnam-font@v5.0.1/dist/Shabnam-Bold.woff') format('woff');}
@font-face{font-family:Shabnam;font-weight:100;font-display:swap;src:url('https://cdn.jsdelivr.net/gh/rastikerdar/shabnam-font@v5.0.1/dist/Shabnam-Thin.woff2') format('woff2'),url('https://cdn.jsdelivr.net/gh/rastikerdar/shabnam-font@v5.0.1/dist/Shabnam-Thin.woff') format('woff');}
@font-face{font-family:Shabnam;font-weight:300;font-display:swap;src:url('https://cdn.jsdelivr.net/gh/rastikerdar/shabnam-font@v5.0.1/dist/Shabnam-Light.woff2') format('woff2'),url('https://cdn.jsdelivr.net/gh/rastikerdar/shabnam-font@v5.0.1/dist/Shabnam-Light.woff') format('woff');}
@font-face{font-family:Shabnam;font-weight:500;font-display:swap;src:url('https://cdn.jsdelivr.net/gh/rastikerdar/shabnam-font@v5.0.1/dist/Shabnam-Medium.woff2') format('woff2'),url('https://cdn.jsdelivr.net/gh/rastikerdar/shabnam-font@v5.0.1/dist/Shabnam-Medium.woff') format('woff');}



*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --bg:    #F7F5F2;
  --dark:  #111111;
  --gold:  #B8965A;
  --gold2: #D4B483;
  --muted: #7A7570;
  --bdr:   #E2DDD8;
  --white: #FFFFFF;
  --svc-progress: 0;
}
html { scroll-behavior: smooth; }
body {
  background: var(--bg);
  color: var(--dark);
  font-family: 'Shabnam', sans-serif;
  font-weight: 300;
  overflow-x: hidden;
  cursor: none;
  direction: rtl;
}

/* ── Progress bar ── */
#progress { position:fixed;top:0;right:0;width:100%;height:2px;z-index:9999;pointer-events:none; }
#pfill    { height:100%;background:var(--gold);width:0%; }

/* ── Cursor ── */
#cur {
  position:fixed;width:8px;height:8px;background:var(--dark);border-radius:50%;
  pointer-events:none;z-index:8900;transform:translate(-50%,-50%);transition:transform .2s;
}
#cring {
  position:fixed;width:36px;height:36px;border:1px solid var(--gold);border-radius:50%;
  pointer-events:none;z-index:8899;transform:translate(-50%,-50%);
  transition:width .35s ease,height .35s ease,border-color .35s ease,opacity .3s;
}
body.hov #cring { width:54px;height:54px;border-color:var(--dark); }

html.is-loading,
html.is-loading body {
  width: 100%;
  height: 100%;
  overflow: hidden !important;
  overscroll-behavior: none;
  touch-action: none;
}

/* ── Loader ── */
#loader {
  position:fixed;inset:0;background:var(--dark);z-index:9500;
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2rem;
  transition:opacity .9s ease,visibility .9s ease;
}
#loader.out { opacity:0;visibility:hidden; }
.l-inner { overflow:hidden; }
.l-word {
  font-size:clamp(1.3rem,3.5vw,2rem);font-weight:300;color:#fff;letter-spacing:.15em;display:block;
  transform:translateY(110%);animation:lup .9s cubic-bezier(.16,1,.3,1) .3s forwards;
}
@keyframes lup { to{transform:translateY(0);} }
.l-bar { width:120px;height:1px;background:rgba(255,255,255,.12);position:relative;overflow:hidden; }
.l-bar::after {
  content:'';position:absolute;top:0;right:0;height:100%;background:var(--gold);
  animation:lbar 1.5s cubic-bezier(.16,1,.3,1) .4s forwards;width:0;
}
@keyframes lbar { to{width:100%;} }

/* ── Floating Surgical Tools ── */
.surgical-layer { position:fixed;inset:0;pointer-events:none;z-index:2; }
.s-tool { position:absolute;color:var(--dark);will-change:transform; }
.s-bob  { display:block; }
@keyframes bob  { 0%,100%{transform:translate(0,0);}45%{transform:translate(2px,-9px);}75%{transform:translate(-1px,-4px);} }
@keyframes bob2 { 0%,100%{transform:translate(0,0);}38%{transform:translate(-3px,-8px);}70%{transform:translate(1px,-3px);} }
@keyframes bob3 { 0%,100%{transform:translate(0,0);}50%{transform:translate(1px,-11px);}80%{transform:translate(-2px,-5px);} }
.t-scalpel  { left:5vw;   top:20vh;  opacity:.32; }
.t-scissors { right:5vw;  top:30vh;  opacity:.40; }
.t-forceps  { left:4vw;   top:62vh;  opacity:.30; }
.t-needle   { right:6vw;  top:70vh;  opacity:.34; }
.t-clamp    { right:5vw;  top:115vh; opacity:.28; }
.t-elevator { left:5vw;   top:145vh; opacity:.28; }
.t-scalpel  .s-bob { animation:bob  6s   ease-in-out infinite; }
.t-scissors .s-bob { animation:bob2 7.5s ease-in-out infinite;animation-delay:-2s; }
.t-forceps  .s-bob { animation:bob3 5.5s ease-in-out infinite;animation-delay:-1s; }
.t-needle   .s-bob { animation:bob  8s   ease-in-out infinite;animation-delay:-3.5s; }
.t-clamp    .s-bob { animation:bob2 6.5s ease-in-out infinite;animation-delay:-.5s; }
.t-elevator .s-bob { animation:bob3 7s   ease-in-out infinite;animation-delay:-4s; }

/* ── Nav ── */
nav.site-nav {
  position:fixed;top:0;left:0;right:0;z-index:100;
  min-height:96px;padding:1.45rem 4vw;display:flex;align-items:center;justify-content:space-between;
  transition:min-height .4s ease,padding .4s ease,background .4s ease,backdrop-filter .4s ease;
}
nav.site-nav.sc { min-height:78px;padding:1rem 4vw;background:rgba(247,245,242,.96);backdrop-filter:blur(20px);border-bottom:1px solid var(--bdr); }
.nav-logo { font-size:1.35rem;font-weight:500;letter-spacing:.05em;color:var(--dark);text-decoration:none;cursor:none;white-space:nowrap; }
.nav-links { display:flex;gap:2.8rem;list-style:none; }
.nav-links a { font-size:.95rem;font-weight:400;letter-spacing:.02em;color:var(--muted);text-decoration:none;cursor:none;transition:color .3s; }
.nav-links a:hover { color:var(--dark); }
.nav-actions { display:flex;align-items:center;gap:1.25rem; }
.nav-phone { display:flex;flex-direction:column;align-items:flex-start;gap:.12rem;color:var(--dark);text-decoration:none;cursor:none;white-space:nowrap; }
.nav-phone span { font-size:.68rem;color:var(--muted); }
.nav-phone strong { font-size:.9rem;font-weight:500;letter-spacing:.02em;transition:color .3s; }
.nav-phone:hover strong { color:var(--gold); }
.nav-cta { display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.8rem 1.5rem;background:var(--dark);color:var(--white);font-size:.86rem;font-weight:500;text-decoration:none;cursor:none;white-space:nowrap;transition:background .3s,color .3s,transform .3s; }
.nav-cta:hover { background:var(--gold);color:var(--dark);transform:translateY(-2px); }

/* ── Text animation base ── */
.st-3d { perspective:1100px; }
.tl    { display:block;overflow:hidden;line-height:1.2; }
.tli   { display:block;transform-origin:center bottom; }

/* ── Hero ── */
#hero { min-height:100vh;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden; }
.hero-left { display:flex;flex-direction:column;justify-content:flex-end;padding:12vh 6vw 10vh;position:relative;z-index:10;isolation:isolate;text-align:right; }
.hero-eyebrow { font-size:.75rem;letter-spacing:.08em;color:var(--gold);margin-bottom:2rem;position:relative;z-index:2;overflow:hidden; }
.hero-eyebrow span { display:block;transform:translateY(100%);animation:lup .8s cubic-bezier(.16,1,.3,1) 1.3s forwards; }
.hero-title { font-family:'Shabnam',sans-serif;font-size:clamp(2.6rem,3.5vw,4.5rem);font-weight:300;line-height:1.28;letter-spacing:0;position:relative;z-index:2; }
.htl { overflow:hidden;display:block; }
.htl span { display:block;transform:translateY(110%) rotateX(-20deg);transform-origin:bottom center; }
.htl:nth-child(1) span { animation:hline 1s cubic-bezier(.16,1,.3,1) 1.45s forwards; }
.htl:nth-child(2) span { animation:hline 1s cubic-bezier(.16,1,.3,1) 1.62s forwards; }
.htl:nth-child(3) span { animation:hline 1s cubic-bezier(.16,1,.3,1) 1.79s forwards; }
@keyframes hline { to{transform:translateY(0) rotateX(0);} }
.hero-desc { margin-top:2.5rem;font-size:1.08rem;line-height:2;color:var(--muted);max-width:520px;position:relative;z-index:2;opacity:0;transform:translateY(18px);animation:fup .8s ease 2.1s forwards; }
.hero-resume { list-style:none;display:grid;gap:.45rem; }
.hero-resume li { position:relative;padding-right:1.15rem; }
.hero-resume li::before { content:'';position:absolute;top:.9em;right:0;width:5px;height:5px;border-radius:50%;background:var(--gold); }
.hero-actions { margin-top:3rem;display:flex;align-items:center;gap:2.5rem;justify-content:flex-end;position:relative;z-index:2;opacity:0;transform:translateY(18px);animation:fup .8s ease 2.3s forwards; }
@keyframes fup { to{opacity:1;transform:translateY(0);} }

.btn-primary { display:inline-flex;align-items:center;gap:.8rem;padding:1rem 2.2rem;background:var(--dark);color:var(--white);font-size:.78rem;letter-spacing:.04em;text-decoration:none;cursor:none;position:relative;overflow:hidden; }
.btn-primary::after { content:'';position:absolute;inset:0;background:var(--gold);transform:translateX(101%);transition:transform .42s cubic-bezier(.16,1,.3,1); }
.btn-primary:hover::after { transform:translateX(0); }
.btn-primary > span { position:relative;z-index:1;display:flex;align-items:center;gap:.8rem; }
.hero-actions .btn-primary > span,.hero-actions .btn-sec > span { flex-direction:row; }
.btn-sec { font-size:.78rem;letter-spacing:.04em;color:var(--muted);text-decoration:none;cursor:none;display:flex;align-items:center;gap:.6rem;transition:color .3s; }
.btn-sec svg { transition:transform .3s; }
.btn-sec:hover { color:var(--dark); }
.btn-sec:hover svg { transform:translateX(-5px); }
.hero-actions .btn-sec { min-height:52px;padding:1rem 2.2rem;border:1px solid var(--dark);color:var(--dark);position:relative;overflow:hidden;justify-content:center; }
.hero-actions .btn-sec::after { content:'';position:absolute;inset:0;background:var(--gold);transform:translateX(101%);transition:transform .42s cubic-bezier(.16,1,.3,1); }
.hero-actions .btn-sec:hover::after { transform:translateX(0); }
.hero-actions .btn-sec > span { position:relative;z-index:1;display:flex;align-items:center;gap:.8rem; }

.hero-right { position:relative;overflow:hidden;clip-path:inset(100% 0 0 0);animation:heroReveal 1.3s cubic-bezier(.16,1,.3,1) 1.4s forwards; }
@keyframes heroReveal { to{clip-path:inset(0% 0 0 0);} }
.h-img-wrap { position:absolute;inset:0;overflow:hidden; }
.h-img-wrap img { width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(10%) contrast(1.02);transform:scale(1.03); }
.h-img-ov { position:absolute;inset:0 -3px 0 0;background:linear-gradient(to left,var(--bg) 0%,rgba(247,245,242,.38) 8%,transparent 20%); }
.hero-sc { position:absolute;bottom:3rem;right:6vw;z-index:3;display:flex;align-items:center;gap:1rem;opacity:0;animation:fup .8s ease 2.6s forwards; }
.sc-line { width:40px;height:1px;background:var(--gold);position:relative;overflow:hidden; }
.sc-line::after { content:'';position:absolute;top:0;right:-100%;width:100%;height:100%;background:var(--dark);animation:scpulse 2.2s ease 2.6s infinite; }
@keyframes scpulse { 0%{right:-100%}50%,100%{right:100%} }
.sc-text { font-size:.68rem;letter-spacing:.1em;color:var(--muted); }

/* ── Section Shared ── */
section { padding:10vh 6vw; }
.s-label {
  font-size:.7rem;letter-spacing:.15em;color:var(--gold);margin-bottom:2.5rem;
  display:flex;align-items:center;gap:1rem;flex-direction:row-reverse;justify-content:flex-end;
}
.s-label::before { content:'';display:block;width:30px;height:1px;background:var(--gold);flex-shrink:0; }
.s-title { font-size:clamp(2rem,4.5vw,4.5rem);font-weight:300;line-height:1.25;letter-spacing:0; }
.s-title em { font-style:normal;color:var(--gold);font-weight:400; }

/* ── Marquee ── */
.mq-strip { overflow:hidden;padding:1.8rem 0;border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr); }
.mq-track { display:flex;gap:3.5rem;white-space:nowrap;animation:mq 28s linear infinite; }
.mq-item { font-size:.95rem;font-weight:300;letter-spacing:.1em;color:var(--muted);display:flex;align-items:center;gap:3.5rem; }
.mq-item::after { content:'✦';color:var(--gold);font-size:.55rem; }
@keyframes mq { from{transform:translateX(0)}to{transform:translateX(50%)} }

/* ── About ── */
#about { display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center; }
.a-img { position:relative;aspect-ratio:4/5;overflow:hidden; }
.a-img img,.a-img .doctor-placeholder { width:100%;height:100%;object-fit:cover;filter:grayscale(12%);transition:transform .9s cubic-bezier(.16,1,.3,1); }
.a-img:hover img,.a-img:hover .doctor-placeholder { transform:scale(1.03); }
.a-img-acc { position:absolute;bottom:-2rem;left:-2rem;width:58%;height:58%;border:1px solid var(--gold);z-index:-1; }
.a-body { font-size:.95rem;line-height:2;color:var(--muted);margin-top:1.8rem;max-width:480px;text-align:right; }
.a-body strong { color:var(--dark);font-weight:400; }
.about-cta { margin-top:2rem;display:flex;justify-content:flex-start; }
.a-sig { margin-top:3rem;display:flex;flex-direction:column;gap:.3rem;text-align:right; }
.sig-n { font-size:1.5rem;font-weight:400;color:var(--dark); }
.sig-t { font-size:.72rem;letter-spacing:.08em;color:var(--gold); }

/* ── Stats ── */
#stats { background:var(--dark);color:var(--white);padding:8vh 6vw; }
.stats-g { display:grid;grid-template-columns:repeat(4,1fr); }
.stat { padding:4rem 3rem;border-left:1px solid rgba(255,255,255,.07);position:relative;overflow:hidden;text-align:right; }
.stat:last-child { border-left:none; }
.stat-bar { position:absolute;bottom:0;right:0;height:2px;background:var(--gold);width:0; }
.stat-n { font-size:clamp(3rem,5vw,6rem);font-weight:300;line-height:1;color:#fff; }
.stat-n .sfx { color:var(--gold); }
.stat-l { margin-top:1rem;font-size:.72rem;letter-spacing:.08em;color:rgba(255,255,255,.35); }

/* ── Services — PINNED HORIZONTAL SCROLL ── */
#services { padding:0;margin:0; }
.svc-viewport { display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden; }
.svc-hdr { flex-shrink:0;padding:8vh 6vw 1.5rem;display:flex;justify-content:space-between;align-items:flex-end; }
.svc-outer { display:flex;justify-content:flex-start;overflow:hidden;width:100%;direction:rtl; }
.svc-track {
  display:flex;flex-direction:row;align-items:stretch;direction:rtl;
  flex-shrink:0;width:max-content;
  gap:1px;padding:0 6vw;will-change:transform;
}
.svc-card {
  background:var(--bg);padding:3.2rem 2.4rem;position:relative;overflow:hidden;cursor:none;
  transition:background .4s;text-align:right;
  width:clamp(300px,31vw,520px);min-height:auto;flex-shrink:0;
  display:flex;flex-direction:column;
}
.svc-card::after { content:'';position:absolute;bottom:0;right:0;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .5s cubic-bezier(.16,1,.3,1); }
.svc-card:hover { background:var(--white); }
.svc-card:hover::after { transform:scaleX(1); }
.svc-n { font-size:5rem;font-weight:300;line-height:1;color:var(--bdr);margin-bottom:1.5rem;transition:color .4s; }
.svc-card:hover .svc-n { color:var(--gold2); }
.svc-media { height:210px;margin:-3.2rem -2.4rem 2rem;overflow:hidden;flex-shrink:0;background:var(--bdr); }
.svc-media img { width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(16%);transition:transform .8s cubic-bezier(.16,1,.3,1),filter .4s; }
.svc-card:hover .svc-media img { transform:scale(1.045);filter:grayscale(0%); }
.svc-name { font-size:1.35rem;font-weight:400;margin-bottom:1rem; }
.svc-desc { font-size:.84rem;line-height:1.85;color:var(--muted); }
.svc-lnk { display:inline-flex;align-items:center;gap:.5rem;margin-top:auto;padding-top:2rem;font-size:.72rem;letter-spacing:.05em;color:var(--dark);text-decoration:none;cursor:none;transition:gap .3s; }
.svc-lnk:hover { gap:.9rem; }

/* ── Gallery ── */
.gal { display:flex;gap:1px;overflow:hidden;height:56vh; }
.gal-item { flex:1;overflow:hidden;position:relative; }
.gal-item img { width:100%;height:100%;object-fit:cover;filter:grayscale(22%);transition:transform .9s cubic-bezier(.16,1,.3,1),filter .5s; }
.gal-item:hover img { transform:scale(1.07);filter:grayscale(0%); }
.gal-ov { position:absolute;bottom:0;left:0;right:0;padding:1.5rem;background:linear-gradient(to top,rgba(0,0,0,.55),transparent);opacity:0;transition:opacity .4s; }
.gal-item:hover .gal-ov { opacity:1; }
.gal-lbl { font-size:.72rem;letter-spacing:.1em;color:rgba(255,255,255,.85); }

/* ── Process ── */
#process { background:#EFECE8; }
.proc-hdr { margin-bottom:5rem; }
.proc-steps { display:grid;grid-template-columns:repeat(4,1fr);position:relative; }
.proc-steps::before { content:'';position:absolute;top:2rem;left:0;right:0;height:1px;background:var(--bdr); }
.proc-progress-line { position:absolute;top:2rem;right:0;height:1px;background:var(--gold);width:0;z-index:1; }
.proc-step { padding:0 0 0 2rem;text-align:right; }
.step-c { width:4rem;height:4rem;border:1px solid var(--bdr);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:300;color:var(--gold);background:#EFECE8;position:relative;z-index:2;margin-bottom:2.5rem;margin-right:auto;transition:background .4s,border-color .4s,color .4s; }
.proc-step:hover .step-c { background:var(--dark);border-color:var(--dark);color:#fff; }
.step-title { font-size:1.15rem;font-weight:500;margin-bottom:1rem; }
.step-desc  { font-size:.82rem;line-height:1.85;color:var(--muted); }

/* ── Testimonials ── */
.tst-g { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bdr); }
.tst-c { background:var(--bg);padding:3rem 2.5rem;transition:background .3s;text-align:right; }
.tst-c:only-child { grid-column:1 / -1; }
.tst-c:only-child .tst-txt { max-width:860px; }
.tst-c:hover { background:var(--white); }
.tst-q { font-size:3rem;line-height:1;color:var(--gold);opacity:.38;margin-bottom:1.5rem; }
.tst-txt { font-size:.88rem;line-height:1.95;color:var(--muted);font-style:normal;margin-bottom:2rem; }
.tst-txt p + p { margin-top:1rem; }
.tst-auth { display:flex;align-items:center;gap:1rem;flex-direction:row-reverse;justify-content:flex-end; }
.tst-av { width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bdr); }
.tst-av img { width:100%;height:100%;object-fit:cover;filter:grayscale(28%); }
.tst-nm { font-size:.8rem;font-weight:500;letter-spacing:.02em; }
.tst-dt { font-size:.72rem;color:var(--gold);margin-top:.2rem; }

/* ── CTA ── */
#cta { background:var(--dark);color:var(--white);text-align:center;padding:14vh 6vw;position:relative;overflow:hidden; }
.cta-bg { position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:clamp(6rem,20vw,24rem);font-weight:300;color:rgba(255,255,255,.025);white-space:nowrap;pointer-events:none;user-select:none; }
.cta-lbl { font-size:.72rem;letter-spacing:.12em;color:var(--gold);margin-bottom:2rem; }
.cta-title { max-width:1100px;margin:0 auto 1.5rem;font-size:clamp(2rem,4.2vw,4.8rem);font-weight:300;line-height:1.35;position:relative;z-index:1; }
.cta-title em { font-style:normal;color:var(--gold2); }
.cta-sub { font-size:.95rem;line-height:1.9;color:rgba(255,255,255,.55);margin-bottom:3.5rem;position:relative;z-index:1; }
.cta-sub span { display:block; }
.cta-btns { display:flex;align-items:center;justify-content:center;gap:1.8rem;position:relative;z-index:1; }
.btn-gold { display:inline-flex;align-items:center;gap:.75rem;padding:1.1rem 2.8rem;background:var(--gold);color:var(--dark);font-size:.78rem;letter-spacing:.04em;text-decoration:none;cursor:none;font-weight:500;transition:background .3s; }
.btn-gold:hover { background:var(--gold2); }
.btn-out  { display:inline-flex;align-items:center;gap:.75rem;padding:1.1rem 2.8rem;border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.65);font-size:.78rem;letter-spacing:.04em;text-decoration:none;cursor:none;transition:border-color .3s,color .3s; }
.btn-out:hover { border-color:var(--gold);color:var(--gold); }
#open-consultation-form { background:var(--white);border-color:var(--white);color:var(--dark);font-family:inherit; }
#open-consultation-form:hover { background:var(--gold);border-color:var(--gold);color:var(--dark); }
.mag { display:inline-block; }

/* ── Consultation modal ── */
body.consultation-open { overflow:hidden; }
.consult-modal { position:fixed;inset:0;z-index:9200;display:flex;align-items:center;justify-content:center;padding:2rem;opacity:0;visibility:hidden;pointer-events:none;cursor:default;transition:opacity .3s,visibility .3s; }
.consult-modal.is-open { opacity:1;visibility:visible;pointer-events:auto; }
.consult-backdrop { position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(17,17,17,.72);cursor:pointer; }
.consult-dialog { width:min(720px,100%);max-height:88vh;overflow:auto;background:var(--bg);color:var(--dark);padding:3rem;position:relative;text-align:right;transform:translateY(24px);transition:transform .35s cubic-bezier(.16,1,.3,1); }
.consult-modal.is-open .consult-dialog { transform:translateY(0); }
.consult-close { position:absolute;top:1.25rem;left:1.25rem;width:40px;height:40px;border:1px solid var(--bdr);background:transparent;color:var(--dark);font-size:1.7rem;line-height:1;cursor:pointer;transition:background .3s,color .3s; }
.consult-close:hover { background:var(--dark);color:var(--white); }
.consult-eyebrow { margin-bottom:.8rem;color:var(--gold);font-size:.72rem;letter-spacing:.1em; }
.consult-dialog h2 { padding-left:3rem;font-size:clamp(1.7rem,3vw,2.7rem);font-weight:400;line-height:1.4; }
.consult-intro { margin-top:.8rem;color:var(--muted);font-size:.85rem;line-height:1.8; }
.consult-form { margin-top:2rem;display:grid;grid-template-columns:1fr 1fr;gap:1.25rem; }
.consult-form label { display:flex;flex-direction:column;gap:.55rem; }
.consult-form label > span { font-size:.78rem;font-weight:500; }
.consult-form input,.consult-form select,.consult-form textarea { width:100%;border:1px solid var(--bdr);border-radius:0;background:var(--white);color:var(--dark);padding:.9rem 1rem;font:inherit;font-size:.88rem;outline:none;transition:border-color .25s; }
.consult-form input,.consult-form textarea { cursor:text; }
.consult-form select { appearance:none;-webkit-appearance:none;padding-left:2.75rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 1rem center;background-size:14px; }
.consult-form select { cursor:pointer; }
.consult-form input:focus,.consult-form select:focus,.consult-form textarea:focus { border-color:var(--gold); }
.consult-form textarea { resize:vertical;min-height:110px; }
.consult-full { grid-column:1 / -1; }
.consult-form-footer { display:flex;align-items:center;justify-content:space-between;gap:1.5rem; }
.consult-form-footer p { max-width:360px;color:var(--muted);font-size:.7rem;line-height:1.7; }
.consult-submit { min-height:48px;border:0;background:var(--dark);color:var(--white);padding:.85rem 2rem;font:inherit;font-size:.82rem;font-weight:500;cursor:pointer;transition:background .3s,color .3s; }
.consult-submit:hover { background:var(--gold);color:var(--dark); }

/* ── Footer ── */
footer { padding:5vh 6vw;border-top:1px solid var(--bdr);display:grid;grid-template-columns:1fr 1fr 1fr;gap:4vw;align-items:start; }
.f-bn { font-size:1.2rem;font-weight:400;margin-bottom:.8rem; }
.f-bt { font-size:.75rem;color:var(--muted);line-height:1.75; }
.f-col h4 { font-size:.68rem;letter-spacing:.12em;color:var(--gold);margin-bottom:1.5rem; }
.f-col ul  { list-style:none;display:flex;flex-direction:column;gap:.75rem;text-align:right; }
.f-col a   { font-size:.82rem;color:var(--muted);text-decoration:none;cursor:none;transition:color .3s; }
.f-col a:hover { color:var(--dark); }
.f-cl { font-size:.82rem;color:var(--muted);margin-bottom:.7rem;line-height:1.6;text-align:right; }
.f-cl strong { color:var(--dark);font-weight:500;display:block;margin-bottom:.12rem; }
.f-btm { padding:2vh 6vw;border-top:1px solid var(--bdr);display:flex;justify-content:space-between;align-items:center; }
.f-btm p { font-size:.72rem;color:var(--muted);letter-spacing:.03em; }

/* ── Doctor placeholder ── */
.doctor-placeholder {
  width:100%;height:100%;
  background:linear-gradient(135deg,#EFECE8 0%,#E2DDD8 100%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;
}
.doctor-placeholder-icon { width:100px;height:100px;border-radius:50%;background:#D4CFC9;display:flex;align-items:center;justify-content:center; }
.doctor-placeholder-icon svg { opacity:.5; }
.doctor-placeholder-text { font-size:.85rem;color:var(--muted);letter-spacing:.08em; }

/* ── Reduced motion ── */
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms !important;transition-duration:.01ms !important; }
}

@media (hover:none), (pointer:coarse) {
  body { cursor:auto; }
  #cur,#cring { display:none; }
  a,button,.svc-card,.tst-c,.gal-item,.proc-step,.mag { cursor:auto; }
}

/* ── Responsive ── */
@media (max-width:1024px) {
  nav.site-nav { min-height:84px;padding:1.2rem 4vw; }
  nav.site-nav.sc { min-height:74px;padding:.9rem 4vw; }
  .nav-links { gap:1.4rem; }
  .nav-links a { font-size:.86rem; }
  .nav-phone span { display:none; }
  #hero { min-height:auto;grid-template-columns:1fr;grid-template-rows:auto auto; }
  .hero-right { display:block;order:-1;height:42vh;min-height:320px; }
  .hero-left { padding:7.5rem 6vw 8vh; }
  .hero-desc { max-width:620px; }
  #about { grid-template-columns:1fr; }
  .a-img { max-width:460px; }
  #services { min-height:auto;padding:10vh 0 0; }
  .svc-hdr { flex-direction:column;align-items:flex-start;gap:2rem; }
  .svc-btn { align-self:flex-end; }
  .svc-track { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));direction:rtl;height:auto;padding:0 4vw 0; }
  .svc-card { width:100%; }
  .stats-g { grid-template-columns:repeat(2,1fr); }
  .tst-g { grid-template-columns:1fr; }
  .proc-steps { grid-template-columns:repeat(2,1fr);gap:3rem; }
  .proc-steps::before,.proc-progress-line { display:none; }
  footer { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  nav.site-nav { min-height:78px;padding:.85rem 5vw;background:rgba(247,245,242,.96);backdrop-filter:blur(18px);border-bottom:1px solid var(--bdr); }
  nav.site-nav.sc { min-height:70px;padding:.7rem 5vw; }
  .nav-logo { font-size:1.08rem; }
  .nav-actions { gap:.65rem; }
  .nav-phone strong { font-size:.74rem; }
  .nav-cta { min-height:40px;padding:.65rem .9rem;font-size:.73rem; }
  .nav-links { display:none; }
  section { padding:5.5rem 5vw; }
  #hero { min-height:auto; }
  .hero-right { height:34vh;min-height:240px; }
  .h-img-ov { inset:0 0 -3px 0;background:linear-gradient(to top,var(--bg) 0%,rgba(247,245,242,.28) 10%,transparent 28%); }
  .hero-left { padding:2.5rem 5vw 5.5rem;justify-content:flex-start; }
  .hero-eyebrow { margin-bottom:1.25rem;font-size:.7rem;letter-spacing:.04em; }
  .hero-title { font-size:2.35rem;line-height:1.35; }
  .hero-desc { margin-top:1.5rem;font-size:1rem;line-height:1.95;max-width:none; }
  .hero-actions { margin-top:2rem;align-items:stretch;gap:1rem;flex-direction:column; }
  .btn-primary,.btn-sec,.btn-gold,.btn-out { width:100%;justify-content:center;cursor:auto; }
  .hero-sc { display:none; }
  .s-label { margin-bottom:1.5rem;font-size:.66rem;letter-spacing:.08em; }
  .s-title { font-size:2.25rem;line-height:1.28; }
  .mq-strip { padding:1.1rem 0; }
  .mq-track,.mq-item { gap:2rem; }
  #about { gap:3rem; }
  .a-img { max-width:none;width:100%; }
  .a-img-acc { display:none; }
  .a-body { font-size:.9rem;line-height:1.9;max-width:none; }
  #stats { padding:4.5rem 5vw; }
  .stats-g { grid-template-columns:1fr; }
  .stat { padding:2rem 0;border-left:none;border-bottom:1px solid rgba(255,255,255,.08); }
  .stat:last-child { border-bottom:none; }
  .stat-n { font-size:3.25rem; }
  #services { padding:8vh 0 0; }
  .svc-viewport { width:100%;overflow:hidden; }
  .svc-hdr { padding:0 5vw 0;align-items:stretch;gap:0; }
  .svc-btn { display:none; }
  .svc-outer { display:block;width:100%;overflow:hidden; }
  .svc-track {
    display:grid;grid-template-columns:minmax(0,1fr);direction:rtl;
    width:100%;max-width:100%;flex-shrink:1;
    gap:1px;padding:0 5vw;transform:none !important;
  }
  .svc-card { width:100%;min-width:0;max-width:100%;padding:2.25rem 1.5rem;cursor:auto; }
  .svc-n { font-size:3.5rem;margin-bottom:1rem; }
  .svc-name { font-size:1.12rem; }
  .gal { display:grid;grid-template-columns:1fr 1fr;height:auto;overflow:visible; }
  .gal-item { min-height:42vw; }
  .gal-ov { opacity:1;padding:1rem; }
  .proc-hdr { margin-bottom:3rem; }
  .proc-steps { grid-template-columns:1fr;gap:2rem; }
  .proc-step { display:grid;grid-template-columns:4rem 1fr;gap:1rem;padding:0;align-items:start; }
  .step-c { margin:0;width:3.4rem;height:3.4rem;font-size:.95rem; }
  .step-title { font-size:1rem;margin-bottom:.55rem; }
  .step-desc { font-size:.82rem;line-height:1.8; }
  .tst-c { padding:2rem 1.5rem; }
  #cta { padding:6rem 5vw; }
  .cta-bg { font-size:7rem; }
  .cta-title { font-size:2.35rem; }
  .cta-sub { line-height:1.8;margin-bottom:2rem; }
  .cta-btns { flex-direction:column;gap:.9rem; }
  .consult-modal { padding:1rem;align-items:flex-end; }
  .consult-dialog { max-height:92vh;padding:2.5rem 1.25rem 1.5rem; }
  .consult-close { top:.8rem;left:.8rem;width:36px;height:36px; }
  .consult-form { grid-template-columns:1fr;gap:1rem; }
  .consult-full { grid-column:auto; }
  .consult-form-footer { align-items:stretch;flex-direction:column; }
  .consult-submit { width:100%; }
  footer { padding:3rem 5vw;gap:2.25rem; }
  .f-btm { flex-direction:column;gap:.5rem;text-align:center; }
  .surgical-layer { display:none; }
}

/* ── Brand identity ── */
.nav-logo { display:inline-flex;align-items:center;gap:.75rem; }
.nav-logo img { width:46px;height:46px;display:block;flex:0 0 auto; }
.nav-logo span { white-space:nowrap; }
.footer-brand { display:flex;align-items:flex-start;gap:1rem; }
.footer-brand > img { width:58px;height:58px;display:block;flex:0 0 auto; }

/* ── Booking page ── */
.booking-section { display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;align-items:start;padding-top:11vh;padding-bottom:11vh; }
.booking-copy { position:sticky;top:8rem; }
.booking-copy > p:not(.s-label) { margin-top:1.5rem;color:var(--muted);font-size:.92rem;line-height:2; }
.booking-contact { margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--bdr);display:flex;justify-content:space-between;gap:1rem;align-items:center; }
.booking-contact span { color:var(--muted);font-size:.75rem; }
.booking-contact a { color:var(--dark);font-size:1.05rem;font-weight:500;text-decoration:none; }
.booking-form { display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;background:var(--white);padding:3rem;border-top:2px solid var(--gold); }
.booking-form label { display:flex;flex-direction:column;gap:.55rem; }
.booking-form label > span { font-size:.78rem;font-weight:500; }
.booking-form input,.booking-form select,.booking-form textarea { width:100%;border:1px solid var(--bdr);border-radius:0;background:var(--bg);color:var(--dark);padding:1rem;font:inherit;font-size:.88rem;outline:none;cursor:text;transition:border-color .25s; }
.booking-form select { cursor:pointer; }
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus { border-color:var(--gold); }
.booking-form textarea { resize:vertical; }
.booking-full { grid-column:1 / -1; }
.booking-submit-row { display:flex;align-items:center;justify-content:space-between;gap:2rem; }
.booking-submit-row p { max-width:360px;color:var(--muted);font-size:.7rem;line-height:1.7; }
.booking-submit-row button,.admin-form > button { border:0;background:var(--dark);color:var(--white);padding:1rem 2rem;font:inherit;font-size:.82rem;font-weight:500;cursor:pointer;transition:background .3s,color .3s; }
.booking-submit-row button:hover,.admin-form > button:hover { background:var(--gold);color:var(--dark); }
.booking-submit-row button:disabled,.admin-form > button:disabled { opacity:.55;cursor:wait; }
.booking-feedback { min-height:1.5rem;font-size:.8rem;line-height:1.8; }
.booking-feedback.is-success { color:#356a4c; }
.booking-feedback.is-error { color:#a43d3d; }

/* ── Services directory ── */
.services-directory { padding-top:10vh;padding-bottom:12vh; }
.services-directory-head { max-width:760px;margin-bottom:5rem; }
.service-list { border-top:1px solid var(--bdr); }
.service-list article { min-height:190px;padding:2.5rem 0;border-bottom:1px solid var(--bdr);display:grid;grid-template-columns:5rem 1fr auto;align-items:center;gap:3rem;transition:background .35s,padding .35s; }
.service-list article:hover { background:var(--white);padding-inline:2rem; }
.service-list article > span { color:var(--gold);font-size:2rem;font-weight:300; }
.service-list h2 { margin-bottom:.75rem;font-size:1.35rem;font-weight:500; }
.service-list p { max-width:700px;color:var(--muted);font-size:.88rem;line-height:1.9; }
.service-list a { color:var(--dark);font-size:.78rem;font-weight:500;text-decoration:none;white-space:nowrap; }

/* ── Credentials ── */
.credentials-section { padding-top:10vh;padding-bottom:11vh;border-top:1px solid var(--bdr); }
.credentials-heading { max-width:720px;margin-bottom:4rem; }
.credentials-heading > p:last-child { margin-top:1.5rem;color:var(--muted);font-size:.9rem;line-height:2; }
.credentials-list { border-top:1px solid var(--bdr); }
.credential-item { min-height:150px;padding:2rem 0;border-bottom:1px solid var(--bdr);display:grid;grid-template-columns:4rem 1fr auto;gap:2rem;align-items:center; }
.credential-item > span { color:var(--gold);font-size:1.8rem;font-weight:300; }
.credential-item h3 { margin-bottom:.55rem;font-size:1.1rem;font-weight:500; }
.credential-item p { max-width:680px;color:var(--muted);font-size:.82rem;line-height:1.8; }
.credential-item .credential-meta { color:var(--gold);font-size:.7rem; }
.credential-item a { color:var(--dark);font-size:.76rem;font-weight:500;text-decoration:none;white-space:nowrap; }
.content-empty { padding:3rem 0;color:var(--muted);font-size:.9rem; }

/* ── Portfolio media ── */
.media-filters { margin-top:2.5rem;display:flex;gap:.5rem; }
.media-filters button { min-width:90px;border:1px solid var(--bdr);background:transparent;color:var(--muted);padding:.75rem 1.2rem;font:inherit;font-size:.78rem;cursor:pointer; }
.media-filters button.is-active,.media-filters button:hover { border-color:var(--dark);background:var(--dark);color:var(--white); }
.portfolio-media-grid { padding-top:3vh;padding-bottom:12vh;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5rem 2rem; }
.media-card { min-width:0; }
.media-frame { width:100%;aspect-ratio:4 / 3;overflow:hidden;background:var(--bdr); }
.media-frame img,.media-frame video { width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1); }
.media-card:hover .media-frame img { transform:scale(1.025); }
.media-copy { padding-top:1.4rem; }
.media-copy > span { color:var(--gold);font-size:.7rem; }
.media-copy h2 { margin-top:.5rem;font-size:1.25rem;font-weight:500; }
.media-copy p { margin-top:.65rem;color:var(--muted);font-size:.82rem;line-height:1.8; }

/* ── Operator dashboard ── */
.admin-page { min-height:100vh;background:#efeeeb;color:var(--dark);font-family:'Shabnam',sans-serif;cursor:auto;overflow-x:hidden; }
.admin-page * { cursor:inherit; }
.admin-page a,.admin-page button,.admin-page select,.admin-page input[type="file"] { cursor:pointer; }
.admin-page input,.admin-page textarea { cursor:text; }
.admin-shell { width:100%;min-height:100vh; }
.admin-login { width:min(460px,calc(100% - 2rem));margin:0 auto;padding:12vh 0; }
.admin-brand { display:inline-flex;align-items:center;gap:.8rem;color:var(--dark);font-weight:500;text-decoration:none; }
.admin-brand img { width:48px;height:48px; }
.admin-login > p { margin-top:4rem;color:var(--gold);font-size:.75rem; }
.admin-login h1 { margin:1rem 0 2.5rem;font-size:2.6rem;font-weight:400; }
.admin-form { display:flex;flex-direction:column;gap:1.1rem; }
.admin-form label { display:flex;flex-direction:column;gap:.45rem; }
.admin-form label span { font-size:.76rem;font-weight:500; }
.admin-form input,.admin-form select,.admin-form textarea { width:100%;border:1px solid #d8d4cf;border-radius:0;background:#fff;padding:.9rem 1rem;font:inherit;outline:none; }
.admin-form select { appearance:none;-webkit-appearance:none;padding-left:2.75rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 1rem center;background-size:14px; }
.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus { border-color:var(--gold); }
.admin-feedback { min-height:1.4rem;color:#a43d3d;font-size:.75rem; }
.admin-app { width:min(1440px,100%);margin-inline:auto;padding:0;background:#f7f5f2;min-height:100vh; }
.admin-header { min-height:84px;padding:1rem 3vw;border-bottom:1px solid var(--bdr);display:flex;align-items:center;justify-content:space-between; }
.admin-header > div:last-child { display:flex;align-items:center;gap:1rem; }
.admin-header a,.admin-header button { border:0;background:transparent;color:var(--muted);font:inherit;font-size:.78rem;text-decoration:none; }
.admin-tabs { position:static;inset:auto;min-height:0;padding:0 3vw;border-bottom:1px solid var(--bdr);display:flex;justify-content:flex-start;gap:2rem; }
.admin-tabs button { min-height:60px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font:inherit;font-size:.84rem; }
.admin-tabs button.is-active { border-bottom-color:var(--gold);color:var(--dark); }
.admin-tabs span { display:inline-flex;min-width:22px;height:22px;margin-right:.4rem;align-items:center;justify-content:center;background:var(--dark);color:var(--white);font-size:.68rem; }
.admin-panel { display:none;padding:3rem 3vw 5rem; }
.admin-panel.is-active { display:block; }
.admin-section-heading { margin-bottom:2.5rem;display:flex;justify-content:space-between;align-items:flex-end;gap:2rem; }
.admin-section-heading p { color:var(--gold);font-size:.72rem; }
.admin-section-heading h1 { margin-top:.5rem;font-size:2rem;font-weight:400; }
.admin-refresh { border:1px solid var(--bdr);background:transparent;padding:.7rem 1rem;font:inherit;font-size:.75rem; }
.booking-admin-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem; }
.booking-admin-item { background:#fff;padding:1.5rem;border-top:2px solid var(--bdr); }
.booking-admin-top { display:flex;justify-content:space-between;gap:1rem;align-items:center; }
.booking-admin-top time { color:var(--muted);font-size:.68rem; }
.status { padding:.35rem .55rem;background:#eee;color:var(--muted);font-size:.65rem; }
.status-confirmed { background:#e1eee5;color:#356a4c; }.status-completed { background:#e6e9ed;color:#3f5366; }.status-cancelled { background:#f4e1e1;color:#a43d3d; }
.booking-admin-item h2 { margin:1.5rem 0 .8rem;font-size:1.15rem;font-weight:500; }
.booking-admin-details { display:flex;flex-wrap:wrap;gap:.65rem 1.25rem;color:var(--muted);font-size:.76rem; }
.booking-admin-details a { color:var(--dark);text-decoration:none; }
.booking-admin-item > p { margin-top:1rem;padding-top:1rem;border-top:1px solid var(--bdr);color:var(--muted);font-size:.76rem;line-height:1.8; }
.booking-status-actions { margin-top:1.25rem;display:flex;flex-wrap:wrap;gap:.4rem; }
.booking-status-actions button { border:1px solid var(--bdr);background:transparent;padding:.5rem .65rem;font:inherit;font-size:.68rem; }
.booking-status-actions button:disabled { background:var(--dark);color:var(--white); }
.booking-status-actions .delete-booking { margin-right:auto;border-color:#e7c9c9;color:#a43d3d; }
.admin-two-col { display:grid;grid-template-columns:380px 1fr;gap:2rem;align-items:start; }
.admin-editor { background:#fff;padding:1.5rem;position:sticky;top:1rem; }
.admin-editor h2 { margin-bottom:.5rem;font-size:1.15rem;font-weight:500; }
.admin-content-list { display:flex;flex-direction:column;gap:.75rem; }
.admin-content-item { min-height:100px;padding:1rem;background:#fff;display:grid;grid-template-columns:90px 1fr 36px;gap:1rem;align-items:center; }
.admin-content-item img,.admin-file-mark { width:90px;height:70px;object-fit:cover;background:var(--dark);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:.65rem; }
.admin-content-item span { color:var(--gold);font-size:.66rem; }.admin-content-item h3 { margin-top:.35rem;font-size:.9rem;font-weight:500; }
.admin-content-item > button { width:36px;height:36px;border:1px solid var(--bdr);background:transparent;font-size:1.2rem; }
.admin-empty { padding:3rem;color:var(--muted);background:#fff;font-size:.82rem; }

@media (max-width:1024px) {
  .booking-section { grid-template-columns:1fr;gap:3rem; }
  .booking-copy { position:static; }
  .service-list article { grid-template-columns:4rem 1fr;gap:1.5rem; }
  .service-list article a { grid-column:2; }
  .admin-two-col { grid-template-columns:1fr; }
  .admin-editor { position:static; }
}

@media (max-width:640px) {
  .nav-logo { gap:.5rem; }
  .nav-logo img { width:38px;height:38px; }
  .nav-logo span { font-size:.9rem; }
  .nav-phone { display:none; }
  .footer-brand > img { width:50px;height:50px; }
  .booking-section { padding:4.5rem 5vw; }
  .booking-form { grid-template-columns:1fr;padding:1.25rem; }
  .booking-full { grid-column:auto; }
  .booking-submit-row { align-items:stretch;flex-direction:column; }
  .booking-submit-row button { width:100%; }
  .services-directory { padding:4.5rem 5vw; }
  .services-directory-head { margin-bottom:3rem; }
  .service-list article { min-height:0;padding:2rem 0;grid-template-columns:2.5rem 1fr;gap:1rem; }
  .service-list article:hover { padding-inline:0;background:transparent; }
  .service-list article > span { font-size:1.35rem; }
  .service-list article a { grid-column:2;margin-top:.5rem; }
  .credentials-section { padding:4.5rem 5vw; }
  .credential-item { grid-template-columns:2.5rem 1fr;gap:1rem; }
  .credential-item > span { font-size:1.35rem; }
  .credential-item a { grid-column:2; }
  .media-filters { width:100%;overflow-x:auto; }
  .media-filters button { flex:0 0 auto; }
  .portfolio-media-grid { padding:2rem 5vw 5.5rem;grid-template-columns:1fr;gap:3rem; }
  .media-frame { aspect-ratio:4 / 5; }
  .admin-header { align-items:flex-start;gap:1rem; }
  .admin-brand span { font-size:.82rem; }
  .admin-tabs { gap:.5rem;overflow-x:auto; }
  .admin-tabs button { padding:0 .75rem;white-space:nowrap; }
  .admin-panel { padding:2rem 1rem 4rem; }
  .booking-admin-list { grid-template-columns:1fr; }
  .admin-section-heading { align-items:flex-start; }
  .admin-content-item { grid-template-columns:70px 1fr 36px; }
  .admin-content-item img,.admin-file-mark { width:70px;height:60px; }
}

.doctor-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ── Inner pages ── */
.inner-page {
  background:var(--bg);
  cursor:auto;
  overflow-x:hidden;
}

.inner-page a,
.inner-page button {
  cursor:pointer;
}

/* ── Page hero ── */
.page-hero {
  min-height:72vh;
  padding:11rem 6vw 6rem;
  background:var(--bg);
  display:flex;
  align-items:flex-end;
}

.page-hero-content {
  width:min(900px,100%);
  animation:pageRise 1s cubic-bezier(.16,1,.3,1) both;
}

.page-eyebrow {
  margin-bottom:1.5rem;
  color:var(--gold);
  font-size:.75rem;
  letter-spacing:.12em;
}

.page-hero h1 {
  font-size:clamp(3rem,7vw,7rem);
  font-weight:300;
  line-height:1.2;
}

.page-hero h1 em {
  color:var(--gold);
  font-style:normal;
  font-weight:400;
}

.page-intro {
  max-width:650px;
  margin-top:2rem;
  color:var(--muted);
  font-size:1rem;
  line-height:2;
}

/* ── About detail ── */
.about-detail {
  display:grid;
  grid-template-columns:minmax(280px,.75fr) 1.25fr;
  align-items:center;
  gap:8vw;
  padding-top:10vh;
  padding-bottom:10vh;
  background:var(--bg);
}

.about-detail-image {
  width:min(380px,100%);
  height:min(64vh,560px);
  justify-self:center;
  overflow:hidden;
  animation:imageReveal 1.1s cubic-bezier(.16,1,.3,1) .15s both;
}

.about-detail-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  filter:grayscale(12%);
  transition:transform .9s cubic-bezier(.16,1,.3,1),filter .5s;
}

.about-detail-image:hover img {
  transform:scale(1.04);
  filter:grayscale(0);
}

.about-detail-content {
  max-width:680px;
  animation:pageRise 1s cubic-bezier(.16,1,.3,1) .25s both;
}

.about-detail-content > p:not(.s-label) {
  margin-top:1.5rem;
  color:var(--muted);
  font-size:.95rem;
  line-height:2;
}

/* ── Values ── */
.about-values {
  padding-top:10vh;
  padding-bottom:10vh;
  background:var(--bg);
  border-top:1px solid var(--bdr);
}

.about-values-heading {
  max-width:760px;
  margin-bottom:4rem;
}

.values-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--bdr);
}

.value-item {
  min-width:0;
  padding:3rem 2.5rem;
  border-left:1px solid var(--bdr);
  position:relative;
  transition:background .4s,transform .4s;
}

.value-item::after {
  content:'';
  position:absolute;
  right:0;
  bottom:0;
  width:100%;
  height:2px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .45s cubic-bezier(.16,1,.3,1);
}

.value-item:hover {
  background:var(--white);
  transform:translateY(-6px);
}

.value-item:hover::after {
  transform:scaleX(1);
}

.value-item:last-child {
  border-left:0;
}

.value-item span {
  display:block;
  margin-bottom:2.5rem;
  color:var(--gold);
  font-size:2.5rem;
  font-weight:300;
  transition:transform .4s;
}

.value-item:hover span {
  transform:translateX(-8px);
}

.value-item h3 {
  margin-bottom:1rem;
  font-size:1.2rem;
  font-weight:500;
}

.value-item p {
  color:var(--muted);
  font-size:.85rem;
  line-height:1.9;
}

/* ── Page CTA ── */
.page-cta {
  padding:11vh 6vw;
  background:var(--dark);
  color:var(--white);
  text-align:center;
}

.page-cta > p {
  margin-bottom:1.5rem;
  color:var(--gold);
  font-size:.75rem;
  letter-spacing:.1em;
}

.page-cta h2 {
  margin-bottom:2.5rem;
  font-size:clamp(2rem,4.5vw,4.5rem);
  font-weight:300;
  line-height:1.4;
}

/* ── Animations ── */
@keyframes pageRise {
  from { opacity:0;transform:translateY(35px); }
  to { opacity:1;transform:translateY(0); }
}

@keyframes imageReveal {
  from { opacity:0;clip-path:inset(100% 0 0 0); }
  to { opacity:1;clip-path:inset(0 0 0 0); }
}

@media (max-width:1024px) {
  .page-hero { min-height:60vh;padding-top:10rem; }
  .about-detail { grid-template-columns:1fr 1fr;gap:5vw; }
  .about-detail-image { width:min(340px,100%);height:min(55vh,480px); }
  .values-grid { grid-template-columns:1fr; }
  .value-item { border-left:0;border-bottom:1px solid var(--bdr); }
}

@media (max-width:640px) {
  .page-hero { min-height:auto;padding:8rem 5vw 4rem; }
  .page-hero h1 { font-size:2.65rem; }
  .page-intro { font-size:.9rem; }

  .about-detail {
    grid-template-columns:1fr;
    gap:3rem;
    padding:4.5rem 5vw;
  }

  .about-detail-image {
    width:min(290px,100%);
    height:min(52vh,410px);
  }

  .about-values { padding:4.5rem 5vw; }
  .about-values-heading { margin-bottom:3rem; }
  .value-item { padding:2.5rem 0; }
  .value-item:hover { transform:none; }
  .value-item span { margin-bottom:1.5rem; }
  .page-cta { padding:5.5rem 5vw; }
}

@media (prefers-reduced-motion:reduce) {
  .page-hero-content,
  .about-detail-image,
  .about-detail-content {
    animation:none;
  }
}


/* ── Contact page ── */
.contact-section {
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:8vw;
  align-items:start;
  padding-top:11vh;
  padding-bottom:11vh;
  background:var(--bg);
}

.contact-heading {
  position:sticky;
  top:8rem;
}

.contact-heading > p:not(.s-label) {
  max-width:460px;
  margin-top:1.5rem;
  color:var(--muted);
  font-size:.92rem;
  line-height:2;
}

.contact-methods {
  border-top:1px solid var(--bdr);
}

.contact-method {
  min-height:150px;
  padding:2.2rem;
  border-bottom:1px solid var(--bdr);
  color:var(--dark);
  text-decoration:none;
  display:grid;
  grid-template-columns:4rem 1fr 2rem;
  gap:1.5rem;
  align-items:center;
  position:relative;
  overflow:hidden;
  transition:background .4s,transform .4s;
}

.contact-method::after {
  content:'';
  position:absolute;
  right:0;
  bottom:0;
  width:100%;
  height:2px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .45s cubic-bezier(.16,1,.3,1);
}

a.contact-method:hover {
  background:var(--white);
  transform:translateX(-8px);
}

.contact-method:hover::after {
  transform:scaleX(1);
}

.contact-number {
  color:var(--gold);
  font-size:1.8rem;
  font-weight:300;
}

.contact-method h3 {
  margin-bottom:.6rem;
  font-size:1.1rem;
  font-weight:500;
}

.contact-method p {
  color:var(--muted);
  font-size:.86rem;
  line-height:1.7;
}

.contact-arrow {
  font-size:1.3rem;
  transition:transform .35s;
}

.contact-method:hover .contact-arrow {
  transform:translateX(-8px);
}

/* ── Clinic location ── */
.clinic-location {
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:650px;
  padding:0;
  background:var(--bg);
  border-top:1px solid var(--bdr);
}

.location-info {
  padding:10vh 6vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.location-details {
  margin:2.5rem 0 3rem;
  border-top:1px solid var(--bdr);
}

.location-details > div {
  padding:1.5rem 0;
  border-bottom:1px solid var(--bdr);
}

.location-details span {
  display:block;
  margin-bottom:.6rem;
  color:var(--gold);
  font-size:.7rem;
  letter-spacing:.08em;
}

.location-details p {
  color:var(--muted);
  font-size:.9rem;
  line-height:1.9;
}

.location-info .btn-primary {
  width:max-content;
}

.location-visual {
  min-height:650px;
  padding:4rem;
  background:var(--dark);
  color:var(--white);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
}

.location-visual > span {
  color:var(--gold);
  font-size:.75rem;
  letter-spacing:.12em;
}

.location-visual > strong {
  margin-top:1rem;
  font-size:clamp(3rem,7vw,7rem);
  font-weight:300;
}

.location-mark {
  width:22px;
  height:22px;
  margin-top:3rem;
  background:var(--gold);
  border-radius:50%;
  position:relative;
  animation:locationPulse 2.2s ease-out infinite;
}

.location-mark::after {
  content:'';
  position:absolute;
  inset:-16px;
  border:1px solid var(--gold);
  border-radius:50%;
}

/* ── Contact note ── */
.contact-note {
  padding:6vh 6vw;
  background:var(--bg);
  border-top:1px solid var(--bdr);
  display:grid;
  grid-template-columns:.5fr 1.5fr;
  gap:5vw;
  align-items:start;
}

.contact-note span {
  color:var(--gold);
  font-size:.75rem;
  letter-spacing:.1em;
}

.contact-note p {
  max-width:760px;
  color:var(--muted);
  font-size:.95rem;
  line-height:2;
}

@keyframes locationPulse {
  0% { box-shadow:0 0 0 0 rgba(184,150,90,.5); }
  70% { box-shadow:0 0 0 32px rgba(184,150,90,0); }
  100% { box-shadow:0 0 0 0 rgba(184,150,90,0); }
}

@media (max-width:1024px) {
  .contact-section {
    grid-template-columns:1fr;
    gap:4rem;
  }

  .contact-heading {
    position:static;
  }

  .clinic-location {
    grid-template-columns:1fr 1fr;
    min-height:550px;
  }

  .location-visual {
    min-height:550px;
  }
}

@media (max-width:640px) {
  .contact-section {
    grid-template-columns:1fr;
    gap:3rem;
    padding:4.5rem 5vw;
  }

  .contact-method {
    min-height:130px;
    padding:1.5rem 0;
    grid-template-columns:3rem 1fr 1.5rem;
    gap:1rem;
  }

  a.contact-method:hover {
    transform:none;
  }

  .contact-number {
    font-size:1.35rem;
  }

  .clinic-location {
    grid-template-columns:1fr;
    min-height:auto;
  }

  .location-info {
    padding:5rem 5vw;
  }

  .location-info .btn-primary {
    width:100%;
    justify-content:center;
  }

  .location-visual {
    min-height:360px;
    padding:3rem 5vw;
  }

  .contact-note {
    padding:4rem 5vw;
    grid-template-columns:1fr;
    gap:1.5rem;
  }
}

/* ── Portfolio page ── */
.portfolio-intro {
  padding-top:10vh;
  padding-bottom:5vh;
  background:var(--bg);
}

.portfolio-intro > p:last-child {
  max-width:720px;
  margin-top:1.5rem;
  color:var(--muted);
  font-size:.9rem;
  line-height:2;
}

.portfolio-grid {
  padding-top:3vh;
  padding-bottom:12vh;
  background:var(--bg);
  display:flex;
  flex-direction:column;
  gap:8rem;
}

.portfolio-case {
  width:100%;
  border-top:1px solid var(--bdr);
  padding-top:2rem;
}

.case-heading {
  margin-bottom:2rem;
  display:grid;
  grid-template-columns:4rem 1fr;
  gap:1.5rem;
  align-items:start;
}

.case-heading > span {
  color:var(--gold);
  font-size:2rem;
  font-weight:300;
}

.case-heading h2 {
  margin-bottom:.5rem;
  font-size:1.3rem;
  font-weight:500;
}

.case-heading p {
  color:var(--muted);
  font-size:.8rem;
}

/* ── Before/after comparison ── */
.comparison {
  --position:50%;
  width:100%;
  max-width:1100px;
  aspect-ratio:16 / 10;
  margin-inline:auto;
  position:relative;
  overflow:hidden;
  background:var(--bdr);
  cursor:ew-resize;
  user-select:none;
  touch-action:pan-y;
}

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

.comparison-after {
  position:absolute;
  inset:0;
}

.comparison-before {
  position:absolute;
  inset:0;
  z-index:2;
  overflow:hidden;
  clip-path:inset(0 calc(100% - var(--position)) 0 0);
  will-change:clip-path;
}

.comparison-before img {
  position:absolute;
  inset:0;
}

.comparison-line {
  position:absolute;
  top:0;
  bottom:0;
  left:var(--position);
  z-index:4;
  width:2px;
  background:var(--white);
  transform:translateX(-50%);
  pointer-events:none;
  box-shadow:0 0 18px rgba(0,0,0,.25);
}

.comparison-line span {
  position:absolute;
  top:50%;
  left:50%;
  width:54px;
  height:54px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:50%;
  background:var(--dark);
  color:var(--white);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.1rem;
  transform:translate(-50%,-50%);
  transition:background .3s,transform .3s;
}

.comparison:hover .comparison-line span,
.comparison:focus-within .comparison-line span {
  background:var(--gold);
  transform:translate(-50%,-50%) scale(1.08);
}

.comparison-label {
  position:absolute;
  top:1.5rem;
  z-index:5;
  padding:.5rem .85rem;
  background:rgba(17,17,17,.82);
  color:var(--white);
  font-size:.7rem;
  pointer-events:none;
}

.label-before {
  left:1.5rem;
}

.label-after {
  right:1.5rem;
}

.comparison input[type="range"] {
  position:absolute;
  inset:0;
  z-index:6;
  width:100%;
  height:100%;
  margin:0;
  opacity:0;
  cursor:ew-resize;
  direction:ltr;
  appearance:none;
  -webkit-appearance:none;
}

.comparison input[type="range"]::-webkit-slider-thumb {
  width:54px;
  height:54px;
  appearance:none;
  -webkit-appearance:none;
}

.comparison input[type="range"]::-moz-range-thumb {
  width:54px;
  height:54px;
  border:0;
  background:transparent;
}

/* ── Portfolio responsive ── */
@media (max-width:1024px) {
  .portfolio-grid {
    gap:6rem;
  }

  .comparison {
    aspect-ratio:4 / 3;
  }
}

@media (max-width:640px) {
  .portfolio-intro {
    padding:4.5rem 5vw 2rem;
  }

  .portfolio-grid {
    padding:2rem 5vw 5.5rem;
    gap:4.5rem;
  }

  .case-heading {
    grid-template-columns:3rem 1fr;
    gap:1rem;
    margin-bottom:1.5rem;
  }

  .case-heading > span {
    font-size:1.5rem;
  }

  .case-heading h2 {
    font-size:1.1rem;
  }

  .comparison {
    aspect-ratio:4 / 5;
  }

  .comparison-line span {
    width:46px;
    height:46px;
  }

  .comparison-label {
    top:1rem;
  }

  .label-before {
    left:1rem;
  }

  .label-after {
    right:1rem;
  }
}

/* ── Homepage service boxes ── */
.svc-hdr-minimal { padding:9vh 6vw 2rem;justify-content:flex-end;align-items:center;position:relative; }
.svc-hdr-minimal::after {
  content:'';
  position:absolute;
  right:6vw;
  bottom:0;
  width:88vw;
  max-width:88vw;
  height:1px;
  background:var(--gold);
  transform:scaleX(var(--svc-progress));
  transform-origin:right center;
  pointer-events:none;
}
.svc-track { gap:1.25rem;padding-bottom:6vh; }
.svc-card {
  min-height:570px;
  border:1px solid var(--bdr);
  background:var(--white);
  transition:background .4s,border-color .4s,transform .4s;
}
.svc-card::after { transform:scaleX(.14); }
.svc-card:hover { border-color:var(--gold);background:var(--white);transform:translateY(-6px); }

@media (max-width:1024px) {
  .svc-hdr-minimal { padding:4rem 4vw 1.25rem;align-items:flex-end; }
  .svc-hdr-minimal::after { display:none; }
  .svc-track { gap:1rem;padding-bottom:4rem; }
}

@media (max-width:640px) {
  .svc-hdr-minimal { min-height:2.5rem;padding:2.5rem 5vw .75rem; }
  .svc-track { gap:1rem;padding:0 5vw 4.5rem; }
  .svc-card { min-height:490px;border:1px solid var(--bdr);background:var(--white); }
  .svc-media { height:190px;margin:-2.25rem -1.5rem 1.5rem; }
  .svc-card:hover { transform:none; }
}

.rhinoplasty-feature {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  align-items: center;
  gap: 32px;
  max-width: 850px;
  margin: 36px 0 46px;
  border: 1px solid #dedad4;
  background: #fff;
  color: #111;
  text-decoration: none;
  overflow: hidden;
}

.rhinoplasty-feature img {
  display: block;
  width: 100%;
  height: 320px;
  object-fit: contain;
  background: #111;
}

.rhinoplasty-feature > div {
  padding: 28px 0 28px 28px;
}

.rhinoplasty-feature span {
  color: #bd9552;
  font-size: 13px;
}

.rhinoplasty-feature h3 {
  margin: 10px 0;
  font-size: 24px;
  font-weight: 500;
}

.rhinoplasty-feature p {
  margin: 0 0 22px;
  color: #716d68;
  line-height: 1.9;
}

.rhinoplasty-feature strong {
  font-size: 14px;
  font-weight: 500;
}

@media (max-width: 700px) {
  .rhinoplasty-feature {
    grid-template-columns: 1fr;
    gap: 0;
    margin: 28px 0 38px;
  }

  .rhinoplasty-feature img {
    height: 360px;
  }

  .rhinoplasty-feature > div {
    padding: 24px;
  }
}

/* Mobile hero: show the complete portrait */
@media (max-width: 640px) {
  #hero {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    min-height: 0;
    padding: 0;
  }

  .hero-right {
    order: -1;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 2 / 3;
    margin-top: 78px;
    overflow: hidden;
  }

  .h-img-wrap {
    position: absolute;
    inset: 0;
  }

  .h-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    transform: none;
  }

  .h-img-ov {
    inset: auto 0 0;
    height: 15%;
    background: linear-gradient(
      to top,
      var(--bg) 0%,
      rgba(247, 245, 242, 0.35) 35%,
      transparent 100%
    );
  }

  .hero-left {
    padding: 2.5rem 5vw 5rem;
  }

  .hero-title {
    font-size: 2rem;
    line-height: 1.45;
  }
}

/* Mobile navigation drawer: hidden on desktop */
.mobile-menu-toggle,
.mobile-menu,
.mobile-menu-overlay {
  display: none;
}

@media (max-width: 640px) {
  body.mobile-menu-open {
    overflow: hidden;
  }

  .nav-links,
  .nav-phone,
  .nav-cta {
    display: none;
  }

  .mobile-menu-toggle {
    display: inline-flex;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: var(--dark);
    color: var(--white);
    cursor: pointer;
  }

  .mobile-menu-overlay {
    position: fixed;
    inset: 0;
    z-index: 110;
    display: block;
    background: rgba(17, 17, 17, 0.5);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 300ms ease, visibility 300ms ease;
  }

  .mobile-menu {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 120;
    display: flex;
    flex-direction: column;
    width: min(88vw, 380px);
    height: 100vh;
    height: 100dvh;
    padding: 24px;
    background: var(--bg);
    box-shadow: -18px 0 50px rgba(17, 17, 17, 0.18);
    transform: translateX(105%);
    visibility: hidden;
    transition: transform 400ms cubic-bezier(.16, 1, .3, 1),
                visibility 400ms ease;
  }

  body.mobile-menu-open .mobile-menu-overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  body.mobile-menu-open .mobile-menu {
    transform: translateX(0);
    visibility: visible;
  }

  .mobile-menu-head {
    display: flex;
    align-items: center;
    min-height: 54px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--bdr);
  }

  .mobile-menu-head > span {
    font-size: 15px;
    font-weight: 500;
  }

  .mobile-menu-close {
    display: inline-flex;
    width: 42px;
    height: 42px;
    margin-right: auto;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid var(--bdr);
    background: transparent;
    color: var(--dark);
    font: inherit;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
  }

  .mobile-menu-links {
    display: flex;
    flex-direction: column;
    padding-top: 18px;
  }

  .mobile-menu-links a {
    display: flex;
    align-items: center;
    min-height: 52px;
    border-bottom: 1px solid var(--bdr);
    color: var(--dark);
    font-size: 15px;
    text-decoration: none;
  }

  .mobile-menu-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: auto;
    padding-top: 24px;
  }

  .mobile-menu-phone {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--dark);
    color: var(--dark);
    font-size: 15px;
    text-decoration: none;
  }

  .mobile-menu-booking {
    display: flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    background: var(--dark);
    color: var(--white);
    font-size: 14px;
    text-decoration: none;
  }
}



/* Prevent horizontal overflow on mobile */
@media (max-width: 640px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .booking-page main,
  .booking-section,
  .booking-copy,
  .booking-form,
  .booking-form label,
  .booking-full {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .booking-section {
    grid-template-columns: minmax(0, 1fr);
    padding-inline: 5vw;
  }

  .booking-copy .s-title {
    font-size: 2rem;
    line-height: 1.4;
    overflow-wrap: break-word;
  }

  .booking-contact {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .booking-contact a {
    display: block;
    width: 100%;
    font-size: 0.95rem;
    text-align: right;
  }

  .booking-form {
    grid-template-columns: minmax(0, 1fr);
    padding: 1rem;
  }

  .booking-form input,
  .booking-form select,
  .booking-form textarea {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .booking-submit-row,
  .booking-submit-row p,
  .booking-submit-row button {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .mobile-menu {
    max-width: 88vw;
  }
}



.results-intro,
    .results-gallery {
      width: min(1320px, calc(100% - 48px));
      margin-inline: auto;
    }

    .results-intro {
      padding: 90px 0 45px;
    }

    .results-intro p:last-of-type {
      max-width: 720px;
      color: #6f6b66;
      line-height: 2;
    }

    .results-filters {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 32px;
    }

    .results-filters button {
      min-height: 46px;
      padding: 0 24px;
      border: 1px solid #d8d3cc;
      background: transparent;
      color: #111;
      font: inherit;
      cursor: pointer;
    }

    .results-filters button.is-active,
    .results-filters button:hover {
      border-color: #111;
      background: #111;
      color: #fff;
    }

    .results-gallery {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 20px;
      padding-bottom: 100px;
    }

    .result-case {
      min-width: 0;
      border: 1px solid #dedad4;
      background: #fff;
    }

    .result-case[hidden] {
      display: none;
    }

    .case-heading {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      padding: 22px 24px;
      border-bottom: 1px solid #dedad4;
    }

    .case-heading span {
      color: #bd9552;
      font-size: 13px;
    }

    .case-heading h2 {
      margin: 0;
      font-size: 20px;
      font-weight: 500;
    }

    .case-images {
      display: grid;
      grid-template-columns: repeat(var(--image-count), minmax(0, 1fr));
      gap: 1px;
      background: #dedad4;
    }

    .case-image {
      position: relative;
      display: block;
      width: 100%;
      aspect-ratio: 4 / 5;
      padding: 0;
      overflow: hidden;
      border: 0;
      background: #111;
      cursor: zoom-in;
    }

    .case-image img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: contain;
      transition: transform 350ms ease;
    }

    .case-image:hover img {
      transform: scale(1.025);
    }

    .image-label {
      position: absolute;
      right: 12px;
      bottom: 12px;
      padding: 6px 10px;
      background: rgba(17, 17, 17, 0.82);
      color: #fff;
      font-size: 12px;
    }

    .results-note {
      padding: 24px;
      color: #77716b;
      font-size: 13px;
      line-height: 1.9;
    }

    .results-lightbox {
      position: fixed;
      inset: 0;
      z-index: 9999;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 60px;
      background: rgba(0, 0, 0, 0.92);
    }

    .results-lightbox.is-open {
      display: flex;
    }

    .results-lightbox img {
      max-width: min(1100px, 100%);
      max-height: calc(100vh - 120px);
      object-fit: contain;
    }

    .lightbox-close {
      position: absolute;
      top: 20px;
      left: 20px;
      width: 46px;
      height: 46px;
      border: 1px solid rgba(255, 255, 255, 0.45);
      background: transparent;
      color: #fff;
      font-size: 26px;
      cursor: pointer;
    }

    @media (max-width: 900px) {
      .results-intro,
      .results-gallery {
        width: min(100% - 28px, 680px);
      }

      .results-gallery {
        grid-template-columns: 1fr;
      }

      .results-lightbox {
        padding: 56px 14px 20px;
      }

      .results-lightbox img {
        max-height: calc(100vh - 80px);
      }
    }

    @media (max-width: 540px) {
      .results-intro {
        padding-top: 65px;
      }

      .case-heading {
        padding: 18px;
      }

      .case-images {
        grid-template-columns: 1fr;
      }

      .case-image {
        aspect-ratio: 4 / 5;
      }
    }




	.results-small-title {
  margin: 0 0 18px;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
}

@media (max-width: 640px) {
  .results-small-title {
    font-size: 1.25rem;
  }
}

/* Compact portfolio spacing */
.portfolio-page .portfolio-intro {
  padding-bottom: 24px;
}

.portfolio-page .results-intro {
  padding-top: 12px;
  padding-bottom: 24px;
}

.portfolio-page .results-small-title {
  margin-bottom: 8px;
}

.portfolio-page .results-intro p {
  margin-top: 0;
  margin-bottom: 12px;
}

.portfolio-page .results-filters {
  margin-top: 14px;
}

.portfolio-page .results-gallery {
  margin-top: 0;
  padding-top: 0;
}

@media (max-width: 640px) {
  .portfolio-page .portfolio-intro {
    padding-bottom: 18px;
  }

  .portfolio-page .results-intro {
    padding-top: 8px;
    padding-bottom: 18px;
  }

  .portfolio-page .results-filters {
    margin-top: 12px;
  }
}



.portfolio-page .case-video {
  cursor: default;
}

.portfolio-page .case-image video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #111;
}




/* Clean portfolio image layout */
.portfolio-page .results-gallery {
  align-items: start;
}

.portfolio-page .result-case {
  align-self: start;
}

.portfolio-page .case-images {
  gap: 1px;
  background: #f5f3ef;
}

.portfolio-page .case-image {
  background: #f5f3ef;
}

.portfolio-page .case-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  background: #f5f3ef;
}

@media (max-width: 540px) {
  .portfolio-page .case-image {
    aspect-ratio: 4 / 5;
  }
}



/* Equal-size portfolio cards on desktop */
@media (min-width: 901px) {
  .portfolio-page .results-gallery {
    align-items: stretch;
  }

  .portfolio-page .result-case {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .portfolio-page .case-heading {
    min-height: 74px;
  }

  .portfolio-page .case-images {
    flex: none;
    height: clamp(340px, 30vw, 470px);
  }

  .portfolio-page .case-image {
    height: 100%;
    aspect-ratio: auto;
  }

  .portfolio-page .results-note {
    flex: 1;
  }
}



/* Show complete portfolio images without black bars */
.portfolio-page .case-images,
.portfolio-page .case-image {
  background: #fff;
}

.portfolio-page .case-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: #fff;
}

.portfolio-page
.result-case:not(.admin-result-case)
.case-heading span {
  display: none;
}


.services-page .services-directory {
  padding-top: calc(96px + 6vh);
}

@media (max-width: 640px) {
  .services-page .services-directory {
    padding-top: calc(78px + 2.5rem);
  }
}


.services-page .page-cta h2 {
  font-size: 1.6rem;
  line-height: 1.7;
}

@media (max-width: 640px) {
  .services-page .page-cta h2 {
    font-size: 1.3rem;
  }
}



.contact-page .contact-section {
  padding-top: calc(96px + 6vh);
}

@media (max-width: 640px) {
  .contact-page .contact-section {
    padding-top: calc(78px + 2.5rem);
  }
}


/* Booking form mobile width fix */
.booking-page .booking-form,
.booking-page .booking-form label {
  min-width: 0;
}

.booking-page .booking-form input,
.booking-page .booking-form select,
.booking-page .booking-form textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.booking-page .booking-form input[type="date"] {
  min-inline-size: 0;
  overflow: hidden;
}

.booking-page .booking-form input[type="date"]::-webkit-date-and-time-value {
  min-width: 0;
  text-align: right;
}

.booking-page .booking-form input[type="date"]::-webkit-calendar-picker-indicator {
  margin: 0;
}



/* iPhone Safari date-field fix */
@media (max-width: 640px) {
  .booking-page .booking-form > label {
    min-width: 0;
    overflow: hidden;
  }

  .booking-page .booking-form input[type="date"] {
    display: block;
    box-sizing: border-box;
    width: -webkit-fill-available !important;
    inline-size: -webkit-fill-available !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-inline-size: 0 !important;
    max-inline-size: 100% !important;
    margin: 0;
    -webkit-appearance: none;
    appearance: none;
  }

  .booking-page
  .booking-form
  input[type="date"]::-webkit-date-and-time-value {
    width: 100%;
    min-width: 0;
    margin: 0;
    text-align: right;
  }
}



/* Homepage services: responsive grid without horizontal scrolling */
#services {
  min-height: auto;
  padding: 5rem 0 0;
  overflow: hidden;
}

#services .svc-viewport {
  width: 100%;
  overflow: visible;
}

#services .svc-outer {
  display: block;
  width: 100%;
  overflow: visible;
}

#services .svc-track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
  max-width: 100%;
  height: auto;
  gap: 1rem;
  padding: 0 4vw 5rem;
  box-sizing: border-box;
  transform: none !important;
  will-change: auto;
}

#services .svc-card {
  width: 100%;
  min-width: 0;
  max-width: none;
  min-height: 570px;
  cursor: auto;
}

#services .svc-hdr-minimal::after {
  display: none;
}

@media (max-width: 1024px) {
  #services .svc-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  #services {
    padding-top: 3rem;
  }

  #services .svc-track {
    grid-template-columns: 1fr;
    padding: 0 5vw 4rem;
  }

  #services .svc-card {
    min-height: 490px;
  }
}



/* Smaller consultation CTA title on homepage */
#cta .cta-title {
  font-size: clamp(2rem, 3.4vw, 3.8rem);
  line-height: 1.35;
}

@media (max-width: 640px) {
  #cta .cta-title {
    font-size: 1.8rem;
    line-height: 1.5;
  }
}


/* Biography-aligned background symbols */
.surgical-layer .s-tool {
  opacity: 0.16;
}

.surgical-layer .s-tool svg {
  vector-effect: non-scaling-stroke;
}

@media (max-width: 1024px) {
  .surgical-layer .s-tool {
    opacity: 0.1;
  }
}



.nav-logo img {
  width: 92px;
  height: 58px;
  object-fit: contain;
}

.footer-brand > img {
  width: min(230px, 100%);
  height: auto;
  object-fit: contain;
}

@media (max-width: 640px) {
  .nav-logo img {
    width: 76px;
    height: 48px;
  }
}




/* Dr. Hemmat signature logo */
.nav-logo img {
  display: block;
  width: 165px !important;
  height: auto !important;
  max-height: none !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  object-fit: contain;
}

.footer-brand img {
  display: block;
  width: min(260px, 100%) !important;
  height: auto !important;
  max-height: none !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  object-fit: contain;
}

@media (max-width: 760px) {
  .nav-logo img {
    width: 130px !important;
  }

  .footer-brand img {
    width: 210px !important;
  }
}