/* VAL Dental — v2. Dark editorial. Logical properties throughout. */

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0}
img,svg,video{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}
h1,h2,h3,h4,p,figure,blockquote,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}

/* ---------- tokens ---------- */
:root{
  --vd-bone:#EFEAE0;
  --vd-bone-dim:rgb(239 234 224 / .58);
  --vd-hair:rgb(184 155 94 / .26);
  --vd-hair-soft:rgb(239 234 224 / .13);

  --ease:cubic-bezier(.16,1,.3,1);
  --dur:1s;

  --f-disp:"Amiri","Cormorant Garamond",Georgia,serif;
  --f-body:"IBM Plex Sans Arabic","IBM Plex Sans",system-ui,sans-serif;

  --t-xs:clamp(.72rem,.7rem + .1vw,.78rem);
  --t-sm:clamp(.86rem,.83rem + .14vw,.94rem);
  --t-md:clamp(1rem,.96rem + .22vw,1.12rem);
  --t-lg:clamp(1.2rem,1.1rem + .5vw,1.5rem);
  --t-xl:clamp(1.7rem,1.35rem + 1.6vw,2.6rem);
  --t-2xl:clamp(2.3rem,1.6rem + 3.2vw,4.4rem);
  --t-3xl:clamp(2.9rem,1.7rem + 5.4vw,6.6rem);

  --gut:clamp(1.25rem,5vw,3.5rem);
  --sect:clamp(5rem,13vw,11rem);
}
.vd-ltr{--f-disp:"Cormorant Garamond","Amiri",Georgia,serif}

/* ---------- base ---------- */
body{
  font-family:var(--f-body);font-size:var(--t-md);font-weight:300;line-height:1.85;
  color:var(--vd-bone);background:var(--vd-ink);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
.vd-wrap{width:min(100% - (var(--gut) * 2),var(--vd-container));margin-inline:auto}
.vd-wrap--narrow{width:min(100% - (var(--gut) * 2),72ch);margin-inline:auto}

.vd-skip{position:absolute;inset-inline-start:0;top:0;z-index:999;background:var(--vd-gold);color:#000;padding:.7rem 1.2rem;clip-path:inset(50%);white-space:nowrap}
.vd-skip:focus{clip-path:none}
:where(a,button,input,select,textarea,summary):focus-visible{outline:1px solid var(--vd-gold);outline-offset:4px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- display type ---------- */
.vd-d1,.vd-d2,.vd-d3{font-family:var(--f-disp);font-weight:400;line-height:1.12;letter-spacing:0}
.vd-d1{font-size:var(--t-3xl)}
.vd-d2{font-size:var(--t-2xl)}
.vd-d3{font-size:var(--t-xl);line-height:1.25}
.vd-rtl .vd-d1,.vd-rtl .vd-d2{line-height:1.3}
.vd-rtl .vd-d3{line-height:1.45}

/* One typographic signature, used sparingly: small caps, wide tracking, hairline. */
.vd-label{
  font-family:var(--f-body);font-size:var(--t-xs);font-weight:400;
  letter-spacing:.24em;text-transform:uppercase;color:var(--vd-gold);
}
.vd-rtl .vd-label{letter-spacing:.1em}
.vd-lead{font-size:var(--t-lg);line-height:1.8;color:var(--vd-bone-dim);font-weight:300}

.vd-rule{block-size:1px;background:var(--vd-hair);border:0;margin:0}

/* ---------- sections ---------- */
.vd-sect{padding-block:var(--sect);position:relative}
.vd-sect--light{background:var(--vd-paper);color:var(--vd-ink)}
.vd-sect--light .vd-lead{color:rgb(11 14 20 / .62)}
.vd-sect--light .vd-label{color:var(--vd-gold-deep)}
/* The light section inverts everything the dark theme assumes. */
.vd-sect--light .vd-field__label{color:rgb(11 14 20 / .55)}
.vd-sect--light .vd-field input,
.vd-sect--light .vd-field select,
.vd-sect--light .vd-field textarea{color:var(--vd-ink);border-block-end-color:rgb(11 14 20 / .2)}
.vd-sect--light .vd-field input:focus,
.vd-sect--light .vd-field select:focus,
.vd-sect--light .vd-field textarea:focus{border-block-end-color:var(--vd-gold-deep)}
.vd-sect--light .vd-field select option{background:#fff;color:var(--vd-ink)}
.vd-sect--light .vd-form__note{color:rgb(11 14 20 / .5)}
.vd-sect--light .vd-form__msg.is-ok{color:var(--vd-gold-deep)}
.vd-sect--light .vd-booking__meta dt{color:var(--vd-gold-deep)}
.vd-sect--light .vd-booking__meta a{border-block-end-color:rgb(11 14 20 / .25)}
.vd-sect--light .vd-cta{border-color:var(--vd-gold-deep);color:var(--vd-gold-deep)}
.vd-sect--light .vd-cta::before{background:var(--vd-gold-deep)}
.vd-sect--light .vd-cta:hover{color:var(--vd-paper)}
.vd-sect--light .vd-cta--solid{background:var(--vd-gold-deep);color:var(--vd-paper)}
.vd-sect--light .vd-cta--solid::before{background:var(--vd-ink)}

/* ---------- links & buttons ---------- */
/* No pills. A word, a hairline, and a slow wipe on hover. */
button.vd-link{background:none;border:0;cursor:pointer;font-family:inherit}
.vd-link{
  display:inline-flex;align-items:center;gap:.7rem;
  font-size:var(--t-sm);letter-spacing:.14em;text-transform:uppercase;
  text-decoration:none;padding-block-end:.55rem;position:relative;color:inherit;
}
.vd-rtl .vd-link{letter-spacing:.04em}
.vd-link::after{content:"";position:absolute;inset-block-end:0;inset-inline:0;block-size:1px;background:var(--vd-hair)}
.vd-link::before{content:"";position:absolute;inset-block-end:0;inset-inline-start:0;block-size:1px;inline-size:0;background:var(--vd-gold);transition:inline-size .6s var(--ease);z-index:1}
.vd-link:hover::before{inline-size:100%}
.vd-link__arrow{transition:translate .5s var(--ease)}
.vd-link:hover .vd-link__arrow{translate:.3rem 0}
.vd-rtl .vd-link:hover .vd-link__arrow{translate:-.3rem 0}
.vd-rtl .vd-link__arrow{transform:scaleX(-1)}

.vd-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:1.1rem 2.6rem;border:1px solid var(--vd-gold);background:transparent;color:var(--vd-gold);
  font-size:var(--t-sm);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;
  cursor:pointer;position:relative;overflow:hidden;transition:color .5s var(--ease)
}
.vd-rtl .vd-cta{letter-spacing:.04em}
.vd-cta > *{position:relative;z-index:1}
.vd-cta::before{content:"";position:absolute;inset:0;background:var(--vd-gold);translate:0 101%;transition:translate .55s var(--ease)}
.vd-cta:hover{color:var(--vd-ink)}
.vd-cta:hover::before{translate:0 0}
.vd-cta--solid{background:var(--vd-gold);color:var(--vd-ink)}
.vd-cta--solid::before{background:var(--vd-bone)}

/* ---------- header ---------- */
.vd-header{position:fixed;inset-block-start:0;inset-inline:0;z-index:90;transition:background-color .6s var(--ease),border-color .6s var(--ease);border-block-end:1px solid transparent}
body.vd-scrolled .vd-header{background:color-mix(in srgb,var(--vd-ink) 88%,transparent);backdrop-filter:blur(18px);border-block-end-color:var(--vd-hair-soft)}
.vd-header__inner{display:flex;align-items:center;gap:2rem;min-block-size:96px}
body.vd-scrolled .vd-header__inner{min-block-size:74px;transition:min-block-size .6s var(--ease)}
.vd-brand{flex:none;display:flex}
.vd-brand img,.custom-logo{max-block-size:46px;inline-size:auto}
.vd-brand__text{text-decoration:none;font-family:var(--f-disp);font-size:var(--t-lg);letter-spacing:.06em}
.vd-nav{margin-inline-start:auto}
.vd-menu{display:flex;align-items:center;gap:.3rem}
.vd-menu li{position:relative}
.vd-menu a{display:block;padding:.6rem .95rem;text-decoration:none;font-size:var(--t-sm);font-weight:300;letter-spacing:.04em;opacity:.82;transition:opacity .4s var(--ease),color .4s var(--ease)}
.vd-menu a:hover{opacity:1;color:var(--vd-gold)}
.vd-menu .current-menu-item > a,.vd-menu .current_page_item > a{color:var(--vd-gold);opacity:1}
.vd-menu .sub-menu{
  position:absolute;inset-inline-start:0;top:100%;min-inline-size:260px;
  background:var(--vd-ink-2);border:1px solid var(--vd-hair-soft);padding:.5rem;
  opacity:0;visibility:hidden;translate:0 10px;transition:all .4s var(--ease);z-index:5;
}
.vd-menu li:hover > .sub-menu,.vd-menu li:focus-within > .sub-menu{opacity:1;visibility:visible;translate:0 0}
.vd-header__actions{display:flex;align-items:center;gap:1.1rem;flex:none}
.vd-langswitch{font-size:var(--t-xs);letter-spacing:.18em;text-decoration:none;opacity:.7;transition:opacity .4s var(--ease),color .4s var(--ease)}
.vd-langswitch:hover{opacity:1;color:var(--vd-gold)}
.vd-burger{display:none;background:none;border:0;padding:.4rem;cursor:pointer;color:inherit}
.vd-burger__close{display:none}
.vd-burger[aria-expanded=true] .vd-burger__open{display:none}
.vd-burger[aria-expanded=true] .vd-burger__close{display:block}

@media (max-width:1080px){
  .vd-header__cta{display:none}
  .vd-burger{display:block}
  .vd-nav{
    position:fixed;inset-block:0;inset-inline-end:0;inline-size:min(88vw,420px);
    background:var(--vd-ink-2);padding:7rem var(--gut) 3rem;overflow-y:auto;
    translate:100% 0;visibility:hidden;transition:translate .6s var(--ease),visibility 0s linear .6s;z-index:95;margin:0;
  }
  html[dir=rtl] .vd-nav{translate:-100% 0}
  html[dir] .vd-nav.is-open{translate:0 0;visibility:visible;transition:translate .6s var(--ease),visibility 0s}
  .vd-menu{flex-direction:column;align-items:stretch;gap:0}
  .vd-menu a{padding:1rem 0;font-size:var(--t-lg);font-family:var(--f-disp);border-block-end:1px solid var(--vd-hair-soft);opacity:1}
  .vd-menu .sub-menu{position:static;opacity:1;visibility:visible;translate:0;border:0;padding:0 0 .5rem;background:none}
  .vd-menu .sub-menu a{font-family:var(--f-body);font-size:var(--t-sm);opacity:.6;padding:.55rem 0;border:0}
}

/* ---------- hero ---------- */
/* Full-bleed two-column. The copy is padded to line up with .vd-wrap; the
   image runs to the viewport edge on its own side. */
:root{--edge:max(var(--gut),calc((100vw - var(--vd-container)) / 2))}
.vd-hero{position:relative;min-block-size:100svh;display:flex;align-items:flex-end;padding-block:8rem 4rem;overflow:hidden}
.vd-hero__grid{display:grid;grid-template-columns:1fr;gap:clamp(2.5rem,5vw,3.5rem);align-items:center;inline-size:100%}
@media (min-width:980px){.vd-hero__grid{grid-template-columns:1.04fr .96fr}}

.vd-hero__copy{padding-inline:var(--edge) var(--gut);position:relative;z-index:2}
@media (min-width:980px){.vd-hero__copy{padding-inline-end:clamp(1.5rem,3vw,3rem)}}
.vd-hero__title{font-family:var(--f-disp);font-size:var(--t-3xl);font-weight:400;line-height:1.16;margin-block:1.6rem 1.8rem;max-inline-size:14ch}
.vd-rtl .vd-hero__title{line-height:1.38}
.vd-word{display:inline-block;opacity:0;translate:0 .5em;animation:vdRise 1.1s var(--ease) forwards;animation-delay:calc(var(--i) * .09s + .15s)}
@keyframes vdRise{to{opacity:1;translate:0 0}}
.vd-hero__lead{max-inline-size:38ch}
.vd-hero__actions{margin-block-start:2.4rem}

.vd-hero__media{position:relative;min-inline-size:0}
.vd-hero__figure{position:relative;overflow:hidden}
.vd-hero__figure img{inline-size:100%;block-size:clamp(340px,64svh,680px);object-fit:cover;object-position:center 4%;
  filter:grayscale(.18) brightness(.86) contrast(1.07) saturate(.92);
  animation:vdSettle 2.4s var(--ease) forwards}
@keyframes vdSettle{from{opacity:.55}to{opacity:1}}
/* Group shot is a full-body studio frame: anchor to the top or the heads crop away. */
/* Studio shots come on white. Two scrims sink the image into the page: one on
   the edge facing the headline, one lifting from the base. The media is always
   the second grid column, so its inline-start edge faces the copy in both
   directions — hence the flip below. */
.vd-hero__figure::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(to left,var(--vd-ink),color-mix(in srgb,var(--vd-ink) 45%,transparent) 26%,transparent 58%),
    linear-gradient(to top,color-mix(in srgb,var(--vd-ink) 72%,transparent),transparent 52%);
}
html[dir=rtl] .vd-hero__figure::after{
  background:
    linear-gradient(to right,var(--vd-ink),color-mix(in srgb,var(--vd-ink) 45%,transparent) 26%,transparent 58%),
    linear-gradient(to top,color-mix(in srgb,var(--vd-ink) 72%,transparent),transparent 52%);
}
@media (max-width:979px){.vd-hero{min-block-size:auto;padding-block:7rem 3rem}}

.vd-hero__scroll{position:absolute;inset-block-end:2.2rem;inset-inline-start:var(--edge);z-index:3;display:flex;align-items:center;gap:.8rem;font-size:var(--t-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--vd-bone-dim)}
.vd-rtl .vd-hero__scroll{letter-spacing:.06em}
.vd-hero__scroll i{display:block;inline-size:56px;block-size:1px;background:var(--vd-hair);position:relative;overflow:hidden}
.vd-hero__scroll i::after{content:"";position:absolute;inset-block:0;inline-size:40%;background:var(--vd-gold);animation:vdTrace 2.6s var(--ease) infinite}
@keyframes vdTrace{0%{inset-inline-start:-40%}100%{inset-inline-start:100%}}
@media (max-width:979px){.vd-hero__scroll{display:none}}
.vd-img-fallback{display:block;inline-size:100%;aspect-ratio:3/4;background:linear-gradient(160deg,var(--vd-ink-2),color-mix(in srgb,var(--vd-gold) 12%,var(--vd-ink-2)))}

/* ---------- manifesto: pure typography, no image, no icons ---------- */
.vd-manifesto{text-align:center;border-block:1px solid var(--vd-hair-soft)}
.vd-manifesto__body{font-family:var(--f-disp);font-size:var(--t-xl);line-height:1.6;font-weight:400;color:var(--vd-bone);max-inline-size:26ch;margin-inline:auto}
.vd-rtl .vd-manifesto__body{line-height:1.85;max-inline-size:30ch}
.vd-manifesto .vd-label{display:block;margin-block-end:2.2rem}
.vd-manifesto__sign{margin-block-start:2.6rem;font-size:var(--t-sm);letter-spacing:.18em;text-transform:uppercase;color:var(--vd-bone-dim)}
.vd-rtl .vd-manifesto__sign{letter-spacing:.06em}

/* ---------- figures band: numbers as type, not cards ---------- */
.vd-figures{display:grid;gap:clamp(2.5rem,6vw,4rem);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-block-start:clamp(3rem,6vw,5rem)}
.vd-figure{text-align:center}
.vd-figure__n{font-family:var(--f-disp);font-size:clamp(3rem,2rem + 4.4vw,5.4rem);line-height:1;color:var(--vd-gold);font-weight:400}
.vd-figure__t{display:block;margin-block-start:.9rem;font-size:var(--t-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--vd-bone-dim)}
.vd-rtl .vd-figure__t{letter-spacing:.06em;font-size:var(--t-sm)}

/* ---------- services: an index, not a card grid ---------- */
.vd-index{border-block-start:1px solid var(--vd-hair-soft)}
.vd-index__row{position:relative;border-block-end:1px solid var(--vd-hair-soft)}
.vd-index__link{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(1rem,3vw,2.5rem);
  padding-block:clamp(1.5rem,3.2vw,2.4rem);text-decoration:none;position:relative;z-index:2;transition:padding-inline .6s var(--ease)}
.vd-index__row:hover .vd-index__link{padding-inline:clamp(.5rem,2vw,1.6rem)}
.vd-index__n{font-family:var(--f-disp);font-size:var(--t-md);color:var(--vd-gold);opacity:.75;min-inline-size:2.4ch}
.vd-index__name{font-family:var(--f-disp);font-size:var(--t-xl);font-weight:400;line-height:1.3;transition:color .5s var(--ease)}
.vd-index__row:hover .vd-index__name{color:var(--vd-gold)}
.vd-index__go{opacity:0;translate:-.6rem 0;transition:all .5s var(--ease);color:var(--vd-gold)}
.vd-rtl .vd-index__go{translate:.6rem 0;transform:scaleX(-1)}
.vd-index__row:hover .vd-index__go{opacity:1;translate:0 0}
/* Hover peek: the service image fades in behind the row on pointer devices. */
.vd-index__peek{position:absolute;inset-block:0;inset-inline-end:0;inline-size:clamp(200px,26%,340px);z-index:1;opacity:0;transition:opacity .6s var(--ease);pointer-events:none;overflow:hidden}
.vd-index__peek img{inline-size:100%;block-size:100%;object-fit:cover}
.vd-index__peek::after{content:"";position:absolute;inset:0;background:linear-gradient(to var(--vd-peek-dir,left),transparent,var(--vd-ink) 88%)}
.vd-rtl .vd-index__peek::after{--vd-peek-dir:right}
@media (hover:hover) and (min-width:900px){.vd-index__row:hover .vd-index__peek{opacity:.5}}
@media (hover:none),(max-width:899px){.vd-index__peek{display:none}}

/* ---------- doctors: staggered portraits, no boxes, no prices ---------- */
.vd-docs{display:grid;gap:clamp(2.5rem,5vw,4rem) clamp(1.5rem,3vw,2.5rem);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.vd-doc{display:grid}
.vd-doc__btn{display:grid;gap:1.15rem;inline-size:100%;padding:0;border:0;background:none;color:inherit;text-align:start;cursor:pointer;font:inherit}
.vd-doc__media{position:relative;display:block}
.vd-doc__meta{display:grid;gap:.35rem}
.vd-doc__hover{
  position:absolute;inset-inline:0;inset-block-end:0;padding:.9rem;text-align:center;
  background:color-mix(in srgb,var(--vd-ink) 82%,transparent);backdrop-filter:blur(6px);
  font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--vd-gold);
  opacity:0;translate:0 100%;transition:all .5s var(--ease);
}
.vd-rtl .vd-doc__hover{letter-spacing:.02em;font-size:var(--t-sm)}
.vd-doc__btn:hover .vd-doc__hover,.vd-doc__btn:focus-visible .vd-doc__hover{opacity:1;translate:0 0}
@media (min-width:900px){
  .vd-doc:nth-child(even){margin-block-start:clamp(2.5rem,5vw,4.5rem)}
}
.vd-doc__media{overflow:hidden;position:relative}
.vd-doc__media img{inline-size:100%;aspect-ratio:3/4;object-fit:cover;filter:grayscale(1) contrast(1.04);transition:filter .8s var(--ease),scale .8s var(--ease)}
.vd-doc__btn:hover .vd-doc__media img,.vd-doc__btn:focus-visible .vd-doc__media img{filter:grayscale(0);scale:1.03}
.vd-doc__name{display:block;font-family:var(--f-disp);font-size:var(--t-lg);font-weight:400}
.vd-doc__spec{display:block;font-size:var(--t-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--vd-gold)}
.vd-rtl .vd-doc__spec{letter-spacing:.04em;font-size:var(--t-sm)}

/* ---------- results ---------- */
.vd-cases{display:grid;gap:clamp(1.5rem,3vw,2.5rem);grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.vd-ba__stage{position:relative;overflow:hidden;isolation:isolate;touch-action:pan-y}
.vd-ba__stage img{inline-size:100%;aspect-ratio:4/3;object-fit:cover}
.vd-ba__before{position:absolute;inset:0;width:var(--pos,50%);overflow:hidden}
html[dir=rtl] .vd-ba__before{inset-inline-start:auto;inset-inline-end:0}
.vd-ba__before img{position:absolute;inset-block:0;inset-inline-start:0;inline-size:var(--stage-w,100%);max-inline-size:none}
.vd-ba__range{position:absolute;inset:0;inline-size:100%;block-size:100%;opacity:0;cursor:ew-resize;margin:0;z-index:4}
.vd-ba__handle{position:absolute;inset-block:0;inset-inline-start:var(--pos,50%);inline-size:1px;background:var(--vd-gold);z-index:3;pointer-events:none}
.vd-ba__handle::after{content:"";position:absolute;top:50%;inset-inline-start:50%;translate:-50% -50%;inline-size:44px;block-size:44px;border:1px solid var(--vd-gold);border-radius:50%;background:color-mix(in srgb,var(--vd-ink) 55%,transparent);backdrop-filter:blur(4px)}
.vd-ba__tag{position:absolute;inset-block-start:1rem;font-size:var(--t-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--vd-bone);z-index:2;opacity:.75}
.vd-ba__tag--before{inset-inline-start:1rem}
.vd-ba__tag--after{inset-inline-end:1rem}
.vd-ba__cap{margin-block-start:1rem;font-size:var(--t-sm);color:var(--vd-bone-dim)}
.vd-ba__cap strong{font-family:var(--f-disp);font-weight:400;color:var(--vd-bone);font-size:var(--t-md)}

/* ---------- testimonial: one quote, set large ---------- */
.vd-quote{text-align:center;max-inline-size:34ch;margin-inline:auto}
.vd-quote__text{font-family:var(--f-disp);font-size:var(--t-xl);line-height:1.55;font-weight:400}
.vd-rtl .vd-quote__text{line-height:1.8}
.vd-quote__by{margin-block-start:2rem;font-size:var(--t-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--vd-bone-dim)}
.vd-rtl .vd-quote__by{letter-spacing:.06em;font-size:var(--t-sm)}
.vd-quotes{display:grid;gap:clamp(3rem,7vw,5rem)}

/* ---------- FAQ: hairline list ---------- */
.vd-faq{display:grid;gap:clamp(2rem,5vw,4rem);grid-template-columns:1fr}
@media (min-width:920px){.vd-faq{grid-template-columns:.7fr 1.3fr;align-items:start}}
.vd-acc{border-block-end:1px solid var(--vd-hair-soft)}
.vd-acc__q{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;padding-block:1.4rem;cursor:pointer;
  font-family:var(--f-disp);font-size:var(--t-lg);font-weight:400;line-height:1.45;list-style:none;transition:color .4s var(--ease)}
.vd-acc__q::-webkit-details-marker{display:none}
.vd-acc:hover .vd-acc__q,.vd-acc[open] .vd-acc__q{color:var(--vd-gold)}
.vd-acc__sign{flex:none;inline-size:12px;block-size:12px;position:relative;opacity:.8}
.vd-acc__sign::before,.vd-acc__sign::after{content:"";position:absolute;background:currentColor;inset-inline:0;inset-block-start:50%;block-size:1px}
.vd-acc__sign::after{transform:rotate(90deg);transition:transform .45s var(--ease)}
.vd-acc[open] .vd-acc__sign::after{transform:rotate(0)}
.vd-acc__a{padding-block:0 1.6rem;color:var(--vd-bone-dim);max-inline-size:62ch}

/* ---------- booking ---------- */
.vd-booking{display:grid;gap:clamp(2.5rem,6vw,5rem);grid-template-columns:1fr;align-items:start}
@media (min-width:980px){.vd-booking{grid-template-columns:1fr 1fr}}
.vd-form{display:grid;gap:1.9rem}
.vd-form__row{display:grid;gap:1.9rem;grid-template-columns:1fr}
@media (min-width:560px){.vd-form__row{grid-template-columns:1fr 1fr}}
/* Underline fields — boxes read as a form, lines read as stationery. */
.vd-field{display:grid;gap:.5rem}
.vd-field__label{font-size:var(--t-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--vd-bone-dim)}
.vd-rtl .vd-field__label{letter-spacing:.04em;font-size:var(--t-sm)}
.vd-field input,.vd-field select,.vd-field textarea{
  inline-size:100%;padding:.55rem 0;border:0;border-block-end:1px solid var(--vd-hair-soft);
  background:transparent;color:inherit;border-radius:0;transition:border-color .5s var(--ease);
}
.vd-field select{cursor:pointer}
.vd-field select option{background:var(--vd-ink-2);color:var(--vd-bone)}
.vd-field input:focus,.vd-field select:focus,.vd-field textarea:focus{outline:none;border-block-end-color:var(--vd-gold)}
.vd-field textarea{resize:vertical;min-block-size:70px}
.vd-field.is-invalid input,.vd-field.is-invalid select{border-block-end-color:#B4504A}
.vd-form__hp{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0)}
.vd-form__submit{justify-self:start;margin-block-start:.6rem}
.vd-form__msg{font-size:var(--t-sm);min-block-size:1.4em}
.vd-form__msg.is-ok{color:var(--vd-gold)}
.vd-form__msg.is-err{color:#D08A84}
.vd-form__note{font-size:var(--t-xs);color:var(--vd-bone-dim);line-height:1.7}
.vd-form.is-busy{opacity:.5;pointer-events:none}
.vd-booking__meta{display:grid;gap:1.6rem;margin-block-start:2.6rem}
.vd-booking__meta dt{font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--vd-gold);margin-block-end:.3rem}
.vd-rtl .vd-booking__meta dt{letter-spacing:.04em;font-size:var(--t-sm)}
.vd-booking__meta dd{margin:0;font-size:var(--t-md)}
.vd-booking__meta a{text-decoration:none;border-block-end:1px solid var(--vd-hair);padding-block-end:2px}

/* ---------- page heads / prose ---------- */
.vd-pagehead{padding-block:clamp(9rem,16vw,13rem) clamp(2rem,4vw,3rem)}
.vd-pagehead .vd-label{display:block;margin-block-end:1.3rem}
.vd-hero-img{overflow:hidden;margin-block:clamp(2rem,5vw,3.5rem)}
.vd-hero-img img{inline-size:100%;aspect-ratio:16/8;object-fit:cover}
.vd-prose{max-width:68ch;font-size:var(--t-md);line-height:2}
.vd-prose > * + *{margin-block-start:1.25em}
.vd-prose h2{font-family:var(--f-disp);font-size:var(--t-xl);font-weight:400;line-height:1.35;margin-block-start:2em;color:var(--vd-bone)}
.vd-prose h3{font-family:var(--f-disp);font-size:var(--t-lg);font-weight:400;margin-block-start:1.7em}
.vd-prose a{color:var(--vd-gold);text-decoration:none;border-block-end:1px solid var(--vd-hair)}
.vd-prose ul,.vd-prose ol{display:grid;gap:.7rem;padding-inline-start:0}
.vd-prose li{position:relative;padding-inline-start:1.5rem}
.vd-prose ul li::before{content:"";position:absolute;inset-inline-start:0;inset-block-start:.85em;inline-size:6px;block-size:1px;background:var(--vd-gold)}
.vd-prose ol{counter-reset:p}
.vd-prose ol li{counter-increment:p}
.vd-prose ol li::before{content:counter(p);position:absolute;inset-inline-start:0;color:var(--vd-gold);font-family:var(--f-disp)}
.vd-prose blockquote{border-inline-start:1px solid var(--vd-gold);padding-inline-start:1.5rem;font-family:var(--f-disp);font-size:var(--t-lg)}
.vd-prose img{margin-block:1.8em}
.vd-sect--light .vd-prose{color:var(--vd-ink)}
.vd-sect--light .vd-prose h2,.vd-sect--light .vd-prose h3{color:var(--vd-ink)}

.vd-gallery{display:grid;gap:1px;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));background:var(--vd-hair-soft)}
.vd-gallery__item{display:block;overflow:hidden;background:var(--vd-ink)}
.vd-gallery__item img{aspect-ratio:1;object-fit:cover;transition:scale .8s var(--ease);filter:grayscale(.35)}
.vd-gallery__item:hover img{scale:1.05;filter:grayscale(0)}

.vd-grid3{display:grid;gap:clamp(1.5rem,3vw,2.5rem);grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.vd-tease{display:grid;gap:1rem;text-decoration:none}
.vd-tease__media{overflow:hidden}
.vd-tease__media img{inline-size:100%;aspect-ratio:4/3;object-fit:cover;transition:scale .8s var(--ease)}
.vd-tease:hover .vd-tease__media img{scale:1.05}
.vd-tease__title{font-family:var(--f-disp);font-size:var(--t-lg);font-weight:400}

.vd-search{display:flex;gap:1rem;flex-wrap:wrap;margin-block:2rem;max-inline-size:34rem}
.vd-search input{flex:1 1 200px;padding:.7rem 0;border:0;border-block-end:1px solid var(--vd-hair-soft);background:transparent}
.vd-search input:focus{outline:none;border-block-end-color:var(--vd-gold)}
.vd-pagination{margin-block-start:3.5rem;display:flex;justify-content:center}
.vd-pagination .nav-links{display:flex;gap:1.3rem;font-size:var(--t-sm)}
.vd-pagination .page-numbers{text-decoration:none;opacity:.5;transition:opacity .4s var(--ease)}
.vd-pagination .page-numbers:hover,.vd-pagination .page-numbers.current{opacity:1;color:var(--vd-gold)}

/* ---------- footer ---------- */
.vd-footer{border-block-start:1px solid var(--vd-hair-soft);padding-block:clamp(4rem,8vw,6rem) 0}
.vd-footer__top{display:grid;gap:clamp(2.5rem,5vw,4rem);grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
.vd-footer__brand{display:grid;gap:1.3rem;max-inline-size:32ch}
.vd-footer__brand img{max-block-size:52px;inline-size:auto}
.vd-footer__about{font-size:var(--t-sm);color:var(--vd-bone-dim);line-height:1.9}
.vd-footer h3{font-size:var(--t-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--vd-gold);font-weight:400;margin-block-end:1.4rem}
.vd-rtl .vd-footer h3{letter-spacing:.05em;font-size:var(--t-sm)}
.vd-footer ul{display:grid;gap:.85rem;font-size:var(--t-sm)}
.vd-footer a{text-decoration:none;color:var(--vd-bone-dim);transition:color .4s var(--ease)}
.vd-footer a:hover{color:var(--vd-gold)}
.vd-branch{display:grid;gap:.3rem;margin-block-end:1.5rem;font-size:var(--t-sm);color:var(--vd-bone-dim);line-height:1.75}
.vd-branch strong{font-family:var(--f-disp);font-size:var(--t-md);font-weight:400;color:var(--vd-bone)}
.vd-footer__social{display:flex;gap:1.5rem;font-size:var(--t-xs);letter-spacing:.16em;text-transform:uppercase}
.vd-rtl .vd-footer__social{letter-spacing:.04em;font-size:var(--t-sm)}
.vd-footer__bar{margin-block-start:clamp(3rem,6vw,4.5rem);border-block-start:1px solid var(--vd-hair-soft);padding-block:1.6rem;
  display:flex;flex-wrap:wrap;gap:.6rem 2rem;justify-content:space-between;font-size:var(--t-xs);color:var(--vd-bone-dim)}

/* ---------- floating contact: restrained ---------- */
.vd-float{position:fixed;z-index:80;inset-block-end:0;inset-inline:0;display:flex;border-block-start:1px solid var(--vd-hair-soft);background:color-mix(in srgb,var(--vd-ink) 94%,transparent);backdrop-filter:blur(14px)}
.vd-float__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem .5rem;text-decoration:none;
  font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;transition:color .4s var(--ease)}
.vd-rtl .vd-float__btn{letter-spacing:.02em;font-size:var(--t-sm)}
.vd-float__btn + .vd-float__btn{border-inline-start:1px solid var(--vd-hair-soft)}
.vd-float__btn:hover{color:var(--vd-gold)}
.vd-float__btn--book{color:var(--vd-gold)}
@media (min-width:1081px){.vd-float{display:none}}
@media (max-width:1080px){body{padding-block-end:54px}}

/* ---------- reveal ---------- */
.reveal{opacity:0;translate:0 26px;transition:opacity var(--dur) var(--ease),translate var(--dur) var(--ease)}
.reveal.in{opacity:1;translate:0 0}
.reveal[data-delay="1"]{transition-delay:.1s}
.reveal[data-delay="2"]{transition-delay:.2s}
.reveal[data-delay="3"]{transition-delay:.3s}
.reveal[data-delay="4"]{transition-delay:.4s}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .reveal{opacity:1;translate:none}
  .vd-word{opacity:1;translate:none;animation:none}
  .vd-hero__figure img{animation:none;opacity:1}
}


/* ---------- booking dialog ---------- */
.vd-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:var(--gut)}
.vd-modal[hidden]{display:none}
.vd-modal__veil{position:absolute;inset:0;background:rgb(3 5 9 / .82);backdrop-filter:blur(6px);opacity:0;transition:opacity .45s var(--ease)}
.vd-modal.is-open .vd-modal__veil{opacity:1}
.vd-modal__panel{
  position:relative;inline-size:min(100%,620px);max-block-size:88svh;overflow-y:auto;
  background:var(--vd-ink-2);border:1px solid var(--vd-hair);padding:clamp(1.6rem,4vw,2.8rem);
  opacity:0;translate:0 18px;transition:opacity .45s var(--ease),translate .45s var(--ease);
}
.vd-modal.is-open .vd-modal__panel{opacity:1;translate:0 0}
.vd-modal__x{position:absolute;inset-block-start:1rem;inset-inline-end:1rem;background:none;border:0;color:var(--vd-bone-dim);cursor:pointer;padding:.4rem;transition:color .35s var(--ease)}
.vd-modal__x:hover{color:var(--vd-gold)}
.vd-modal__ctx{font-size:var(--t-sm);color:var(--vd-gold);border-inline-start:1px solid var(--vd-gold);padding-inline-start:.9rem;margin-block-end:1.6rem}
.vd-form--modal{gap:1.5rem}
body.vd-modal-open{overflow:hidden}

/* ---------- sticky call to action ---------- */
.vd-sticky{
  position:fixed;inset-inline:0;inset-block-end:0;z-index:70;
  background:color-mix(in srgb,var(--vd-ink) 92%,transparent);backdrop-filter:blur(16px);
  border-block-start:1px solid var(--vd-hair);
  translate:0 100%;transition:translate .6s var(--ease);
}
.vd-sticky.is-on{translate:0 0}
.vd-sticky__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:.9rem;flex-wrap:wrap}
.vd-sticky__line{font-family:var(--f-disp);font-size:var(--t-lg);margin:0}
.vd-sticky__acts{display:flex;align-items:center;gap:1.5rem}
.vd-sticky__tel{font-size:var(--t-sm);text-decoration:none;color:var(--vd-bone-dim);border-block-end:1px solid var(--vd-hair);padding-block-end:2px}
.vd-sticky__tel:hover{color:var(--vd-gold)}
.vd-sticky .vd-cta{padding:.8rem 1.8rem}
@media (max-width:1080px){.vd-sticky{display:none}}

/* ---------- split (about) ---------- */
.vd-split{display:grid;gap:clamp(2rem,5vw,4.5rem);grid-template-columns:1fr;align-items:center}
@media (min-width:920px){.vd-split{grid-template-columns:.9fr 1.1fr}}
.vd-split__media{overflow:hidden}
.vd-split__media img{inline-size:100%;aspect-ratio:4/4.6;object-fit:cover;filter:grayscale(.2) brightness(.92)}
.vd-marks{display:grid;gap:1rem;margin-block-start:2rem}
.vd-marks li{position:relative;padding-inline-start:1.6rem;color:var(--vd-bone-dim)}
.vd-marks li::before{content:"";position:absolute;inset-inline-start:0;inset-block-start:.9em;inline-size:9px;block-size:1px;background:var(--vd-gold)}

/* ---------- clinics (contact) ---------- */
.vd-clinics{display:grid;gap:clamp(2rem,4vw,3rem);grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));
  border-block-start:1px solid var(--vd-hair-soft);padding-block-start:clamp(2rem,4vw,3rem)}
.vd-clinic{position:relative;display:grid;gap:.7rem;align-content:start}
.vd-clinic__n{font-family:var(--f-disp);font-size:var(--t-md);color:var(--vd-gold);opacity:.7}
.vd-clinic__addr{color:var(--vd-bone-dim);font-size:var(--t-sm);line-height:1.8}
.vd-reach{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));
  margin-block-start:clamp(3rem,6vw,4.5rem);padding-block-start:clamp(2rem,4vw,3rem);border-block-start:1px solid var(--vd-hair-soft)}
.vd-reach .vd-label{margin-block-end:.5rem}
.vd-reach a{text-decoration:none;border-block-end:1px solid var(--vd-hair);padding-block-end:2px}
.vd-reach a:hover{color:var(--vd-gold)}

/* ---------- index subtitle ---------- */
.vd-index__sub{display:block;font-size:var(--t-sm);color:var(--vd-bone-dim);margin-block-start:.3rem;max-inline-size:52ch}

/* ---------- single treatment ---------- */
.vd-treat__head{padding-block:clamp(8.5rem,15vw,12rem) clamp(1.5rem,3vw,2.5rem)}
.vd-treat__head .vd-label a{text-decoration:none}
.vd-treat__head .vd-label a:hover{color:var(--vd-bone)}
.vd-treat__title{max-inline-size:16ch}
.vd-treat__lead{margin-block-start:1.4rem;max-inline-size:50ch}
.vd-treat__opener{overflow:hidden;margin-block-end:clamp(2.5rem,6vw,4.5rem)}
.vd-treat__opener img{inline-size:100%;block-size:clamp(260px,46svh,520px);object-fit:cover;filter:grayscale(.12) brightness(.92)}
.vd-treat__body{display:grid;gap:clamp(2.5rem,5vw,4.5rem);grid-template-columns:1fr;padding-block-end:var(--sect)}
@media (min-width:980px){.vd-treat__body{grid-template-columns:19rem 1fr}}
.vd-rail__inner{position:sticky;top:8rem;display:grid;gap:1.4rem;
  border-block-start:1px solid var(--vd-gold);padding-block-start:1.6rem}
.vd-rail__facts{display:grid;gap:1.2rem;margin:0}
.vd-rail__facts dt{font-size:var(--t-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--vd-bone-dim);margin-block-end:.3rem}
.vd-rtl .vd-rail__facts dt{letter-spacing:.03em;font-size:var(--t-sm)}
.vd-rail__facts dd{margin:0;font-size:var(--t-sm);line-height:1.7}
.vd-rail__cta{inline-size:100%}
.vd-treat__prose{max-width:66ch}
.vd-treat__gallery{padding-block-end:var(--sect)}
.vd-treat__related{border-block-start:1px solid var(--vd-hair-soft)}

/* Legacy copy pasted from the old builder sometimes carries inline colours and
   alignment that fight the dark ground; normalise it inside prose. */
.vd-prose [style*="color"]{color:inherit!important}
.vd-prose [style*="background"]{background:none!important}
.vd-prose [style*="text-align: right"],
.vd-prose [style*="text-align:right"]{text-align:start!important}
.vd-prose span{font-weight:inherit!important}

/* ---------- google rating ---------- */
.vd-rating{display:flex;align-items:center;justify-content:center;gap:.9rem;flex-wrap:wrap;margin-block-start:2rem}
.vd-rating__n{font-family:var(--f-disp);font-size:var(--t-xl);color:var(--vd-gold);line-height:1}
.vd-rating__stars{display:inline-flex;gap:.15rem;color:var(--vd-gold)}
.vd-rating__stars .vd-icon{fill:currentColor}
.vd-rating__c{font-size:var(--t-sm);color:var(--vd-bone-dim)}

