/* Theme Name: Sharp Image by Teky Hub | Author: Teky Hub | Version: 4.4.0 */
:root{--black:#0d0c0b;--ink:#17130f;--cream:#f5efe6;--paper:#fbf8f3;--gold:#cda66d;--gold2:#e2c18e;--muted:#756b60;--border:#dfd4c6;--max:1220px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}.top{background:#16110e;color:#d8cfc6;padding:9px 0;font-size:10px;letter-spacing:.18em}.top .wrap{display:flex;justify-content:space-between}.header{position:sticky;top:0;z-index:30;background:#0d0c0bf7;color:#fff;border-bottom:1px solid #ffffff14}.nav{height:82px;display:flex;align-items:center;gap:28px}.brand{font:600 24px/1 Arial;letter-spacing:.13em}.brand small{display:block;margin-top:5px;font-size:8px;letter-spacing:.38em;color:var(--gold2)}.menu{margin-left:auto;display:flex;gap:24px;align-items:center;font-size:12px}.menu>a:not(.btn){opacity:.88}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 21px;background:var(--gold);border:1px solid var(--gold);color:#111;font-weight:700;text-transform:uppercase;font-size:10px;letter-spacing:.12em}.dark-btn{background:var(--black);border-color:var(--black);color:#fff}.toggle{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:24px}.hero{background:var(--black);color:#fff;overflow:hidden}.hero-grid{display:grid;grid-template-columns:46% 54%;min-height:625px}.hero-copy{padding:112px 55px 80px 0;z-index:2}.eyebrow{text-transform:uppercase;letter-spacing:.27em;font-size:9px;color:var(--gold);font-weight:700}.hero h1,.title{font-family:Georgia,serif;font-weight:400}.hero h1{font-size:clamp(56px,5.6vw,82px);line-height:.98;margin:18px 0 28px;letter-spacing:-.035em}.hero h1 em,.title em{color:var(--gold);font-style:italic}.hero p{font-size:16px;max-width:480px;color:#c9c3bd;line-height:1.8}.actions{display:flex;align-items:center;gap:30px;margin-top:34px}.text-link{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;border-bottom:1px solid #ffffff66;padding-bottom:5px}.dark-link{color:var(--ink);border-color:#9b8e80}.hero-photo{min-height:625px;position:relative;margin-right:calc((100vw - min(var(--max),calc(100vw - 48px)))/-2)}.hero-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 15%}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--black),#0d0c0b66 18%,transparent 45%)}.hero-badge{position:absolute;z-index:3;left:-46px;bottom:46px;width:96px;height:96px;border-radius:50%;background:var(--gold);display:grid;place-content:center;text-align:center;box-shadow:0 10px 35px #0005}.hero-badge b{font:italic 24px Georgia}.hero-badge span{font-size:7px;letter-spacing:.12em}.trust{background:#f2ece3;border-bottom:1px solid var(--border)}.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr)}.trust .wrap>div{padding:21px 24px;display:flex;gap:13px;border-right:1px solid var(--border)}.trust b,.trust small{display:block}.trust b{font:600 11px Georgia}.trust small{font-size:9px;color:#85796e}.section{padding:88px 0}.center-head{text-align:center;max-width:620px;margin:0 auto 38px}.center-head p{color:var(--muted)}.title{font-size:46px;line-height:1.05;margin:8px 0 18px;letter-spacing:-.025em}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.service{height:245px;padding:17px;position:relative;color:#fff;display:flex;align-items:flex-end;background:linear-gradient(160deg,#806b58,#201914);overflow:hidden}.service:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000d,transparent 70%)}.service>div,.service-no{position:relative;z-index:2}.service-no{position:absolute;top:14px;right:14px;color:#ead9c4;font:italic 15px Georgia}.service strong,.service small,.service b{display:block}.service strong{font:19px Georgia}.service small{font-size:9px;color:#ddd;margin:5px 0 12px}.service b{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold2)}.center-action{text-align:center;margin-top:34px}.about-section{background:#efe7dc}.about{display:grid;grid-template-columns:48% 52%;align-items:center}.about-photo{height:560px;position:relative;overflow:hidden}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center 15%;filter:saturate(.8)}.experience{position:absolute;right:0;bottom:0;width:120px;height:120px;background:var(--gold);display:grid;place-content:center;text-align:center}.experience>*{display:block}.experience b{font:italic 26px Georgia}.experience strong,.experience span{font-size:7px;letter-spacing:.16em}.about-copy{padding:20px 0 20px 70px}.about-copy p{max-width:520px;color:#665e56}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border-top:1px solid #cfc1b1;padding-top:25px}.stat strong,.stat span{display:block}.stat strong{font:italic 26px Georgia}.stat span{font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#7b6f63}.team-section{background:var(--black);color:#fff}.light-head p{color:#aaa}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.team-card{background:#171513}.team-img{aspect-ratio:.82;background:linear-gradient(145deg,#a58b73,#31271f);display:grid;place-items:center;overflow:hidden}.team-img img{width:100%;height:100%;object-fit:cover}.team-img span{font:italic 36px Georgia;color:#d8c0a4}.team-info{padding:16px}.team-info strong,.team-info small{display:block}.team-info strong{font:18px Georgia}.team-info small{color:var(--gold);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.shop-section{background:#f7f2eb}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-card{background:#fff;border:1px solid #e7ded3}.product-img{aspect-ratio:1;background:linear-gradient(145deg,#efe6dc,#c4aa8f);display:grid;place-items:center;overflow:hidden}.product-img img{width:100%;height:100%;object-fit:cover}.product-img span{font:10px Georgia;letter-spacing:.12em}.product-body{padding:15px;display:flex;justify-content:space-between;gap:10px}.product-body strong{font:15px Georgia}.reviews-section{background:#fff}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-grid article{border:1px solid var(--border);padding:30px}.review-grid p{font:italic 16px/1.7 Georgia;color:#51483f}.review-grid strong{font-size:9px;letter-spacing:.1em;text-transform:uppercase}.stars{color:var(--gold);letter-spacing:.12em}.rating-strip{margin-top:24px;padding:20px 24px;background:#f3ece3;display:flex;align-items:center;gap:22px}.rating-strip b{font:25px Georgia}.rating-strip b span{color:var(--gold);font-size:13px}.rating-strip small{color:#766d64}.rating-strip a{margin-left:auto}.cta{background:linear-gradient(90deg,#17120f,#3c2e23);color:#fff;padding:58px 0}.cta .wrap{display:flex;justify-content:space-between;align-items:center}.cta .title{margin-bottom:8px}.cta p{color:#c8beb4}.footer{background:#080706;color:#bbb;padding:48px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer strong{color:#fff}.footnote{border-top:1px solid #2d2925;margin-top:30px;padding-top:16px;font-size:11px;color:#777}.page-hero{background:#17120e;color:#fff;padding:70px 0}.page-hero h1{font:400 56px Georgia;margin:0}.content{padding:60px 0}.form{display:grid;gap:13px;max-width:760px}.form input,.form select,.form textarea{padding:14px;border:1px solid #d8cec3;width:100%}.notice{padding:14px;background:#f4eadb;border-left:3px solid var(--gold);margin:15px 0}.cart-table{width:100%;border-collapse:collapse}.cart-table td,.cart-table th{padding:12px;border-bottom:1px solid var(--border);text-align:left}
@media(max-width:1050px){.menu{gap:14px}.service-grid{grid-template-columns:repeat(3,1fr)}.service{height:220px}}@media(max-width:900px){.toggle{display:block}.menu{display:none;position:absolute;top:82px;left:0;right:0;background:#111;padding:22px;flex-direction:column}.menu.open{display:flex}.hero-grid,.about{grid-template-columns:1fr}.hero-copy{padding:65px 0 35px}.hero-photo{min-height:520px;margin-right:0}.hero-photo:after{background:linear-gradient(0deg,#0d0c0b99,transparent 45%)}.hero-badge{left:20px}.trust .wrap{grid-template-columns:repeat(2,1fr)}.about-copy{padding:50px 0 0}.team-grid,.grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr}}@media(max-width:560px){.wrap{width:calc(100% - 28px)}.top{display:none}.nav{height:68px}.brand{font-size:19px}.hero h1{font-size:49px}.hero-photo{min-height:430px}.actions{align-items:flex-start;flex-direction:column;gap:18px}.section{padding:58px 0}.title{font-size:38px}.service-grid,.team-grid,.grid,.review-grid{grid-template-columns:1fr}.service{height:210px}.trust .wrap{grid-template-columns:1fr}.trust .wrap>div{border-left:0;border-right:0;border-bottom:1px solid var(--border)}.about-photo{height:440px}.stats{grid-template-columns:1fr 1fr;gap:18px}.rating-strip,.cta .wrap{align-items:flex-start;flex-direction:column}.rating-strip a{margin-left:0}.section-head{align-items:flex-start;flex-direction:column;gap:10px}}
/* v1.1 reference-match homepage */
.exact-hero .hero-grid{min-height:425px;grid-template-columns:43% 57%}.exact-hero .hero-copy{padding:58px 35px 48px 0}.exact-hero .hero-copy h1{font-size:66px;margin:14px 0 18px}.exact-hero .hero-copy p{font-size:14px;line-height:1.45;max-width:420px}.outline-btn{display:inline-flex;padding:13px 20px;border:1px solid #d6c19e;color:#fff;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.08em}.exact-photo{min-height:425px}.exact-photo img{object-position:center}.exact-photo:after{background:linear-gradient(90deg,var(--black),#0d0c0b80 17%,transparent 42%)}.hero-script{position:absolute;right:35px;top:105px;z-index:4;font:italic 35px/1.05 Georgia;color:#fff;transform:rotate(-5deg)}.hero-owner{position:absolute;z-index:4;right:45px;bottom:65px;display:flex;flex-direction:column;color:#fff}.hero-owner b{color:var(--gold2);letter-spacing:.14em;font-size:11px}.hero-owner span{font-size:8px}.top-book{background:var(--gold2);color:#111;padding:9px 16px;font-weight:700}.header{position:relative}.nav{height:76px}.home-services{padding:10px 22px;background:#fff}.exact-services{gap:8px}.exact-services .service{height:166px;background-size:cover;background-position:center;padding:12px}.image-service:before{background:linear-gradient(0deg,#000d,transparent 68%)}.image-service strong{font:700 14px Arial}.image-service small{font-size:9px;margin:0}.image-service b{position:absolute;right:0;bottom:0;font-size:20px;color:#fff}.about-exact{display:grid;grid-template-columns:40% 38% 22%;background:#f5efe7;min-height:250px}.about-text{padding:25px 35px 25px max(50px,calc((100vw - var(--max))/2))}.about-text .title{font-size:42px;margin:8px 0 12px}.about-text p{font-size:12px;line-height:1.45}.soft{background:#d7b98f;border-color:#d7b98f}.about-image img{width:100%;height:100%;object-fit:cover}.about-stats{background:#17130f;color:#fff;padding:25px 30px;display:flex;flex-direction:column;justify-content:center;gap:17px}.about-stats>div{display:flex;align-items:center;gap:13px}.about-stats span,.about-stats strong{display:block}.about-stats strong{font-size:15px}.about-stats span{font-size:10px}.transform{background:#0b0b0a;color:#fff;padding:22px 0}.transform-grid{display:grid;grid-template-columns:34% 66%;align-items:center;gap:22px}.transform-copy .title{font-size:38px;margin:6px 0}.transform-copy p{font-size:11px;line-height:1.4;color:#ddd}.transform-images{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.transform-images img{width:100%;height:158px;object-fit:cover;border:1px solid #a89173}.reviews-exact{background:#faf7f2;padding:20px 0}.reviews-row{display:grid;grid-template-columns:1.25fr repeat(3,1fr) .8fr;gap:12px}.rating{display:grid;grid-template-columns:auto 1fr;align-items:center}.rating .eyebrow{grid-column:1/-1}.big-rating{font:52px Georgia}.rating .stars{font-size:19px}.rating small{grid-column:1/-1;font-size:8px}.reviews-row article{background:#fff;padding:14px;font:italic 11px/1.45 Georgia;box-shadow:0 4px 15px #0001}.reviews-row article b{display:block;margin-top:12px;font:normal 9px Arial;color:#6d6258}.google-review{display:flex;flex-direction:column;justify-content:center;text-align:center}.google-review strong{font-size:22px;color:#4285f4}.google-review span{font-size:10px}.google-review a{margin-top:12px;border:1px solid #cdb899;padding:8px;font-size:8px;text-transform:uppercase}.exact-cta{padding:30px 0;background:linear-gradient(90deg,#17120fdd,#211a14cc),url('assets/img/salon-interior.jpg') center/cover}.exact-cta .wrap{gap:25px}.cta-script{font:italic 29px/1.05 Georgia}.cta-detail{display:flex;flex-direction:column;font-size:9px}.cta-detail small{color:#ccc}.exact-footer{padding:27px 0 12px}.footer-line{display:flex;align-items:center;gap:40px}.footer-line nav{display:flex;gap:18px;margin-left:auto;font-size:9px}.beauty-script{font:italic 25px Georgia;color:#fff}.beauty-script span{font:10px Arial;letter-spacing:.15em}
@media(max-width:900px){.top-right{display:none}.exact-hero .hero-grid{grid-template-columns:1fr}.exact-hero .hero-copy{padding:45px 0}.exact-photo{min-height:470px}.about-exact{grid-template-columns:1fr}.about-text{padding:45px 28px}.about-image{height:360px}.transform-grid{grid-template-columns:1fr}.reviews-row{grid-template-columns:1fr 1fr}.footer-line{flex-wrap:wrap}.footer-line nav{order:3;width:100%;margin-left:0;flex-wrap:wrap}}@media(max-width:560px){.exact-hero .hero-copy h1{font-size:48px}.exact-services{grid-template-columns:repeat(2,1fr)}.exact-services .service{height:190px}.transform-images{grid-template-columns:1fr}.transform-images img{height:auto}.reviews-row{grid-template-columns:1fr}.exact-cta .wrap{display:grid}.footer-line nav{gap:10px}.hero-script{font-size:27px;right:18px}.hero-owner{right:18px}}


/* v1.2 — image sizing / crop normalization */
img { display:block; max-width:100%; }

/* Hero: fixed visual height, no stretching */
.exact-hero .hero-grid{
  min-height:0;
  height:540px;
}
.exact-hero .hero-copy{
  height:540px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.exact-photo{
  height:540px;
  min-height:0;
  overflow:hidden;
}
.exact-photo > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center 18%;
}

/* Service cards: every tile has exactly the same dimensions */
.home-services{padding:14px 22px;}
.exact-services{
  grid-template-columns:repeat(6,minmax(0,1fr));
  align-items:stretch;
}
.exact-services .service{
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:0.92 / 1;
  background-size:cover !important;
  background-repeat:no-repeat;
  background-position:center 28%;
}
.exact-services .service:nth-child(2){background-position:center 22%;}
.exact-services .service:nth-child(3){background-position:center 20%;}
.exact-services .service:nth-child(4){background-position:center 30%;}
.exact-services .service:nth-child(5){background-position:center 48%;}
.exact-services .service:nth-child(6){background-position:center 24%;}

/* About: lock the center image to the section height */
.about-exact{
  min-height:320px;
  align-items:stretch;
}
.about-image{
  min-width:0;
  height:320px;
  overflow:hidden;
}
.about-image img{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center center;
}

/* Before/after: equal cards, consistent crop */
.transform-images{
  align-items:stretch;
}
.transform-images img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1.18 / 1;
  object-fit:cover;
  object-position:center center;
}

/* Any dynamic team/product thumbnails remain consistent */
.team-img{aspect-ratio:4 / 5;overflow:hidden;}
.team-img img{width:100%;height:100%;object-fit:cover;object-position:center 18%;}
.product-img{aspect-ratio:1 / 1;overflow:hidden;}
.product-img img{width:100%;height:100%;object-fit:cover;object-position:center;}

/* Prevent WordPress intrinsic image dimensions from forcing layout */
.hero-photo img,.about-image img,.transform-images img,.team-img img,.product-img img{
  max-height:none;
}

@media (min-width:1200px){
  .exact-hero .hero-grid,
  .exact-hero .hero-copy,
  .exact-photo{height:560px;}
  .home-services{padding-left:24px;padding-right:24px;}
  .exact-services .service{aspect-ratio:0.94 / 1;}
  .about-exact,.about-image{min-height:340px;height:340px;}
}

@media (max-width:1050px){
  .exact-services{grid-template-columns:repeat(3,minmax(0,1fr));}
  .exact-services .service{aspect-ratio:1.35 / 1;}
}

@media (max-width:900px){
  .exact-hero .hero-grid{height:auto;}
  .exact-hero .hero-copy{height:auto;min-height:390px;}
  .exact-photo{height:560px;min-height:560px;}
  .exact-photo > img{object-position:center 12%;}
  .about-image{height:430px;min-height:430px;}
  .about-exact{height:auto;min-height:0;}
  .transform-images img{aspect-ratio:1.35 / 1;}
}

@media (max-width:560px){
  .home-services{padding:8px 10px;}
  .exact-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
  .exact-services .service{
    height:auto;
    aspect-ratio:0.88 / 1;
  }
  .exact-photo{height:470px;min-height:470px;}
  .exact-photo > img{object-position:58% 12%;}
  .about-image{height:320px;min-height:320px;}
  .transform-images img{aspect-ratio:1.25 / 1;}
}


/* v1.3 — hero cleanup, typography enlargement */
:root{
  --si-gold:#e7bb76;
}

/* Avoid duplicate text rendered over the supplied hero artwork */
.exact-hero .hero-tagline,
.exact-hero .hero-subtitle,
.exact-hero .hero-description:has(+ .hero-description),
.exact-hero .owner-label,
.exact-hero .hero-owner,
.exact-hero .beauty-script,
.exact-hero .hero-script{
  display:none !important;
}

/* Header scale */
.site-branding .site-title,
.brand-name{font-size:clamp(25px,2vw,38px)!important;letter-spacing:.09em;}
.main-navigation a,
.site-nav a{font-size:15px!important;}
.topbar,.top-bar{font-size:13px!important;letter-spacing:.12em;}
.header-book,.top-book,.book-top{font-size:14px!important;}

/* Hero typography */
.exact-hero .eyebrow{
  font-size:15px!important;
  letter-spacing:.32em!important;
}
.exact-hero h1{
  font-size:clamp(58px,5.8vw,94px)!important;
  line-height:.88!important;
  letter-spacing:-.035em!important;
}
.exact-hero h1 em,
.exact-hero h1 span{
  font-size:inherit!important;
}
.exact-hero .hero-copy p{
  font-size:clamp(18px,1.35vw,23px)!important;
  line-height:1.48!important;
  max-width:680px!important;
}
.exact-hero .btn,
.exact-hero .button,
.exact-hero a[class*="btn"]{
  font-size:15px!important;
  letter-spacing:.08em!important;
  padding:18px 26px!important;
}

/* Slightly larger body typography sitewide */
.home-services .service-title,
.exact-services .service strong{font-size:18px!important;}
.about-exact p{font-size:17px!important;line-height:1.55!important;}
.about-exact h2,.transform-section h2{font-size:clamp(42px,4vw,64px)!important;}
.review-card,.reviews-exact{font-size:16px!important;}
.cta-exact{font-size:17px!important;}

/* Keep portrait framing clean and remove any duplicated overlay text */
.exact-photo{
  position:relative;
  overflow:hidden;
}
.exact-photo .owner-label,
.exact-photo .beauty-script,
.exact-photo .hero-script,
.exact-photo .hero-owner{
  display:none!important;
}

@media(max-width:900px){
  .main-navigation a,.site-nav a{font-size:14px!important;}
  .exact-hero h1{font-size:clamp(50px,10vw,76px)!important;}
  .exact-hero .hero-copy p{font-size:18px!important;}
}
@media(max-width:560px){
  .exact-hero h1{font-size:48px!important;line-height:.95!important;}
  .exact-hero .eyebrow{font-size:12px!important;}
  .exact-hero .hero-copy p{font-size:17px!important;}
  .exact-hero .btn,.exact-hero .button,.exact-hero a[class*="btn"]{
    font-size:13px!important;padding:15px 17px!important;
  }
}


/* v1.4 — crisp hero artwork + remove HTML overlays already baked into artwork */
.exact-hero{
  background:#080808 !important;
}
.exact-hero .hero-grid{
  position:relative;
  width:100%;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  display:block!important;
  aspect-ratio:1810 / 832;
  background-image:url('assets/images/sharp-image-hero-v14.png')!important;
  background-size:cover!important;
  background-position:center top!important;
  background-repeat:no-repeat!important;
}

/* Hero image now contains all hero typography/portrait; hide duplicate DOM content */
.exact-hero .hero-copy,
.exact-hero .exact-photo{
  visibility:hidden!important;
  pointer-events:none!important;
}
.exact-hero .hero-copy *,
.exact-hero .exact-photo *{
  display:none!important;
}

/* Keep the artwork crisp and prevent previous fixed-height crop rules */
.exact-hero .hero-grid::before,
.exact-hero .hero-grid::after{
  display:none!important;
  content:none!important;
}

/* Navigation/header sits above hero without affecting its source pixels */
.site-header,.main-header,.header-main{
  position:relative;
  z-index:20;
}

/* Feature bar directly below hero */
.trust-strip,.features-strip,.hero-features{
  margin-top:0!important;
}

/* Scale hero responsively using its native ratio instead of stretching */
@media(max-width:900px){
  .exact-hero .hero-grid{
    aspect-ratio:1810 / 832;
    background-size:cover!important;
    background-position:center top!important;
  }
}
@media(max-width:600px){
  /* On phones retain full artwork width; horizontal overflow is avoided */
  .exact-hero{
    overflow:hidden;
  }
  .exact-hero .hero-grid{
    width:100%;
    aspect-ratio:1810 / 832;
    min-height:250px!important;
    background-size:cover!important;
    background-position:center top!important;
  }
}


/* v1.5 — live-site hero correction */
.exact-hero .hero-grid{
  display:grid!important;
  grid-template-columns:43% 57%!important;
  width:min(var(--max),calc(100% - 48px))!important;
  max-width:var(--max)!important;
  height:560px!important;
  min-height:560px!important;
  aspect-ratio:auto!important;
  margin:auto!important;
  background:none!important;
}
.exact-hero .hero-copy{
  visibility:visible!important;
  pointer-events:auto!important;
  display:flex!important;
  height:560px!important;
  padding:55px 38px 48px 0!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.exact-hero .hero-copy *{display:initial!important;}
.exact-hero .hero-copy .actions{display:flex!important;}
.exact-hero .hero-copy .btn,
.exact-hero .hero-copy .outline-btn{display:inline-flex!important;}
.exact-hero .exact-photo{
  visibility:visible!important;
  display:block!important;
  pointer-events:auto!important;
  height:560px!important;
  min-height:560px!important;
  margin-right:calc((100vw - min(var(--max),calc(100vw - 48px)))/-2)!important;
  position:relative!important;
  overflow:hidden!important;
}
.exact-hero .exact-photo > img{
  display:block!important;
  visibility:visible!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  filter:none!important;
}
.exact-hero .exact-photo:after{
  display:block!important;
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,var(--black),rgba(13,12,11,.28) 13%,transparent 30%)!important;
  pointer-events:none!important;
}
.exact-hero .hero-script,
.exact-hero .hero-owner{display:none!important;}

.exact-hero .eyebrow{
  display:block!important;
  font-size:14px!important;
  letter-spacing:.28em!important;
}
.exact-hero h1{
  display:block!important;
  font-size:clamp(58px,5.2vw,82px)!important;
  line-height:.92!important;
  margin:16px 0 24px!important;
}
.exact-hero h1 br{display:block!important;}
.exact-hero h1 em{display:inline!important;}
.exact-hero .hero-copy p{
  display:block!important;
  font-size:18px!important;
  line-height:1.5!important;
  color:#d5cec7!important;
  max-width:520px!important;
  margin:0!important;
}
.exact-hero .actions{
  margin-top:30px!important;
  gap:16px!important;
  flex-direction:row!important;
}
.exact-hero .btn,
.exact-hero .outline-btn{
  min-height:52px!important;
  padding:15px 22px!important;
  font-size:12px!important;
  line-height:1.2!important;
}

/* Slightly enlarge header text to match the approved concept */
.brand{font-size:28px!important;}
.brand small{font-size:9px!important;}
.menu{font-size:13px!important;}
.top{font-size:11px!important;}

@media(max-width:900px){
  .exact-hero .hero-grid{
    grid-template-columns:1fr!important;
    width:calc(100% - 28px)!important;
    height:auto!important;
    min-height:0!important;
  }
  .exact-hero .hero-copy{
    height:auto!important;
    min-height:430px!important;
    padding:50px 0 38px!important;
  }
  .exact-hero .exact-photo{
    height:520px!important;
    min-height:520px!important;
    margin-right:0!important;
  }
  .exact-hero .exact-photo > img{object-position:center center!important;}
}
@media(max-width:560px){
  .exact-hero .hero-copy{min-height:390px!important;}
  .exact-hero h1{font-size:50px!important;}
  .exact-hero .hero-copy p{font-size:16px!important;}
  .exact-hero .actions{flex-direction:column!important;align-items:stretch!important;}
  .exact-hero .exact-photo{height:390px!important;min-height:390px!important;}
  .exact-hero .exact-photo > img{object-position:52% center!important;}
}


/* v1.6 — crisp service + salon imagery */
.exact-services .service{
  background-size:cover!important;
  background-repeat:no-repeat!important;
  image-rendering:auto!important;
  -webkit-font-smoothing:antialiased;
}
.exact-services .service:nth-child(1){background-image:linear-gradient(0deg,rgba(0,0,0,.72),transparent 58%),url('assets/img/service-women-v16.jpg')!important;}
.exact-services .service:nth-child(2){background-image:linear-gradient(0deg,rgba(0,0,0,.72),transparent 58%),url('assets/img/service-men-v16.jpg')!important;}
.exact-services .service:nth-child(3){background-image:linear-gradient(0deg,rgba(0,0,0,.72),transparent 58%),url('assets/img/service-kids-v16.jpg')!important;}
.exact-services .service:nth-child(4){background-image:linear-gradient(0deg,rgba(0,0,0,.72),transparent 58%),url('assets/img/service-aesthetics-v16.jpg')!important;}
.exact-services .service:nth-child(5){background-image:linear-gradient(0deg,rgba(0,0,0,.72),transparent 58%),url('assets/img/service-nails-v16.jpg')!important;}
.exact-services .service:nth-child(6){background-image:linear-gradient(0deg,rgba(0,0,0,.72),transparent 58%),url('assets/img/service-bridal-v16.jpg')!important;}

.exact-services .service{
  aspect-ratio:1 / 1.04!important;
  min-height:0!important;
  background-position:center center!important;
}
.exact-services .service strong,
.exact-services .service span{
  position:relative!important;
  z-index:2!important;
}

/* Remove visual duplication from text baked into earlier sample images */
.exact-services .service{
  overflow:hidden!important;
}
.about-image img{
  content:url('assets/img/salon-interior-v16.jpg')!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  image-rendering:auto!important;
}
.about-image{
  min-height:390px!important;
  height:390px!important;
}
.about-exact{
  min-height:390px!important;
}

@media(min-width:1200px){
  .exact-services{gap:8px!important;}
  .home-services{padding:14px 20px!important;}
  .about-image,.about-exact{height:410px!important;min-height:410px!important;}
}
@media(max-width:900px){
  .exact-services .service{aspect-ratio:1.15 / 1!important;}
  .about-image{height:420px!important;min-height:420px!important;}
  .about-exact{height:auto!important;min-height:0!important;}
}


/* v1.7 — service tiles rebuilt with text-free images */
.exact-services .service{
  position:relative!important;
  overflow:hidden!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:center 28%!important;
  aspect-ratio:1 / 1.04!important;
}
/* New assets contain photography only. All visible labels come from HTML once. */
.exact-services .service:nth-child(1){background-image:url('assets/img/service-women-clean-v17.jpg')!important;}
.exact-services .service:nth-child(2){background-image:url('assets/img/service-men-clean-v17.jpg')!important;}
.exact-services .service:nth-child(3){background-image:url('assets/img/service-kids-clean-v17.jpg')!important;}
.exact-services .service:nth-child(4){background-image:url('assets/img/service-aesthetics-clean-v17.jpg')!important;}
.exact-services .service:nth-child(5){background-image:url('assets/img/service-nails-clean-v17.jpg')!important;}
.exact-services .service:nth-child(6){background-image:url('assets/img/service-bridal-clean-v17.jpg')!important;}

.exact-services .service:before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(to top,rgba(5,5,5,.92) 0%,rgba(5,5,5,.62) 23%,rgba(5,5,5,.08) 58%,transparent 75%)!important;
  z-index:1!important;
  pointer-events:none!important;
}
.exact-services .service strong,
.exact-services .service span{
  position:relative!important;
  z-index:3!important;
  text-shadow:none!important;
}
.exact-services .service strong{
  font-size:19px!important;
  line-height:1!important;
}
.exact-services .service span{
  font-size:11px!important;
  line-height:1.25!important;
}
.exact-services .service:after{
  z-index:3!important;
}

/* Ensure no old generated-image overlay can bleed through */
.exact-services .service > *{
  position:relative;
  z-index:3;
}

.about-image img{
  content:url('assets/img/salon-interior-clean-v17.jpg')!important;
  object-fit:cover!important;
  object-position:center!important;
}

@media(max-width:900px){
  .exact-services .service strong{font-size:18px!important;}
}


/* v1.8 — keep hero CTA labels on one line */
.exact-hero .actions{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:16px!important;
}

.exact-hero .actions .btn,
.exact-hero .actions .outline-btn,
.exact-hero .actions a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  width:auto!important;
  min-width:max-content!important;
  line-height:1!important;
}

.exact-hero .actions .btn{
  min-width:245px!important;
  padding:19px 26px!important;
}

.exact-hero .actions .outline-btn{
  min-width:190px!important;
  padding:19px 26px!important;
}

@media (max-width:700px){
  .exact-hero .actions{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .exact-hero .actions .btn,
  .exact-hero .actions .outline-btn,
  .exact-hero .actions a{
    width:100%!important;
    min-width:0!important;
    white-space:nowrap!important;
  }
}


/* v1.9 — updated hero portrait closer to owner's face */
.exact-hero .exact-photo > img{
  object-position:center 18% !important;
}

@media (max-width:900px){
  .exact-hero .exact-photo > img{
    object-position:center 14% !important;
  }
}
@media (max-width:560px){
  .exact-hero .exact-photo > img{
    object-position:54% 10% !important;
  }
}


/* v2.0 — use the uploaded owner photo directly as hero portrait */
.exact-hero .exact-photo > img{
  object-position:center 8% !important;
}

@media (max-width:900px){
  .exact-hero .exact-photo > img{
    object-position:center 6% !important;
  }
}

@media (max-width:560px){
  .exact-hero .exact-photo > img{
    object-position:50% 4% !important;
  }
}


/* v2.1 — swapped hero portrait to user-selected salon photo */
.exact-hero .exact-photo > img{
  object-position:center 10% !important;
}

@media (max-width:900px){
  .exact-hero .exact-photo > img{
    object-position:center 8% !important;
  }
}

@media (max-width:560px){
  .exact-hero .exact-photo > img{
    object-position:52% 6% !important;
  }
}


/* v2.2 — zoom hero image out slightly to reveal more background */
.exact-hero .exact-photo > img{
  object-position: center 12% !important;
  transform: scale(0.93) !important;
  transform-origin: center center !important;
}

.exact-hero .exact-photo{
  overflow: hidden !important;
}

@media (max-width:900px){
  .exact-hero .exact-photo > img{
    object-position: center 10% !important;
    transform: scale(0.95) !important;
  }
}

@media (max-width:560px){
  .exact-hero .exact-photo > img{
    object-position: 52% 8% !important;
    transform: scale(1.0) !important;
  }
}


/* v2.3 — zoom out hero more + seamless fade from left text area into photo */
.exact-hero .hero-grid{
  position:relative !important;
  overflow:hidden !important;
}

.exact-hero .hero-copy{
  background:transparent !important;
  position:relative !important;
  z-index:3 !important;
  border:none !important;
  box-shadow:none !important;
}

.exact-hero .exact-photo{
  border:none !important;
  box-shadow:none !important;
  position:relative !important;
  z-index:1 !important;
  overflow:hidden !important;
}

.exact-hero .exact-photo > img{
  object-position:center 12% !important;
  transform:none !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

/* create a seamless dark fade from the heading area into the image */
.exact-hero .hero-grid::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,0.98) 0%,
      rgba(0,0,0,0.96) 18%,
      rgba(0,0,0,0.88) 32%,
      rgba(0,0,0,0.68) 45%,
      rgba(0,0,0,0.36) 58%,
      rgba(0,0,0,0.12) 70%,
      rgba(0,0,0,0.00) 78%
    ) !important;
}

/* make sure content sits above the fade */
.exact-hero .hero-copy *{
  position:relative;
  z-index:4;
}

/* no hard border or split between text and image */
.exact-hero .hero-copy,
.exact-hero .exact-photo,
.exact-hero .hero-grid{
  border-left:none !important;
  border-right:none !important;
  outline:none !important;
}

/* Slightly wider overall balance so the photo breathes more */
@media (min-width: 901px){
  .exact-hero .hero-grid{
    grid-template-columns:39% 61% !important;
  }
}

/* Mobile/tablet crop */
@media (max-width:900px){
  .exact-hero .exact-photo > img{
    object-position:center 10% !important;
  }
  .exact-hero .hero-grid::before{
    background:
      linear-gradient(
        180deg,
        rgba(0,0,0,0.96) 0%,
        rgba(0,0,0,0.82) 34%,
        rgba(0,0,0,0.42) 58%,
        rgba(0,0,0,0.10) 76%,
        rgba(0,0,0,0.00) 100%
      ) !important;
  }
}

@media (max-width:560px){
  .exact-hero .exact-photo > img{
    object-position:52% 8% !important;
  }
}


/* v2.4 — extend hero image/background fully to the right edge */
.exact-hero,
.exact-hero .hero-grid{
  overflow:hidden !important;
}

.exact-hero .exact-photo{
  position:relative !important;
  width:100% !important;
  min-width:0 !important;
  border:none !important;
  background-image:url('assets/img/hero-shannon-v23.jpg') !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-position:center 12% !important;
}

.exact-hero .exact-photo > img{
  width:100% !important;
  min-width:100% !important;
  max-width:none !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 12% !important;
  display:block !important;
}

/* Add a subtle continuation/fill to ensure there is no black strip on ultra-wide layouts */
.exact-hero .exact-photo::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  background-image:url('assets/img/hero-shannon-v23.jpg') !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-position:center 12% !important;
  transform:scale(1.02) !important;
}

.exact-hero .exact-photo > img,
.exact-hero .exact-photo > *{
  position:relative !important;
  z-index:1 !important;
}

/* Let the photo side use the full available width */
@media (min-width: 901px){
  .exact-hero .hero-grid{
    grid-template-columns: 38% 62% !important;
  }
}

@media (max-width:900px){
  .exact-hero .exact-photo,
  .exact-hero .exact-photo::before{
    background-position:center 10% !important;
  }
  .exact-hero .exact-photo > img{
    object-position:center 10% !important;
  }
}

@media (max-width:560px){
  .exact-hero .exact-photo,
  .exact-hero .exact-photo::before{
    background-position:52% 8% !important;
  }
  .exact-hero .exact-photo > img{
    object-position:52% 8% !important;
  }
}


/* v2.5 — center hero composition and soften left-to-right fade */
.exact-hero{
  background:#070707 !important;
}

.exact-hero .hero-grid{
  display:grid !important;
  grid-template-columns: 42% 58% !important;
  align-items:center !important;
  width: min(1280px, calc(100% - 40px)) !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  min-height: 560px !important;
  height: 560px !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Center the text block vertically and keep it visually balanced */
.exact-hero .hero-copy{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  height:100% !important;
  padding: 30px 42px 30px 18px !important;
  background: transparent !important;
  position: relative !important;
  z-index: 4 !important;
}

.exact-hero .hero-copy .eyebrow{
  margin-bottom: 12px !important;
}

.exact-hero .hero-copy h1{
  margin: 0 0 22px 0 !important;
}

.exact-hero .hero-copy p{
  max-width: 470px !important;
  margin: 0 0 28px 0 !important;
}

.exact-hero .actions{
  margin-top: 0 !important;
}

/* Photo area fills fully and stays centered */
.exact-hero .exact-photo{
  position:relative !important;
  height:100% !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow:hidden !important;
  border: none !important;
  background: #070707 !important;
}

.exact-hero .exact-photo > img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  z-index:1 !important;
}

/* Soft seamless fade from the left text area into the image */
.exact-hero .hero-grid::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:3 !important;
  pointer-events:none !important;
  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,1) 0%,
      rgba(0,0,0,1) 26%,
      rgba(0,0,0,0.94) 36%,
      rgba(0,0,0,0.78) 46%,
      rgba(0,0,0,0.48) 58%,
      rgba(0,0,0,0.20) 68%,
      rgba(0,0,0,0.05) 76%,
      rgba(0,0,0,0) 84%
    ) !important;
}

/* Keep actual hero content above the gradient */
.exact-hero .hero-copy,
.exact-hero .hero-copy *{
  position:relative !important;
  z-index:4 !important;
}

/* Remove any hard seam/border look */
.exact-hero .hero-grid,
.exact-hero .hero-copy,
.exact-hero .exact-photo{
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Better wide-screen balance */
@media (min-width: 1200px){
  .exact-hero .hero-grid{
    grid-template-columns: 41% 59% !important;
    min-height: 585px !important;
    height: 585px !important;
  }
}

/* Tablet/mobile: keep composition centered, fade top-to-bottom */
@media (max-width: 900px){
  .exact-hero .hero-grid{
    grid-template-columns: 1fr !important;
    width: calc(100% - 24px) !important;
    min-height: auto !important;
    height: auto !important;
  }
  .exact-hero .hero-copy{
    min-height: 410px !important;
    padding: 40px 18px 26px !important;
  }
  .exact-hero .exact-photo{
    min-height: 430px !important;
    height: 430px !important;
  }
  .exact-hero .exact-photo > img{
    object-position: center center !important;
  }
  .exact-hero .hero-grid::before{
    background:
      linear-gradient(
        180deg,
        rgba(0,0,0,1) 0%,
        rgba(0,0,0,0.90) 30%,
        rgba(0,0,0,0.58) 52%,
        rgba(0,0,0,0.18) 70%,
        rgba(0,0,0,0.00) 88%
      ) !important;
  }
}

@media (max-width: 560px){
  .exact-hero .hero-copy{
    min-height: 375px !important;
    padding: 34px 14px 22px !important;
  }
  .exact-hero .exact-photo{
    height: 360px !important;
    min-height: 360px !important;
  }
  .exact-hero .hero-copy p{
    max-width: none !important;
  }
}


/* =========================================================
   v2.6 — rebuild hero as one full-bleed composition
   Fixes the narrow centered image / hard black side gaps
   ========================================================= */

.exact-hero{
  position:relative !important;
  width:100% !important;
  background:#050505 !important;
  overflow:hidden !important;
}

.exact-hero .hero-grid{
  position:relative !important;
  display:block !important;
  width:100% !important;
  max-width:none !important;
  height:590px !important;
  min-height:590px !important;
  margin:0 !important;
  overflow:hidden !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}

/* Photo becomes a true full-width background layer */
.exact-hero .exact-photo{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 !important;
  overflow:hidden !important;
  z-index:1 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:none !important;
}

.exact-hero .exact-photo::before,
.exact-hero .exact-photo::after{
  content:none !important;
  display:none !important;
}

.exact-hero .exact-photo > img{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  min-width:100% !important;
  max-width:none !important;
  height:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  object-position:66% 46% !important;
  transform:none !important;
  filter:none !important;
  z-index:1 !important;
}

/* Seamless fade from black copy area into photograph */
.exact-hero .hero-grid::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  background:
    linear-gradient(
      90deg,
      rgba(4,4,4,1) 0%,
      rgba(4,4,4,1) 18%,
      rgba(4,4,4,.98) 28%,
      rgba(4,4,4,.90) 36%,
      rgba(4,4,4,.72) 45%,
      rgba(4,4,4,.44) 55%,
      rgba(4,4,4,.18) 64%,
      rgba(4,4,4,.04) 72%,
      rgba(4,4,4,0) 78%
    ) !important;
}

/* Content uses the same centered width as the header, but the image remains full bleed */
.exact-hero .hero-copy{
  position:relative !important;
  z-index:4 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  width:min(1280px, calc(100% - 72px)) !important;
  max-width:1280px !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 auto !important;
  padding:28px 0 !important;
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}

/* Constrain only the copy itself */
.exact-hero .hero-copy .eyebrow{
  width:min(540px, 43vw) !important;
  margin:0 0 14px !important;
}

.exact-hero .hero-copy h1{
  width:min(560px, 44vw) !important;
  max-width:560px !important;
  margin:0 0 22px !important;
  line-height:.92 !important;
}

.exact-hero .hero-copy p{
  width:min(510px, 42vw) !important;
  max-width:510px !important;
  margin:0 0 30px !important;
  line-height:1.5 !important;
}

.exact-hero .actions{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:14px !important;
  margin:0 !important;
}

.exact-hero .actions a{
  white-space:nowrap !important;
}

/* Remove any legacy overlay labels if still present */
.exact-hero .hero-script,
.exact-hero .hero-owner,
.exact-hero .owner-label,
.exact-hero .beauty-script{
  display:none !important;
}

/* Ultra-wide screens: keep subject visually centered-right */
@media (min-width:1600px){
  .exact-hero .exact-photo > img{
    object-position:68% 46% !important;
  }
}

/* Tablet */
@media (max-width:900px){
  .exact-hero .hero-grid{
    height:auto !important;
    min-height:760px !important;
  }

  .exact-hero .exact-photo > img{
    object-position:58% center !important;
  }

  .exact-hero .hero-grid::before{
    background:
      linear-gradient(
        180deg,
        rgba(4,4,4,1) 0%,
        rgba(4,4,4,.98) 28%,
        rgba(4,4,4,.82) 42%,
        rgba(4,4,4,.50) 57%,
        rgba(4,4,4,.16) 72%,
        rgba(4,4,4,0) 84%
      ) !important;
  }

  .exact-hero .hero-copy{
    width:calc(100% - 36px) !important;
    height:auto !important;
    min-height:440px !important;
    margin:0 auto !important;
    padding:44px 0 28px !important;
    justify-content:flex-start !important;
  }

  .exact-hero .hero-copy .eyebrow,
  .exact-hero .hero-copy h1,
  .exact-hero .hero-copy p{
    width:min(560px, 100%) !important;
    max-width:560px !important;
  }
}

/* Mobile */
@media (max-width:560px){
  .exact-hero .hero-grid{
    min-height:700px !important;
  }

  .exact-hero .exact-photo > img{
    object-position:56% center !important;
  }

  .exact-hero .hero-copy{
    width:calc(100% - 28px) !important;
    min-height:410px !important;
    padding:34px 0 22px !important;
  }

  .exact-hero .actions{
    flex-direction:column !important;
    align-items:stretch !important;
    width:100% !important;
    max-width:360px !important;
  }

  .exact-hero .actions a{
    width:100% !important;
  }
}


/* =========================================================
   v2.7 — zoom the hero portrait out and reveal more background
   ========================================================= */
.exact-hero .exact-photo{
  background:#050505 !important;
}

/* Pull the hero image back so more of the salon environment shows */
.exact-hero .exact-photo > img{
  width:112% !important;
  min-width:112% !important;
  height:112% !important;
  min-height:112% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:64% 44% !important;
  top:50% !important;
  left:50% !important;
  right:auto !important;
  bottom:auto !important;
  transform:translate(-50%, -50%) scale(0.88) !important;
}

/* Keep the fade softer over the newly revealed background */
.exact-hero .hero-grid::before{
  background:
    linear-gradient(
      90deg,
      rgba(4,4,4,1) 0%,
      rgba(4,4,4,1) 16%,
      rgba(4,4,4,.97) 26%,
      rgba(4,4,4,.88) 36%,
      rgba(4,4,4,.68) 46%,
      rgba(4,4,4,.40) 56%,
      rgba(4,4,4,.16) 66%,
      rgba(4,4,4,.03) 76%,
      rgba(4,4,4,0) 84%
    ) !important;
}

/* Ultra wide screens can zoom out slightly more */
@media (min-width:1600px){
  .exact-hero .exact-photo > img{
    object-position:65% 44% !important;
    transform:translate(-50%, -50%) scale(0.84) !important;
  }
}

/* Tablet */
@media (max-width:900px){
  .exact-hero .exact-photo > img{
    width:108% !important;
    min-width:108% !important;
    height:108% !important;
    min-height:108% !important;
    object-position:58% 42% !important;
    transform:translate(-50%, -50%) scale(0.93) !important;
  }
}

/* Mobile — keep portrait readable */
@media (max-width:560px){
  .exact-hero .exact-photo > img{
    width:104% !important;
    min-width:104% !important;
    height:104% !important;
    min-height:104% !important;
    object-position:56% 40% !important;
    transform:translate(-50%, -50%) scale(0.98) !important;
  }
}


/* =========================================================
   v2.8 — Homepage Builder controlled hero
   Variables are supplied inline by front-page.php.
   --hero-zoom: 1.00 to 1.80
   --hero-x / --hero-y: focal point percentages
   --hero-height: desktop hero height
   --hero-fade: fade strength
   ========================================================= */

.exact-hero{
  position:relative !important;
  width:100% !important;
  overflow:hidden !important;
  background:#050505 !important;
  border:0 !important;
}

.exact-hero .hero-grid{
  position:relative !important;
  display:block !important;
  width:100% !important;
  max-width:none !important;
  height:var(--hero-height,590px) !important;
  min-height:var(--hero-height,590px) !important;
  margin:0 !important;
  overflow:hidden !important;
  background:#050505 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}

.exact-hero .exact-photo{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  overflow:hidden !important;
  z-index:1 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:#050505 !important;
}

.exact-hero .exact-photo::before,
.exact-hero .exact-photo::after{
  content:none !important;
  display:none !important;
}

.exact-hero .exact-photo > img{
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  right:auto !important;
  bottom:auto !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  display:block !important;
  object-fit:cover !important;
  object-position:var(--hero-x,66%) var(--hero-y,50%) !important;
  transform:translate(-50%,-50%) scale(var(--hero-zoom,1)) !important;
  transform-origin:center center !important;
  filter:none !important;
  z-index:1 !important;
}

/* Full-width, borderless soft fade */
.exact-hero .hero-grid::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  z-index:2 !important;
  pointer-events:none !important;
  background:linear-gradient(
    90deg,
    rgba(4,4,4,1) 0%,
    rgba(4,4,4,1) 16%,
    rgba(4,4,4,calc(.96 * var(--hero-fade, .88))) 27%,
    rgba(4,4,4,calc(.82 * var(--hero-fade, .88))) 38%,
    rgba(4,4,4,calc(.58 * var(--hero-fade, .88))) 49%,
    rgba(4,4,4,calc(.34 * var(--hero-fade, .88))) 59%,
    rgba(4,4,4,calc(.12 * var(--hero-fade, .88))) 69%,
    rgba(4,4,4,0) 80%
  ) !important;
}

.exact-hero .hero-copy{
  position:relative !important;
  z-index:4 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  width:min(1280px,calc(100% - 72px)) !important;
  max-width:1280px !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 auto !important;
  padding:28px 0 !important;
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}

.exact-hero .hero-copy .eyebrow{
  width:min(540px,43vw) !important;
  margin:0 0 14px !important;
}

.exact-hero .hero-copy h1{
  width:min(560px,44vw) !important;
  max-width:560px !important;
  margin:0 0 22px !important;
  line-height:.92 !important;
}

.exact-hero .hero-copy p{
  width:min(510px,42vw) !important;
  max-width:510px !important;
  margin:0 0 30px !important;
  line-height:1.5 !important;
}

.exact-hero .actions{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:14px !important;
  margin:0 !important;
}

.exact-hero .actions a{
  white-space:nowrap !important;
}

/* Remove legacy overlays from previous builds */
.exact-hero .hero-script,
.exact-hero .hero-owner,
.exact-hero .owner-label,
.exact-hero .beauty-script{
  display:none !important;
}

@media(max-width:900px){
  .exact-hero .hero-grid{
    height:max(680px,var(--hero-height,590px)) !important;
    min-height:max(680px,var(--hero-height,590px)) !important;
  }
  .exact-hero .hero-grid::before{
    background:linear-gradient(
      180deg,
      rgba(4,4,4,1) 0%,
      rgba(4,4,4,.98) 28%,
      rgba(4,4,4,.78) 44%,
      rgba(4,4,4,.42) 60%,
      rgba(4,4,4,.10) 76%,
      rgba(4,4,4,0) 88%
    ) !important;
  }
  .exact-hero .hero-copy{
    width:calc(100% - 36px) !important;
    height:auto !important;
    min-height:430px !important;
    padding:42px 0 24px !important;
    justify-content:flex-start !important;
  }
  .exact-hero .hero-copy .eyebrow,
  .exact-hero .hero-copy h1,
  .exact-hero .hero-copy p{
    width:min(560px,100%) !important;
    max-width:560px !important;
  }
}

@media(max-width:560px){
  .exact-hero .hero-grid{
    height:700px !important;
    min-height:700px !important;
  }
  .exact-hero .hero-copy{
    width:calc(100% - 28px) !important;
    min-height:405px !important;
    padding:32px 0 20px !important;
  }
  .exact-hero .actions{
    width:100% !important;
    max-width:380px !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .exact-hero .actions a{
    width:100% !important;
  }
}


/* =========================================================
   v2.9 — true right-side hero positioning controls
   The image now lives in a right-side stage instead of filling
   the entire hero, so horizontal positioning visibly works.
   ========================================================= */

.exact-hero .hero-grid{
  position:relative !important;
  display:block !important;
  width:100% !important;
  max-width:none !important;
  overflow:hidden !important;
  background:#050505 !important;
  border:0 !important;
}

/* Right-side photo stage */
.exact-hero .exact-photo{
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:auto !important;
  width:var(--hero-photo-width,62%) !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:#050505 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  z-index:1 !important;
}

.exact-hero .exact-photo::before,
.exact-hero .exact-photo::after{
  content:none !important;
  display:none !important;
}

/* Important: don't use object-fit:cover for the horizontal positioning.
   Height drives the base image size; pan + zoom now have a visible effect. */
.exact-hero .exact-photo > img{
  position:relative !important;
  inset:auto !important;
  display:block !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  height:100% !important;
  min-height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:
    translate(var(--hero-pan-x,0%), var(--hero-pan-y,0%))
    scale(var(--hero-zoom,1)) !important;
  transform-origin:center center !important;
  z-index:1 !important;
}

/* Seamless fade across the left edge of the right-side photo stage */
.exact-hero .hero-grid::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  pointer-events:none !important;
  z-index:2 !important;
  background:
    linear-gradient(
      90deg,
      rgba(4,4,4,1) 0%,
      rgba(4,4,4,1) 22%,
      rgba(4,4,4,.98) 31%,
      rgba(4,4,4,calc(.92 * var(--hero-fade,.88))) 39%,
      rgba(4,4,4,calc(.72 * var(--hero-fade,.88))) 48%,
      rgba(4,4,4,calc(.45 * var(--hero-fade,.88))) 57%,
      rgba(4,4,4,calc(.18 * var(--hero-fade,.88))) 66%,
      rgba(4,4,4,0) 76%
    ) !important;
}

/* Text remains centered in the page content width */
.exact-hero .hero-copy{
  position:relative !important;
  z-index:4 !important;
  width:min(1280px,calc(100% - 72px)) !important;
  max-width:1280px !important;
  margin:0 auto !important;
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  padding:28px 0 !important;
  background:transparent !important;
  border:0 !important;
}

.exact-hero .hero-copy .eyebrow,
.exact-hero .hero-copy h1,
.exact-hero .hero-copy p{
  max-width:520px !important;
}

@media(max-width:900px){
  .exact-hero .exact-photo{
    width:100% !important;
    opacity:1 !important;
  }
  .exact-hero .exact-photo > img{
    height:100% !important;
    transform:
      translate(calc(var(--hero-pan-x,0%) * .55), calc(var(--hero-pan-y,0%) * .55))
      scale(max(.9,var(--hero-zoom,1))) !important;
  }
  .exact-hero .hero-grid::before{
    background:
      linear-gradient(
        180deg,
        rgba(4,4,4,1) 0%,
        rgba(4,4,4,.98) 30%,
        rgba(4,4,4,.78) 47%,
        rgba(4,4,4,.38) 65%,
        rgba(4,4,4,0) 82%
      ) !important;
  }
}

@media(max-width:560px){
  .exact-hero .hero-copy{
    width:calc(100% - 28px) !important;
  }
}


/* v3.0 — editable owner name/title overlay in hero */
.exact-hero .hero-owner-info{
  position:absolute !important;
  right:max(5vw,48px) !important;
  bottom:56px !important;
  z-index:5 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:4px !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  pointer-events:none !important;
  text-align:left !important;
}
.exact-hero .hero-owner-info strong{
  display:block !important;
  margin:0 !important;
  color:#e1b36d !important;
  font-size:18px !important;
  line-height:1.05 !important;
  letter-spacing:.12em !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  text-shadow:0 1px 4px rgba(0,0,0,.45) !important;
}
.exact-hero .hero-owner-info span{
  display:block !important;
  margin:0 !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1.2 !important;
  letter-spacing:.055em !important;
  font-weight:500 !important;
  text-transform:uppercase !important;
  text-shadow:0 1px 4px rgba(0,0,0,.5) !important;
}
@media(max-width:900px){
  .exact-hero .hero-owner-info{right:28px !important;bottom:28px !important;}
}
@media(max-width:560px){
  .exact-hero .hero-owner-info{right:18px !important;bottom:20px !important;}
  .exact-hero .hero-owner-info strong{font-size:15px !important;}
  .exact-hero .hero-owner-info span{font-size:11px !important;}
}


/* =========================================================
   v3.1 — Homepage Builder controlled service-card photos
   ========================================================= */
.exact-services .service{
  position:relative !important;
  overflow:hidden !important;
  background-image:none !important;
  background:#090909 !important;
  isolation:isolate !important;
}

.exact-services .service::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  z-index:0 !important;
  background-image:var(--service-image) !important;
  background-repeat:no-repeat !important;
  background-size:calc(100% * var(--service-zoom,1)) auto !important;
  background-position:var(--service-x,50%) var(--service-y,35%) !important;
  transition:transform .3s ease !important;
  pointer-events:none !important;
}

/* Overlay sits above the image but below text */
.exact-services .service::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:linear-gradient(to top,rgba(4,4,4,.92) 0%,rgba(4,4,4,.58) 25%,rgba(4,4,4,.10) 58%,rgba(4,4,4,0) 78%) !important;
  pointer-events:none !important;
}

.exact-services .service > div{
  position:relative !important;
  z-index:3 !important;
}

.exact-services .service:hover::after{
  transform:scale(1.025) !important;
}

/* Defeat old nth-child image declarations from prior builds */
.exact-services .service:nth-child(1),
.exact-services .service:nth-child(2),
.exact-services .service:nth-child(3),
.exact-services .service:nth-child(4),
.exact-services .service:nth-child(5),
.exact-services .service:nth-child(6){
  background-image:none !important;
}


/* v3.2 — Our Team page */
.team-page{background:#f6f1e8;color:#16120f}
.team-page-hero{background:#0b0a09;color:#fff;padding:92px 0 86px;position:relative;overflow:hidden}
.team-page-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 10%,rgba(211,169,104,.16),transparent 35%);pointer-events:none}
.team-page-hero-inner{position:relative;z-index:1;max-width:900px}
.team-page-hero .eyebrow{color:#d3a968;letter-spacing:.24em;text-transform:uppercase;font-size:12px}
.team-page-hero h1{font-family:Georgia,serif;font-size:clamp(48px,6vw,88px);line-height:.98;font-weight:400;margin:16px 0 24px;max-width:900px}
.team-page-hero h1 em{color:#d3a968;font-weight:400}
.team-page-hero p{font-size:19px;line-height:1.6;color:#d8d0c7;max-width:650px}

.team-directory{padding:76px 0 96px}
.team-directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 22px}
.team-directory-card{background:#fff;border:1px solid rgba(40,30,20,.10);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.team-directory-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(35,25,16,.10)}
.team-directory-photo{aspect-ratio:4/5;background:#e2d3bf;overflow:hidden}
.team-directory-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.team-photo-placeholder{height:100%;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:56px;color:#b58a55}
.team-directory-info{padding:22px 22px 26px}
.team-directory-info h2{font-family:Georgia,serif;font-weight:400;font-size:28px;line-height:1.1;margin:0 0 8px}
.team-role{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#b27f42;font-weight:700;margin:0 0 8px}
.team-specialty{font-size:14px;color:#685d53;margin:0 0 12px}
.team-bio{font-size:14px;line-height:1.55;color:#5d554d}
.team-book-link{display:inline-block;margin-top:14px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#111;text-decoration:none;border-bottom:1px solid #c99a5f;padding-bottom:4px}

.team-page-cta{background:#171310;color:#fff;padding:52px 0}
.team-page-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px}
.team-page-cta .eyebrow{color:#d3a968;font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.team-page-cta h2{font-family:Georgia,serif;font-size:42px;font-weight:400;margin:6px 0 0}
.team-empty{background:#fff;border:1px solid rgba(40,30,20,.1);padding:42px;text-align:center}

@media(max-width:1100px){
  .team-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:800px){
  .team-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .team-page-hero{padding:70px 0}
  .team-page-cta .wrap{flex-direction:column;align-items:flex-start}
}
@media(max-width:520px){
  .team-directory-grid{grid-template-columns:1fr}
  .team-page-hero h1{font-size:50px}
  .team-directory{padding:48px 0 68px}
}


/* v3.3 — Homepage Builder controlled Salon Shop section */
.home-shop-builder-section{
  background:#f6f0e7 !important;
}
.shop-builder-head{
  align-items:flex-end !important;
}
.shop-category-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
}
.shop-category-card{
  background:#fff !important;
  border:1px solid rgba(60,45,30,.12) !important;
}
.shop-category-card > a{
  display:block !important;
  text-decoration:none !important;
  color:inherit !important;
}
.shop-category-image{
  position:relative !important;
  width:100% !important;
  aspect-ratio:1/1 !important;
  overflow:hidden !important;
  background:#d8c5af !important;
}
.shop-category-image::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background-image:var(--shop-image) !important;
  background-repeat:no-repeat !important;
  background-size:calc(100% * var(--shop-zoom,1)) auto !important;
  background-position:var(--shop-x,50%) var(--shop-y,50%) !important;
  transition:transform .3s ease !important;
}
.shop-category-card:hover .shop-category-image::before{
  transform:scale(1.025) !important;
}
.shop-category-card .product-body{
  display:flex !important;
  justify-content:space-between !important;
  gap:14px !important;
  align-items:center !important;
  padding:16px 14px !important;
}
.shop-category-card .product-body strong{
  font-family:Georgia,serif !important;
  font-size:17px !important;
  font-weight:400 !important;
}
.shop-category-card .product-body div{
  font-size:14px !important;
  white-space:nowrap !important;
}
@media(max-width:900px){
  .shop-category-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:520px){
  .shop-category-grid{grid-template-columns:1fr !important;}
}


/* v3.4 — improve readability of header/nav/trust bar */
.top,
.topbar,
.top-bar{
  font-size:14px !important;
  line-height:1.35 !important;
  letter-spacing:.10em !important;
}
.top a,
.topbar a,
.top-bar a{
  font-size:14px !important;
  line-height:1.35 !important;
}
.top .book,
.topbar .book,
.top-bar .book,
.header-book,
.top-book,
.book-top{
  font-size:15px !important;
  font-weight:700 !important;
  letter-spacing:.10em !important;
  padding:12px 20px !important;
  min-height:44px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.menu,
.main-navigation,
.site-nav{
  font-size:15px !important;
}
.menu a,
.main-navigation a,
.site-nav a{
  font-size:15px !important;
  line-height:1.35 !important;
  font-weight:500 !important;
  padding:10px 12px !important;
}

.brand{
  font-size:31px !important;
  line-height:1 !important;
  letter-spacing:.10em !important;
}
.brand small{
  font-size:10px !important;
  letter-spacing:.28em !important;
}

.trust{
  font-size:15px !important;
}
.trust .wrap{
  min-height:70px !important;
  align-items:center !important;
}
.trust .wrap > div{
  font-size:15px !important;
  line-height:1.35 !important;
  padding:16px 18px !important;
  gap:10px !important;
}
.trust .wrap > div span,
.trust .wrap > div b{
  font-size:15px !important;
  line-height:1.35 !important;
}

@media (min-width:1400px){
  .top,
  .topbar,
  .top-bar,
  .top a,
  .topbar a,
  .top-bar a{
    font-size:15px !important;
  }

  .menu a,
  .main-navigation a,
  .site-nav a{
    font-size:16px !important;
    padding:11px 14px !important;
  }

  .trust .wrap > div,
  .trust .wrap > div span,
  .trust .wrap > div b{
    font-size:16px !important;
  }
}

@media (max-width:900px){
  .top,
  .topbar,
  .top-bar,
  .top a,
  .topbar a,
  .top-bar a{
    font-size:13px !important;
  }

  .menu a,
  .main-navigation a,
  .site-nav a{
    font-size:15px !important;
  }

  .trust .wrap{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    min-height:0 !important;
  }

  .trust .wrap > div{
    min-height:58px !important;
    font-size:14px !important;
    padding:14px 16px !important;
  }

  .trust .wrap > div span,
  .trust .wrap > div b{
    font-size:14px !important;
  }
}

@media (max-width:560px){
  .top,
  .topbar,
  .top-bar{
    font-size:12px !important;
    letter-spacing:.06em !important;
  }

  .top a,
  .topbar a,
  .top-bar a{
    font-size:12px !important;
  }

  .top .book,
  .topbar .book,
  .top-bar .book,
  .header-book,
  .top-book,
  .book-top{
    font-size:13px !important;
    padding:10px 14px !important;
    min-height:40px !important;
  }

  .brand{
    font-size:26px !important;
  }

  .brand small{
    font-size:9px !important;
  }

  .menu a,
  .main-navigation a,
  .site-nav a{
    font-size:16px !important;
    padding:12px 10px !important;
  }

  .trust .wrap{
    grid-template-columns:1fr !important;
  }

  .trust .wrap > div{
    min-height:52px !important;
    font-size:14px !important;
    padding:13px 14px !important;
    justify-content:flex-start !important;
  }

  .trust .wrap > div span,
  .trust .wrap > div b{
    font-size:14px !important;
  }
}


/* =========================================================
   v3.5 — configurable breadcrumb / inner-page hero
   ========================================================= */
.breadcrumb-hero{
  position:relative;
  min-height:var(--bc-height,280px);
  height:var(--bc-height,280px);
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#17110e;
  color:#fff;
  isolation:isolate;
}
.breadcrumb-hero.has-image{
  background-image:var(--bc-image);
  background-size:cover;
  background-repeat:no-repeat;
  background-position:var(--bc-x,50%) var(--bc-y,50%);
}
.breadcrumb-hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,
      rgba(10,7,5,calc(min(1, var(--bc-overlay,.62) + .20))) 0%,
      rgba(10,7,5,var(--bc-overlay,.62)) 48%,
      rgba(10,7,5,calc(var(--bc-overlay,.62) * .72)) 100%
    );
}
.breadcrumb-hero-inner{
  position:relative;
  z-index:2;
  width:min(1280px,calc(100% - 56px));
}
.breadcrumb-trail{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 14px;
  font-size:13px;
  line-height:1.3;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#e7c18a;
}
.breadcrumb-trail a{
  color:#fff;
  text-decoration:none;
}
.breadcrumb-trail a:hover{
  color:#e7c18a;
}
.breadcrumb-hero h1{
  margin:0;
  max-width:850px;
  font-family:Georgia,serif;
  font-size:clamp(48px,5vw,78px);
  line-height:1;
  font-weight:400;
  color:#fff;
  text-shadow:0 2px 18px rgba(0,0,0,.28);
}
.inner-page-content{
  padding-top:58px;
  padding-bottom:76px;
}

/* Disable old plain page hero when legacy markup remains somewhere */
.page-hero{
  display:none !important;
}

@media(max-width:800px){
  .breadcrumb-hero{
    min-height:max(200px,calc(var(--bc-height,280px) * .82));
    height:auto;
    padding:52px 0;
  }
  .breadcrumb-hero-inner{
    width:calc(100% - 36px);
  }
  .breadcrumb-trail{
    font-size:12px;
  }
  .breadcrumb-hero h1{
    font-size:clamp(40px,11vw,58px);
  }
}

@media(max-width:520px){
  .breadcrumb-hero{
    padding:44px 0;
  }
  .breadcrumb-hero-inner{
    width:calc(100% - 28px);
  }
  .breadcrumb-trail{
    font-size:11px;
    letter-spacing:.05em;
  }
}


/* v3.6 — full team roster polish */
.team-directory-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center top !important;
}
.team-directory-card{
  min-width:0;
}
.team-directory-info h2{
  overflow-wrap:anywhere;
}


/* =========================================================
   v3.7 — compact breadcrumb / inner-page hero
   ========================================================= */

.breadcrumb-hero{
  min-height:170px !important;
  height:170px !important;
  padding:0 !important;
}

.breadcrumb-hero-inner{
  width:min(1180px,calc(100% - 48px)) !important;
}

.breadcrumb-trail{
  margin:0 0 8px !important;
  font-size:11px !important;
  line-height:1.2 !important;
  letter-spacing:.07em !important;
}

.breadcrumb-hero h1{
  font-size:clamp(38px,3.5vw,58px) !important;
  line-height:1 !important;
  max-width:720px !important;
}

/* Keep background image visible without making the section too tall */
.breadcrumb-hero.has-image{
  background-size:cover !important;
}

/* Tablet */
@media(max-width:800px){
  .breadcrumb-hero{
    min-height:145px !important;
    height:145px !important;
    padding:0 !important;
  }

  .breadcrumb-hero-inner{
    width:calc(100% - 32px) !important;
  }

  .breadcrumb-trail{
    font-size:10px !important;
    margin-bottom:7px !important;
  }

  .breadcrumb-hero h1{
    font-size:40px !important;
  }
}

/* Mobile */
@media(max-width:520px){
  .breadcrumb-hero{
    min-height:125px !important;
    height:125px !important;
  }

  .breadcrumb-hero-inner{
    width:calc(100% - 24px) !important;
  }

  .breadcrumb-trail{
    font-size:9px !important;
    letter-spacing:.04em !important;
  }

  .breadcrumb-hero h1{
    font-size:34px !important;
  }
}


/* v3.8 — Homepage Builder controlled transformation gallery */
.builder-transform-section .transform-images{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
}
.builder-transform-section .transform-card{
  position:relative !important;
  aspect-ratio:1/1 !important;
  overflow:hidden !important;
  border:1px solid rgba(255,255,255,.22) !important;
  background:#111 !important;
}
.builder-transform-section .transform-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background-image:var(--transform-image) !important;
  background-repeat:no-repeat !important;
  background-size:calc(100% * var(--transform-zoom,1)) auto !important;
  background-position:var(--transform-x,50%) var(--transform-y,50%) !important;
}
@media(max-width:900px){
  .builder-transform-section .transform-images{
    grid-template-columns:1fr !important;
  }
  .builder-transform-section .transform-card{
    aspect-ratio:1.65/1 !important;
  }
}


/* =========================================================
   v3.9 — restore original dark Transformations section layout
   ========================================================= */

.builder-transform-section{
  background:#0b0b0a !important;
  color:#fff !important;
  padding:34px 0 !important;
  margin:0 !important;
}

.builder-transform-section .transform-grid{
  display:grid !important;
  grid-template-columns:32% 68% !important;
  align-items:center !important;
  gap:28px !important;
  width:min(1280px,calc(100% - 48px)) !important;
  max-width:1280px !important;
  margin:0 auto !important;
}

.builder-transform-section .transform-copy{
  padding:8px 12px 8px 0 !important;
}

.builder-transform-section .transform-copy .eyebrow{
  display:block !important;
  margin:0 0 10px !important;
  color:#d9a65f !important;
  font-size:11px !important;
  line-height:1.2 !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  font-weight:700 !important;
}

.builder-transform-section .transform-copy h2{
  margin:0 0 14px !important;
  color:#fff !important;
  font-family:Georgia,serif !important;
  font-size:clamp(42px,3.8vw,60px) !important;
  line-height:.98 !important;
  font-weight:400 !important;
  letter-spacing:-.02em !important;
}

.builder-transform-section .transform-copy p{
  margin:0 0 22px !important;
  max-width:390px !important;
  color:#ddd7d1 !important;
  font-size:14px !important;
  line-height:1.55 !important;
}

.builder-transform-section .transform-copy .outline-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:44px !important;
  padding:12px 20px !important;
  border:1px solid #d5b47d !important;
  color:#fff !important;
  background:transparent !important;
  text-decoration:none !important;
  font-size:11px !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.builder-transform-section .transform-copy .outline-btn:hover{
  background:#d5b47d !important;
  color:#111 !important;
}

.builder-transform-section .transform-images{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:stretch !important;
}

.builder-transform-section .transform-card{
  position:relative !important;
  width:100% !important;
  aspect-ratio:1.08 / 1 !important;
  min-height:0 !important;
  overflow:hidden !important;
  border:1px solid #9c8465 !important;
  background:#111 !important;
  box-shadow:none !important;
}

.builder-transform-section .transform-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  background-image:var(--transform-image) !important;
  background-repeat:no-repeat !important;
  background-size:calc(100% * var(--transform-zoom,1)) auto !important;
  background-position:var(--transform-x,50%) var(--transform-y,50%) !important;
  transition:transform .25s ease !important;
}

.builder-transform-section .transform-card:hover::before{
  transform:scale(1.015) !important;
}

/* Keep the reviews section visually separate, just like the original layout */
.builder-transform-section + .reviews-exact{
  margin-top:0 !important;
  border-top:0 !important;
}

/* Tablet */
@media(max-width:900px){
  .builder-transform-section{
    padding:32px 0 !important;
  }

  .builder-transform-section .transform-grid{
    grid-template-columns:1fr !important;
    gap:24px !important;
    width:calc(100% - 36px) !important;
  }

  .builder-transform-section .transform-copy{
    padding:0 !important;
  }

  .builder-transform-section .transform-copy p{
    max-width:620px !important;
  }

  .builder-transform-section .transform-images{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }

  .builder-transform-section .transform-card{
    aspect-ratio:1 / 1 !important;
  }
}

/* Mobile */
@media(max-width:620px){
  .builder-transform-section .transform-grid{
    width:calc(100% - 24px) !important;
  }

  .builder-transform-section .transform-copy h2{
    font-size:42px !important;
  }

  .builder-transform-section .transform-copy p{
    font-size:14px !important;
  }

  .builder-transform-section .transform-images{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .builder-transform-section .transform-card{
    aspect-ratio:1.55 / 1 !important;
  }
}


/* =========================================================
   v4.0 — increase CTA strip + footer typography
   ========================================================= */

/* Ready for Your Next Look CTA strip */
.footer-cta,
.cta-exact,
.prefooter,
.booking-cta{
  font-size:16px !important;
}

.footer-cta h2,
.cta-exact h2,
.prefooter h2,
.booking-cta h2{
  font-size:clamp(34px,3vw,48px) !important;
  line-height:1.02 !important;
}

.footer-cta .eyebrow,
.cta-exact .eyebrow,
.prefooter .eyebrow,
.booking-cta .eyebrow{
  font-size:12px !important;
}

.footer-cta .cta-item,
.cta-exact .cta-item,
.prefooter .cta-item,
.booking-cta .cta-item,
.footer-cta .cta-item *,
.cta-exact .cta-item *,
.prefooter .cta-item *,
.booking-cta .cta-item *{
  font-size:14px !important;
  line-height:1.35 !important;
}

.footer-cta .btn,
.cta-exact .btn,
.prefooter .btn,
.booking-cta .btn{
  font-size:13px !important;
  min-height:46px !important;
  padding:14px 22px !important;
  letter-spacing:.08em !important;
}

/* Main footer */
.site-footer,
footer{
  font-size:14px !important;
}

.site-footer .brand,
footer .brand{
  font-size:32px !important;
}

.site-footer .brand small,
footer .brand small{
  font-size:10px !important;
}

.site-footer nav a,
.site-footer .footer-nav a,
footer nav a,
footer .footer-nav a{
  font-size:14px !important;
  line-height:1.4 !important;
  padding:6px 8px !important;
}

.site-footer .beauty,
.site-footer .footer-beauty,
footer .beauty,
footer .footer-beauty{
  font-size:28px !important;
  line-height:1 !important;
}

.site-footer .beauty small,
.site-footer .footer-beauty small,
footer .beauty small,
footer .footer-beauty small{
  font-size:12px !important;
  letter-spacing:.08em !important;
}

.site-footer .copyright,
footer .copyright{
  font-size:12px !important;
  line-height:1.4 !important;
}

/* Large desktop */
@media (min-width:1400px){
  .footer-cta .cta-item,
  .cta-exact .cta-item,
  .prefooter .cta-item,
  .booking-cta .cta-item,
  .footer-cta .cta-item *,
  .cta-exact .cta-item *,
  .prefooter .cta-item *,
  .booking-cta .cta-item *{
    font-size:15px !important;
  }

  .site-footer nav a,
  .site-footer .footer-nav a,
  footer nav a,
  footer .footer-nav a{
    font-size:15px !important;
  }

  .site-footer .copyright,
  footer .copyright{
    font-size:13px !important;
  }
}

/* Tablet */
@media (max-width:900px){
  .footer-cta h2,
  .cta-exact h2,
  .prefooter h2,
  .booking-cta h2{
    font-size:36px !important;
  }

  .footer-cta .cta-item,
  .cta-exact .cta-item,
  .prefooter .cta-item,
  .booking-cta .cta-item,
  .footer-cta .cta-item *,
  .cta-exact .cta-item *,
  .prefooter .cta-item *,
  .booking-cta .cta-item *{
    font-size:14px !important;
  }

  .site-footer nav a,
  .site-footer .footer-nav a,
  footer nav a,
  footer .footer-nav a{
    font-size:14px !important;
  }
}

/* Mobile */
@media (max-width:560px){
  .footer-cta h2,
  .cta-exact h2,
  .prefooter h2,
  .booking-cta h2{
    font-size:32px !important;
  }

  .footer-cta .cta-item,
  .cta-exact .cta-item,
  .prefooter .cta-item,
  .booking-cta .cta-item,
  .footer-cta .cta-item *,
  .cta-exact .cta-item *,
  .prefooter .cta-item *,
  .booking-cta .cta-item *{
    font-size:14px !important;
  }

  .footer-cta .btn,
  .cta-exact .btn,
  .prefooter .btn,
  .booking-cta .btn{
    font-size:13px !important;
    width:100% !important;
  }

  .site-footer .brand,
  footer .brand{
    font-size:28px !important;
  }

  .site-footer nav a,
  .site-footer .footer-nav a,
  footer nav a,
  footer .footer-nav a{
    font-size:15px !important;
    padding:8px 6px !important;
  }

  .site-footer .beauty,
  .site-footer .footer-beauty,
  footer .beauty,
  footer .footer-beauty{
    font-size:24px !important;
  }

  .site-footer .copyright,
  footer .copyright{
    font-size:12px !important;
  }
}


/* =========================================================
   v4.1 — premium styling for bottom booking CTA strip
   ========================================================= */

/* Overall strip */
.footer-cta,
.cta-exact,
.prefooter,
.booking-cta{
  position:relative !important;
  overflow:hidden !important;
  padding:28px 0 !important;
  min-height:132px !important;
  color:#fff !important;
  background-color:#17120f !important;
}

/* Dark overlay for better readability over background image */
.footer-cta::before,
.cta-exact::before,
.prefooter::before,
.booking-cta::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(
    90deg,
    rgba(12,9,7,.92) 0%,
    rgba(12,9,7,.78) 42%,
    rgba(12,9,7,.64) 100%
  ) !important;
  z-index:0 !important;
  pointer-events:none !important;
}

.footer-cta .wrap,
.cta-exact .wrap,
.prefooter .wrap,
.booking-cta .wrap{
  position:relative !important;
  z-index:1 !important;
  display:grid !important;
  grid-template-columns:1.3fr repeat(3,1fr) auto !important;
  align-items:center !important;
  gap:30px !important;
}

/* Main heading */
.footer-cta h2,
.cta-exact h2,
.prefooter h2,
.booking-cta h2{
  margin:0 !important;
  font-family:Georgia,serif !important;
  font-size:clamp(34px,2.7vw,50px) !important;
  line-height:.98 !important;
  font-weight:400 !important;
  font-style:italic !important;
  color:#fff !important;
  letter-spacing:-.02em !important;
  max-width:270px !important;
}

/* Info blocks */
.footer-cta .cta-item,
.cta-exact .cta-item,
.prefooter .cta-item,
.booking-cta .cta-item{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-height:56px !important;
}

.footer-cta .cta-item strong,
.cta-exact .cta-item strong,
.prefooter .cta-item strong,
.booking-cta .cta-item strong{
  display:block !important;
  color:#fff !important;
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  letter-spacing:.03em !important;
  margin-bottom:4px !important;
}

.footer-cta .cta-item span,
.footer-cta .cta-item small,
.cta-exact .cta-item span,
.cta-exact .cta-item small,
.prefooter .cta-item span,
.prefooter .cta-item small,
.booking-cta .cta-item span,
.booking-cta .cta-item small{
  color:#e9dfd5 !important;
  font-size:13px !important;
  line-height:1.35 !important;
}

/* Booking button */
.footer-cta .btn,
.cta-exact .btn,
.prefooter .btn,
.booking-cta .btn{
  min-width:205px !important;
  min-height:52px !important;
  padding:15px 24px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
  background:#d6aa69 !important;
  color:#111 !important;
  border:1px solid #d6aa69 !important;
}

/* Better icon/text emphasis */
.footer-cta .cta-item::first-letter,
.cta-exact .cta-item::first-letter,
.prefooter .cta-item::first-letter,
.booking-cta .cta-item::first-letter{
  color:#d6aa69 !important;
}

/* Tablet */
@media(max-width:1000px){
  .footer-cta .wrap,
  .cta-exact .wrap,
  .prefooter .wrap,
  .booking-cta .wrap{
    grid-template-columns:1fr 1fr 1fr !important;
    gap:22px !important;
  }

  .footer-cta h2,
  .cta-exact h2,
  .prefooter h2,
  .booking-cta h2{
    grid-column:1 / -1 !important;
    max-width:none !important;
    font-size:38px !important;
  }

  .footer-cta .btn,
  .cta-exact .btn,
  .prefooter .btn,
  .booking-cta .btn{
    grid-column:1 / -1 !important;
    width:fit-content !important;
  }
}

/* Mobile */
@media(max-width:620px){
  .footer-cta,
  .cta-exact,
  .prefooter,
  .booking-cta{
    padding:24px 0 !important;
    min-height:0 !important;
  }

  .footer-cta .wrap,
  .cta-exact .wrap,
  .prefooter .wrap,
  .booking-cta .wrap{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .footer-cta h2,
  .cta-exact h2,
  .prefooter h2,
  .booking-cta h2{
    grid-column:auto !important;
    font-size:34px !important;
    max-width:260px !important;
  }

  .footer-cta .cta-item strong,
  .cta-exact .cta-item strong,
  .prefooter .cta-item strong,
  .booking-cta .cta-item strong{
    font-size:16px !important;
  }

  .footer-cta .cta-item span,
  .footer-cta .cta-item small,
  .cta-exact .cta-item span,
  .cta-exact .cta-item small,
  .prefooter .cta-item span,
  .prefooter .cta-item small,
  .booking-cta .cta-item span,
  .booking-cta .cta-item small{
    font-size:14px !important;
  }

  .footer-cta .btn,
  .cta-exact .btn,
  .prefooter .btn,
  .booking-cta .btn{
    grid-column:auto !important;
    width:100% !important;
    min-width:0 !important;
    font-size:14px !important;
    min-height:50px !important;
  }
}


/* =========================================================
   v4.2 — mobile homepage layout cleanup
   ========================================================= */

@media (max-width: 620px){

  /* Header */
  .top,
  .topbar,
  .top-bar{
    display:none !important;
  }

  header,
  .site-header,
  .main-header,
  .header-main{
    min-height:82px !important;
    height:auto !important;
  }

  .header-inner,
  .site-header .wrap,
  header .wrap{
    min-height:82px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding-top:10px !important;
    padding-bottom:10px !important;
  }

  .brand{
    font-size:27px !important;
    letter-spacing:.08em !important;
  }

  .brand small{
    font-size:9px !important;
  }

  .menu-toggle,
  .nav-toggle,
  button.menu-toggle{
    width:44px !important;
    height:44px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:27px !important;
  }

  /* Hero */
  .exact-hero .hero-grid{
    height:auto !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    background:#050505 !important;
  }

  .exact-hero .hero-copy{
    order:1 !important;
    position:relative !important;
    width:100% !important;
    min-height:0 !important;
    padding:54px 18px 26px !important;
    justify-content:flex-start !important;
    background:#050505 !important;
  }

  .exact-hero .hero-copy .eyebrow{
    width:100% !important;
    margin:0 0 15px !important;
    font-size:12px !important;
    letter-spacing:.24em !important;
  }

  .exact-hero .hero-copy h1{
    width:100% !important;
    max-width:none !important;
    margin:0 0 18px !important;
    font-size:47px !important;
    line-height:.94 !important;
  }

  .exact-hero .hero-copy p{
    width:100% !important;
    max-width:none !important;
    margin:0 0 24px !important;
    font-size:16px !important;
    line-height:1.5 !important;
  }

  .exact-hero .actions{
    width:100% !important;
    max-width:none !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .exact-hero .actions .btn,
  .exact-hero .actions .outline-btn,
  .exact-hero .actions a{
    width:100% !important;
    min-width:0 !important;
    min-height:54px !important;
    padding:16px 18px !important;
    font-size:14px !important;
    text-align:center !important;
  }

  /* Photo becomes its own clean block below copy */
  .exact-hero .exact-photo{
    order:2 !important;
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:360px !important;
    min-height:360px !important;
    overflow:hidden !important;
    background:#0a0908 !important;
  }

  .exact-hero .exact-photo > img{
    position:absolute !important;
    top:50% !important;
    left:50% !important;
    width:auto !important;
    min-width:100% !important;
    height:100% !important;
    min-height:100% !important;
    object-fit:cover !important;
    object-position:center 28% !important;
    transform:translate(-50%,-50%) scale(.96) !important;
  }

  /* Remove desktop fade on mobile */
  .exact-hero .hero-grid::before{
    display:none !important;
    content:none !important;
  }

  /* Owner label */
  .exact-hero .hero-owner-info{
    right:18px !important;
    bottom:18px !important;
    z-index:6 !important;
    padding:8px 10px !important;
    background:rgba(0,0,0,.50) !important;
    border-radius:3px !important;
  }

  .exact-hero .hero-owner-info strong{
    font-size:15px !important;
  }

  .exact-hero .hero-owner-info span{
    font-size:11px !important;
  }

  /* Trust bar: clean stacked list */
  .trust{
    background:#f5efe6 !important;
  }

  .trust .wrap{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    gap:0 !important;
  }

  .trust .wrap > div{
    min-height:54px !important;
    width:100% !important;
    padding:14px 18px !important;
    font-size:14px !important;
    justify-content:flex-start !important;
    border-bottom:1px solid rgba(45,35,25,.12) !important;
  }

  .trust .wrap > div:last-child{
    border-bottom:0 !important;
  }

  /* Service cards */
  .home-services{
    padding:12px !important;
  }

  .exact-services{
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }

  .exact-services .service{
    aspect-ratio:.86 / 1 !important;
  }

  /* About section */
  .about-exact{
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  .about-copy{
    padding:32px 20px !important;
  }

  .about-image{
    height:320px !important;
    min-height:320px !important;
  }

  /* Transformations */
  .builder-transform-section .transform-grid{
    grid-template-columns:1fr !important;
    width:calc(100% - 24px) !important;
  }

  .builder-transform-section .transform-copy{
    padding:0 !important;
  }

  .builder-transform-section .transform-copy h2{
    font-size:40px !important;
  }

  .builder-transform-section .transform-images{
    grid-template-columns:1fr !important;
  }

  .builder-transform-section .transform-card{
    aspect-ratio:1.45 / 1 !important;
  }

  /* Reviews */
  .reviews-exact,
  .reviews-exact .wrap{
    display:block !important;
  }

  .reviews-exact{
    padding:28px 16px !important;
  }

  .reviews-exact .review-card{
    margin-bottom:12px !important;
  }

  /* Salon shop */
  .shop-category-grid{
    grid-template-columns:1fr !important;
  }

  /* Footer CTA */
  .footer-cta .wrap,
  .cta-exact .wrap,
  .prefooter .wrap,
  .booking-cta .wrap{
    grid-template-columns:1fr !important;
    gap:16px !important;
    text-align:left !important;
  }

  .footer-cta h2,
  .cta-exact h2,
  .prefooter h2,
  .booking-cta h2{
    max-width:260px !important;
    font-size:34px !important;
  }

  .footer-cta .btn,
  .cta-exact .btn,
  .prefooter .btn,
  .booking-cta .btn{
    width:100% !important;
  }

  /* Footer */
  .site-footer .wrap,
  footer .wrap{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    text-align:left !important;
  }

  .site-footer nav,
  footer nav{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px 12px !important;
  }

  .site-footer nav a,
  footer nav a{
    padding:4px 0 !important;
  }
}


/* =========================================================
   v4.3 — fix exact CTA contact text sizing
   Targets the actual footer.php classes: .exact-cta / .cta-detail
   ========================================================= */

.exact-cta{
  padding:32px 0 !important;
}

.exact-cta .wrap{
  display:grid !important;
  grid-template-columns:1.35fr repeat(3,1fr) auto !important;
  align-items:center !important;
  gap:34px !important;
}

.exact-cta .cta-script{
  font-family:Georgia,serif !important;
  font-style:italic !important;
  font-size:40px !important;
  line-height:.98 !important;
  color:#fff !important;
  max-width:270px !important;
}

.exact-cta .cta-detail{
  display:flex !important;
  flex-direction:column !important;
  gap:5px !important;
  font-size:16px !important;
  line-height:1.25 !important;
  color:#fff !important;
}

.exact-cta .cta-detail b{
  display:block !important;
  font-size:16px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
  color:#fff !important;
}

.exact-cta .cta-detail small{
  display:block !important;
  font-size:14px !important;
  line-height:1.35 !important;
  color:#eee7df !important;
}

.exact-cta .btn{
  min-width:210px !important;
  min-height:52px !important;
  padding:15px 24px !important;
  font-size:14px !important;
  white-space:nowrap !important;
}

/* Large desktop */
@media (min-width:1400px){
  .exact-cta .cta-script{
    font-size:44px !important;
  }

  .exact-cta .cta-detail b{
    font-size:17px !important;
  }

  .exact-cta .cta-detail small{
    font-size:15px !important;
  }

  .exact-cta .btn{
    font-size:15px !important;
  }
}

/* Tablet */
@media (max-width:1000px){
  .exact-cta .wrap{
    grid-template-columns:1fr 1fr !important;
    gap:22px 28px !important;
  }

  .exact-cta .cta-script{
    grid-column:1 / -1 !important;
    max-width:none !important;
    font-size:38px !important;
  }

  .exact-cta .btn{
    width:max-content !important;
  }
}

/* Mobile */
@media (max-width:620px){
  .exact-cta{
    padding:26px 0 !important;
  }

  .exact-cta .wrap{
    grid-template-columns:1fr !important;
    gap:17px !important;
  }

  .exact-cta .cta-script{
    grid-column:auto !important;
    font-size:34px !important;
    max-width:260px !important;
  }

  .exact-cta .cta-detail{
    font-size:15px !important;
    gap:4px !important;
    padding:2px 0 !important;
  }

  .exact-cta .cta-detail b{
    font-size:16px !important;
  }

  .exact-cta .cta-detail small{
    font-size:14px !important;
  }

  .exact-cta .btn{
    width:100% !important;
    min-width:0 !important;
    font-size:14px !important;
  }
}


/* v4.4 — clickable phone and salon address */
.si-phone-link,
.si-address-link{
  color:inherit !important;
  text-decoration:none !important;
}

.si-phone-link:hover,
.si-address-link:hover{
  color:#d6aa69 !important;
  text-decoration:underline !important;
  text-underline-offset:3px !important;
}

.exact-cta .cta-detail a{
  display:inline-block !important;
}

@media(max-width:620px){
  .si-phone-link,
  .si-address-link{
    font-size:inherit !important;
  }
}
