:root{--ink:#171514;--dark:#211e1b;--paper:#fcfaf7;--cream:#f4eee8;--rose:#b9825b;--gold:#d0a078;--muted:#716a65;--line:#ddd3ca;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
.topbar{height:34px;background:var(--ink);color:#eee7df;display:flex;align-items:center;justify-content:center;gap:12px;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.topbar i{width:3px;height:3px;border-radius:50%;background:var(--gold)}
.header{height:88px;position:absolute;top:34px;left:0;right:0;z-index:10;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;color:#fff;border-bottom:1px solid rgba(255,255,255,.2);transition:.25s}.brand{display:flex;align-items:center;gap:10px}.brand img{width:54px;height:54px;object-fit:cover;object-position:center top;mix-blend-mode:screen}.brand span{display:flex;flex-direction:column;line-height:1}.brand b{font-family:var(--serif);font-size:24px;letter-spacing:.22em;font-weight:600}.brand small{font-size:8px;letter-spacing:.27em;color:#e2c2a8;margin-top:7px}
nav{display:flex;align-items:center;gap:27px;font-size:11px;letter-spacing:.13em;text-transform:uppercase}nav a{opacity:.9}nav a:hover,nav .active{color:#e4b994}.book{border:1px solid #d4a57f;padding:12px 18px;border-radius:99px}.book strong{margin-left:8px}.menu{display:none;background:transparent;border:0}.menu em{display:block;width:24px;height:1px;background:#fff;margin:5px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 23px;border-radius:99px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.btn.gold{background:var(--gold);color:var(--ink)}.btn.clear{border:1px solid rgba(255,255,255,.5);color:#fff}.btn span{margin-left:9px}
.eyebrow,.kicker{font-size:10px;text-transform:uppercase;letter-spacing:.22em;font-weight:700;color:var(--rose)}.eyebrow.light{color:#e5c2a4}
h1,h2,h3{font-family:var(--serif);font-weight:500}.page-hero{height:650px;position:relative;overflow:hidden;background:#292522;color:#fff}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,17,15,.88),rgba(20,17,15,.48) 52%,rgba(20,17,15,.15))}.hero-content{position:relative;z-index:2;padding:180px 7vw;max-width:850px}.hero-content h1{font-size:clamp(66px,8vw,108px);line-height:.85;letter-spacing:-.035em;margin:25px 0}.hero-content h1 em,.page-title em{color:#d2a37e;font-weight:400}.hero-content>p:not(.eyebrow){max-width:540px;color:#eee6df;font-size:15px}.hero-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.page-label{position:absolute;z-index:2;right:4vw;bottom:35px;font-size:9px;letter-spacing:.22em;writing-mode:vertical-rl;color:#e1d5cd}
.section{max-width:var(--max);margin:auto;padding:105px 6vw}.section h2{font-size:clamp(50px,5.4vw,76px);line-height:.9;letter-spacing:-.025em;margin:0}.section h2 em{color:var(--rose);font-weight:400}
footer{background:#151312;color:#fff;padding:65px 6vw 20px}.footer-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:60px}.footer-grid img{width:255px;height:90px;object-fit:cover;mix-blend-mode:screen}.footer-grid p{font-family:var(--serif);color:#8f8781;font-size:19px;margin:0}.links{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:11px}.links a{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#cfc7c1}.contact{display:flex;flex-direction:column;gap:5px}.contact small{font-size:9px;text-transform:uppercase;letter-spacing:.17em;color:#8f8781}.contact b{font-size:12px}.contact span{font-size:11px;color:#8f8781}.contact a{font-family:var(--serif);font-size:23px;color:#d9aa85;margin-top:7px}.bottom{max-width:var(--max);margin:55px auto 0;padding-top:20px;border-top:1px solid #302c29;display:flex;justify-content:space-between;color:#6f6965;font-size:9px;text-transform:uppercase;letter-spacing:.1em}
@media(max-width:900px){.topbar span:last-child{display:none}.header{padding:0 22px}.menu{display:block}.header nav{display:none;position:absolute;top:75px;left:15px;right:15px;background:#211e1b;padding:20px;flex-direction:column;align-items:stretch;gap:17px;border:1px solid #423b36}.header nav.open{display:flex}.book{text-align:center}.page-hero{height:620px}.hero-content{padding:175px 28px 40px}.hero-content h1{font-size:67px}.page-label{display:none}.section{padding:75px 24px}.footer-grid{grid-template-columns:1fr}.bottom{flex-direction:column;gap:8px}}
@media(max-width:520px){.brand img{width:46px;height:46px}.brand b{font-size:20px}.hero-content h1{font-size:55px}.hero-actions{flex-direction:column;align-items:stretch}.btn{width:100%}}
.home-hero{height:min(820px,calc(100vh - 34px));min-height:650px;position:relative;overflow:hidden;background:#292522;color:#fff}.home-bg{position:absolute;inset:0;background:linear-gradient(100deg,rgba(18,15,13,.84),rgba(18,15,13,.5) 43%,rgba(18,15,13,.18)),url("https://images.unsplash.com/photo-1604654894610-df63bc536371?auto=format&fit=crop&w=2200&q=88") center/cover}.home-content{position:relative;z-index:2;padding:190px 7vw;max-width:850px}.home-content h1{font-family:var(--serif);font-size:clamp(68px,8.2vw,116px);line-height:.83;font-weight:500;letter-spacing:-.035em;margin:25px 0}.home-content h1 em{color:#d2a37e;font-weight:400}.home-content>p:not(.eyebrow){max-width:520px;color:#eee7e0;font-size:16px}.intro-home{padding:105px 6vw;max-width:var(--max);margin:auto}.intro-home-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:100px}.intro-home h2{font-size:clamp(50px,5.5vw,78px);line-height:.92;margin:0;font-family:var(--serif);font-weight:500}.intro-home h2 em{color:var(--rose);font-weight:400}.intro-home p{color:var(--muted);font-size:15px}.home-services{background:var(--cream);padding:105px 6vw}.home-services-head{max-width:var(--max);margin:auto;display:flex;justify-content:space-between;align-items:end}.home-services h2{font-size:clamp(50px,5.5vw,78px);line-height:.92;margin:0;font-family:var(--serif);font-weight:500}.home-services h2 em{color:var(--rose);font-weight:400}.home-service-grid{max-width:var(--max);margin:55px auto 0;display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px}.home-service-card{background:#fff}.home-photo{height:300px;background-size:cover;background-position:center}.home-service-card:first-child .home-photo{height:430px}.nails{background-image:url("https://images.unsplash.com/photo-1610992015732-2449b76344bc?auto=format&fit=crop&w=1200&q=85")}.pedi{background-image:url("images/elite-spa-horizontal.png")}.beauty{background-image:url("images/elite-waxing-horizontal.png")}.home-service-body{padding:27px}.home-service-body h3{font-size:34px;margin:8px 0 5px}.home-service-body p{font-size:13px;color:var(--muted)}.home-service-body a{font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:700}.why{background:#49453f;color:#fff;text-align:center;padding:115px 6vw}.why h2{font-family:var(--serif);font-size:clamp(50px,5.5vw,78px);line-height:.92;margin:0}.why h2 em{color:#d2a37e}.why-grid{max-width:var(--max);margin:60px auto 0;padding-top:30px;border-top:1px solid #393532;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.why-grid b{font-family:var(--serif);font-size:22px;font-weight:500}.why-grid p{font-size:11px;color:#8f8781}.home-cta{background:#49453f;color:#fff;padding:90px 6vw;display:flex;justify-content:space-between;align-items:center;gap:50px}.home-cta h2{font-family:var(--serif);font-size:72px;line-height:.9;margin:0}.home-cta h2 em{color:#d2a37e}.home-cta p{max-width:430px;color:#bcb2aa;font-size:14px}
@media(max-width:900px){.home-content{padding:175px 28px 50px}.home-content h1{font-size:68px}.intro-home,.home-services,.why{padding:75px 24px}.intro-home-grid,.home-service-grid{grid-template-columns:1fr;gap:35px}.home-service-card:first-child .home-photo,.home-photo{height:340px}.home-services-head{align-items:start;flex-direction:column;gap:20px}.why-grid{grid-template-columns:1fr 1fr}.home-cta{padding:75px 24px;flex-direction:column;align-items:flex-start}.home-cta h2{font-size:60px}}
@media(max-width:520px){.home-content h1{font-size:55px}.why-grid{grid-template-columns:1fr}.home-cta h2{font-size:52px}}
.services-intro{background:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:100px}.services-intro p{color:var(--muted);font-size:15px;max-width:540px}.menu-section{background:var(--cream);padding:95px 6vw}.menu-wrap{max-width:var(--max);margin:auto}.menu-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px}.menu-head>p{max-width:360px;color:var(--muted);font-size:13px;margin:0}.price-card{background:#fff;margin-bottom:24px;padding:0 36px 30px;border:1px solid #e6ddd5}.price-card h3{font-size:38px;margin:0 -36px 0;padding:27px 36px 19px;background:#474649;color:#fff}.price-card h3 em{font-size:16px;font-family:var(--sans);font-style:normal;color:#d7a985;letter-spacing:.12em;text-transform:uppercase;margin-left:12px}.price-table{width:100%;border-collapse:collapse}.price-table th{text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:var(--rose);padding:18px 0 10px;border-bottom:1px solid var(--line)}.price-table td{padding:13px 0;border-bottom:1px solid #eee8e2;font-size:13px;vertical-align:top}.price-table tr:last-child td{border-bottom:0}.price-table td:nth-child(2),.price-table td:nth-child(3){text-align:right;font-weight:700;white-space:nowrap;padding-left:15px}.price-table .desc{color:var(--muted);font-size:11px;font-weight:400;padding-top:0}.price-note{font-size:10px;color:#857c75;margin:17px 0 0}.subheading{font-family:var(--serif);font-size:26px;font-weight:500;margin:28px 0 10px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.signature{padding:105px 6vw;background:#49453f;color:#fff}.signature-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1fr;min-height:440px}.signature-photo{background:url("images/elite-spa-horizontal.png") center/cover}.signature-copy{background:#2a2622;padding:60px;display:flex;flex-direction:column;justify-content:center}.signature-copy h2{font-size:65px;line-height:.9;margin:0 0 20px}.signature-copy h2 em{color:#d2a37e}.signature-copy p{color:#bdb4ad;font-size:14px;max-width:470px}.text-link{display:inline-flex;gap:10px;align-items:center;width:max-content;margin-top:17px;padding-bottom:7px;border-bottom:1px solid #6c5d52;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.text-link span{color:#d1a17d;font-size:16px}
@media(max-width:900px){.services-intro,.two-col,.signature-inner{grid-template-columns:1fr;gap:35px}.menu-head{align-items:start;flex-direction:column}.menu-section{padding:75px 24px}.price-card{padding:0 20px 24px}.price-card h3{margin:0 -20px;padding:22px 20px;font-size:32px}.price-table td{font-size:12px}.signature{padding:75px 24px}.signature-copy{padding:45px 30px}.signature-copy h2{font-size:55px}}
@media(max-width:520px){.price-table th:nth-child(2),.price-table th:nth-child(3),.price-table td:nth-child(2),.price-table td:nth-child(3){font-size:11px}.price-table td{padding:11px 0}.price-card h3 em{display:block;margin:3px 0 0;font-size:10px}}
.gallery-intro{text-align:center;background:var(--paper)}.gallery-intro p{max-width:620px;margin:25px auto 0;color:var(--muted)}.gallery-grid{max-width:var(--max);margin:auto;padding:0 6vw 110px;display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-template-rows:330px 330px;gap:14px}.tile{position:relative;background-size:cover;background-position:center;overflow:hidden}.tile:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.5))}.tile span{position:absolute;z-index:2;left:22px;bottom:18px;color:#fff;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.g1{grid-row:span 2;background-image:url("https://images.unsplash.com/photo-1610992015732-2449b76344bc?auto=format&fit=crop&w=1200&q=88")}.g2{background-image:url("https://images.unsplash.com/photo-1632345031435-8727f6897d53?auto=format&fit=crop&w=900&q=88")}.g3{background-image:url("https://images.unsplash.com/photo-1604654894610-df63bc536371?auto=format&fit=crop&w=900&q=88")}.g4{grid-column:2/4;background-image:url("https://images.unsplash.com/photo-1607779097040-26e80aa78e66?auto=format&fit=crop&w=1200&q=88")}.gallery-note{background:var(--cream);text-align:center;padding:80px 24px}.gallery-note p{max-width:620px;margin:20px auto;color:var(--muted);font-size:14px}
@media(max-width:900px){.gallery-grid{padding:0 24px 75px;grid-template-columns:1fr 1fr;grid-template-rows:270px 270px 270px}.g1{grid-row:span 2}.g4{grid-column:1/3}}
@media(max-width:520px){.gallery-grid{grid-template-columns:1fr;grid-template-rows:280px 230px 230px 230px}.g1{grid-row:auto}.g4{grid-column:auto}}
.contact-hero{background:#474649;color:#fff;padding:150px 6vw 90px}.contact-hero-inner{max-width:var(--max);margin:auto}.contact-hero h1{font-size:clamp(65px,8vw,105px);line-height:.84;margin:20px 0}.contact-grid{max-width:var(--max);margin:auto;padding:100px 6vw;display:grid;grid-template-columns:1fr 1fr;gap:80px}.info-list{display:grid;gap:28px}.info-item{border-top:1px solid var(--line);padding-top:18px}.info-item small{display:block;color:var(--rose);font-size:9px;letter-spacing:.18em;text-transform:uppercase}.info-item b,.info-item a{display:block;font-family:var(--serif);font-size:27px;font-weight:500;margin-top:4px}.info-item span{display:block;color:var(--muted);font-size:13px}.contact-form{background:var(--cream);padding:40px}.contact-form h2{font-size:48px;margin:0 0 20px}.contact-form label{font-size:10px;letter-spacing:.13em;text-transform:uppercase;display:block;margin:15px 0 6px}.contact-form input,.contact-form textarea{width:100%;border:1px solid #d7ccc2;background:#fff;padding:13px;font:inherit}.contact-form textarea{min-height:120px;resize:vertical}.map-box{height:400px;background:#ddd0c5 url("https://maps.googleapis.com/maps/api/staticmap?center=9409+US-98,+Pensacola,+FL&zoom=14&size=1200x500&maptype=roadmap") center/cover;display:grid;place-items:center}.map-overlay{background:rgba(255,255,255,.94);padding:25px;text-align:center}.map-overlay b{font-family:var(--serif);font-size:27px}.map-overlay a{display:block;margin-top:12px;color:var(--rose);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;padding:75px 24px;gap:50px}.contact-hero{padding:150px 24px 75px}}

/* Precision fixes: logo rendering + pricing alignment */
.brand img{
  width:62px;
  height:62px;
  object-fit:contain;
  object-position:center;
  background:transparent;
  mix-blend-mode:normal;
  flex:0 0 62px;
}
.brand{gap:12px}
footer .footer-grid img{
  width:230px;
  height:auto;
  max-height:185px;
  object-fit:contain;
  object-position:left center;
  background:transparent;
  mix-blend-mode:normal;
}
.price-table th:first-child,
.price-table td:first-child{width:68%;text-align:left}
.price-table th:nth-child(2),
.price-table th:nth-child(3),
.price-table td:nth-child(2),
.price-table td:nth-child(3){text-align:right}
.price-table th{vertical-align:bottom}
.price-table th:nth-child(2),
.price-table th:nth-child(3){padding-left:12px}
.price-table td:nth-child(2),
.price-table td:nth-child(3){padding-left:12px}
@media(max-width:900px){
  .brand img{width:58px;height:58px;flex-basis:58px}
  footer .footer-grid img{width:235px;max-height:190px}
}
@media(max-width:520px){
  .brand img{width:50px;height:50px;flex-basis:50px}
  .brand b{font-size:20px}
  footer .footer-grid img{width:215px;max-height:175px}
}

/* Home page: clean white header */
.home-page .header{background:#fff!important;color:#171514!important;border-bottom:1px solid #e8e0d9!important;box-shadow:0 1px 0 rgba(23,21,20,.04);backdrop-filter:none!important}
.home-page .brand b{color:#171514}.home-page .brand small{color:#9a6d4d}
.home-page .header nav a{color:#171514;opacity:.9}
.home-page .header nav a:hover,.home-page .header nav .active{color:#b9825b}
.home-page .header .book{color:#171514;background:#fff;border-color:#b9825b}
.home-page .header .book:hover{color:#fff;background:#b9825b}
.home-page .menu em{background:#171514}
@media(max-width:900px){.home-page .header nav{background:#fff!important;border-color:#e5dcd4;box-shadow:0 10px 30px rgba(23,21,20,.10)}.home-page .header nav a{color:#171514}}

/* HOME PAGE — clean white footer */
.home-page footer{
  background:#fff !important;
  color:#171514 !important;
  border-top:1px solid #e8e0d9;
}
.home-page footer .footer-grid img{
  filter:none;
  mix-blend-mode:multiply;
}
.home-page footer .footer-grid p{
  color:#716a65;
}
.home-page footer .links a{
  color:#171514;
}
.home-page footer .contact small{
  color:#9a6d4d;
}
.home-page footer .contact b{
  color:#171514;
}
.home-page footer .contact span{
  color:#716a65;
}
.home-page footer .contact a{
  color:#b9825b;
}
.home-page footer .bottom{
  color:#716a65;
  border-top-color:#e8e0d9;
}

/* V5 Home matching dark top and bottom bars */
.home-page .topbar{background:var(--dark)!important;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.10)}
.home-page .topbar span,.home-page .topbar a{color:#fff!important}
.home-page footer{padding-bottom:0!important}
.home-page footer .bottom{background:var(--dark)!important;color:#fff!important;border-top:0!important;max-width:none!important;margin:55px -6vw 0!important;padding:18px 6vw!important}
.home-page footer .bottom span,.home-page footer .bottom a{color:#fff!important}

/* =========================================================
   V6 — CONSISTENT SITE-WIDE HEADER / FOOTER TREATMENT
   Applies the Home Page visual treatment to every page.
   ========================================================= */

/* Top utility strip: same dark tone as CTA sections */
.site-page .topbar{
  background:#474649 !important;
  color:#fff !important;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.site-page .topbar span,
.site-page .topbar a{
  color:#fff !important;
}
.site-page .topbar i{
  background:#474649 !important;
}

/* Main navigation area: clean white */
.site-page .header{
  background:#fff !important;
  color:#171514 !important;
  border-bottom:1px solid #e8e0d9 !important;
  box-shadow:0 1px 0 rgba(23,21,20,.04);
  backdrop-filter:none !important;
}
.site-page .brand b{color:#171514}
.site-page .brand small{color:#9a6d4d}
.site-page .header nav a{
  color:#171514;
  opacity:.9;
}
.site-page .header nav a:hover,
.site-page .header nav .active{
  color:#b9825b;
}
.site-page .header .book{
  color:#171514;
  background:#fff;
  border:1px solid #b9825b;
}
.site-page .header .book:hover{
  color:#fff;
  background:#b9825b;
}
.site-page .menu em{
  background:#171514;
}

/* Main footer: clean white */
.site-page footer{
  background:#fff !important;
  color:#171514 !important;
  border-top:1px solid #e8e0d9;
  padding-bottom:0 !important;
}
.site-page footer .footer-grid img{
  filter:none;
  mix-blend-mode:multiply;
}
.site-page footer .footer-grid p{
  color:#716a65;
}
.site-page footer .links a{
  color:#171514;
}
.site-page footer .contact small{
  color:#9a6d4d;
}
.site-page footer .contact b{
  color:#171514;
}
.site-page footer .contact span{
  color:#716a65;
}
.site-page footer .contact a{
  color:#b9825b;
}

/* Bottom copyright / hours bar: dark with white text */
.site-page footer .bottom{
  background:#474649 !important;
  color:#fff !important;
  border-top:0 !important;
  max-width:none !important;
  margin:55px -6vw 0 !important;
  padding:18px 6vw !important;
}
.site-page footer .bottom span,
.site-page footer .bottom a{
  color:#fff !important;
}

/* Mobile menu keeps the same white treatment */
@media(max-width:900px){
  .site-page .header nav{
    background:#fff !important;
    border-color:#e5dcd4;
    box-shadow:0 10px 30px rgba(23,21,20,.10);
  }
  .site-page .header nav a{
    color:#171514;
  }
}

/* V9 — larger, sharper logo in the white navigation header on every page */
.site-page .header{
  height:104px;
}
.site-page .brand{
  gap:13px;
}
.site-page .brand img{
  width:76px !important;
  height:76px !important;
  object-fit:contain !important;
  object-position:center !important;
  mix-blend-mode:multiply;
  image-rendering:auto;
}
.site-page .brand b{
  font-size:27px;
}
.site-page .brand small{
  font-size:9px;
  margin-top:7px;
}
@media(max-width:900px){
  .site-page .header{
    height:94px;
  }
  .site-page .brand img{
    width:66px !important;
    height:66px !important;
  }
  .site-page .brand b{
    font-size:23px;
  }
}
@media(max-width:520px){
  .site-page .header{
    height:88px;
  }
  .site-page .brand img{
    width:60px !important;
    height:60px !important;
  }
}

/* V10 — Social media icons in the footer on every page */
.social-links{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:20px;
}
.social-links a{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d9c8bb;
  border-radius:50%;
  background:#fff;
  color:#9a6d4d;
  transition:transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
}
.social-links svg{
  width:17px;
  height:17px;
  fill:currentColor;
}
.social-links a:hover{
  transform:translateY(-2px);
  background:#b9825b;
  border-color:#b9825b;
  color:#fff;
}
@media(max-width:900px){
  .social-links{margin-top:18px}
}

/* V12 — Home Page Testimonials */
.testimonials-section{
  background:#fcfaf7;
  padding:110px 6vw;
}
.testimonials-inner{
  max-width:var(--max);
  margin:auto;
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:70px;
  align-items:start;
}
.testimonials-heading{
  position:sticky;
  top:140px;
}
.testimonials-heading h2{
  font-family:var(--serif);
  font-size:clamp(50px,5.4vw,76px);
  line-height:.9;
  letter-spacing:-.025em;
  font-weight:500;
  margin:0;
}
.testimonials-heading h2 em{
  color:var(--rose);
  font-weight:400;
}
.testimonials-heading p{
  color:var(--muted);
  font-size:14px;
  max-width:390px;
  margin-top:25px;
}
.testimonials-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.testimonial-card{
  background:#fff;
  border:1px solid #e8ded6;
  padding:32px;
  min-height:300px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:transform .22s ease,border-color .22s ease;
}
.testimonial-card:hover{
  transform:translateY(-4px);
  border-color:#d0b8a4;
}
.testimonial-stars{
  color:#b9825b;
  letter-spacing:.14em;
  font-size:13px;
}
.testimonial-card blockquote{
  font-family:var(--serif);
  font-size:28px;
  line-height:1.12;
  margin:26px 0 30px;
  color:#2a2623;
}
.testimonial-author{
  display:flex;
  align-items:center;
  gap:12px;
  padding-top:19px;
  border-top:1px solid #eee6df;
}
.testimonial-avatar{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#f1e5dc;
  color:#9a6d4d;
  font-family:var(--serif);
  font-size:15px;
  font-weight:600;
}
.testimonial-author div{
  display:flex;
  flex-direction:column;
}
.testimonial-author b{
  font-family:var(--serif);
  font-size:18px;
  font-weight:600;
}
.testimonial-author small{
  color:#8b827b;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.13em;
  margin-top:2px;
}
@media(max-width:900px){
  .testimonials-section{padding:75px 24px}
  .testimonials-inner{grid-template-columns:1fr;gap:40px}
  .testimonials-heading{position:static}
}
@media(max-width:620px){
  .testimonials-grid{grid-template-columns:1fr}
  .testimonial-card{min-height:260px}
  .testimonial-card blockquote{font-size:25px}
}


/* =========================================================
   REAL ELITE GALLERY — current salon photos
   ========================================================= */
.gallery-page-hero .hero-bg{
  background-position:center 46%;
  filter:saturate(.92) contrast(.98);
}
.real-gallery-intro{
  padding-bottom:70px;
}
.real-gallery-section{
  max-width:var(--max);
  margin:0 auto;
  padding:0 6vw 110px;
}
.real-gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:270px;
  grid-auto-flow:dense;
  gap:16px;
}
.real-gallery-item{
  position:relative;
  overflow:hidden;
  border:0;
  padding:0;
  background:#eee6df;
  cursor:zoom-in;
  min-width:0;
}
.real-gallery-item img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease,filter .45s ease;
}
.real-gallery-item:hover img,
.real-gallery-item:focus-visible img{
  transform:scale(1.035);
  filter:saturate(1.06);
}
.real-gallery-item.gallery-featured{
  grid-column:span 2;
  grid-row:span 2;
}
.real-gallery-item.gallery-tall{
  grid-row:span 2;
}
.real-gallery-item.gallery-wide{
  grid-column:span 2;
}
.gallery-hover{
  position:absolute;
  inset:0;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  padding:18px;
  background:linear-gradient(to top,rgba(23,21,20,.38),transparent 42%);
  opacity:0;
  transition:opacity .25s ease;
}
.gallery-hover span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:64px;
  height:32px;
  border:1px solid rgba(255,255,255,.68);
  border-radius:99px;
  color:#fff;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.16em;
  background:rgba(23,21,20,.18);
  backdrop-filter:blur(5px);
}
.real-gallery-item:hover .gallery-hover,
.real-gallery-item:focus-visible .gallery-hover{
  opacity:1;
}
.gallery-lightbox[hidden]{display:none}
.gallery-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  background:rgba(18,16,15,.94);
  padding:45px 80px;
}
.gallery-lightbox img{
  max-width:min(92vw,1100px);
  max-height:84vh;
  object-fit:contain;
  box-shadow:0 16px 50px rgba(0,0,0,.28);
}
.gallery-lightbox-close,
.gallery-lightbox-nav{
  position:absolute;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.06);
  color:#fff;
  cursor:pointer;
  display:grid;
  place-items:center;
  transition:background .2s ease,border-color .2s ease;
}
.gallery-lightbox-close:hover,
.gallery-lightbox-nav:hover{
  background:rgba(255,255,255,.13);
  border-color:rgba(255,255,255,.55);
}
.gallery-lightbox-close{
  right:28px;
  top:24px;
  width:44px;
  height:44px;
  border-radius:50%;
  font-size:30px;
  line-height:1;
}
.gallery-lightbox-nav{
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:64px;
  font-size:38px;
}
.gallery-lightbox-prev{left:22px}
.gallery-lightbox-next{right:22px}
.gallery-lightbox-count{
  position:absolute;
  bottom:22px;
  left:50%;
  transform:translateX(-50%);
  color:#d8ccc3;
  font-size:10px;
  letter-spacing:.18em;
}
body.gallery-open{overflow:hidden}

@media(max-width:900px){
  .real-gallery-section{padding:0 24px 75px}
  .real-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:250px;
    gap:12px;
  }
  .gallery-lightbox{padding:60px 58px}
}
@media(max-width:560px){
  .real-gallery-grid{
    grid-template-columns:1fr;
    grid-auto-rows:auto;
  }
  .real-gallery-item,
  .real-gallery-item.gallery-featured,
  .real-gallery-item.gallery-tall,
  .real-gallery-item.gallery-wide{
    grid-column:auto;
    grid-row:auto;
    aspect-ratio:4/5;
  }
  .real-gallery-item:nth-child(8){
    aspect-ratio:4/3;
  }
  .gallery-hover{display:none}
  .gallery-lightbox{padding:70px 14px 55px}
  .gallery-lightbox img{max-width:94vw;max-height:75vh}
  .gallery-lightbox-nav{
    width:40px;
    height:52px;
    font-size:30px;
    top:auto;
    bottom:10px;
    transform:none;
  }
  .gallery-lightbox-prev{left:14px}
  .gallery-lightbox-next{right:14px}
  .gallery-lightbox-close{right:14px;top:14px}
}


/* Directions Page — live Google Map */
.real-google-map{
  width:100%;
  min-height:430px;
  border:1px solid #e2d8cf;
  background:#f3eee9;
  overflow:hidden;
}
.real-google-map iframe{
  display:block;
  width:100%;
  height:430px;
  border:0;
}
@media(max-width:900px){
  .real-google-map,
  .real-google-map iframe{
    min-height:380px;
    height:380px;
  }
}
@media(max-width:520px){
  .real-google-map,
  .real-google-map iframe{
    min-height:330px;
    height:330px;
  }
}


/* Services Page — service-related imagery */
.service-menu-head{
  display:grid !important;
  grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);
  gap:58px !important;
  align-items:center !important;
  margin-bottom:48px;
}
.service-head-copy{
  max-width:520px;
}
.service-head-copy p{
  color:var(--muted);
  font-size:13px;
  margin:22px 0 0;
  max-width:430px;
}
.service-head-image{
  height:285px;
  overflow:hidden;
  background:#eadfd6;
}
.service-head-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s ease;
}
.service-head-image:hover img{
  transform:scale(1.025);
}
.beauty-service-images{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3px;
}
.beauty-service-images img{
  min-width:0;
}
@media(max-width:900px){
  .service-menu-head{
    grid-template-columns:1fr !important;
    gap:28px !important;
    align-items:start !important;
  }
  .service-head-image{
    height:320px;
  }
}
@media(max-width:520px){
  .service-head-image{
    height:240px;
  }
  .beauty-service-images{
    grid-template-columns:1fr 1fr;
  }
}


/* Services Page V2 — refreshed Spa, Beauty Care, and Kids imagery */
.kids-service-feature{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  background:#fff;
  border:1px solid #e6ddd5;
  margin:24px 0;
  overflow:hidden;
}
.kids-service-image{
  min-height:260px;
}
.kids-service-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.kids-service-copy{
  padding:40px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.kids-service-copy h3{
  font-family:var(--serif);
  font-size:38px;
  font-weight:500;
  margin:0 0 10px;
}
.kids-service-copy p{
  color:var(--muted);
  font-size:13px;
  margin:0;
  max-width:360px;
}
@media(max-width:900px){
  .kids-service-feature{
    grid-template-columns:1fr;
  }
  .kids-service-image{
    min-height:280px;
  }
}
@media(max-width:520px){
  .kids-service-copy{
    padding:28px 24px;
  }
  .kids-service-copy h3{
    font-size:32px;
  }
  .kids-service-image{
    min-height:220px;
  }
}


/* V12 Bright/Modern Service Photography */
.service-head-image{
  border-radius:2px;
  background:#f4eee8;
  box-shadow:0 12px 34px rgba(23,21,20,.07);
}
.service-head-image img,
.kids-service-image img{
  image-rendering:auto;
  filter:saturate(1.04) contrast(1.02) brightness(1.04);
}
.bright-beauty-images{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:4px !important;
}
.bright-beauty-images img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.kids-service-feature{
  border-color:#eadfd6;
  box-shadow:0 10px 30px rgba(23,21,20,.05);
}
@media(max-width:620px){
  .bright-beauty-images{
    grid-template-columns:1fr !important;
    height:auto !important;
  }
  .bright-beauty-images img{
    height:230px !important;
  }
}


/* V12 Gallery — medium thumbnails + full-size click zoom */
.real-gallery-section{
  max-width:1180px;
}
.real-gallery-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-auto-rows:auto !important;
  gap:22px !important;
}
.real-gallery-item,
.real-gallery-item.gallery-featured,
.real-gallery-item.gallery-tall,
.real-gallery-item.gallery-wide{
  grid-column:auto !important;
  grid-row:auto !important;
  aspect-ratio:4 / 3;
  border-radius:3px;
  background:#f3eee9;
}
.real-gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.gallery-lightbox img{
  max-width:min(94vw,1400px) !important;
  max-height:88vh !important;
  width:auto;
  height:auto;
  object-fit:contain !important;
}
@media(max-width:900px){
  .real-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
  }
}
@media(max-width:560px){
  .real-gallery-grid{
    grid-template-columns:1fr !important;
  }
  .real-gallery-item,
  .real-gallery-item.gallery-featured,
  .real-gallery-item.gallery-tall,
  .real-gallery-item.gallery-wide,
  .real-gallery-item:nth-child(8){
    aspect-ratio:4 / 3 !important;
  }
}


/* Gallery V12 — staggered flip/reveal entrance animation */
.gallery-enter-sequence{
  perspective:1200px;
}
.gallery-enter-sequence .real-gallery-item{
  opacity:0;
  transform-origin:center center;
  transform:
    translateY(20px)
    rotateX(8deg)
    rotateY(-16deg)
    scale(.965);
  filter:blur(2px);
  transition:
    opacity .82s cubic-bezier(.22,.61,.36,1) var(--gallery-delay,0ms),
    transform 1.02s cubic-bezier(.16,1,.3,1) var(--gallery-delay,0ms),
    filter .82s ease var(--gallery-delay,0ms);
  will-change:transform,opacity,filter;
  backface-visibility:hidden;
}
.gallery-enter-sequence .real-gallery-item:nth-child(even){
  transform:
    translateY(20px)
    rotateX(8deg)
    rotateY(16deg)
    scale(.965);
}
.gallery-enter-sequence .real-gallery-item.gallery-item-visible{
  opacity:1;
  transform:translateY(0) rotateX(0) rotateY(0) scale(1);
  filter:blur(0);
}
.gallery-enter-sequence.gallery-animation-complete .real-gallery-item{
  will-change:auto;
}
@media (prefers-reduced-motion: reduce){
  .gallery-enter-sequence .real-gallery-item{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    transition:none !important;
  }
}


/* Gallery — slower scroll-triggered reveal inspired by the current site */
.gallery-enter-sequence{
  perspective:1400px;
}
.gallery-enter-sequence .real-gallery-item{
  opacity:0 !important;
  transform-origin:center bottom;
  transform:translateY(46px) rotateX(9deg) scale(.94) !important;
  filter:blur(5px) brightness(.96);
  transition:
    opacity 1.15s cubic-bezier(.22,.61,.36,1) var(--gallery-delay,0ms),
    transform 1.35s cubic-bezier(.16,1,.3,1) var(--gallery-delay,0ms),
    filter 1.1s ease var(--gallery-delay,0ms) !important;
  will-change:transform,opacity,filter;
  backface-visibility:hidden;
}
.gallery-enter-sequence .real-gallery-item.gallery-item-visible{
  opacity:1 !important;
  transform:translateY(0) rotateX(0) scale(1) !important;
  filter:blur(0) brightness(1);
}
@media(prefers-reduced-motion:reduce){
  .gallery-enter-sequence .real-gallery-item{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    transition:none !important;
  }
}


/* Services — fix Volcano signature image visibility */
.signature-photo{
  display:block !important;
  min-height:440px !important;
  width:100%;
  background-image:url("images/elite-spa-horizontal.png") !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
@media(max-width:900px){
  .signature-photo{
    min-height:340px !important;
  }
}
@media(max-width:520px){
  .signature-photo{
    min-height:260px !important;
  }
}


/* Home page — larger header logo and clearer footer */
.home-page .header .brand img{
  width:74px !important;
  height:74px !important;
  object-fit:contain;
}
.home-page .header .brand span b{
  font-size:25px;
}
.home-page .header .brand span small{
  font-size:11px;
  letter-spacing:.24em;
}
.home-page footer .footer-grid > div:first-child > img{
  width:220px !important;
  max-width:100%;
  height:auto;
}
.home-page footer .social-links{
  margin-top:20px;
  gap:16px;
}
.home-page footer .social-links a{
  width:46px !important;
  height:46px !important;
}
.home-page footer .social-links svg{
  width:22px !important;
  height:22px !important;
}
.home-page footer .bottom{
  font-size:15px !important;
  line-height:1.6;
  font-weight:500;
  letter-spacing:.01em;
}
.home-page footer .bottom span{
  opacity:1 !important;
}
@media(max-width:700px){
  .home-page .header .brand img{
    width:62px !important;
    height:62px !important;
  }
  .home-page footer .bottom{
    font-size:14px !important;
  }
}


/* Home page — larger upper-left logo */
.home-page .header .brand img{
  width:96px !important;
  height:96px !important;
}
.home-page .header .brand{
  min-height:104px;
}
@media(max-width:700px){
  .home-page .header .brand img{
    width:78px !important;
    height:78px !important;
  }
  .home-page .header .brand{
    min-height:84px;
  }
}


/* Home page — extra-large upper-left logo */
.home-page .header .brand img{
  width:125px !important;
  height:125px !important;
}
.home-page .header .brand{
  min-height:132px;
}
@media(max-width:700px){
  .home-page .header .brand img{
    width:96px !important;
    height:96px !important;
  }
  .home-page .header .brand{
    min-height:102px;
  }
}


/* Services page — larger service names, descriptions, and pricing */
.services-page .price-table td{
  font-size:18px !important;
  line-height:1.55;
  padding-top:17px !important;
  padding-bottom:17px !important;
}
.services-page .price-table td:last-child{
  font-size:19px !important;
  font-weight:700 !important;
  white-space:nowrap;
}
.services-page .price-table .desc{
  font-size:15px !important;
  line-height:1.55;
  margin-top:4px;
  display:inline-block;
}
.services-page .price-table th{
  font-size:14px !important;
}
@media(max-width:700px){
  .services-page .price-table td{
    font-size:16.5px !important;
  }
  .services-page .price-table td:last-child{
    font-size:17.5px !important;
  }
  .services-page .price-table .desc{
    font-size:14px !important;
  }
}


/* Home page — slightly larger footer social icons */
.home-page footer .social-links{
  gap:18px;
}
.home-page footer .social-links a{
  width:54px !important;
  height:54px !important;
}
.home-page footer .social-links svg{
  width:26px !important;
  height:26px !important;
}
@media(max-width:700px){
  .home-page footer .social-links a{
    width:50px !important;
    height:50px !important;
  }
  .home-page footer .social-links svg{
    width:24px !important;
    height:24px !important;
  }
}


/* Contact form — silent Cloudflare Worker submission */
.contact-form input,
.contact-form textarea{width:100%}
.contact-honeypot{
  position:absolute !important;
  width:1px !important;height:1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
}
.contact-submit:disabled{opacity:.6;cursor:wait}
.contact-form-status{
  min-height:24px;
  margin:16px 0 0;
  font-size:14px;
  line-height:1.5;
}
.contact-form-status.success{color:#476a50}
.contact-form-status.error{color:#9b3f38}


/* Global footer consistency — all pages */
footer .social-links{
  gap:18px;
}
footer .social-links a{
  width:54px !important;
  height:54px !important;
}
footer .social-links svg{
  width:26px !important;
  height:26px !important;
}
footer .bottom{
  font-size:15px !important;
  line-height:1.6;
  font-weight:500;
  letter-spacing:.01em;
}
footer .bottom span{
  opacity:1 !important;
}
@media(max-width:700px){
  footer .social-links a{
    width:50px !important;
    height:50px !important;
  }
  footer .social-links svg{
    width:24px !important;
    height:24px !important;
  }
  footer .bottom{
    font-size:14px !important;
  }
}


/* Global header logo sizing — all pages */
.header .brand img{
  width:125px !important;
  height:125px !important;
  object-fit:contain;
}
.header .brand{
  min-height:132px;
}
@media(max-width:700px){
  .header .brand img{
    width:96px !important;
    height:96px !important;
  }
  .header .brand{
    min-height:102px;
  }
}
