@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Manrope:wght@300;400;500;600&display=swap');

:root{
  --v6-teal:#0b7978;
  --v6-gold:#b48d42;
  --v6-ink:#132725;
  --v6-muted:#687572;
  --v6-line:#dfe5e2;
  --v6-soft:#f6f7f4;
  --v6-cream:#fbf7ef;
  --v6-white:#ffffff;
  --v6-max:1480px;
}

.final-home{
  background:#fff;
  color:var(--v6-ink);
}

.final-home *,
.final-home *:before,
.final-home *:after{
  box-sizing:border-box;
}

.final-home a{
  color:inherit;
  text-decoration:none;
}

.final-home img{
  display:block;
  width:100%;
}

.v6-shell{
  width:min(calc(100% - 56px),var(--v6-max));
  margin:0 auto;
}


/* DETAIL */

.v6-noise{
  position:fixed;
  inset:0;
  z-index:2000;
  pointer-events:none;
  opacity:.025;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}

.v6-progress{
  position:fixed;
  z-index:3000;
  left:0;
  top:0;
  width:100%;
  height:2px;
  background:var(--v6-gold);
  transform:scaleX(0);
  transform-origin:left center;
}


/* HEADER */

.v6-header{
  position:fixed;
  z-index:1000;
  left:50%;
  top:17px;
  transform:translateX(-50%);
  width:min(calc(100% - 36px),1480px);
  height:68px;
  padding:8px 8px 8px 17px;
  display:grid;
  grid-template-columns:165px 1fr auto;
  align-items:center;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(19,39,37,.09);
  backdrop-filter:blur(22px);
  transition:
    top .35s ease,
    height .35s ease,
    box-shadow .35s ease;
}

.v6-header.scrolled{
  top:8px;
  height:60px;
  box-shadow:0 15px 50px rgba(16,45,41,.06);
}

.v6-logo{
  width:124px;
}

.v6-nav{
  justify-self:center;
  display:flex;
  gap:34px;
}

.v6-nav a{
  position:relative;
  font-size:10px;
  font-weight:500;
}

.v6-nav a:after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-7px;
  height:1px;
  background:var(--v6-teal);
  transition:right .3s ease;
}

.v6-nav a:hover:after{
  right:0;
}

.v6-book{
  width:182px;
  height:50px;
  padding:0 17px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:var(--v6-teal);
  color:#fff!important;
  font-size:10px;
  font-weight:500;
}

.v6-book i{
  font-style:normal;
  transition:.3s;
}

.v6-book:hover i{
  transform:translate(3px,-3px);
}

.v6-menu-button{
  display:none;
}

.v6-mobile-menu{
  display:none;
}


/* GENERIC */

.v6-label{
  display:flex;
  gap:13px;
  align-items:center;
  color:#899592;
  font-size:9px;
  font-weight:600;
  letter-spacing:.15em;
}

.v6-label span{
  color:var(--v6-teal);
}

.blur-title{
  will-change:filter,transform,opacity;
}

.v6-arrow-link{
  display:inline-flex;
  gap:30px;
  align-items:center;
  padding-bottom:7px;
  border-bottom:1px solid #bcc6c3;
  font-size:10px;
  font-weight:500;
}

.v6-arrow-link span{
  transition:.3s;
}

.v6-arrow-link:hover span{
  transform:translate(3px,-3px);
}

.v6-primary{
  height:55px;
  padding:0 20px;
  display:inline-flex;
  gap:30px;
  justify-content:space-between;
  align-items:center;
  background:var(--v6-teal);
  color:#fff!important;
  font-size:10px;
  font-weight:500;
}

.v6-primary span{
  transition:.3s;
}

.v6-primary:hover span{
  transform:translate(3px,-3px);
}

.v6-text-link{
  display:inline-flex;
  align-items:center;
  gap:15px;
  font-size:10px;
  font-weight:500;
}


/* HERO */

.v6-hero{
  min-height:100vh;
  position:relative;
  padding:126px max(28px,4vw) 36px;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:3vw;
  overflow:hidden;
  background:#fff;
}

.hero-vertical-note{
  position:absolute;
  left:13px;
  top:50%;
  transform:translateY(-50%) rotate(-90deg);
  transform-origin:center;
  color:#99a19f;
  font-size:7px;
  letter-spacing:.18em;
}

.hero-giant-word{
  position:absolute;
  z-index:0;
  left:-.8vw;
  bottom:-1vw;
  color:rgba(11,121,120,.032);
  white-space:nowrap;
  font-size:13.7vw;
  line-height:.7;
  letter-spacing:-.075em;
  font-weight:500;
}

.v6-hero-copy{
  position:relative;
  z-index:5;
  align-self:center;
  padding-bottom:38px;
}

.v6-eyebrow{
  margin-bottom:48px;
  display:flex;
  align-items:center;
  gap:14px;
  color:#7c8986;
  font-size:9px;
  font-weight:600;
  letter-spacing:.16em;
}

.v6-eyebrow span{
  width:37px;
  height:1px;
  background:var(--v6-gold);
}

.v6-hero h1{
  margin:0;
  font-size:clamp(71px,7.8vw,143px);
  line-height:.77;
  letter-spacing:-.074em;
  font-weight:300;
}

.hero-title-line{
  display:block;
}

.hero-title-offset{
  padding-left:6%;
}

.hero-title-serif{
  padding-left:13%;
  color:var(--v6-teal);
  font-family:"DM Serif Display",serif;
  font-style:italic;
  font-weight:400;
  letter-spacing:-.043em;
}

.hero-title-care{
  padding-left:36%;
  color:var(--v6-gold);
  font-family:"DM Serif Display",serif;
  font-style:italic;
  font-weight:400;
  letter-spacing:-.04em;
}

.hero-copy-bottom{
  width:min(660px,95%);
  margin-top:54px;
  padding-top:24px;
  border-top:1px solid var(--v6-line);
  display:grid;
  grid-template-columns:1fr auto;
  gap:40px;
  align-items:center;
}

.hero-copy-bottom p{
  max-width:385px;
  margin:0;
  color:var(--v6-muted);
  font-size:13px;
  line-height:1.8;
}

.hero-buttons{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:17px;
}

.v6-hero-media{
  position:relative;
  min-height:710px;
  display:flex;
  justify-content:flex-end;
  align-items:center;
}

.owner-hero-image{
  width:79%;
  height:min(74vh,780px);
  margin:0;
  position:relative;
  overflow:hidden;
}

.owner-hero-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.035);
}

.hero-photo-wipe{
  position:absolute;
  inset:0;
  background:var(--v6-teal);
  transform-origin:right center;
}

.hero-reception-card{
  position:absolute;
  z-index:7;
  left:0;
  bottom:8%;
  width:31%;
  border:9px solid #fff;
  background:#fff;
  box-shadow:0 26px 75px rgba(20,50,46,.11);
}

.hero-reception-card img{
  aspect-ratio:4/3;
  object-fit:cover;
}

.hero-reception-card>div{
  padding:12px 5px 4px;
}

.hero-reception-card span{
  display:block;
  margin-bottom:3px;
  color:var(--v6-gold);
  font-size:7px;
  letter-spacing:.14em;
}

.hero-reception-card strong{
  font-size:10px;
  font-weight:500;
}

.hero-seal{
  position:absolute;
  z-index:9;
  width:132px;
  height:132px;
  right:-7px;
  top:13%;
  border-radius:50%;
  background:#fff;
  box-shadow:0 18px 55px rgba(20,50,46,.09);
  display:grid;
  place-items:center;
  color:var(--v6-teal);
}

.hero-seal svg{
  position:absolute;
  inset:7px;
  width:calc(100% - 14px);
  height:calc(100% - 14px);
  animation:v6-spin 21s linear infinite;
}

.hero-seal text{
  fill:var(--v6-teal);
  font:7px "Manrope",sans-serif;
  letter-spacing:1.3px;
}

.hero-seal strong{
  font:400 27px "DM Serif Display",serif;
}

@keyframes v6-spin{
  to{transform:rotate(360deg)}
}

.hero-hours{
  position:absolute;
  z-index:8;
  right:1%;
  bottom:5%;
  width:190px;
  padding:18px;
  background:#fff;
  border-top:2px solid var(--v6-gold);
}

.hero-hours>small{
  display:block;
  margin-bottom:13px;
  color:var(--v6-gold);
  font-size:7px;
  letter-spacing:.15em;
}

.hero-hours>div{
  padding:6px 0;
  display:flex;
  justify-content:space-between;
  border-top:1px solid #edf0ef;
}

.hero-hours span{
  color:#899592;
  font-size:7px;
}

.hero-hours strong{
  font-size:9px;
  font-weight:500;
}

.hero-bottom{
  position:absolute;
  left:max(28px,4vw);
  right:max(28px,4vw);
  bottom:25px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:18px;
  align-items:center;
  color:#8c9794;
  font-size:7px;
  letter-spacing:.15em;
}

.hero-bottom i{
  height:1px;
  background:var(--v6-line);
}


/* MANIFESTO */

.v6-manifesto{
  padding:190px 0 210px;
  background:#fff;
}

.manifesto-grid{
  display:grid;
  grid-template-columns:1fr 3fr;
  gap:7vw;
}

.manifesto-content h2{
  max-width:1060px;
  margin:0;
  font-size:clamp(59px,6.4vw,103px);
  line-height:.93;
  letter-spacing:-.067em;
  font-weight:300;
}

.manifesto-content h2 em{
  display:block;
  margin-left:11%;
  color:var(--v6-teal);
  font-family:"DM Serif Display",serif;
  font-weight:400;
}

.manifesto-footer{
  width:67%;
  margin:62px 0 0 auto;
  padding-top:24px;
  border-top:1px solid var(--v6-line);
  display:flex;
  justify-content:space-between;
  gap:55px;
}

.manifesto-footer p{
  max-width:470px;
  margin:0;
  color:var(--v6-muted);
  font-size:13px;
  line-height:1.85;
}


/* SERVICES */

.v6-services{
  padding:140px 0 190px;
  background:#fff;
}

.services-heading{
  display:grid;
  grid-template-columns:1fr 3fr;
  gap:7vw;
  margin-bottom:70px;
}

.services-heading small,
.clinic-head small,
.pricing-head small{
  color:#88938f;
  font-size:8px;
  font-weight:600;
  letter-spacing:.15em;
}

.services-heading h2,
.clinic-head h2,
.pricing-head h2{
  margin:15px 0 0;
  max-width:1020px;
  font-size:clamp(55px,5.6vw,87px);
  line-height:.93;
  letter-spacing:-.062em;
  font-weight:300;
}

.services-heading h2 em,
.clinic-head h2 em,
.pricing-head h2 em{
  color:var(--v6-teal);
  font-family:"DM Serif Display",serif;
  font-weight:400;
}

.service-experience{
  display:grid;
  grid-template-columns:.93fr 1.07fr;
  gap:6vw;
  align-items:start;
}

.service-stage{
  height:640px;
  position:sticky;
  top:110px;
  overflow:hidden;
  background:#eee;
}

.service-image{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transform:scale(1.045);
  transition:
    opacity .55s ease,
    visibility .55s ease,
    transform .8s cubic-bezier(.2,.8,.2,1);
}

.service-image.active{
  opacity:1;
  visibility:visible;
  transform:scale(1);
}

.service-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.service-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(9,38,35,.58),transparent 53%);
}

.service-image-meta{
  position:absolute;
  z-index:4;
  left:22px;
  right:22px;
  bottom:20px;
  display:flex;
  justify-content:space-between;
  color:#fff;
}

.service-image-meta span{
  color:#e2c286;
  font-size:8px;
}

.service-image-meta p{
  margin:0;
  font-size:7px;
  letter-spacing:.15em;
}

.service-index{
  border-top:1px solid var(--v6-line);
}

.service-index-row{
  min-height:92px;
  display:grid;
  grid-template-columns:50px 1fr auto;
  align-items:center;
  border-bottom:1px solid var(--v6-line);
  transition:
    padding .35s ease,
    color .35s ease;
}

.service-index-row>span{
  color:var(--v6-gold);
  font-size:9px;
}

.service-index-row strong{
  font-size:clamp(21px,2vw,30px);
  font-weight:300;
  letter-spacing:-.035em;
}

.service-index-row i{
  width:39px;
  height:39px;
  border:1px solid #c9d1cf;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-style:normal;
  transition:.35s;
}

.service-index-row:hover,
.service-index-row.active{
  padding-left:12px;
  color:var(--v6-teal);
}

.service-index-row:hover i,
.service-index-row.active i{
  color:#fff;
  background:var(--v6-teal);
  border-color:var(--v6-teal);
  transform:rotate(45deg);
}

.all-services-link{
  margin-top:28px;
  display:inline-flex;
  gap:27px;
  align-items:center;
  font-size:10px;
  font-weight:500;
}


/* SIGNATURE */

.v6-signature{
  position:relative;
  padding:205px 0 220px;
  overflow:hidden;
  background:#fff;
}

.signature-outline{
  position:absolute;
  z-index:0;
  left:-2vw;
  top:9%;
  white-space:nowrap;
  color:transparent;
  -webkit-text-stroke:1px rgba(11,121,120,.065);
  font-size:17vw;
  font-weight:500;
  line-height:.8;
  letter-spacing:-.08em;
}

.v6-signature .v6-shell{
  position:relative;
  z-index:2;
}

.signature-label{
  padding-bottom:23px;
  border-bottom:1px solid var(--v6-gold);
}

.v6-signature h2{
  margin:80px 0 0;
  font-size:clamp(62px,7.4vw,119px);
  line-height:.8;
  letter-spacing:-.073em;
  font-weight:300;
}

.v6-signature h2>span{
  display:block;
  padding-left:6%;
  color:var(--v6-teal);
}

.v6-signature h2>em{
  display:block;
  padding-left:29%;
  color:var(--v6-gold);
  font-family:"DM Serif Display",serif;
  font-style:italic;
  font-weight:400;
  letter-spacing:-.04em;
}

.signature-bottom{
  width:64%;
  margin:70px 0 0 auto;
  display:flex;
  gap:75px;
  align-items:center;
}

.signature-bottom p{
  max-width:500px;
  margin:0;
  color:var(--v6-muted);
  font-size:13px;
  line-height:1.85;
}

.signature-orb{
  flex:none;
  width:122px;
  height:122px;
  padding:19px;
  border:1px solid #bcc6c3;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:.35s;
}

.signature-orb:hover{
  color:#fff;
  background:var(--v6-teal);
  border-color:var(--v6-teal);
}

.signature-orb span{
  font-size:8px;
  font-weight:500;
  line-height:1.5;
}

.signature-orb i{
  align-self:flex-end;
  font-style:normal;
}


/* CLINIC */

.v6-clinic{
  padding:150px 0 205px;
  background:#fff;
}

.clinic-head{
  display:grid;
  grid-template-columns:1fr 3fr;
  gap:7vw;
  margin-bottom:70px;
}

.clinic-gallery{
  min-height:980px;
  position:relative;
}

.clinic-gallery figure{
  margin:0;
  overflow:hidden;
}

.clinic-gallery figure img{
  width:100%;
  height:110%;
  object-fit:cover;
}

.clinic-gallery figcaption{
  position:absolute;
  z-index:4;
  left:16px;
  bottom:15px;
  padding:8px 10px;
  background:rgba(255,255,255,.93);
  font-size:8px;
}

.clinic-gallery figcaption span{
  margin-right:10px;
  color:var(--v6-gold);
}

.clinic-main{
  position:absolute;
  left:0;
  top:0;
  width:65%;
  height:650px;
}

.clinic-room{
  position:absolute;
  right:0;
  top:105px;
  width:31%;
  height:420px;
  border:11px solid #fff;
}

.clinic-bays{
  position:absolute;
  left:14%;
  bottom:0;
  width:39%;
  height:380px;
  border:11px solid #fff;
}

.clinic-address-card{
  position:absolute;
  right:3%;
  bottom:45px;
  width:32%;
  padding-top:23px;
  border-top:1px solid var(--v6-line);
}

.clinic-address-card>small{
  color:var(--v6-gold);
  font-size:8px;
  font-weight:600;
  letter-spacing:.15em;
}

.clinic-address-card>strong{
  display:block;
  margin:18px 0 30px;
  font-size:23px;
  line-height:1.3;
  font-weight:300;
}

.clinic-address-card>div{
  padding:15px 0;
  border-top:1px solid var(--v6-line);
  border-bottom:1px solid var(--v6-line);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px;
}

.clinic-address-card span{
  color:#899592;
  font-size:7px;
}

.clinic-address-card b{
  display:block;
  margin-top:4px;
  color:var(--v6-ink);
  font-size:9px;
  font-weight:500;
}

.clinic-address-card>a{
  display:inline-block;
  margin-top:22px;
  font-size:10px;
  font-weight:500;
}

.clinic-medallion{
  position:absolute;
  z-index:6;
  left:61%;
  top:32px;
  width:120px;
  height:120px;
  border:1px solid var(--v6-gold);
  border-radius:50%;
  background:#fff;
  display:grid;
  place-items:center;
}

.clinic-medallion:after{
  content:"";
  position:absolute;
  inset:9px;
  border:1px dashed rgba(180,141,66,.48);
  border-radius:50%;
}

.clinic-medallion span{
  color:var(--v6-gold);
  font:400 27px "DM Serif Display",serif;
}


/* OWNER */

.v6-owner{
  padding:150px 0 200px;
  background:#fff;
}

.owner-layout{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:8vw;
  align-items:center;
}

.owner-image-wrap{
  height:740px;
  position:relative;
  overflow:hidden;
}

.owner-image-wrap>img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.owner-image-number{
  position:absolute;
  right:0;
  bottom:0;
  padding:17px 20px;
  background:#fff;
  color:var(--v6-gold);
  font-size:7px;
  letter-spacing:.16em;
}

.owner-copy h2{
  margin:43px 0 35px;
  font-size:clamp(52px,5.3vw,83px);
  line-height:.91;
  letter-spacing:-.061em;
  font-weight:300;
}

.owner-copy h2 em{
  display:block;
  color:var(--v6-teal);
  font-family:"DM Serif Display",serif;
  font-weight:400;
}

.owner-copy blockquote{
  margin:0 0 30px;
  padding:26px 0;
  border-top:1px solid var(--v6-gold);
  border-bottom:1px solid var(--v6-line);
  font:400 22px/1.4 "DM Serif Display",serif;
}

.owner-copy>p{
  max-width:500px;
  margin:0 0 35px;
  color:var(--v6-muted);
  font-size:12px;
  line-height:1.9;
}


/* PRICING */

.v6-pricing{
  padding:150px 0 195px;
  background:#fff;
}

.pricing-head{
  display:grid;
  grid-template-columns:1fr 3fr;
  gap:7vw;
  margin-bottom:75px;
}

.price-preview{
  border-top:1px solid var(--v6-line);
}

.price-row{
  min-height:100px;
  display:grid;
  grid-template-columns:60px 1fr 120px 42px;
  gap:20px;
  align-items:center;
  border-bottom:1px solid var(--v6-line);
  transition:.35s;
}

.price-row:hover{
  padding-left:15px;
  color:var(--v6-teal);
}

.price-row>span{
  color:var(--v6-gold);
  font-size:9px;
}

.price-row strong{
  display:block;
  margin-bottom:6px;
  font-size:17px;
  font-weight:300;
}

.price-row small{
  color:#8d9895;
  font-size:7px;
  letter-spacing:.13em;
}

.price-row b{
  color:var(--v6-teal);
  font:400 27px "DM Serif Display",serif;
}

.price-row i{
  width:39px;
  height:39px;
  border:1px solid #c9d1cf;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-style:normal;
  transition:.3s;
}

.price-row:hover i{
  color:#fff;
  background:var(--v6-teal);
  border-color:var(--v6-teal);
  transform:rotate(45deg);
}

.pricing-footer{
  margin-top:26px;
  display:flex;
  justify-content:space-between;
  color:#899592;
  font-size:9px;
}

.pricing-footer a{
  color:var(--v6-ink);
  font-weight:500;
}


/* BOOKING */

.v6-booking{
  min-height:830px;
  position:relative;
  padding:180px 0 120px;
  overflow:hidden;
  background:var(--v6-soft);
}

.booking-watermark{
  position:absolute;
  left:-1vw;
  bottom:-2vw;
  color:rgba(11,121,120,.04);
  font-size:28vw;
  font-weight:500;
  line-height:.62;
  letter-spacing:-.08em;
}

.booking-layout{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr auto;
  gap:90px;
  align-items:center;
}

.booking-copy h2{
  margin:46px 0 35px;
  font-size:clamp(75px,8vw,132px);
  line-height:.77;
  letter-spacing:-.075em;
  font-weight:300;
}

.booking-copy h2 em{
  display:block;
  padding-left:7%;
  color:var(--v6-teal);
  font-family:"DM Serif Display",serif;
  font-style:italic;
  font-weight:400;
  letter-spacing:-.04em;
}

.booking-copy>p{
  max-width:430px;
  margin-left:8%;
  color:var(--v6-muted);
  font-size:13px;
  line-height:1.8;
}

.booking-contact{
  margin:45px 0 0 8%;
  display:flex;
  gap:30px;
  font-size:10px;
  font-weight:500;
}

.final-booking-orb{
  position:relative;
  width:290px;
  height:290px;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:var(--v6-teal);
  color:#fff!important;
}

.final-booking-orb>span{
  text-align:center;
  font-size:12px;
  font-weight:500;
  line-height:1.5;
}

.final-booking-orb>i{
  margin-top:24px;
  font-size:23px;
  font-style:normal;
}

.final-booking-orb svg{
  position:absolute;
  inset:8px;
  width:calc(100% - 16px);
  height:calc(100% - 16px);
  fill:none;
  stroke:rgba(255,255,255,.46);
  stroke-width:.6;
  stroke-dasharray:3 5;
  animation:v6-spin 22s linear infinite;
}


/* FOOTER */

.v6-footer{
  padding:95px 0 28px;
  background:#fff;
  border-top:1px solid var(--v6-line);
}

.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:6vw;
}

.footer-brand-v6 img{
  width:150px;
}

.footer-brand-v6 p{
  margin-top:24px;
  color:var(--v6-muted);
  font-size:10px;
}

.footer-column-v6{
  display:flex;
  flex-direction:column;
  gap:10px;
  font-size:10px;
}

.footer-column-v6 small{
  margin-bottom:11px;
  color:#899592;
  font-size:8px;
  letter-spacing:.15em;
}

.footer-column-v6 p{
  margin:0;
  color:var(--v6-muted);
  line-height:1.7;
}

.footer-massive{
  margin-top:105px;
  color:var(--v6-teal);
  font-size:clamp(86px,13vw,201px);
  line-height:.72;
  letter-spacing:-.075em;
  font-weight:400;
}

.footer-massive em{
  color:var(--v6-gold);
  font-family:"DM Serif Display",serif;
  font-style:italic;
  font-weight:400;
}

.footer-meta-v6{
  margin-top:52px;
  padding-top:21px;
  border-top:1px solid var(--v6-line);
  display:flex;
  justify-content:space-between;
  color:#8d9895;
  font-size:7px;
  letter-spacing:.11em;
}


/* HOVER */

.photo-hover img{
  transition:transform 1.1s cubic-bezier(.2,.8,.2,1);
}

.photo-hover:hover img{
  transform:scale(1.04);
}


/* INTERNAL PAGE UPGRADE */

body:not(.final-home){
  background:#fff;
}

body:not(.final-home) .site-header{
  border-radius:0!important;
  backdrop-filter:blur(22px);
}

body:not(.final-home) .page-hero h1,
body:not(.final-home) .rich-copy h2,
body:not(.final-home) .service-detail h2,
body:not(.final-home) .simple-cta h2,
body:not(.final-home) .approach-sticky h2,
body:not(.final-home) .booking-information h2{
  text-wrap:balance;
}

body:not(.final-home) .service-detail figure{
  overflow:hidden;
}

body:not(.final-home) .service-detail figure img{
  transition:transform 1s cubic-bezier(.2,.8,.2,1);
}

body:not(.final-home) .service-detail figure:hover img{
  transform:scale(1.035);
}


/* TABLET */

@media(max-width:1100px){

  .v6-header{
    grid-template-columns:1fr auto;
  }

  .v6-nav{
    display:none;
  }

  .v6-hero{
    grid-template-columns:1fr;
  }

  .v6-hero-copy{
    min-height:690px;
  }

  .v6-hero-media{
    margin-top:30px;
  }

  .service-experience{
    grid-template-columns:1fr;
  }

  .service-stage{
    position:relative;
    top:auto;
  }

  .owner-layout{
    grid-template-columns:1fr;
  }

}


/* MOBILE */

@media(max-width:720px){

  .v6-shell{
    width:calc(100% - 36px);
  }

  .v6-header{
    top:8px;
    width:calc(100% - 16px);
    height:58px;
    padding:6px 7px 6px 11px;
    grid-template-columns:1fr auto auto;
    gap:8px;
  }

  .v6-header.scrolled{
    top:6px;
    height:56px;
  }

  .v6-logo{
    width:102px;
  }

  .v6-book{
    width:126px;
    height:44px;
    padding:0 11px;
  }

  .v6-book i{
    display:none;
  }

  .v6-menu-button{
    width:42px;
    height:42px;
    padding:0;
    border:0;
    background:none;
    display:block;
  }

  .v6-menu-button span{
    display:block;
    width:21px;
    height:1px;
    margin:6px auto;
    background:var(--v6-ink);
    transition:.3s;
  }

  body.v6-menu-open{
    overflow:hidden;
  }

  .v6-mobile-menu{
    position:fixed;
    z-index:900;
    inset:0;
    padding:100px 22px 30px;
    display:flex;
    flex-direction:column;
    background:#fff;
    opacity:0;
    visibility:hidden;
    transition:.35s;
  }

  body.v6-menu-open .v6-mobile-menu{
    opacity:1;
    visibility:visible;
  }

  .v6-mobile-menu>small{
    margin-bottom:30px;
    color:var(--v6-gold);
    font-size:8px;
    letter-spacing:.16em;
  }

  .v6-mobile-menu>a{
    padding:11px 0;
    border-bottom:1px solid var(--v6-line);
    font-size:28px;
    letter-spacing:-.04em;
  }

  .v6-mobile-menu .mobile-book{
    margin-top:25px;
    padding:17px;
    color:#fff;
    background:var(--v6-teal);
    border:0;
    font-size:12px;
  }

  body.v6-menu-open .v6-menu-button span:first-child{
    transform:translateY(3.5px) rotate(45deg);
  }

  body.v6-menu-open .v6-menu-button span:last-child{
    transform:translateY(-3.5px) rotate(-45deg);
  }


  .v6-hero{
    min-height:auto;
    display:block;
    padding:112px 18px 25px;
  }

  .hero-vertical-note,
  .hero-giant-word{
    display:none;
  }

  .v6-hero-copy{
    min-height:auto;
    padding:0;
  }

  .v6-eyebrow{
    margin-bottom:40px;
  }

  .v6-hero h1{
    font-size:clamp(57px,17vw,91px);
    line-height:.8;
  }

  .hero-title-offset{
    padding-left:0;
  }

  .hero-title-serif{
    padding-left:5%;
  }

  .hero-title-care{
    padding-left:26%;
  }

  .hero-copy-bottom{
    width:100%;
    display:block;
    margin-top:42px;
  }

  .hero-buttons{
    margin-top:27px;
  }

  .v6-hero-media{
    min-height:570px;
    margin-top:45px;
  }

  .owner-hero-image{
    width:92%;
    height:126vw;
  }

  .hero-reception-card{
    width:40%;
    bottom:1%;
  }

  .hero-seal{
    width:95px;
    height:95px;
  }

  .hero-hours{
    width:154px;
    right:0;
  }

  .hero-bottom{
    display:none;
  }


  .v6-manifesto,
  .v6-services,
  .v6-signature,
  .v6-clinic,
  .v6-owner,
  .v6-pricing,
  .v6-booking{
    padding:110px 0;
  }

  .manifesto-grid,
  .services-heading,
  .clinic-head,
  .pricing-head{
    display:block;
  }

  .manifesto-content,
  .services-heading>div:last-child,
  .clinic-head>div:last-child,
  .pricing-head>div:last-child{
    margin-top:35px;
  }

  .manifesto-content h2,
  .services-heading h2,
  .clinic-head h2,
  .pricing-head h2{
    font-size:48px;
  }

  .manifesto-content h2 em{
    margin-left:0;
  }

  .manifesto-footer{
    width:100%;
    margin-top:40px;
    display:block;
  }

  .manifesto-footer .v6-arrow-link{
    margin-top:25px;
  }


  .services-heading{
    margin-bottom:45px;
  }

  .service-stage{
    height:115vw;
    margin-bottom:40px;
  }

  .service-index-row{
    min-height:78px;
  }

  .service-index-row strong{
    font-size:20px;
  }


  .signature-outline{
    display:none;
  }

  .v6-signature h2{
    margin-top:55px;
    font-size:54px;
  }

  .v6-signature h2>span{
    padding-left:0;
  }

  .v6-signature h2>em{
    padding-left:8%;
  }

  .signature-bottom{
    width:100%;
    margin-top:45px;
    display:block;
  }

  .signature-orb{
    margin-top:30px;
  }


  .clinic-gallery{
    min-height:auto;
  }

  .clinic-main,
  .clinic-room,
  .clinic-bays{
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
  }

  .clinic-main{
    width:100%;
    height:112vw;
  }

  .clinic-room{
    width:60%;
    height:74vw;
    margin:-60px 10px 0 auto!important;
  }

  .clinic-bays{
    width:70%;
    height:74vw;
    margin:20px auto 0 0!important;
  }

  .clinic-address-card{
    position:relative;
    right:auto;
    bottom:auto;
    width:100%;
    margin-top:40px;
  }

  .clinic-medallion{
    width:88px;
    height:88px;
    left:8px;
    top:78vw;
  }


  .owner-layout{
    display:block;
  }

  .owner-image-wrap{
    height:120vw;
  }

  .owner-copy{
    margin-top:55px;
  }

  .owner-copy h2{
    font-size:49px;
  }


  .price-row{
    min-height:100px;
    grid-template-columns:35px 1fr auto;
  }

  .price-row b{
    font-size:24px;
  }

  .price-row i{
    display:none;
  }

  .pricing-footer{
    display:block;
  }

  .pricing-footer a{
    display:block;
    margin-top:15px;
  }


  .booking-layout{
    display:block;
  }

  .booking-copy h2{
    font-size:65px;
  }

  .booking-copy h2 em{
    padding-left:0;
  }

  .booking-copy>p,
  .booking-contact{
    margin-left:0;
  }

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

  .final-booking-orb{
    width:215px;
    height:215px;
    margin:60px 0 0 auto;
  }


  .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:45px 25px;
  }

  .footer-brand-v6{
    grid-column:1/-1;
  }

  .footer-massive{
    margin-top:80px;
    font-size:24vw;
  }

  .footer-meta-v6{
    display:block;
  }

  .footer-meta-v6 span{
    display:block;
    margin-top:8px;
  }

}


@media(prefers-reduced-motion:reduce){

  *,
  *:before,
  *:after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }

}



/* =========================================================
   VITA V6 — FINAL SVG LOGO FIT
   ========================================================= */

.v6-logo{
  width:124px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex-shrink:0;
  line-height:0;
  overflow:hidden;
  transition:
    width .35s ease,
    height .35s ease;
}

.v6-logo img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:left center;
}

.v6-header.scrolled .v6-logo{
  width:108px;
  height:44px;
}

@media(max-width:720px){

  .v6-logo{
    width:96px;
    height:42px;
  }

  .v6-header.scrolled .v6-logo{
    width:92px;
    height:40px;
  }

}


/* =========================================================
   VITA V6 — COMPACT FOOTER AFTER WORDMARK REMOVAL
   ========================================================= */

.v6-footer .footer-meta-v6{
  margin-top:72px;
}



/* =========================================================
   VITA — CSS ARROWS
   Never render as mobile emoji
   ========================================================= */

.ui-ne-arrow{
  position:relative;
  display:inline-block;
  width:12px;
  height:12px;
  flex:0 0 12px;
  vertical-align:middle;
}

.ui-ne-arrow::before{
  content:"";
  position:absolute;
  width:10px;
  height:1px;
  right:1px;
  top:6px;
  background:currentColor;
  transform:rotate(-45deg);
  transform-origin:right center;
}

.ui-ne-arrow::after{
  content:"";
  position:absolute;
  right:0;
  top:0;
  width:6px;
  height:6px;
  border-top:1px solid currentColor;
  border-right:1px solid currentColor;
}


.ui-down-arrow{
  position:relative;
  display:inline-block;
  width:10px;
  height:13px;
  flex:0 0 10px;
  vertical-align:middle;
}

.ui-down-arrow::before{
  content:"";
  position:absolute;
  left:4.5px;
  top:0;
  width:1px;
  height:10px;
  background:currentColor;
}

.ui-down-arrow::after{
  content:"";
  position:absolute;
  left:2px;
  bottom:1px;
  width:5px;
  height:5px;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:rotate(45deg);
}


/* =========================================================
   VITA MOBILE REBUILD V1
   Mobile-specific art direction — not desktop shrink
   ========================================================= */

@media(max-width:720px){

  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:clip;
  }

  body{
    font-size:14px;
  }

  .v6-shell{
    width:calc(100% - 32px);
  }


  /* ---------------- HEADER ---------------- */

  .v6-header{
    top:8px;
    width:calc(100% - 16px);
    height:58px;
    padding:7px 10px 7px 12px;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
  }

  .v6-header.scrolled{
    top:6px;
    height:56px;
  }

  .v6-logo,
  .v6-header.scrolled .v6-logo{
    width:92px;
    height:42px;
  }

  .v6-book{
    display:none;
  }

  .v6-menu-button{
    display:block;
    width:42px;
    height:42px;
  }

  .v6-mobile-menu{
    padding:92px 20px 24px;
  }

  .v6-mobile-menu>small{
    margin-bottom:22px;
  }

  .v6-mobile-menu>a{
    padding:11px 0;
    font-size:22px;
    line-height:1.1;
    letter-spacing:-.035em;
  }

  .v6-mobile-menu .mobile-book{
    margin-top:22px;
    padding:16px;
    font-size:11px;
  }


  /* ---------------- HERO ---------------- */

  .v6-hero{
    min-height:auto;
    padding:104px 16px 35px;
    display:block;
  }

  .hero-vertical-note,
  .hero-giant-word,
  .hero-bottom{
    display:none;
  }

  .v6-hero-copy{
    min-height:auto;
    padding:0;
  }

  .v6-eyebrow{
    margin-bottom:31px;
    gap:10px;
    font-size:7px;
    letter-spacing:.13em;
  }

  .v6-eyebrow span{
    width:25px;
  }

  .v6-hero h1{
    max-width:100%;
    font-size:clamp(52px,14.4vw,66px);
    line-height:.84;
    letter-spacing:-.065em;
  }

  .hero-title-offset{
    padding-left:0;
  }

  .hero-title-serif{
    padding-left:3%;
  }

  .hero-title-care{
    padding-left:18%;
  }

  .hero-copy-bottom{
    width:100%;
    margin-top:34px;
    padding-top:19px;
    display:block;
  }

  .hero-copy-bottom p{
    max-width:92%;
    font-size:11.5px;
    line-height:1.75;
  }

  .hero-buttons{
    margin-top:24px;
    flex-direction:row;
    align-items:center;
    gap:20px;
  }

  .v6-primary{
    height:49px;
    padding:0 16px;
    gap:22px;
    font-size:9px;
  }

  .v6-text-link{
    font-size:9px;
  }

  .v6-hero-media{
    min-height:0;
    display:block;
    margin-top:37px;
  }

  .owner-hero-image{
    width:100%;
    height:min(118vw,520px);
  }

  .owner-hero-image img{
    object-position:center 38%;
  }

  /*
   * Desktop collage details are intentionally removed on phone.
   * One strong image is more premium than four tiny overlays.
   */

  .hero-reception-card,
  .hero-hours,
  .hero-seal{
    display:none;
  }


  /* ---------------- GLOBAL SECTION RHYTHM ---------------- */

  .v6-manifesto,
  .v6-services,
  .v6-signature,
  .v6-clinic,
  .v6-owner,
  .v6-pricing{
    padding:82px 0;
  }

  .v6-booking{
    min-height:auto;
    padding:88px 0 82px;
  }

  .v6-label{
    gap:9px;
    font-size:7px;
    letter-spacing:.13em;
  }


  /* ---------------- MANIFESTO ---------------- */

  .manifesto-grid{
    display:block;
  }

  .manifesto-content{
    margin-top:29px;
  }

  .manifesto-content h2{
    max-width:100%;
    font-size:40px;
    line-height:.96;
    letter-spacing:-.052em;
  }

  .manifesto-content h2 em{
    margin-left:0;
    margin-top:4px;
  }

  .manifesto-footer{
    width:100%;
    margin-top:32px;
    padding-top:18px;
    display:block;
  }

  .manifesto-footer p{
    max-width:100%;
    font-size:11.5px;
    line-height:1.8;
  }

  .manifesto-footer .v6-arrow-link{
    margin-top:23px;
  }


  /* ---------------- SERVICES ---------------- */

  .services-heading{
    display:block;
    margin-bottom:37px;
  }

  .services-heading>div:last-child{
    margin-top:28px;
  }

  .services-heading small{
    font-size:7px;
  }

  .services-heading h2{
    margin-top:11px;
    font-size:40px;
    line-height:.96;
    letter-spacing:-.052em;
  }

  .service-experience{
    display:block;
  }

  .service-stage{
    position:relative;
    top:auto;
    width:100%;
    height:88vw;
    max-height:410px;
    margin-bottom:30px;
  }

  .service-image-meta{
    left:15px;
    right:15px;
    bottom:14px;
  }

  .service-image-meta p{
    max-width:70%;
    text-align:right;
    font-size:6px;
    line-height:1.4;
  }

  .service-index-row{
    min-height:66px;
    grid-template-columns:32px minmax(0,1fr) 34px;
    gap:7px;
  }

  .service-index-row:hover,
  .service-index-row.active{
    padding-left:5px;
  }

  .service-index-row>span{
    font-size:7px;
  }

  .service-index-row strong{
    font-size:16px;
    line-height:1.2;
    letter-spacing:-.025em;
  }

  .service-index-row i{
    width:31px;
    height:31px;
  }

  .all-services-link{
    margin-top:21px;
    font-size:9px;
  }


  /* ---------------- SIGNATURE ---------------- */

  .signature-outline{
    display:none;
  }

  .signature-label{
    padding-bottom:17px;
  }

  .v6-signature h2{
    margin-top:41px;
    font-size:41px;
    line-height:.87;
    letter-spacing:-.055em;
  }

  .v6-signature h2>span{
    padding-left:0;
    margin-top:5px;
  }

  .v6-signature h2>em{
    padding-left:6%;
    margin-top:5px;
  }

  .signature-bottom{
    width:100%;
    margin-top:34px;
    display:block;
  }

  .signature-bottom p{
    font-size:11.5px;
    line-height:1.8;
  }

  .signature-orb{
    width:100px;
    height:100px;
    margin-top:27px;
    padding:16px;
  }

  .signature-orb span{
    font-size:7px;
  }


  /* ---------------- CLINIC ---------------- */

  .clinic-head{
    display:block;
    margin-bottom:36px;
  }

  .clinic-head>div:last-child{
    margin-top:28px;
  }

  .clinic-head h2{
    margin-top:10px;
    font-size:40px;
    line-height:.96;
  }

  .clinic-gallery{
    min-height:0;
    display:flex;
    flex-direction:column;
    gap:16px;
  }

  .clinic-main,
  .clinic-room,
  .clinic-bays{
    position:relative;
    inset:auto;
    width:100%;
    height:68vw;
    max-height:330px;
    margin:0!important;
    border:0;
  }

  .clinic-gallery figure img{
    height:100%;
    object-fit:cover;
  }

  .clinic-gallery figcaption{
    left:10px;
    bottom:10px;
    padding:7px 9px;
    font-size:7px;
  }

  .clinic-address-card{
    position:relative;
    inset:auto;
    width:100%;
    margin-top:17px;
    padding-top:20px;
  }

  .clinic-address-card>strong{
    margin:15px 0 24px;
    font-size:20px;
    line-height:1.32;
  }

  .clinic-address-card>div{
    gap:15px;
  }

  .clinic-medallion{
    display:none;
  }


  /* ---------------- OWNER ---------------- */

  .owner-layout{
    display:block;
  }

  .owner-image-wrap{
    width:100%;
    height:94vw;
    max-height:440px;
  }

  .owner-copy{
    margin-top:38px;
  }

  .owner-copy h2{
    margin:31px 0 27px;
    font-size:40px;
    line-height:.95;
  }

  .owner-copy blockquote{
    margin-bottom:24px;
    padding:20px 0;
    font-size:18px;
    line-height:1.45;
  }

  .owner-copy>p{
    font-size:11.5px;
    line-height:1.85;
  }


  /* ---------------- PRICING ---------------- */

  .pricing-head{
    display:block;
    margin-bottom:37px;
  }

  .pricing-head>div:last-child{
    margin-top:27px;
  }

  .pricing-head h2{
    margin-top:10px;
    font-size:39px;
    line-height:.96;
  }

  .price-row{
    min-height:80px;
    padding:10px 0;
    grid-template-columns:25px minmax(0,1fr) auto;
    gap:10px;
  }

  .price-row:hover{
    padding-left:0;
  }

  .price-row>span{
    font-size:7px;
  }

  .price-row strong{
    margin-bottom:5px;
    font-size:14px;
    line-height:1.3;
  }

  .price-row small{
    font-size:6px;
  }

  .price-row b{
    font-size:21px;
  }

  .price-row i{
    display:none;
  }

  .pricing-footer{
    display:block;
    margin-top:20px;
    font-size:8px;
  }

  .pricing-footer a{
    display:inline-block;
    margin-top:13px;
  }


  /* ---------------- BOOKING ---------------- */

  .booking-watermark{
    display:none;
  }

  .booking-layout{
    display:block;
  }

  .booking-copy h2{
    margin:33px 0 27px;
    font-size:51px;
    line-height:.82;
    letter-spacing:-.065em;
  }

  .booking-copy h2 em{
    padding-left:0;
  }

  .booking-copy>p{
    max-width:100%;
    margin-left:0;
    font-size:11.5px;
  }

  .booking-contact{
    margin:28px 0 0;
    flex-direction:column;
    gap:8px;
    font-size:9px;
  }

  .final-booking-orb{
    width:178px;
    height:178px;
    margin:42px 0 0 auto;
  }

  .final-booking-orb>span{
    font-size:9px;
  }

  .final-booking-orb>i{
    margin-top:14px;
  }


  /* ---------------- FOOTER ---------------- */

  .v6-footer{
    padding:70px 0 24px;
  }

  .footer-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
  }

  .footer-brand-v6{
    padding-bottom:34px;
  }

  .footer-brand-v6 img{
    width:125px;
  }

  .footer-brand-v6 p{
    margin-top:15px;
    font-size:9px;
  }

  .footer-column-v6{
    padding:24px 0;
    border-top:1px solid var(--v6-line);
    gap:9px;
    font-size:10px;
  }

  .footer-column-v6 small{
    margin-bottom:5px;
  }

  .footer-meta-v6{
    margin-top:28px!important;
    padding-top:18px;
    display:block;
  }

  .footer-meta-v6 span{
    display:block;
    margin-top:7px;
    font-size:6px;
  }


  /* =======================================================
     INTERNAL PAGES — MOBILE REBUILD
     ======================================================= */

  body:not(.final-home) .site-header{
    top:8px;
    width:calc(100% - 16px);
    height:58px;
    padding:7px 9px 7px 12px;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
  }

  body:not(.final-home) .brand{
    width:92px;
    height:42px;
    overflow:hidden;
    display:flex;
    align-items:center;
  }

  body:not(.final-home) .brand img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:left center;
  }

  body:not(.final-home) .header-book{
    display:none;
  }

  body:not(.final-home) .menu-button{
    display:block;
  }

  body:not(.final-home) .mobile-menu{
    padding:92px 20px 24px;
  }

  body:not(.final-home) .mobile-menu a{
    padding:11px 0;
    font-size:22px;
    line-height:1.1;
  }

  body:not(.final-home) .mobile-menu .mobile-book{
    margin-top:22px;
    padding:16px;
    font-size:11px;
  }


  body:not(.final-home) .page-hero,
  body:not(.final-home) .compact-page-hero{
    min-height:0;
    padding:125px 0 68px;
  }

  body:not(.final-home) .page-hero-grid{
    display:block;
  }

  body:not(.final-home) .page-eyebrow{
    font-size:7px;
  }

  body:not(.final-home) .page-hero h1{
    margin-top:27px;
    font-size:clamp(43px,12vw,52px);
    line-height:.88;
    letter-spacing:-.058em;
  }

  body:not(.final-home) .page-hero-grid>p{
    max-width:100%;
    margin-top:30px;
    padding-top:17px;
    font-size:11.5px;
    line-height:1.75;
  }


  body:not(.final-home) .content-section{
    padding:76px 0;
  }

  body:not(.final-home) .split-editorial{
    display:block;
  }

  body:not(.final-home) .rich-copy{
    margin-top:29px;
  }

  body:not(.final-home) .rich-copy h2{
    margin-bottom:31px;
    font-size:38px;
    line-height:.98;
  }

  body:not(.final-home) .rich-copy p{
    font-size:11.5px;
    line-height:1.85;
  }


  body:not(.final-home) .large-image-section{
    padding:10px 0 75px;
  }

  body:not(.final-home) .wide-image{
    height:75vw;
    max-height:350px;
  }


  body:not(.final-home) .service-detail{
    padding:66px 0;
  }

  body:not(.final-home) .service-detail-grid{
    display:block;
  }

  body:not(.final-home) .service-detail-number{
    margin-bottom:19px;
  }

  body:not(.final-home) .service-detail h2{
    margin:18px 0 22px;
    font-size:37px;
    line-height:.96;
  }

  body:not(.final-home) .service-detail p{
    font-size:11.5px;
    line-height:1.8;
  }

  body:not(.final-home) .service-detail-grid>figure,
  body:not(.final-home) .service-detail-grid>.detail-art{
    width:100%;
    height:76vw;
    max-height:350px;
    margin-top:29px;
  }


  body:not(.final-home) .price-group{
    padding:42px 0;
    display:block;
  }

  body:not(.final-home) .price-title{
    margin-bottom:24px;
    gap:18px;
  }

  body:not(.final-home) .price-title h2{
    font-size:29px;
  }

  body:not(.final-home) .price-items>div{
    min-height:67px;
    padding:12px 0;
    grid-template-columns:minmax(0,1fr) auto;
    gap:7px 15px;
  }

  body:not(.final-home) .price-items strong{
    font-size:10px;
    line-height:1.45;
  }

  body:not(.final-home) .price-items span{
    grid-column:1;
    font-size:8px;
  }

  body:not(.final-home) .price-items b{
    grid-column:2;
    grid-row:1/3;
    font-size:20px;
  }


  body:not(.final-home) .approach-story{
    padding:48px 0 80px;
  }

  body:not(.final-home) .approach-story-grid{
    display:block;
  }

  body:not(.final-home) .approach-sticky{
    position:relative;
    top:auto;
  }

  body:not(.final-home) .approach-sticky h2{
    margin:30px 0 22px;
    font-size:39px;
  }

  body:not(.final-home) .approach-steps{
    margin-top:45px;
  }

  body:not(.final-home) .approach-steps article{
    min-height:0;
    padding:29px 0 35px;
    grid-template-columns:30px 1fr;
  }

  body:not(.final-home) .approach-steps h3{
    margin:18px 0 13px;
    font-size:31px;
  }


  body:not(.final-home) .faq-section{
    padding:20px 0 85px;
  }

  body:not(.final-home) .faq-layout{
    display:block;
  }

  body:not(.final-home) .accordion{
    margin-top:35px;
  }

  body:not(.final-home) .faq-item button{
    min-height:70px;
    gap:14px;
  }

  body:not(.final-home) .faq-item button span{
    font-size:16px;
    line-height:1.35;
  }

  body:not(.final-home) .faq-answer{
    padding:0 30px 23px 0;
  }

  body:not(.final-home) .faq-answer p{
    font-size:11px;
  }


  body:not(.final-home) .contact-section,
  body:not(.final-home) .booking-page-section,
  body:not(.final-home) .location-section,
  body:not(.final-home) .policy-section,
  body:not(.final-home) .privacy-section{
    padding:35px 0 85px;
  }

  body:not(.final-home) .contact-grid,
  body:not(.final-home) .booking-page-grid,
  body:not(.final-home) .location-grid,
  body:not(.final-home) .privacy-copy{
    display:block;
  }

  body:not(.final-home) .contact-primary>a{
    margin-bottom:38px;
    font-size:24px;
    overflow-wrap:anywhere;
  }

  body:not(.final-home) .contact-secondary{
    margin-top:45px;
    grid-template-columns:1fr;
    gap:30px;
  }

  body:not(.final-home) .booking-information h2{
    font-size:39px;
  }

  body:not(.final-home) .appointment-form{
    margin-top:45px;
    padding:20px;
  }

  body:not(.final-home) .location-address h2{
    font-size:36px;
  }

  body:not(.final-home) .location-details{
    margin-top:43px;
  }


  body:not(.final-home) .policy-list article{
    padding:32px 0;
    grid-template-columns:32px 1fr;
    gap:9px;
  }

  body:not(.final-home) .policy-list h2{
    font-size:27px;
  }

  body:not(.final-home) .policy-list p{
    font-size:11px;
  }


  body:not(.final-home) .privacy-copy>div:last-child{
    margin-top:30px;
  }

  body:not(.final-home) .privacy-copy h2{
    font-size:35px;
  }


  body:not(.final-home) .simple-cta{
    padding:78px 0;
  }

  body:not(.final-home) .simple-cta-grid{
    display:block;
  }

  body:not(.final-home) .simple-cta h2{
    font-size:42px;
  }

  body:not(.final-home) .simple-cta-grid>div{
    margin-top:27px;
  }


  body:not(.final-home) .footer{
    padding:65px 0 24px;
  }

  body:not(.final-home) .footer-top{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
  }

  body:not(.final-home) .footer-brand{
    padding-bottom:30px;
  }

  body:not(.final-home) .footer-column{
    padding:22px 0;
    border-top:1px solid var(--line);
  }

  body:not(.final-home) .footer-bottom{
    margin-top:28px;
    display:block;
  }

  body:not(.final-home) .footer-bottom span{
    display:block;
    margin-top:7px;
  }

}


/* =========================================================
   VERY SMALL PHONES
   ========================================================= */

@media(max-width:390px){

  .v6-hero h1{
    font-size:49px;
  }

  .hero-buttons{
    gap:14px;
  }

  .v6-primary{
    padding:0 13px;
  }

  .manifesto-content h2,
  .services-heading h2,
  .clinic-head h2,
  .owner-copy h2,
  .pricing-head h2{
    font-size:37px;
  }

  .v6-signature h2{
    font-size:38px;
  }

  .booking-copy h2{
    font-size:46px;
  }

  body:not(.final-home) .page-hero h1{
    font-size:42px;
  }

}



/* =========================================================
   VITA — PREMIUM INLINE SVG ARROWS
   ========================================================= */

.vita-arrow-icon{
  width:17px;
  height:17px;
  display:inline-block;
  flex:0 0 17px;
  overflow:visible;
  vertical-align:middle;
  transition:
    transform .32s cubic-bezier(.22,.61,.36,1),
    opacity .32s ease;
}

.vita-arrow-line,
.vita-arrow-head{
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.vita-arrow-dot{
  fill:#b48d42;
  stroke:none;
}

.vita-chevron-icon{
  width:17px;
  height:17px;
  display:inline-block;
  flex:0 0 17px;
  overflow:visible;
  vertical-align:middle;
  transition:
    transform .32s cubic-bezier(.22,.61,.36,1);
}

.vita-chevron-icon path{
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}


/* حذف کامل pseudo arrow قدیمی */

.ui-ne-arrow,
.ui-down-arrow{
  display:none!important;
}

.ui-ne-arrow::before,
.ui-ne-arrow::after,
.ui-down-arrow::before,
.ui-down-arrow::after{
  content:none!important;
  display:none!important;
}


/* لینک‌های معمولی */

a:hover > .vita-arrow-icon,
button:hover > .vita-arrow-icon{
  transform:translate(3px,-3px);
}


/* وقتی SVG داخل span یا i قرار گرفته */

a:hover > span > .vita-arrow-icon,
a:hover > i > .vita-arrow-icon,
button:hover > span > .vita-arrow-icon,
button:hover > i > .vita-arrow-icon{
  transform:translate(3px,-3px);
}


/* دکمه‌های دایره‌ای */

.service-index-row i .vita-arrow-icon,
.price-row i .vita-arrow-icon{
  width:14px;
  height:14px;
}


/* جلوگیری از چرخش خود SVG وقتی parent دکمه rotate می‌شود */

.service-index-row.active i .vita-arrow-icon,
.service-index-row:hover i .vita-arrow-icon,
.price-row:hover i .vita-arrow-icon{
  transform:rotate(-45deg);
}


/* لینک‌های متنی */

.v6-arrow-link .vita-arrow-icon,
.all-services-link .vita-arrow-icon,
.v6-text-link .vita-arrow-icon{
  margin-left:5px;
}


/* CTA های اصلی */

.v6-book .vita-arrow-icon,
.v6-primary .vita-arrow-icon,
.final-booking-orb .vita-arrow-icon,
.signature-orb .vita-arrow-icon{
  color:inherit;
}


/* موبایل */

@media(max-width:720px){

  .vita-arrow-icon,
  .vita-chevron-icon{
    width:15px;
    height:15px;
    flex-basis:15px;
  }

  .service-index-row i .vita-arrow-icon,
  .price-row i .vita-arrow-icon{
    width:12px;
    height:12px;
  }

}



/* VITA HEADER SYSTEM FIX START */

/* =========================================================
   GLOBAL HEADER GEOMETRY
   HOME + ALL INTERNAL PAGES
   ========================================================= */

.v6-header,
.site-header{
  box-sizing:border-box!important;
  align-items:center!important;
}


/* ---------- HOME HEADER ---------- */

.v6-header{
  grid-template-columns:150px minmax(0,1fr) 182px!important;
  column-gap:24px!important;
}


/* ---------- INTERNAL PAGE HEADER ---------- */

.site-header{
  grid-template-columns:150px minmax(0,1fr) 182px!important;
  column-gap:24px!important;
}


/* =========================================================
   LOGO CONTAINMENT
   SVG can NEVER escape the navigation bar
   ========================================================= */

.v6-logo,
.site-header .brand{
  width:128px!important;
  height:48px!important;

  min-width:0!important;
  max-width:128px!important;
  max-height:48px!important;

  margin:0!important;
  padding:0!important;

  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;

  overflow:hidden!important;
  flex-shrink:0!important;

  line-height:0!important;
}


/* actual SVG loaded through IMG */

.v6-logo > img,
.site-header .brand > img{
  display:block!important;

  width:100%!important;
  height:100%!important;

  max-width:100%!important;
  max-height:100%!important;

  margin:0!important;
  padding:0!important;

  object-fit:contain!important;
  object-position:left center!important;

  transform:none!important;
}


/* Prevent SVG intrinsic dimensions from affecting layout */

.v6-logo img[src$=".svg"],
.site-header .brand img[src$=".svg"]{
  width:100%!important;
  height:100%!important;
}


/* =========================================================
   NAVIGATION
   ========================================================= */

.v6-nav,
.desktop-nav{
  min-width:0!important;
  justify-self:center!important;
  align-self:center!important;
}

.v6-nav{
  gap:30px!important;
}

.desktop-nav{
  gap:30px!important;
}


/* =========================================================
   HEADER CTA
   EXACTLY ONE REAL INLINE SVG
   ========================================================= */

.v6-book,
.header-book{
  width:182px!important;
  height:50px!important;

  padding:0 17px!important;

  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;

  overflow:hidden!important;
  white-space:nowrap!important;
}


/* Kill every historical pseudo arrow */

.v6-book::before,
.v6-book::after,
.header-book::before,
.header-book::after,

.v6-book > span::before,
.v6-book > span::after,
.header-book > span::before,
.header-book > span::after,

.v6-book .header-cta-arrow::before,
.v6-book .header-cta-arrow::after,
.header-book .header-cta-arrow::before,
.header-book .header-cta-arrow::after{
  content:none!important;
  display:none!important;
}


/* Arrow wrapper */

.header-cta-arrow{
  width:18px!important;
  height:18px!important;

  margin:0!important;
  padding:0!important;

  display:grid!important;
  place-items:center!important;

  flex:0 0 18px!important;

  color:inherit!important;
  font-size:0!important;
  line-height:0!important;

  transform:none!important;
}


/* The ONE arrow */

.header-cta-arrow > .header-single-arrow{
  width:16px!important;
  height:16px!important;

  display:block!important;
  margin:0!important;

  transform:none!important;

  transition:
    transform .32s cubic-bezier(.22,.61,.36,1)!important;
}


/* No second arrow generated from generic arrow systems */

.v6-book.has-svg-arrow::after,
.header-book.has-svg-arrow::after,
.v6-book.has-svg-arrow::before,
.header-book.has-svg-arrow::before{
  content:none!important;
  display:none!important;
}


/* elegant hover */

.v6-book:hover .header-single-arrow,
.header-book:hover .header-single-arrow{
  transform:translate(3px,-3px)!important;
}


/* =========================================================
   SCROLLED HEADER
   ========================================================= */

.v6-header.scrolled .v6-logo,
.site-header.scrolled .brand{
  width:112px!important;
  height:42px!important;
  max-width:112px!important;
  max-height:42px!important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:1100px){

  .v6-header,
  .site-header{
    grid-template-columns:minmax(0,1fr) auto!important;
  }

  .v6-nav,
  .desktop-nav{
    display:none!important;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:720px){

  .v6-header,
  .site-header{
    top:7px!important;

    width:calc(100% - 14px)!important;
    height:58px!important;

    padding:7px 9px 7px 11px!important;

    grid-template-columns:minmax(0,1fr) 42px!important;
    column-gap:8px!important;

    overflow:hidden!important;
  }


  .v6-logo,
  .site-header .brand,
  .v6-header.scrolled .v6-logo,
  .site-header.scrolled .brand{
    width:96px!important;
    height:40px!important;

    max-width:96px!important;
    max-height:40px!important;
  }


  .v6-book,
  .header-book{
    display:none!important;
  }


  .v6-menu-button,
  .menu-button{
    justify-self:end!important;

    width:42px!important;
    height:42px!important;

    margin:0!important;
    padding:0!important;

    flex-shrink:0!important;
  }

}


/* VITA HEADER SYSTEM FIX END */



/* VITA SIGNATURE BOOK CTA START */

/* =========================================================
   SIGNATURE BOOK APPOINTMENT
   editorial / architectural / brand driven
   ========================================================= */

.v6-book,
.header-book{
  position:relative!important;
  isolation:isolate!important;

  width:190px!important;
  height:52px!important;

  padding:0 7px 0 19px!important;

  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;

  border:1px solid transparent!important;

  border-radius:0!important;

  clip-path:polygon(
    0 0,
    calc(100% - 13px) 0,
    100% 13px,
    100% 100%,
    13px 100%,
    0 calc(100% - 13px)
  )!important;

  color:#132725!important;

  background:
    linear-gradient(
      110deg,
      #ffffff 0%,
      #ffffff 48%,
      #f4faf9 48%,
      #f4faf9 58%,
      #0b7978 58%,
      #0b7978 82%,
      #b48d42 82%,
      #b48d42 100%
    ) padding-box,
    linear-gradient(
      120deg,
      rgba(11,121,120,.75),
      rgba(180,141,66,.95)
    ) border-box!important;

  background-size:
    235% 100%,
    100% 100%!important;

  background-position:
    0% 0%,
    0 0!important;

  box-shadow:
    0 8px 22px rgba(7,21,20,.07),
    inset 0 0 0 1px rgba(255,255,255,.48)!important;

  overflow:hidden!important;

  text-decoration:none!important;

  transition:
    background-position .62s cubic-bezier(.16,1,.3,1),
    color .34s ease,
    box-shadow .45s ease,
    transform .45s cubic-bezier(.16,1,.3,1)!important;
}


/* ---------------------------------------------------------
   TEXT
   --------------------------------------------------------- */

.v6-book > span,
.header-book > span{
  position:relative!important;
  z-index:3!important;

  display:block!important;

  font-size:11px!important;
  font-weight:700!important;
  line-height:1!important;

  letter-spacing:.055em!important;
  white-space:nowrap!important;

  transform:translateX(0)!important;

  transition:
    color .32s ease,
    transform .5s cubic-bezier(.16,1,.3,1)!important;
}


/* ---------------------------------------------------------
   SVG CAPSULE
   --------------------------------------------------------- */

.v6-book .header-cta-arrow,
.header-book .header-cta-arrow{
  position:relative!important;
  z-index:4!important;

  width:38px!important;
  height:38px!important;

  flex:0 0 38px!important;

  display:grid!important;
  place-items:center!important;

  margin:0!important;
  padding:0!important;

  color:#fff!important;

  background:#0b7978!important;

  border:1px solid rgba(255,255,255,.2)!important;

  border-radius:50%!important;

  box-shadow:
    0 5px 14px rgba(11,121,120,.24),
    inset 0 0 0 1px rgba(255,255,255,.08)!important;

  overflow:hidden!important;

  transform:scale(1)!important;

  transition:
    background .4s ease,
    color .4s ease,
    transform .5s cubic-bezier(.16,1,.3,1),
    box-shadow .4s ease!important;
}


/* actual ONE SVG */

.v6-book .header-single-arrow,
.header-book .header-single-arrow{
  position:relative!important;
  z-index:3!important;

  width:15px!important;
  height:15px!important;

  margin:0!important;

  color:inherit!important;

  transform:translate(0,0) rotate(0deg)!important;

  transition:
    transform .55s cubic-bezier(.16,1,.3,1)!important;
}


/* gold detail inside SVG */

.v6-book .vita-arrow-dot,
.header-book .vita-arrow-dot{
  fill:#b48d42!important;

  transition:
    fill .35s ease,
    transform .35s ease!important;
}


/* ---------------------------------------------------------
   MICRO DETAIL — architectural gold slash
   --------------------------------------------------------- */

.v6-book .header-cta-arrow::before,
.header-book .header-cta-arrow::before{
  content:""!important;

  position:absolute!important;
  display:block!important;

  width:26px!important;
  height:1px!important;

  left:-18px!important;
  top:50%!important;

  background:linear-gradient(
    90deg,
    rgba(180,141,66,0),
    rgba(180,141,66,.88)
  )!important;

  transform:translateY(-50%) scaleX(.65)!important;
  transform-origin:right center!important;

  opacity:.75!important;

  transition:
    transform .55s cubic-bezier(.16,1,.3,1),
    opacity .35s ease!important;
}


/* ---------------------------------------------------------
   remove every legacy generated arrow
   --------------------------------------------------------- */

.v6-book::before,
.v6-book::after,
.header-book::before,
.header-book::after,

.v6-book > span::before,
.v6-book > span::after,
.header-book > span::before,
.header-book > span::after,

.v6-book.has-svg-arrow::before,
.v6-book.has-svg-arrow::after,
.header-book.has-svg-arrow::before,
.header-book.has-svg-arrow::after{
  content:none!important;
  display:none!important;
}


/* =========================================================
   HOVER
   white -> brand gradient
   ========================================================= */

.v6-book:hover,
.header-book:hover{
  color:#fff!important;

  background-position:
    100% 0%,
    0 0!important;

  transform:translateY(-2px)!important;

  box-shadow:
    0 15px 32px rgba(11,121,120,.19),
    0 5px 12px rgba(180,141,66,.12),
    inset 0 0 0 1px rgba(255,255,255,.18)!important;
}


.v6-book:hover > span,
.header-book:hover > span{
  color:#fff!important;
  transform:translateX(3px)!important;
}


.v6-book:hover .header-cta-arrow,
.header-book:hover .header-cta-arrow{
  color:#0b7978!important;

  background:#fff!important;

  transform:scale(1.06)!important;

  box-shadow:
    0 7px 18px rgba(7,21,20,.16),
    inset 0 0 0 1px rgba(11,121,120,.08)!important;
}


.v6-book:hover .header-single-arrow,
.header-book:hover .header-single-arrow{
  transform:
    translate(2px,-2px)
    rotate(0deg)!important;
}


.v6-book:hover .vita-arrow-dot,
.header-book:hover .vita-arrow-dot{
  fill:#b48d42!important;
}


.v6-book:hover .header-cta-arrow::before,
.header-book:hover .header-cta-arrow::before{
  transform:
    translateY(-50%)
    scaleX(1)!important;

  opacity:1!important;
}


/* =========================================================
   ACTIVE / PRESS
   ========================================================= */

.v6-book:active,
.header-book:active{
  transform:translateY(0) scale(.985)!important;

  transition-duration:.12s!important;
}


/* =========================================================
   KEYBOARD FOCUS
   ========================================================= */

.v6-book:focus-visible,
.header-book:focus-visible{
  outline:2px solid #b48d42!important;
  outline-offset:4px!important;
}


/* =========================================================
   SCROLLED HEADER
   slightly tighter
   ========================================================= */

.v6-header.scrolled .v6-book,
.site-header.scrolled .header-book{
  height:48px!important;
}


/* =========================================================
   MOBILE
   button remains hidden in compact header
   ========================================================= */

@media(max-width:720px){

  .v6-book,
  .header-book{
    display:none!important;
  }

}


/* VITA SIGNATURE BOOK CTA END */


/* VITA SIGNATURE CTA GEOMETRY FIX */
@media(min-width:1101px){
  .v6-header,
  .site-header{
    grid-template-columns:150px minmax(0,1fr) 190px!important;
  }
}



/* VITA PRECISION NAV V7 START */


/* =========================================================
   HEADER NAVIGATION
   ONLY REAL VITA NAV CLASSES
   ========================================================= */

.v6-nav,
.desktop-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:31px!important;
}


/* ---------------------------------------------------------
   NORMAL NAV LINKS
   --------------------------------------------------------- */

.v6-nav a,
.desktop-nav a{
  position:relative!important;

  display:inline-flex!important;
  align-items:center!important;

  padding:12px 0 11px!important;

  color:#263a38!important;

  font-size:11px!important;
  font-weight:600!important;
  line-height:1!important;

  letter-spacing:.045em!important;

  text-decoration:none!important;
  white-space:nowrap!important;

  transition:
    color .3s ease,
    transform .35s cubic-bezier(.16,1,.3,1),
    letter-spacing .35s cubic-bezier(.16,1,.3,1)!important;
}


/* base hairline */

.v6-nav a::after,
.desktop-nav a::after{
  content:""!important;
  display:block!important;

  position:absolute!important;

  left:0!important;
  bottom:3px!important;

  width:100%!important;
  height:1px!important;

  background:rgba(11,121,120,.17)!important;

  transform:none!important;
  opacity:1!important;

  transition:none!important;
}


/* animated teal line */

.v6-nav a::before,
.desktop-nav a::before{
  content:""!important;
  display:block!important;

  position:absolute!important;

  left:0!important;
  bottom:3px!important;

  width:100%!important;
  height:1.5px!important;

  border-radius:99px!important;

  background:
    linear-gradient(
      90deg,
      #0b7978 0%,
      #0b7978 78%,
      #b48d42 78%,
      #b48d42 100%
    )!important;

  transform:scaleX(0)!important;
  transform-origin:left center!important;

  opacity:1!important;

  transition:
    transform .42s cubic-bezier(.16,1,.3,1)!important;
}


/* tiny gold endpoint */

.v6-nav a .nav-gold-dot,
.desktop-nav a .nav-gold-dot{
  position:absolute!important;

  right:-1px!important;
  bottom:1px!important;

  width:4px!important;
  height:4px!important;

  border-radius:50%!important;

  background:#b48d42!important;

  opacity:0!important;

  transform:scale(.2)!important;

  box-shadow:0 0 0 3px rgba(180,141,66,.09)!important;

  pointer-events:none!important;

  transition:
    opacity .25s ease,
    transform .4s cubic-bezier(.16,1,.3,1)!important;
}


/* hover */

.v6-nav a:hover,
.desktop-nav a:hover{
  color:#0b7978!important;

  transform:translateY(-1px)!important;

  letter-spacing:.065em!important;
}


.v6-nav a:hover::before,
.desktop-nav a:hover::before{
  transform:scaleX(1)!important;
}


.v6-nav a:hover .nav-gold-dot,
.desktop-nav a:hover .nav-gold-dot{
  opacity:1!important;
  transform:scale(1)!important;
}


/* current page */

.v6-nav a.is-current,
.desktop-nav a.is-current{
  color:#0b7978!important;
}


.v6-nav a.is-current::before,
.desktop-nav a.is-current::before{
  transform:scaleX(1)!important;
}


.v6-nav a.is-current .nav-gold-dot,
.desktop-nav a.is-current .nav-gold-dot{
  opacity:1!important;
  transform:scale(1)!important;
}


/* =========================================================
   BOOK APPOINTMENT
   clean signature capsule
   ========================================================= */

.v6-book,
.header-book{
  position:relative!important;
  isolation:isolate!important;

  width:190px!important;
  height:50px!important;

  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;

  gap:12px!important;

  padding:5px 6px 5px 19px!important;

  border:1px solid rgba(11,121,120,.42)!important;
  border-radius:999px!important;

  clip-path:none!important;

  background:#fff!important;

  color:#172b29!important;

  overflow:hidden!important;

  box-shadow:
    0 7px 22px rgba(7,21,20,.055),
    inset 0 0 0 1px rgba(255,255,255,.7)!important;

  transform:translateY(0)!important;

  transition:
    color .35s ease,
    border-color .35s ease,
    transform .4s cubic-bezier(.16,1,.3,1),
    box-shadow .4s ease!important;
}


/* animated background wipe */

.v6-header .v6-book::before,
.site-header .header-book::before{
  content:""!important;
  display:block!important;

  position:absolute!important;

  z-index:-1!important;

  inset:-1px!important;

  background:
    linear-gradient(
      105deg,
      #087370 0%,
      #0b7978 58%,
      #108f8b 100%
    )!important;

  border-radius:inherit!important;

  transform:scaleX(0)!important;
  transform-origin:right center!important;

  transition:
    transform .52s cubic-bezier(.16,1,.3,1)!important;
}


/* absolutely NO pseudo-arrow */

.v6-header .v6-book::after,
.site-header .header-book::after{
  content:none!important;
  display:none!important;
}


/* CTA text */

.v6-book > span,
.header-book > span{
  position:relative!important;
  z-index:2!important;

  color:inherit!important;

  font-size:11px!important;
  font-weight:650!important;

  letter-spacing:.035em!important;

  transform:none!important;

  transition:
    color .32s ease,
    transform .42s cubic-bezier(.16,1,.3,1)!important;
}


/* =========================================================
   ARROW CAPSULE
   ========================================================= */

.v6-book .header-cta-arrow,
.header-book .header-cta-arrow{
  position:relative!important;
  z-index:3!important;

  width:38px!important;
  height:38px!important;

  flex:0 0 38px!important;

  display:grid!important;
  place-items:center!important;

  margin:0!important;
  padding:0!important;

  border:none!important;
  border-radius:50%!important;

  background:#0b7978!important;

  color:#fff!important;

  box-shadow:
    0 6px 15px rgba(11,121,120,.22),
    inset 0 0 0 1px rgba(255,255,255,.12)!important;

  overflow:hidden!important;

  transform:none!important;

  transition:
    background .38s ease,
    color .38s ease,
    transform .48s cubic-bezier(.16,1,.3,1),
    box-shadow .38s ease!important;
}


/* kill old arrow wrapper decoration */

.v6-book .header-cta-arrow::before,
.v6-book .header-cta-arrow::after,
.header-book .header-cta-arrow::before,
.header-book .header-cta-arrow::after{
  content:none!important;
  display:none!important;
}


/* =========================================================
   FORCE SVG VISIBILITY
   this fixes the invisible arrow
   ========================================================= */

.v6-book .header-single-arrow,
.header-book .header-single-arrow{
  display:block!important;

  width:16px!important;
  height:16px!important;

  overflow:visible!important;

  opacity:1!important;
  visibility:visible!important;

  color:#fff!important;

  transform:none!important;

  transition:
    transform .46s cubic-bezier(.16,1,.3,1)!important;
}


.v6-book .header-single-arrow .vita-arrow-line,
.v6-book .header-single-arrow .vita-arrow-head,
.header-book .header-single-arrow .vita-arrow-line,
.header-book .header-single-arrow .vita-arrow-head{
  fill:none!important;

  stroke:#fff!important;
  stroke-width:1.8!important;

  stroke-linecap:round!important;
  stroke-linejoin:round!important;

  opacity:1!important;
  visibility:visible!important;
}


.v6-book .header-single-arrow .vita-arrow-dot,
.header-book .header-single-arrow .vita-arrow-dot{
  fill:#d7b560!important;
  stroke:none!important;

  opacity:1!important;
}


/* =========================================================
   CTA HOVER
   ========================================================= */

.v6-book:hover,
.header-book:hover{
  color:#fff!important;

  border-color:#0b7978!important;

  transform:translateY(-2px)!important;

  box-shadow:
    0 16px 34px rgba(11,121,120,.18),
    0 5px 13px rgba(180,141,66,.09)!important;
}


.v6-header .v6-book:hover::before,
.site-header .header-book:hover::before{
  transform:scaleX(1)!important;
}


.v6-book:hover > span,
.header-book:hover > span{
  transform:translateX(3px)!important;
}


.v6-book:hover .header-cta-arrow,
.header-book:hover .header-cta-arrow{
  background:#b48d42!important;

  color:#fff!important;

  transform:
    rotate(5deg)
    scale(1.045)!important;

  box-shadow:
    0 8px 20px rgba(180,141,66,.3),
    inset 0 0 0 1px rgba(255,255,255,.2)!important;
}


.v6-book:hover .header-single-arrow,
.header-book:hover .header-single-arrow{
  transform:translate(2px,-2px)!important;
}


/* keep arrow WHITE on hover too */

.v6-book:hover .header-single-arrow .vita-arrow-line,
.v6-book:hover .header-single-arrow .vita-arrow-head,
.header-book:hover .header-single-arrow .vita-arrow-line,
.header-book:hover .header-single-arrow .vita-arrow-head{
  stroke:#fff!important;
}


/* press */

.v6-book:active,
.header-book:active{
  transform:translateY(0) scale(.985)!important;
}


/* focus */

.v6-book:focus-visible,
.header-book:focus-visible,
.v6-nav a:focus-visible,
.desktop-nav a:focus-visible{
  outline:2px solid rgba(180,141,66,.72)!important;
  outline-offset:4px!important;
}


/* =========================================================
   SCROLLED
   ========================================================= */

.v6-header.scrolled .v6-nav,
.site-header.scrolled .desktop-nav{
  gap:28px!important;
}


/* =========================================================
   MOBILE
   leave existing mobile header architecture untouched
   ========================================================= */

@media(max-width:720px){

  .v6-book,
  .header-book{
    display:none!important;
  }

}


/* VITA PRECISION NAV V7 END */


/* VITA NAV SLOW DRAW */

/* خط Teal → Gold آرام رسم شود */
.v6-nav a::before,
.desktop-nav a::before{
  transition:
    transform .90s cubic-bezier(.19,1,.22,1)!important;
}

/* نقطه طلایی کمی بعد از شروع خط ظاهر شود */
.v6-nav a .nav-gold-dot,
.desktop-nav a .nav-gold-dot{
  transition:
    opacity .28s ease,
    transform .42s cubic-bezier(.16,1,.3,1)!important;

  transition-delay:0s!important;
}

.v6-nav a:hover .nav-gold-dot,
.desktop-nav a:hover .nav-gold-dot{
  transition-delay:.58s!important;
}

/* خروج از Hover کمی سریع‌تر باشد */
.v6-nav a:not(:hover)::before,
.desktop-nav a:not(:hover)::before{
  transition-duration:.48s!important;
}



/* =========================================================
   VITA SIGNATURE CURSOR
   desktop / precision pointer only
   ========================================================= */

@media (hover:hover) and (pointer:fine){

  html.vita-cursor-enabled,
  html.vita-cursor-enabled body,
  html.vita-cursor-enabled a,
  html.vita-cursor-enabled button,
  html.vita-cursor-enabled [role="button"]{
    cursor:none!important;
  }


  .vita-cursor-dot,
  .vita-cursor-ring{
    position:fixed!important;
    left:0;
    top:0;

    pointer-events:none!important;

    z-index:2147483646!important;

    opacity:0;

    will-change:transform;

    transition:
      width .34s cubic-bezier(.16,1,.3,1),
      height .34s cubic-bezier(.16,1,.3,1),
      opacity .22s ease,
      background .34s ease,
      border-color .34s ease,
      box-shadow .34s ease!important;
  }


  /* -------------------------------------------------------
     exact pointer point
     ------------------------------------------------------- */

  .vita-cursor-dot{
    width:6px;
    height:6px;

    margin-left:-3px;
    margin-top:-3px;

    border-radius:50%;

    background:#0b7978;

    box-shadow:
      0 0 0 4px rgba(11,121,120,.08);

    transform:translate3d(-100px,-100px,0);
  }


  /* -------------------------------------------------------
     delayed outer ring
     ------------------------------------------------------- */

  .vita-cursor-ring{
    width:34px;
    height:34px;

    margin-left:-17px;
    margin-top:-17px;

    border-radius:50%;

    border:1px solid rgba(11,121,120,.42);

    background:
      radial-gradient(
        circle at center,
        rgba(255,255,255,0) 0 55%,
        rgba(255,255,255,.01) 56%
      );

    box-shadow:
      0 5px 18px rgba(11,121,120,.08);

    overflow:visible;

    transform:translate3d(-100px,-100px,0);
  }


  /* -------------------------------------------------------
     gold moving arc
     ------------------------------------------------------- */

  .vita-cursor-ring::before{
    content:"";

    position:absolute;
    inset:-3px;

    border-radius:inherit;

    padding:2px;

    background:
      conic-gradient(
        from 15deg,
        transparent 0deg,
        transparent 270deg,
        #b48d42 303deg,
        #d7b560 334deg,
        transparent 360deg
      );

    -webkit-mask:
      linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);

    -webkit-mask-composite:xor;

    mask-composite:exclude;

    opacity:.42;

    transform:rotate(0deg);

    transition:
      opacity .28s ease,
      transform .65s cubic-bezier(.16,1,.3,1);
  }


  /* -------------------------------------------------------
     SVG arrow inside cursor
     ------------------------------------------------------- */

  .vita-cursor-arrow{
    position:absolute;

    left:50%;
    top:50%;

    width:16px;
    height:16px;

    transform:
      translate(-50%,-50%)
      translate(-3px,3px)
      scale(.6);

    opacity:0;

    color:#fff;

    transition:
      opacity .2s ease,
      transform .4s cubic-bezier(.16,1,.3,1);
  }


  .vita-cursor-arrow path{
    fill:none;

    stroke:currentColor;

    stroke-width:1.65;

    stroke-linecap:round;
    stroke-linejoin:round;
  }


  /* =======================================================
     LINK STATE
     ======================================================= */

  html.vita-cursor-link .vita-cursor-dot{
    width:4px;
    height:4px;

    margin-left:-2px;
    margin-top:-2px;

    background:#b48d42;

    box-shadow:none;
  }


  html.vita-cursor-link .vita-cursor-ring{
    width:46px;
    height:46px;

    margin-left:-23px;
    margin-top:-23px;

    border-color:rgba(11,121,120,.22);

    background:rgba(11,121,120,.035);

    box-shadow:
      0 8px 28px rgba(11,121,120,.10);
  }


  html.vita-cursor-link .vita-cursor-ring::before{
    opacity:1;

    transform:rotate(95deg);
  }


  /* =======================================================
     BOOK APPOINTMENT STATE
     ======================================================= */

  html.vita-cursor-book .vita-cursor-dot{
    opacity:0!important;
  }


  html.vita-cursor-book .vita-cursor-ring{
    width:54px;
    height:54px;

    margin-left:-27px;
    margin-top:-27px;

    border-color:#0b7978;

    background:#0b7978;

    box-shadow:
      0 12px 30px rgba(11,121,120,.27),
      0 4px 12px rgba(180,141,66,.14);
  }


  html.vita-cursor-book .vita-cursor-ring::before{
    opacity:1;

    inset:-5px;

    transform:rotate(185deg);
  }


  html.vita-cursor-book .vita-cursor-arrow{
    opacity:1;

    transform:
      translate(-50%,-50%)
      translate(0,0)
      scale(1);
  }


  /* =======================================================
     CLICK STATE
     ======================================================= */

  html.vita-cursor-down .vita-cursor-ring{
    width:27px;
    height:27px;

    margin-left:-13.5px;
    margin-top:-13.5px;
  }


  /* =======================================================
     LIGHT AREA compatibility
     ======================================================= */

  html.vita-cursor-enabled .vita-cursor-ring{
    backdrop-filter:none!important;
  }

}


/* system cursor fallback */
@media (hover:none), (pointer:coarse), (prefers-reduced-motion:reduce){

  .vita-cursor-dot,
  .vita-cursor-ring{
    display:none!important;
  }

}


/* END VITA SIGNATURE CURSOR */



/* =========================================================
   VITA CURSOR — GLOBAL ACTION ARROW
   Any real button / CTA becomes an SVG arrow cursor
   ========================================================= */

@media (hover:hover) and (pointer:fine){

  /* hide exact center dot on actionable controls */

  html.vita-cursor-action .vita-cursor-dot{
    opacity:0!important;
  }


  /* regular CTA/action */

  html.vita-cursor-action .vita-cursor-ring{
    width:48px!important;
    height:48px!important;

    margin-left:-24px!important;
    margin-top:-24px!important;

    background:#0b7978!important;

    border-color:rgba(11,121,120,.9)!important;

    box-shadow:
      0 12px 28px rgba(11,121,120,.22),
      0 4px 10px rgba(180,141,66,.10)!important;
  }


  /* gold arc becomes much more visible */

  html.vita-cursor-action .vita-cursor-ring::before{
    inset:-4px!important;

    opacity:1!important;

    transform:rotate(145deg)!important;
  }


  /* reveal SVG arrow */

  html.vita-cursor-action .vita-cursor-arrow{
    opacity:1!important;

    color:#fff!important;

    transform:
      translate(-50%,-50%)
      translate(0,0)
      scale(1)!important;
  }


  html.vita-cursor-action .vita-cursor-arrow path{
    stroke:#fff!important;
  }


  /* -------------------------------------------------------
     special Book Appointment remains slightly more premium
     ------------------------------------------------------- */

  html.vita-cursor-book .vita-cursor-ring{
    width:56px!important;
    height:56px!important;

    margin-left:-28px!important;
    margin-top:-28px!important;

    background:
      linear-gradient(
        135deg,
        #087370 0%,
        #0b7978 68%,
        #0e8c88 100%
      )!important;

    border-color:#b48d42!important;

    box-shadow:
      0 15px 34px rgba(11,121,120,.28),
      0 6px 15px rgba(180,141,66,.18)!important;
  }


  html.vita-cursor-book .vita-cursor-ring::before{
    inset:-5px!important;

    opacity:1!important;

    transform:rotate(210deg)!important;
  }


  /* -------------------------------------------------------
     press
     ------------------------------------------------------- */

  html.vita-cursor-action.vita-cursor-down .vita-cursor-ring,
  html.vita-cursor-book.vita-cursor-down .vita-cursor-ring{
    width:35px!important;
    height:35px!important;

    margin-left:-17.5px!important;
    margin-top:-17.5px!important;
  }


  html.vita-cursor-action.vita-cursor-down .vita-cursor-arrow,
  html.vita-cursor-book.vita-cursor-down .vita-cursor-arrow{
    transform:
      translate(-50%,-50%)
      translate(1px,-1px)
      scale(.82)!important;
  }

}


/* END VITA CURSOR GLOBAL ACTION ARROW */



/* VITA HERO SURGICAL POLISH START */


/* =========================================================
   MAIN COMPOSITION
   keep existing architecture, improve proportions only
   ========================================================= */

.v6-hero{
  background:
    radial-gradient(
      circle at 38% 39%,
      rgba(11,121,120,.026),
      transparent 25%
    ),
    radial-gradient(
      circle at 83% 76%,
      rgba(180,141,66,.032),
      transparent 24%
    ),
    #fff!important;
}


/* slightly more breathing room */
.v6-hero-copy{
  position:relative;
  z-index:3;
}


/* =========================================================
   EYEBROW SIGNATURE
   ========================================================= */

.v6-eyebrow{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}


.hero-micro-sign-eyebrow{
  width:8px;
  height:11px;

  display:block;

  object-fit:contain;

  opacity:.58;

  transform:translateY(-1px);
}


/* =========================================================
   TYPOGRAPHY — polish, not redesign
   ========================================================= */

.v6-hero h1{
  position:relative;

  text-rendering:geometricPrecision;
}


.hero-title-serif{
  letter-spacing:-.047em!important;
}


.hero-title-care{
  letter-spacing:-.035em!important;
}


/* tiny gold point feels intentional */
.hero-title-care::after{
  content:"";

  display:inline-block;

  width:5px;
  height:5px;

  margin-left:7px;

  border-radius:50%;

  background:#b48d42;

  vertical-align:.22em;

  opacity:.42;
}


/* =========================================================
   MAIN IMAGE — 100.png
   ========================================================= */

.owner-hero-image{
  position:relative;

  overflow:hidden;

  border-radius:
    0
    74px
    0
    46px!important;

  box-shadow:
    0 30px 80px rgba(31,42,38,.08);

  isolation:isolate;
}


.owner-hero-image::before{
  content:"";

  position:absolute;

  z-index:4;

  top:0;
  right:0;

  width:76px;
  height:1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(180,141,66,.9)
    );

  pointer-events:none;
}


.owner-hero-image::after{
  content:"";

  position:absolute;

  z-index:4;

  right:0;
  top:0;

  width:1px;
  height:76px;

  background:
    linear-gradient(
      180deg,
      rgba(180,141,66,.9),
      transparent
    );

  pointer-events:none;
}


.owner-hero-image > img{
  width:100%!important;
  height:100%!important;

  object-fit:cover!important;
  object-position:center center!important;

  transform:scale(1.015);

  filter:
    saturate(.96)
    contrast(1.015);

  transition:
    transform 1.25s cubic-bezier(.16,1,.3,1),
    filter .8s ease!important;
}


.owner-hero-image:hover > img{
  transform:scale(1.035);

  filter:
    saturate(1)
    contrast(1.025);
}


/* ultra-subtle photo tint */
.owner-hero-image .hero-photo-wipe{
  background:
    linear-gradient(
      180deg,
      rgba(8,50,47,.012),
      transparent 40%,
      rgba(9,42,38,.055)
    )!important;

  opacity:1!important;
}


/* =========================================================
   IMAGE COORDINATE MICRO DETAIL
   ========================================================= */

.hero-image-coordinate{
  position:absolute;

  z-index:5;

  left:18px;
  bottom:15px;

  display:flex;
  align-items:center;

  gap:7px;

  color:rgba(255,255,255,.58);

  font-size:5px;

  letter-spacing:.17em;

  text-transform:uppercase;

  pointer-events:none;
}


.hero-image-coordinate img{
  width:5px;
  height:7px;

  object-fit:contain;

  filter:
    brightness(0)
    invert(1);

  opacity:.7;
}


/* hidden inside image — intentionally difficult to notice */
.hero-photo-secret-sign{
  position:absolute;

  z-index:3;

  left:19px;
  top:36%;

  width:10px;
  height:14px;

  object-fit:contain;

  filter:
    brightness(0)
    invert(1);

  opacity:.085;

  transform:rotate(-7deg);

  pointer-events:none;
}


/* =========================================================
   SEAL
   ========================================================= */

.hero-seal{
  overflow:visible!important;

  background:
    rgba(255,255,255,.965)!important;

  box-shadow:
    0 15px 42px rgba(25,39,35,.10)!important;

  backdrop-filter:blur(8px);
}


.hero-seal::after{
  content:"";

  position:absolute;

  inset:-5px;

  border-radius:50%;

  border-top:
    1px solid
    rgba(11,121,120,.28);

  border-right:
    1px solid
    transparent;

  border-bottom:
    1px solid
    rgba(180,141,66,.32);

  border-left:
    1px solid
    transparent;

  pointer-events:none;

  animation:
    heroSealOrbit
    24s linear infinite;
}


@keyframes heroSealOrbit{
  to{
    transform:rotate(360deg);
  }
}


.hero-seal svg{
  animation:
    heroSealTextRotate
    45s linear infinite;
}


@keyframes heroSealTextRotate{
  to{
    transform:rotate(-360deg);
  }
}


.hero-seal-mark{
  position:absolute!important;

  left:50%!important;
  top:50%!important;

  width:30px!important;
  height:40px!important;

  display:flex!important;

  align-items:center!important;
  justify-content:center!important;

  transform:
    translate(-50%,-50%)!important;

  line-height:0!important;
}


.hero-seal-mark img{
  width:100%;
  height:100%;

  display:block;

  object-fit:contain;
}


/* =========================================================
   RECEPTION CARD
   ========================================================= */

.hero-reception-card{
  border:
    1px solid
    rgba(20,43,39,.075)!important;

  box-shadow:
    0 18px 50px rgba(22,37,34,.11)!important;
}


.hero-reception-card > div{
  position:relative;
  overflow:hidden;
}


.hero-reception-secret{
  position:absolute;

  right:-7px;
  bottom:-14px;

  width:37px;
  height:48px;

  object-fit:contain;

  opacity:.035;

  transform:rotate(8deg);

  pointer-events:none;
}


/* =========================================================
   HOURS
   ========================================================= */

.hero-hours{
  position:absolute;
  overflow:hidden;
}


.hero-hours::before{
  content:"";

  position:absolute;

  top:0;
  left:0;

  width:54px;
  height:1px;

  background:
    linear-gradient(
      90deg,
      #b48d42,
      transparent
    );
}


.hero-hours-secret{
  position:absolute;

  right:-22px;
  bottom:-32px;

  width:78px;
  height:100px;

  object-fit:contain;

  opacity:.022;

  transform:rotate(-8deg);

  pointer-events:none;
}


/* =========================================================
   GIANT BACKGROUND WORD
   ========================================================= */

.hero-giant-word{
  opacity:.028!important;

  letter-spacing:-.06em!important;

  -webkit-text-stroke:
    1px rgba(11,121,120,.24);

  color:transparent!important;
}


/* =========================================================
   HIDDEN SIGN — COPY BACKGROUND
   ========================================================= */

.hero-sign-ghost{
  position:absolute;

  object-fit:contain;

  pointer-events:none;

  user-select:none;
}


.hero-sign-ghost-copy{
  z-index:-1;

  width:190px;
  height:245px;

  right:1%;
  top:28%;

  opacity:.014;

  transform:
    rotate(9deg);

  filter:saturate(.15);
}


.hero-sign-ghost-media{
  z-index:0;

  width:105px;
  height:135px;

  right:-26px;
  bottom:-32px;

  opacity:.018;

  transform:
    rotate(-12deg);

  filter:saturate(.2);
}


/* =========================================================
   HERO COPY BOTTOM
   ========================================================= */

.hero-copy-bottom p{
  max-width:480px;

  line-height:1.72!important;
}


.hero-buttons{
  align-items:center;
}


/* =========================================================
   HERO BOTTOM SIGN
   ========================================================= */

.hero-bottom-sign{
  position:relative!important;

  height:1px!important;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(11,121,120,.23),
      transparent
    )!important;

  overflow:visible!important;
}


.hero-bottom-sign img{
  position:absolute;

  left:50%;
  top:50%;

  width:7px;
  height:9px;

  padding:1px;

  background:#fff;

  object-fit:contain;

  opacity:.28;

  transform:
    translate(-50%,-50%);
}


/* =========================================================
   HOVER: subtle depth only
   ========================================================= */

.v6-hero-media{
  perspective:1200px;
}


.hero-reception-card,
.hero-hours,
.hero-seal{
  transition:
    transform .8s cubic-bezier(.16,1,.3,1),
    box-shadow .6s ease!important;
}


.v6-hero-media:hover .hero-reception-card{
  transform:
    translate3d(-3px,-4px,0);
}


.v6-hero-media:hover .hero-hours{
  transform:
    translate3d(3px,-3px,0);
}


.v6-hero-media:hover .hero-seal{
  transform:
    translate3d(2px,-4px,0);
}


/* =========================================================
   MOBILE
   preserve current clean mobile architecture
   ========================================================= */

@media(max-width:720px){

  .owner-hero-image{
    border-radius:
      0
      42px
      0
      28px!important;
  }


  .owner-hero-image > img{
    object-position:center center!important;

    transform:scale(1.01);
  }


  .hero-sign-ghost-copy,
  .hero-sign-ghost-media,
  .hero-photo-secret-sign,
  .hero-image-coordinate{
    display:none!important;
  }


  .hero-title-care::after{
    width:4px;
    height:4px;

    margin-left:4px;
  }

}


@media(prefers-reduced-motion:reduce){

  .hero-seal::after,
  .hero-seal svg{
    animation:none!important;
  }


  .owner-hero-image > img,
  .hero-reception-card,
  .hero-hours,
  .hero-seal{
    transition:none!important;
  }

}


/* VITA HERO SURGICAL POLISH END */



/* VITA RESTRAINED BUTTON SYSTEM V2 START */


/* =========================================================
   CLEAN OLD MICRO SIGN DETAILS
   ========================================================= */

.hero-micro-sign,
.hero-sign-ghost,
.hero-photo-secret-sign,
.hero-reception-secret,
.hero-hours-secret,
.hero-image-coordinate,
.hero-bottom-sign{
  display:none!important;
}


/* =========================================================
   HERO ACTIONS
   editorial, architectural, restrained
   ========================================================= */

.hero-buttons{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
}


/* ---------------------------------------------------------
   PRIMARY
   --------------------------------------------------------- */

.v6-hero .v6-primary{
  position:relative!important;
  isolation:isolate!important;

  min-width:222px!important;
  height:54px!important;

  padding:0 17px 0 19px!important;

  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;

  border:1px solid #0b7978!important;
  border-radius:0!important;

  background:#0b7978!important;
  color:#fff!important;

  overflow:hidden!important;

  box-shadow:none!important;

  transform:none!important;

  transition:
    color .55s ease,
    border-color .55s ease,
    background-color .55s ease,
    transform .55s cubic-bezier(.16,1,.3,1)!important;
}


/* quiet gold hairline */

.v6-hero .v6-primary::before{
  content:""!important;

  position:absolute!important;
  z-index:0!important;

  left:0!important;
  bottom:0!important;

  width:100%!important;
  height:2px!important;

  display:block!important;

  background:#b48d42!important;

  transform:scaleX(0)!important;
  transform-origin:left center!important;

  transition:
    transform .78s cubic-bezier(.16,1,.3,1)!important;
}


/* slow light wash */

.v6-hero .v6-primary::after{
  content:""!important;

  position:absolute!important;
  z-index:-1!important;

  inset:0!important;

  display:block!important;

  background:#f7f9f7!important;

  transform:translateX(-101%)!important;

  transition:
    transform .68s cubic-bezier(.16,1,.3,1)!important;
}


.v6-hero .v6-primary > *{
  position:relative!important;
  z-index:2!important;
}


.v6-hero .v6-primary{
  font-size:9px!important;
  font-weight:650!important;
  letter-spacing:.045em!important;
}


/* current SVG wrapper */

.v6-hero .v6-primary > span{
  width:25px!important;
  height:25px!important;

  display:grid!important;
  place-items:center!important;

  margin:0!important;

  border-left:1px solid rgba(255,255,255,.28)!important;

  transition:
    border-color .5s ease,
    transform .55s cubic-bezier(.16,1,.3,1)!important;
}


.v6-hero .v6-primary .vita-arrow-icon{
  width:13px!important;
  height:13px!important;

  color:#fff!important;

  transition:
    color .5s ease,
    transform .55s cubic-bezier(.16,1,.3,1)!important;
}


.v6-hero .v6-primary .vita-arrow-line,
.v6-hero .v6-primary .vita-arrow-head{
  stroke:#fff!important;

  transition:stroke .5s ease!important;
}


.v6-hero .v6-primary .vita-arrow-dot{
  fill:#d1ad63!important;
}


/* PRIMARY HOVER */

.v6-hero .v6-primary:hover{
  color:#0b7978!important;

  border-color:#0b7978!important;

  background:#0b7978!important;

  transform:translateY(-2px)!important;
}


.v6-hero .v6-primary:hover::after{
  transform:translateX(0)!important;
}


.v6-hero .v6-primary:hover::before{
  transform:scaleX(1)!important;
}


.v6-hero .v6-primary:hover > span{
  border-color:rgba(11,121,120,.2)!important;

  transform:translateX(2px)!important;
}


.v6-hero .v6-primary:hover .vita-arrow-line,
.v6-hero .v6-primary:hover .vita-arrow-head{
  stroke:#0b7978!important;
}


.v6-hero .v6-primary:hover .vita-arrow-icon{
  transform:translate(2px,-2px)!important;
}


/* ---------------------------------------------------------
   SECONDARY
   --------------------------------------------------------- */

.v6-hero .v6-text-link{
  position:relative!important;
  isolation:isolate!important;

  min-width:167px!important;
  height:54px!important;

  padding:0 16px!important;

  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;

  border:1px solid rgba(17,40,38,.16)!important;
  border-radius:0!important;

  background:#fff!important;
  color:#263a37!important;

  font-size:8.5px!important;
  font-weight:650!important;
  letter-spacing:.065em!important;

  text-decoration:none!important;
  text-transform:uppercase!important;

  overflow:hidden!important;

  transform:none!important;

  transition:
    color .55s ease,
    border-color .55s ease,
    transform .55s cubic-bezier(.16,1,.3,1)!important;
}


.v6-hero .v6-text-link::before{
  content:""!important;

  position:absolute!important;
  z-index:-1!important;

  inset:0!important;

  display:block!important;

  background:#0b7978!important;

  transform:scaleX(0)!important;
  transform-origin:right center!important;

  transition:
    transform .68s cubic-bezier(.16,1,.3,1)!important;
}


.v6-hero .v6-text-link::after{
  content:""!important;

  position:absolute!important;

  left:16px!important;
  bottom:0!important;

  width:34px!important;
  height:2px!important;

  display:block!important;

  background:#b48d42!important;

  transition:
    width .68s cubic-bezier(.16,1,.3,1)!important;
}


.v6-hero .v6-text-link > span{
  position:relative!important;
  z-index:2!important;
}


.v6-hero .v6-text-link .vita-chevron-icon{
  width:13px!important;
  height:13px!important;

  color:#0b7978!important;

  transition:
    color .5s ease,
    transform .55s cubic-bezier(.16,1,.3,1)!important;
}


.v6-hero .v6-text-link .vita-chevron-icon path{
  stroke:currentColor!important;
}


/* SECONDARY HOVER */

.v6-hero .v6-text-link:hover{
  color:#fff!important;

  border-color:#0b7978!important;

  transform:translateY(-2px)!important;
}


.v6-hero .v6-text-link:hover::before{
  transform:scaleX(1)!important;
}


.v6-hero .v6-text-link:hover::after{
  width:calc(100% - 32px)!important;
}


.v6-hero .v6-text-link:hover .vita-chevron-icon{
  color:#fff!important;

  transform:translateX(3px)!important;
}


/* =========================================================
   GLOBAL PREMIUM HOVER SYSTEM
   JS adds these only to actual button-like elements
   ========================================================= */

.vita-premium-action{
  transition:
    transform .48s cubic-bezier(.16,1,.3,1),
    color .45s ease,
    background-color .5s ease,
    border-color .45s ease,
    box-shadow .5s ease!important;

  will-change:transform;
}


/* LIGHT / OUTLINED BUTTONS */

@media(hover:hover) and (pointer:fine){

  .vita-premium-action.vita-action-light:hover{
    color:#0b7978!important;

    background-color:#f3f8f7!important;

    border-color:rgba(11,121,120,.42)!important;

    transform:translateY(-2px)!important;

    box-shadow:
      0 8px 20px rgba(11,121,120,.055)!important;
  }


  /* FILLED BUTTONS */
  .vita-premium-action.vita-action-filled:hover{
    color:#fff!important;

    background-color:#096c6b!important;

    border-color:#b48d42!important;

    transform:translateY(-2px)!important;

    box-shadow:
      0 10px 24px rgba(11,121,120,.11)!important;
  }


  /* ICON MOVEMENT */
  .vita-premium-action:hover .vita-arrow-icon,
  .vita-premium-action:hover .vita-chevron-icon,
  .vita-premium-action:hover svg{
    transform:translate(2px,-1px);

    transition:
      transform .5s cubic-bezier(.16,1,.3,1);
  }

}


/* click — tiny tactile response */

.vita-premium-action:active{
  transform:translateY(0)!important;

  transition-duration:.12s!important;
}


/* ---------------------------------------------------------
   do NOT interfere with special components
   --------------------------------------------------------- */

.v6-book.vita-premium-action,
.header-book.vita-premium-action{
  /* header already has its own signature behavior */
}


.faq-question.vita-premium-action:hover,
.accordion-trigger.vita-premium-action:hover{
  box-shadow:none!important;
  transform:translateX(2px)!important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:720px){

  .hero-buttons{
    width:100%!important;

    gap:9px!important;

    flex-direction:column!important;
    align-items:stretch!important;
  }


  .v6-hero .v6-primary,
  .v6-hero .v6-text-link{
    width:100%!important;
    max-width:320px!important;

    min-width:0!important;
  }

}


/* VITA RESTRAINED BUTTON SYSTEM V2 END */


/* VITA SECTION 4 SIGN */
.section4-sign-holder{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:0!important;
}

.section4-sign-mark{
  display:block!important;

  width:clamp(34px,3vw,54px)!important;
  height:auto!important;

  max-height:68px!important;

  object-fit:contain!important;

  margin:0 auto!important;

  transform:none!important;
}

@media(max-width:720px){
  .section4-sign-mark{
    width:38px!important;
    max-height:52px!important;
  }
}

/* VITA CLINIC MEDALLION SIGN */
.clinic-medallion--sign{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.clinic-medallion--sign img{
  display:block!important;

  width:42%!important;
  height:58%!important;

  max-width:54px!important;
  max-height:70px!important;

  object-fit:contain!important;

  margin:0!important;

  transform:none!important;
}

@media(max-width:720px){
  .clinic-medallion--sign img{
    width:40%!important;
    height:56%!important;
  }
}



/* =========================================================
   HEADER — PRIVATE CONSULTATION BUTTON
   ========================================================= */

.v6-consult{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:42px;
    padding:0 18px;
    margin-right:10px;
    border:1px solid rgba(11,121,120,.22);
    border-radius:999px;
    color:#0b7978;
    background:rgba(255,255,255,.72);
    font-size:12px;
    font-weight:600;
    letter-spacing:.01em;
    text-decoration:none;
    white-space:nowrap;
    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease,
        transform .25s ease;
}

.v6-consult:hover{
    background:#0b7978;
    color:#fff;
    border-color:#0b7978;
    transform:translateY(-1px);
}

@media(max-width:1100px){
    .v6-consult{
        display:none;
    }
}



/* HEADER CTA GROUP — Consultation directly beside Booking */

.v6-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:10px !important;
    margin-left:auto !important;
    flex:0 0 auto !important;
    white-space:nowrap !important;
}

.v6-actions .v6-consult,
.v6-actions .v6-book{
    margin:0 !important;
    flex:0 0 auto !important;
}



/* ===== HEADER ACTIONS HORIZONTAL FIX ===== */
.v6-header .v6-actions{
    display:inline-flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:12px !important;
    flex-wrap:nowrap !important;
    white-space:nowrap !important;
    justify-self:end !important;
    margin-left:auto !important;
}

.v6-header .v6-actions > a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    vertical-align:middle !important;
    margin:0 !important;
}

.v6-header .v6-consult{
    min-width:220px !important;
    height:46px !important;
    padding:0 22px !important;
    border:1px solid rgba(18,133,133,.35) !important;
    border-radius:999px !important;
    background:#fff !important;
    color:#18312f !important;
    text-decoration:none !important;
    font-size:15px !important;
    font-weight:500 !important;
    line-height:1 !important;
}

.v6-header .v6-book{
    min-width:220px !important;
    margin:0 !important;
}

@media (max-width: 1023px){
    .v6-header .v6-actions{
        gap:8px !important;
    }

    .v6-header .v6-consult,
    .v6-header .v6-book{
        min-width:auto !important;
    }
}


/* =========================================================
   HEADER CTA — HARD ROW FIX
   ========================================================= */

.v6-header .v6-actions{
    position:relative !important;
    inset:auto !important;

    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;

    align-items:center !important;
    justify-content:flex-end !important;

    width:auto !important;
    min-width:0 !important;
    max-width:none !important;

    height:50px !important;

    gap:8px !important;

    margin:0 !important;
    padding:0 !important;

    justify-self:end !important;
    align-self:center !important;

    overflow:visible !important;
}


/* Reset every old positioning rule */
.v6-header .v6-actions .v6-consult,
.v6-header .v6-actions .v6-book{
    position:relative !important;

    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;

    inset:auto !important;

    float:none !important;
    clear:none !important;

    transform:none !important;

    display:inline-flex !important;

    flex:0 0 auto !important;

    align-items:center !important;

    margin:0 !important;

    vertical-align:middle !important;
}


/* Consultation */
.v6-header .v6-actions .v6-consult{
    width:auto !important;
    min-width:145px !important;
    height:44px !important;

    padding:0 17px !important;

    justify-content:center !important;

    border:1px solid rgba(11,121,120,.28) !important;
    border-radius:999px !important;

    background:#fff !important;

    color:#0b7978 !important;

    font-size:10px !important;
    font-weight:500 !important;
    line-height:1 !important;

    white-space:nowrap !important;
}


/* Existing booking button */
.v6-header .v6-actions .v6-book{
    width:182px !important;
    min-width:182px !important;
    height:50px !important;

    padding:0 17px !important;

    justify-content:space-between !important;

    white-space:nowrap !important;
}


/* Keep both vertically aligned while header shrinks */
.v6-header.scrolled .v6-actions{
    height:50px !important;
}


@media(max-width:1180px){

    .v6-header .v6-actions .v6-consult{
        min-width:128px !important;
        padding:0 13px !important;
        font-size:9px !important;
    }

    .v6-header .v6-actions .v6-book{
        width:165px !important;
        min-width:165px !important;
    }

}



/* =========================================================
   HEADER GRID — TWO CTA FIX
   ========================================================= */

.v6-header{
    grid-template-columns:
        150px
        minmax(0,1fr)
        max-content
        !important;

    column-gap:20px !important;
}

.v6-header .v6-actions{
    width:max-content !important;
    max-width:none !important;

    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;

    align-items:center !important;
    justify-content:flex-end !important;

    gap:8px !important;

    justify-self:end !important;
}


/* کمی فشرده‌تر تا منوی وسط نفس داشته باشد */
.v6-header .v6-actions .v6-consult{
    min-width:142px !important;
    width:auto !important;
}

.v6-header .v6-actions .v6-book{
    width:182px !important;
    min-width:182px !important;
}

