/* ============================================
   SI GLAM GLOW — Main Stylesheet v1.0.0
   ============================================ */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --cream:#F9F5F0;--cream2:#F2EBE0;--warm:#E8D9C4;
  --gold:#B8955A;--gold-light:#D4B483;
  --dark:#1C1812;--mid:#5C4E3A;--text:#3A3028;
  --serif:'Cormorant Garamond',serif;--sans:'Jost',sans-serif;
}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--text);font-family:var(--sans);font-weight:300;overflow-x:hidden}

.topbar{background:var(--dark);color:rgba(255,255,255,.7);font-size:12px;letter-spacing:.12em;padding:10px 60px;display:flex;justify-content:space-between;align-items:center}
.topbar a{color:rgba(255,255,255,.7);text-decoration:none;transition:color .2s}.topbar a:hover{color:var(--gold-light)}
.topbar-promo{color:var(--gold-light)}.topbar-right{display:flex;gap:28px}

nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(249,245,240,.97);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--warm);padding:0 60px;display:flex;align-items:center;justify-content:space-between;height:80px;transition:box-shadow .3s}
nav.scrolled{box-shadow:0 4px 32px rgba(28,24,18,.08)}
.nav-logo,.custom-logo{height:72px;width:auto;display:block;max-width:200px;object-fit:contain}
.nav-links{display:flex;gap:36px;list-style:none;align-items:center}
.nav-links a{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mid);text-decoration:none;font-weight:400;transition:color .2s;position:relative;padding-bottom:4px}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width .3s}
.nav-links a:hover{color:var(--gold)}.nav-links a:hover::after{width:100%}
.nav-cta{background:var(--dark);color:white;padding:13px 28px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;border:none;cursor:pointer;transition:background .3s;font-family:var(--sans);text-decoration:none;display:inline-block;margin-left:-90px}
.nav-cta:hover{background:var(--gold)}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:none}
.hamburger span{display:block;width:24px;height:1px;background:var(--dark);transition:all .3s}

.mobile-menu{display:none;position:fixed;inset:0;background:var(--cream);z-index:200;flex-direction:column;align-items:center;justify-content:center;gap:28px}
.mobile-menu.open{display:flex}
.mobile-menu a{font-family:var(--serif);font-size:34px;font-weight:300;color:var(--dark);text-decoration:none;letter-spacing:.05em;transition:color .2s}
.mobile-menu a:hover{color:var(--gold)}
.mobile-book{font-family:var(--sans)!important;font-size:13px!important;letter-spacing:.18em;background:var(--dark);color:white!important;padding:16px 36px!important;text-transform:uppercase;margin-top:8px}
.mobile-close{position:absolute;top:28px;right:32px;font-size:28px;cursor:pointer;background:none;border:none;color:var(--dark);line-height:1}

.hero{height:100vh;min-height:640px;position:relative;display:flex;align-items:center;overflow:hidden;background:linear-gradient(135deg,#F0E8D8 0%,#E8D9C4 50%,#DCC9AA 100%)}
.hero-bg-text{position:absolute;right:-20px;top:50%;transform:translateY(-50%);font-family:var(--serif);font-size:clamp(120px,18vw,260px);font-weight:300;color:rgba(180,150,100,.07);line-height:1;user-select:none;letter-spacing:-.02em;pointer-events:none;animation:fadeIn 1.5s ease forwards}
.hero-content{position:relative;z-index:2;padding:0 60px;max-width:640px}
.hero-tag{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:28px;display:flex;align-items:center;gap:14px;opacity:0;animation:slideUp .8s ease .2s forwards}
.hero-tag::before{content:'';display:block;width:40px;height:1px;background:var(--gold)}
.hero h1{font-family:var(--serif);font-size:clamp(48px,6.5vw,88px);font-weight:300;line-height:1.05;color:var(--dark);margin-bottom:28px;opacity:0;animation:slideUp .8s ease .4s forwards}
.hero h1 em{font-style:italic;color:var(--gold)}
.hero-sub{font-size:15px;line-height:1.85;color:var(--mid);max-width:420px;margin-bottom:48px;opacity:0;animation:slideUp .8s ease .6s forwards}
.hero-btns{display:flex;gap:20px;align-items:center;flex-wrap:wrap;opacity:0;animation:slideUp .8s ease .8s forwards}
.hero-image{position:absolute;right:0;top:0;width:48%;height:100%;overflow:hidden;opacity:0;animation:fadeIn 1.2s ease .5s forwards}
.hero-image img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.hero-image::before{content:'';position:absolute;left:0;top:0;bottom:0;width:140px;background:linear-gradient(to right,#EDE4D6 0%,transparent 100%);z-index:1}
.hero-scroll{position:absolute;bottom:40px;left:60px;display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--mid);opacity:0;animation:fadeIn 1s ease 1.2s forwards}
.hero-scroll-line{width:1px;height:60px;background:var(--gold);animation:scrollPulse 2s ease-in-out infinite}
.hero-badges{position:absolute;bottom:40px;right:60px;display:flex;gap:16px;opacity:0;animation:fadeIn 1s ease 1.4s forwards}
.hero-badge{background:rgba(255,255,255,.85);backdrop-filter:blur(4px);padding:14px 20px;border:1px solid var(--warm);text-align:center;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--mid)}
.hero-badge strong{display:block;font-family:var(--serif);font-size:24px;font-weight:300;color:var(--dark);letter-spacing:0;line-height:1;margin-bottom:4px}

.btn-primary{background:var(--dark);color:white;padding:17px 38px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;border:none;cursor:pointer;font-family:var(--sans);transition:all .3s;text-decoration:none;display:inline-block}
.btn-primary:hover{background:var(--gold);transform:translateY(-1px)}
.btn-ghost{color:var(--dark);font-size:11px;letter-spacing:.2em;text-transform:uppercase;border:none;background:none;cursor:pointer;font-family:var(--sans);display:inline-flex;align-items:center;gap:10px;border-bottom:1px solid currentColor;padding-bottom:3px;transition:color .2s;text-decoration:none}
.btn-ghost:hover{color:var(--gold)}
.btn-gold{background:var(--gold);color:white;padding:17px 40px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;border:none;cursor:pointer;font-family:var(--sans);transition:all .3s;display:inline-block;text-decoration:none}
.btn-gold:hover{background:var(--gold-light);transform:translateY(-1px)}
.btn-outline-light{background:transparent;color:white;padding:17px 38px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;border:1px solid rgba(255,255,255,.25);cursor:pointer;font-family:var(--sans);transition:all .3s;text-decoration:none;display:inline-block}
.btn-outline-light:hover{border-color:var(--gold);color:var(--gold-light)}
.text-link{display:inline-flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--dark);margin-top:16px;border-bottom:1px solid var(--dark);padding-bottom:3px;transition:color .3s,border-color .3s;text-decoration:none}
.text-link:hover{color:var(--gold);border-color:var(--gold)}

.marquee-wrap{background:var(--dark);overflow:hidden;padding:18px 0;white-space:nowrap;border-top:1px solid rgba(255,255,255,.12)}
.marquee-track{display:inline-flex;animation:marquee 55s linear infinite}
.marquee-item{font-family:var(--serif);font-size:15px;font-weight:300;color:rgba(255,255,255,.45);margin:0 36px;letter-spacing:.1em;font-style:italic}
.marquee-dot{color:var(--gold);margin:0 4px}

.section-label{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.section-header{text-align:center;margin-bottom:72px;display:flex;flex-direction:column;align-items:center}
.section-header .section-label{justify-content:center}
.section-header .section-label::before{display:none}
.section-header h2{font-family:var(--serif);font-size:clamp(36px,4vw,56px);font-weight:300;color:var(--dark);margin-top:16px}
.section-header h2 em{font-style:italic}
.credentials{display:flex;gap:12px;align-items:center;margin-top:40px;padding-top:40px;border-top:1px solid var(--warm);flex-wrap:wrap}
.cred-badge{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--mid);border:1px solid var(--warm);padding:8px 14px}

.about{padding:130px 60px;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.about h2{font-family:var(--serif);font-size:clamp(36px,4vw,56px);font-weight:300;line-height:1.1;color:var(--dark);margin-bottom:32px;margin-top:16px}
.about h2 em{font-style:italic}
.about p{font-size:14px;line-height:1.95;color:var(--mid);margin-bottom:18px}
.about-image{position:relative}
.about-image img{width:100%;height:520px;object-fit:cover;object-position:top center;display:block}
.about-img-badge{position:absolute;bottom:-28px;left:-28px;background:white;border:1px solid var(--warm);padding:32px 36px;text-align:center;box-shadow:0 8px 40px rgba(28,24,18,.1)}
.about-img-badge .num{font-family:var(--serif);font-size:56px;font-weight:300;color:var(--gold);line-height:1}
.about-img-badge .txt{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--mid);margin-top:6px}

.services{padding:100px 60px;background:var(--cream2)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.service-card{background:var(--cream);padding:52px 40px;position:relative;overflow:hidden;cursor:pointer;transition:transform .3s;text-decoration:none;display:block;color:inherit}
.service-card::before{content:'';position:absolute;inset:0;background:white;opacity:0;transition:opacity .4s;pointer-events:none}
.service-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.25,.46,.45,.94)}
.service-card:hover::before{opacity:1}.service-card:hover::after{transform:scaleX(1)}.service-card:hover{transform:translateY(-2px)}
.service-card>*{position:relative;z-index:1}
.service-img{width:100%;height:200px;object-fit:cover;margin-bottom:28px;display:block}
.service-num{font-family:var(--serif);font-size:48px;font-weight:300;color:rgba(184,149,90,.18);line-height:1;margin-bottom:20px}
.service-card h3{font-family:var(--serif);font-size:24px;font-weight:400;color:var(--dark);margin-bottom:12px}
.service-card p{font-size:13px;line-height:1.85;color:var(--mid)}
.service-arrow{display:inline-flex;align-items:center;gap:8px;margin-top:24px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:400;transition:gap .3s}
.service-card:hover .service-arrow{gap:14px}

.ba-section{padding:130px 60px;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.ba-heading{font-family:var(--serif);font-size:clamp(36px,4vw,56px);font-weight:300;color:var(--dark);line-height:1.1;margin-bottom:32px;margin-top:16px}
.ba-heading em{font-style:italic}
.ba-text{font-size:14px;line-height:1.95;color:var(--mid);margin-bottom:16px}
.ba-images{position:relative;height:520px}
.ba-wrap{position:relative;width:100%;height:100%;overflow:hidden;cursor:col-resize;user-select:none;-webkit-user-select:none}
.ba-before,.ba-after{position:absolute;inset:0}
.ba-before img,.ba-after img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.ba-after{clip-path:inset(0 50% 0 0)}
.ba-label{position:absolute;bottom:20px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;background:rgba(255,255,255,.92);color:var(--dark);padding:8px 16px;z-index:2;pointer-events:none}
.ba-label-b{left:20px}.ba-label-a{right:20px}
.ba-divider-line{position:absolute;top:0;bottom:0;left:50%;width:2px;background:white;z-index:3;transform:translateX(-50%)}
.ba-divider-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:white;display:flex;align-items:center;justify-content:center;z-index:4;font-size:18px;box-shadow:0 4px 20px rgba(0,0,0,.2);color:var(--dark);pointer-events:none}

.stats{background:var(--dark);padding:90px 60px;display:grid;grid-template-columns:repeat(4,1fr)}
.stat-item{text-align:center;padding:0 20px;border-right:1px solid rgba(255,255,255,.1)}
.stat-item:last-child{border:none}
.stat-num{font-family:var(--serif);font-size:clamp(48px,5.5vw,76px);font-weight:300;color:var(--gold-light);line-height:1}
.stat-label{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:14px;line-height:1.6}

.testimonials{padding:130px 60px;background:var(--cream)}
.testimonials-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;margin-top:72px}
.tcard{background:white;padding:52px 44px;border:1px solid var(--warm);position:relative;transition:box-shadow .3s,transform .3s}
.tcard:hover{box-shadow:0 12px 48px rgba(28,24,18,.08);transform:translateY(-3px)}
.tcard::before{content:'\201C';font-family:var(--serif);font-size:96px;color:var(--gold);opacity:.2;position:absolute;top:16px;left:36px;line-height:1;pointer-events:none}
.tcard p{font-family:var(--serif);font-size:18px;font-style:italic;line-height:1.7;color:var(--dark);padding-top:44px}
.tcard-meta{margin-top:36px;display:flex;align-items:center;gap:18px;padding-top:28px;border-top:1px solid var(--warm)}
.tcard-avatar{width:52px;height:52px;border-radius:50%;background:var(--warm);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:16px;color:var(--mid);flex-shrink:0}
.tcard-name{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--dark);margin-bottom:4px}
.tcard-service{font-size:12px;color:var(--gold)}
.stars{color:var(--gold);font-size:13px;letter-spacing:3px;margin-bottom:10px}

.highlight{display:grid;grid-template-columns:1fr 1fr;min-height:580px}
.highlight-img{overflow:hidden}
.highlight-img img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .8s cubic-bezier(.25,.46,.45,.94)}
.highlight:hover .highlight-img img{transform:scale(1.03)}
.highlight-content{background:var(--dark);padding:90px 70px;display:flex;flex-direction:column;justify-content:center}
.highlight-content h2{font-family:var(--serif);font-size:clamp(30px,3.5vw,50px);font-weight:300;color:white;line-height:1.1;margin-bottom:28px;margin-top:16px}
.highlight-content h2 em{font-style:italic;color:var(--gold-light)}
.highlight-content p{font-size:14px;line-height:1.9;color:rgba(255,255,255,.5);margin-bottom:32px}
.hl-list{list-style:none;margin-bottom:48px}
.hl-list li{font-size:13px;color:rgba(255,255,255,.6);padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:12px}
.hl-list li::before{content:'\2736';color:var(--gold);font-size:9px;flex-shrink:0}

.cta-banner{background:linear-gradient(135deg,var(--dark) 0%,#2C2218 100%);padding:100px 60px;text-align:center;position:relative;overflow:hidden}
.cta-banner > *{position:relative;z-index:1}
.cta-banner h2{font-family:var(--serif);font-size:clamp(34px,5vw,64px);font-weight:300;color:white;margin-bottom:24px;position:relative}
.cta-banner h2 em{color:var(--gold-light);font-style:italic}
.cta-banner p{font-size:15px;color:rgba(255,255,255,.80);margin-bottom:40px;position:relative;max-width:500px;margin-left:auto;margin-right:auto;line-height:1.8}
.cta-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative}
.cta-banner .btn-gold{border-radius:40px;padding:18px 38px;transition:background .3s,transform .25s,box-shadow .3s}
.cta-banner .btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(184,149,90,.35)}
.cta-reassurance{font-family:var(--sans);font-size:7.5px;letter-spacing:.03em;text-transform:uppercase;color:rgba(255,255,255,.40);margin-top:14px;position:relative;display:inline-block;white-space:nowrap;max-width:none;}

/* ── INSTAGRAM STRIP — Cabana style ── */
.insta-strip{padding:80px 0 0;background:var(--cream);overflow:hidden}

/* Header: "Follow On [photos] Instagram" */
.insta-strip-header{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:48px;flex-wrap:wrap}
.insta-strip-follow{font-family:var(--serif);font-size:clamp(22px,2.8vw,36px);font-weight:300;font-style:italic;color:var(--dark);letter-spacing:.01em}
.insta-strip-handle{font-family:var(--serif);font-size:clamp(22px,2.8vw,36px);font-weight:300;font-style:italic;color:var(--dark);text-decoration:none;letter-spacing:.01em;transition:color .25s}
.insta-strip-handle:hover{color:var(--gold)}

/* Two stacked/fanned polaroid thumbnails */
.insta-strip-photos{position:relative;width:72px;height:56px;flex-shrink:0}
.insta-strip-polaroid{position:absolute;width:48px;height:48px;object-fit:cover;border-radius:6px;border:3px solid white;box-shadow:0 4px 16px rgba(28,24,18,.18)}
.insta-strip-polaroid--a{top:4px;left:0;transform:rotate(-8deg);z-index:1}
.insta-strip-polaroid--b{top:0;left:22px;transform:rotate(6deg);z-index:2}

/* Auto-scrolling track */
.insta-strip-track-wrap{overflow:hidden;width:100%}
.insta-strip-track{display:flex;gap:12px;width:max-content;animation:instaScroll 38s linear infinite;padding:0 6px 32px}
.insta-strip-track:hover{animation-play-state:paused}

.insta-strip-item{flex-shrink:0;width:260px;height:260px;border-radius:16px;overflow:hidden;display:block;cursor:pointer;position:relative}
.insta-strip-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.25,.46,.45,.94)}
.insta-strip-item:hover img{transform:scale(1.06)}
/* Subtle Instagram icon overlay on hover */
.insta-strip-item::after{content:'';position:absolute;inset:0;background:rgba(28,24,18,.32);opacity:0;transition:opacity .3s;border-radius:16px}
.insta-strip-item:hover::after{opacity:1}

@keyframes instaScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

/* Responsive */
@media(max-width:960px){
  .insta-strip-item{width:200px;height:200px}
  .insta-strip{padding:60px 0 0}
}
@media(max-width:540px){
  .insta-strip-item{width:160px;height:160px}
  .insta-strip-header{gap:10px}
}

footer{background:var(--dark);color:rgba(255,255,255,.6);padding:90px 60px 50px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;align-items:start}
.footer-logo-link{display:block;margin-bottom:24px}
.footer-logo-img{height:48px;width:auto;filter:brightness(0) invert(1);opacity:.75}
.footer-brand p{font-size:13px;line-height:1.9;color:rgba(255,255,255,.35);max-width:260px;margin-bottom:28px}
.footer-social{display:flex;gap:14px}
.footer-social a{width:38px;height:38px;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);text-decoration:none;transition:all .3s}
.footer-social a:hover{border-color:var(--gold);color:var(--gold-light)}
.footer-col h4{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-light);margin-bottom:24px}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:12px}
.footer-col a{font-size:13px;color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s}
.footer-col a:hover{color:var(--gold-light)}
.footer-addr{font-size:13px;color:rgba(255,255,255,.3);line-height:1.8;display:block}
.footer-book{font-size:10px!important;padding:13px 24px!important}
.footer-bottom{background:var(--dark);border-top:1px solid rgba(255,255,255,.07);padding:24px 60px;display:flex;justify-content:space-between;align-items:center}
.footer-bottom span{font-size:11px;color:rgba(255,255,255,.22);letter-spacing:.06em}
.footer-legal{display:flex;gap:20px}
.footer-legal a{color:rgba(255,255,255,.22);text-decoration:none;font-size:11px;transition:color .2s}
.footer-legal a:hover{color:var(--gold-light)}

/* ============================================================
   CABANA-EXACT REVEAL SYSTEM
   Source decoded from script_main.PxXaQYnT.mjs:
     global.enter.mask = { angle:270, type:"wipe", width:"100%" }
     transition = { duration:.4, ease:[.27,0,.51,1] }
   angle:270 = top-to-bottom curtain reveal
   CSS: clip-path inset(0 0 100% 0) → inset(0 0 0% 0)
   No translateY. No opacity fade. Pure clip unmask.
   ============================================================ */
.reveal,.reveal-left,.reveal-right{
  clip-path:inset(0 0 100% 0);
  transition:clip-path .4s cubic-bezier(.27,0,.51,1)}
.reveal.visible,.reveal-left.visible,.reveal-right.visible{
  clip-path:inset(0 0 0% 0)}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}

/* ── SCROLL STANZA — same wipe per line, staggered ── */
.scroll-stanza{text-align:center}
.scroll-stanza-line-mask{display:block;overflow:visible}
.scroll-stanza-line{
  display:block;
  font-family:var(--serif);
  font-size:clamp(36px,5.5vw,80px);
  font-weight:300;
  font-style:italic;
  line-height:1.2;
  color:var(--dark);
  clip-path:inset(0 0 100% 0);
  transition:clip-path .4s cubic-bezier(.27,0,.51,1)}
.scroll-stanza-line.visible{clip-path:inset(0 0 0% 0)}
.scroll-stanza-line:nth-child(1){transition-delay:0s}
.scroll-stanza-line:nth-child(2){transition-delay:.15s}
.scroll-stanza-line:nth-child(3){transition-delay:.30s}
.scroll-stanza-line:nth-child(4){transition-delay:.45s}
.scroll-stanza-line em{font-style:italic;color:var(--gold)}
.scroll-stanza--light .scroll-stanza-line{color:rgba(255,255,255,.9)}

@keyframes slideUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes scrollPulse{0%,100%{transform:scaleY(1);opacity:1}50%{transform:scaleY(.4);opacity:.4}}

@media(max-width:960px){
  .topbar{padding:10px 24px}.topbar-right{display:none}
  nav{padding:0 24px}.nav-links,.nav-cta{display:none}.hamburger{display:flex}
  .hero-content{padding:0 24px;max-width:100%}.hero-image{opacity:.22;z-index:0}
  .hero-scroll{left:24px;bottom:24px}.hero-badges{display:none}
  .about,.ba-section{grid-template-columns:1fr;gap:56px;padding:80px 24px}
  .about-image{order:-1}.about-img-badge{bottom:-16px;left:-12px;padding:20px 24px}.about-img-badge .num{font-size:40px}
  .services{padding:80px 24px}.services-grid{grid-template-columns:1fr 1fr;gap:3px}
  .stats{grid-template-columns:repeat(3,1fr);padding:40px 16px}
  .stat-item{padding:32px 16px;border-right:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
  .stat-item:nth-child(2){border-right:none}.stat-item:nth-child(3),.stat-item:nth-child(4){border-bottom:none}
  .testimonials{padding:80px 24px}.testimonials-grid{grid-template-columns:1fr}
  .highlight{grid-template-columns:1fr}.highlight-img{height:320px}.highlight-content{padding:60px 24px}
  .cta-banner{padding:48px 24px 28px}
  .cta-reassurance{white-space:nowrap;text-transform:none;font-size:11px;letter-spacing:.02em;line-height:1.8;max-width:none;color:rgba(255,255,255,.15)}
  footer{grid-template-columns:1fr 1fr;gap:40px;padding:60px 24px 40px}
  .footer-bottom{padding:20px 24px;flex-direction:column;gap:10px;text-align:center}
  .section-label{justify-content:center;text-align:center;}
}
@media(max-width:540px){
  .services-grid{grid-template-columns:1fr}
  footer{grid-template-columns:1fr}.hero h1{font-size:clamp(40px,11vw,64px)}
  .cta-row{flex-direction:column;align-items:center}
}

/* ============================================================
   ANIMATION UPGRADES v2.0 — Matching Aesthetica reference
   ============================================================ */

/* Perspective for 3D card tilts */
.services-grid,.testimonials-grid{perspective:1200px}
.service-card,.tcard{transform-style:preserve-3d;will-change:transform}

/* Nav link underline draw */
.nav-links a::after{transition:width .35s cubic-bezier(.25,.46,.45,.94)}

/* Hero image parallax layer */
.hero-image{will-change:transform}

/* Section label line draw — base state */
.section-label{display:flex;align-items:center;gap:14px;overflow:hidden}
.section-label::before{content:'';display:block;width:0;height:1px;background:var(--gold);
  transition:width .8s cubic-bezier(.25,.46,.45,.94);flex-shrink:0}
.visible>.section-label::before,.section-label.visible::before{width:40px}

/* Split heading styles injected by main.js */

/* Image wipe-in — Cabana top-down clip-path */
.img-wipe img{clip-path:inset(0 0 100% 0);
  transition:clip-path .6s cubic-bezier(.27,0,.51,1)}
.img-wipe.visible img{clip-path:inset(0 0 0% 0)}
.about-img-badge{z-index:3;position:absolute}

/* Service card gold border sweep — upgrade */
.service-card::after{transition:transform .6s cubic-bezier(.16,1,.3,1)}

/* Testimonial card subtle glow on hover */
.tcard{transition:box-shadow .4s ease,transform .15s ease}
.tcard:hover{box-shadow:0 20px 60px rgba(184,149,90,.12),0 4px 20px rgba(28,24,18,.06)}

/* Stat numbers — golden shimmer on reveal */
@keyframes goldShimmer{
  0%{color:rgba(212,180,131,.3)}
  100%{color:var(--gold-light)}
}
.stat-item.visible .stat-num{animation:goldShimmer .8s ease forwards}

/* Marquee — pause on hover */
.marquee-wrap:hover .marquee-track{animation-play-state:paused}

/* Button press effect */
.btn-primary:active,.btn-gold:active{transform:translateY(1px) scale(.98)}

/* Footer book button */
.footer-book{font-size:10px!important;padding:13px 24px!important}

/* ============================================================
   INNER PAGES — Shared styles
   ============================================================ */

/* Page banner (hero for inner pages) */
.page-banner{background:linear-gradient(135deg,#F0E8D8 0%,#E8D9C4 60%,#DCC9AA 100%);
  padding:140px 60px 100px;position:relative;overflow:hidden;text-align:center}
.page-banner-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-family:var(--serif);font-size:clamp(80px,14vw,200px);font-weight:300;
  color:rgba(180,150,100,.07);letter-spacing:.08em;white-space:nowrap;
  pointer-events:none;user-select:none}
.page-banner-content{position:relative;z-index:1}
.page-banner-content h1{font-family:var(--serif);font-size:clamp(40px,6vw,72px);
  font-weight:300;color:var(--dark);margin-top:16px;margin-bottom:20px}
.page-banner-content p{font-size:15px;color:var(--mid);max-width:520px;margin:0 auto;line-height:1.8}

/* Animated about banner — Ethos-style word-by-word reveal */
.page-banner--animated{padding:160px 60px 120px}
.page-banner--animated .page-banner-bg{animation:pbaFadeIn 1.4s ease forwards}
.pba-label{
  justify-content:center;opacity:0;
  animation:pbaSlideUp .6s cubic-bezier(.22,.61,.36,1) .1s forwards}
.pba-heading{
  font-family:var(--serif);font-size:clamp(44px,6.5vw,84px);
  font-weight:300;color:var(--dark);margin:20px 0 0;
  line-height:1.1;display:flex;flex-wrap:wrap;justify-content:center;gap:.25em}
.pba-word{
  display:inline-block;
  opacity:0;transform:translateY(28px);
  animation:pbaWordUp .65s cubic-bezier(.22,.61,.36,1) forwards;
  animation-delay:calc(var(--i) * 0.09s + 0.2s)}
.pba-sub{
  font-size:16px;color:var(--mid);max-width:480px;margin:24px auto 0;
  line-height:1.8;opacity:0;
  animation:pbaSlideUp .7s cubic-bezier(.22,.61,.36,1) .72s forwards}

@keyframes pbaWordUp{
  to{opacity:1;transform:translateY(0)}}
@keyframes pbaSlideUp{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:translateY(0)}}
@keyframes pbaFadeIn{
  from{opacity:0} to{opacity:1}}

/* Breadcrumb */
.breadcrumb{padding:18px 60px;background:var(--cream2);border-bottom:1px solid var(--warm);
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mid)}
.breadcrumb a{color:var(--gold);text-decoration:none;transition:opacity .2s}
.breadcrumb a:hover{opacity:.7}
.breadcrumb span[aria-hidden]{margin:0 8px;color:var(--warm)}

/* Page content wrapper */
.page-content{max-width:900px;margin:0 auto;padding:100px 60px}
.page-content h2{font-family:var(--serif);font-size:clamp(28px,3.5vw,44px);font-weight:300;
  color:var(--dark);margin-bottom:20px;margin-top:60px}
.page-content h2:first-child{margin-top:0}
.page-content h2 em{font-style:italic;color:var(--gold)}
.page-content h3{font-family:var(--serif);font-size:22px;font-weight:400;color:var(--dark);
  margin-bottom:12px;margin-top:40px}
.page-content p{font-size:15px;line-height:1.9;color:var(--mid);margin-bottom:20px}
.page-content ul,.page-content ol{margin:20px 0 20px 0;padding:0}
.page-content li{font-size:15px;line-height:1.85;color:var(--mid);
  padding:8px 0 8px 24px;border-bottom:1px solid var(--warm);position:relative}
.page-content li::before{content:'✦';position:absolute;left:0;color:var(--gold);font-size:9px;top:12px}
.page-content ol li::before{content:none}
.page-content ol{counter-reset:olist}
.page-content ol li{counter-increment:olist;padding-left:32px}
.page-content ol li::after{content:counter(olist)'.';position:absolute;left:0;
  color:var(--gold);font-size:11px;font-weight:500;top:10px}
.page-content a{color:var(--gold);text-decoration:underline;text-decoration-color:rgba(184,149,90,.3)}
.page-content a:hover{text-decoration-color:var(--gold)}
.page-content .last-updated{font-size:12px;color:rgba(92,78,58,.5);
  letter-spacing:.1em;text-transform:uppercase;margin-bottom:48px;
  padding-bottom:32px;border-bottom:1px solid var(--warm)}

/* Services page grid */
.services-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;
  padding:80px 60px;background:var(--cream2)}
.service-page-card{background:var(--cream);padding:48px 36px;position:relative;
  overflow:hidden;text-decoration:none;display:block;color:inherit;transition:transform .3s}
.service-page-card::before{content:'';position:absolute;inset:0;background:white;
  opacity:0;transition:opacity .4s;pointer-events:none}
.service-page-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  background:var(--gold);transform:scaleX(0);transform-origin:left;
  transition:transform .5s cubic-bezier(.25,.46,.45,.94)}
.service-page-card:hover::before{opacity:1}
.service-page-card:hover::after{transform:scaleX(1)}
.service-page-card:hover{transform:translateY(-2px)}
.service-page-card>*{position:relative;z-index:1}
.service-page-card img{width:100%;height:180px;object-fit:cover;margin-bottom:24px;display:block}
.service-page-card .svc-num{font-family:var(--serif);font-size:44px;font-weight:300;
  color:rgba(184,149,90,.18);line-height:1;margin-bottom:16px}
.service-page-card h3{font-family:var(--serif);font-size:22px;font-weight:400;
  color:var(--dark);margin-bottom:10px}
.service-page-card p{font-size:13px;line-height:1.8;color:var(--mid)}
.service-page-card .svc-arrow{display:inline-flex;align-items:center;gap:8px;margin-top:20px;
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);
  transition:gap .3s}
.service-page-card:hover .svc-arrow{gap:14px}

/* ============================================================
   ABOUT PAGE — v2.8.1 full redesign
   ============================================================ */

/* 1. PRACTITIONER HERO */
.about-practitioner{padding:100px 60px;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;background:var(--cream)}
.about-practitioner-img{position:relative}
.about-practitioner-img img{width:100%;height:460px;object-fit:cover;object-position:top center;display:block}
.about-pract-badge{position:absolute;bottom:-24px;right:-24px;background:var(--dark);padding:28px 32px;text-align:center;border:1px solid rgba(255,255,255,.1)}
.about-pract-badge-num{display:block;font-family:var(--serif);font-size:48px;font-weight:300;color:var(--gold);line-height:1}
.about-pract-badge-txt{display:block;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-top:6px}
.about-practitioner-text h2{font-family:var(--serif);font-size:clamp(32px,4vw,52px);font-weight:300;color:var(--dark);margin:16px 0 6px;line-height:1.15}
.about-practitioner-text h2 em{font-style:italic;color:var(--gold);display:block;font-size:.75em}
.about-pract-lead{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--mid);margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid var(--warm)}
.about-practitioner-text p{font-size:14px;line-height:1.9;color:var(--mid);margin-bottom:16px}
.about-pract-creds{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px;padding-top:32px;border-top:1px solid var(--warm)}
.about-pract-creds span{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--mid);border:1px solid var(--warm);padding:8px 14px;background:white}

/* 2. STATS STRIP */
.about-stats-strip{background:var(--dark);padding:64px 60px}
.about-stats-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.08);max-width:1100px;margin:0 auto}
.about-stat{background:var(--dark);text-align:center;padding:48px 24px}
.about-stat-num{font-family:var(--serif);font-size:clamp(48px,5vw,72px);font-weight:300;color:var(--gold);line-height:1;margin-bottom:12px}
.about-stat-label{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.45)}

/* 3. STORY */
.about-story{padding:100px 60px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;background:var(--cream2)}
.about-story-text h2{font-family:var(--serif);font-size:clamp(32px,4vw,52px);font-weight:300;color:var(--dark);margin:16px 0 28px;line-height:1.2}
.about-story-text h2 em{font-style:italic;color:var(--gold)}
.about-story-text p{font-size:14px;line-height:1.9;color:var(--mid);margin-bottom:16px}
.about-mission-box{background:var(--dark);padding:52px 48px;position:sticky;top:100px}
.about-mission-quote{font-family:var(--serif);font-size:clamp(18px,2vw,24px);font-weight:300;color:white;line-height:1.7;font-style:italic;margin:20px 0 28px;position:relative;padding-left:0}
.about-mission-quote::before{content:'"';font-family:var(--serif);font-size:80px;color:var(--gold);opacity:.3;position:absolute;top:-20px;left:-8px;line-height:1;pointer-events:none}
.about-mission-cite{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);display:block}

/* 4. THE PARI APPROACH */
.about-approach{padding:100px 60px;background:var(--cream)}
.about-approach-inner{text-align:center;max-width:680px;margin:0 auto 72px}
.about-approach-inner h2{font-family:var(--serif);font-size:clamp(36px,4vw,56px);font-weight:300;color:var(--dark);margin:16px 0 20px}
.about-approach-inner h2 em{font-style:italic;color:var(--gold)}
.about-approach-lead{font-size:15px;line-height:1.8;color:var(--mid)}
.about-approach-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--warm)}
.approach-pillar{background:var(--cream);padding:48px 36px}
.approach-pillar-num{font-family:var(--serif);font-size:52px;font-weight:300;color:var(--gold);opacity:.35;line-height:1;margin-bottom:20px}
.approach-pillar h3{font-family:var(--serif);font-size:20px;font-weight:400;color:var(--dark);margin-bottom:14px}
.approach-pillar p{font-size:13px;line-height:1.85;color:var(--mid)}

/* 5. VALUES */
.about-page-values{background:var(--dark);padding:100px 60px}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:64px}
.values-grid--4{grid-template-columns:repeat(4,1fr)}
.value-card{
  text-align:center;padding:52px 32px 48px;
  border:1px solid rgba(255,255,255,.08);
  position:relative;overflow:hidden;
  cursor:default;
  transition:border-color .4s ease,box-shadow .4s ease,transform .4s cubic-bezier(.27,0,.51,1)}
/* Gold fill that sweeps up from bottom on hover */
.value-card::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(184,149,90,.12) 0%,rgba(184,149,90,.04) 100%);
  opacity:0;transition:opacity .4s ease}
.value-card:hover{
  border-color:rgba(184,149,90,.45);
  box-shadow:0 0 40px rgba(184,149,90,.12), inset 0 0 60px rgba(184,149,90,.04);
  transform:translateY(-4px)}
.value-card:hover::before{opacity:1}
/* Icon */
.value-card .val-icon{
  font-family:var(--serif);font-size:48px;color:var(--gold);
  margin-bottom:20px;line-height:1;
  display:inline-block;
  transition:transform .4s cubic-bezier(.27,0,.51,1),color .3s ease}
.value-card:hover .val-icon{
  transform:scale(1.18) translateY(-4px);
  color:var(--gold-light)}
/* Heading */
.value-card h3{
  font-family:var(--serif);font-size:22px;font-weight:400;color:white;
  margin-bottom:12px;
  transition:color .3s ease}
.value-card:hover h3{color:var(--gold-light)}
/* Body text — fades up slightly on hover */
.value-card p{
  font-size:13px;line-height:1.8;color:rgba(255,255,255,.5);
  transition:color .3s ease,transform .4s ease}
.value-card:hover p{color:rgba(255,255,255,.75);transform:translateY(-2px)}
/* Thin gold line that grows from center on hover */
.value-card::after{
  content:'';position:absolute;bottom:0;left:50%;
  width:0;height:2px;background:var(--gold);
  transform:translateX(-50%);
  transition:width .45s cubic-bezier(.27,0,.51,1)}
.value-card:hover::after{width:60%}

/* 6. WHY CHOOSE */
.about-why{padding:100px 60px;background:var(--cream2)}
.about-why-header{text-align:center;max-width:680px;margin:0 auto 64px}
.about-why-header h2{font-family:var(--serif);font-size:clamp(32px,4vw,52px);font-weight:300;color:var(--dark);margin-top:16px;line-height:1.2}
.about-why-header h2 em{font-style:italic;color:var(--gold)}
.about-why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:960px;margin:0 auto}
.about-why-card{background:white;border:1px solid var(--warm);padding:36px 32px;display:flex;gap:20px;align-items:flex-start;transition:border-color .3s,box-shadow .3s}
.about-why-card:hover{border-color:var(--gold);box-shadow:0 8px 32px rgba(184,149,90,.1)}
.about-why-icon{color:var(--gold);font-size:20px;flex-shrink:0;margin-top:2px}
.about-why-title{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--dark);margin-bottom:8px;font-weight:400}
.about-why-desc{font-size:13px;line-height:1.8;color:var(--mid);margin:0}

/* 7. CLINIC PHOTOS */
.about-clinic-photos{padding:100px 60px;background:var(--cream)}
.about-clinic-photos-header{text-align:center;max-width:680px;margin:0 auto 64px}
.about-clinic-photos-header h2{font-family:var(--serif);font-size:clamp(32px,4vw,52px);font-weight:300;color:var(--dark);margin:16px 0 20px}
.about-clinic-photos-header h2 em{font-style:italic;color:var(--gold)}
.about-clinic-photos-header p{font-size:15px;line-height:1.8;color:var(--mid)}

/* Scroll stanza section wrapper */
.about-scroll-stanza{padding:100px 60px;background:var(--cream);text-align:center}
.about-scroll-stanza .scroll-stanza{display:inline-block;text-align:center}
.about-clinic-row{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.about-clinic-photo{position:relative;overflow:hidden}
.about-clinic-photo img{width:100%;height:440px;object-fit:cover;object-position:center;display:block;transition:transform .7s cubic-bezier(.25,.46,.45,.94)}
.about-clinic-photo:hover img{transform:scale(1.04)}
.about-clinic-photo-label{position:absolute;bottom:0;left:0;right:0;padding:20px 24px;background:linear-gradient(to top,rgba(28,24,18,.75) 0%,transparent 100%);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.about-clinic-note{text-align:center;font-size:12px;color:var(--mid);margin-top:24px;font-style:italic;opacity:.6}

/* Gallery page */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:80px 60px}
.gallery-item{aspect-ratio:4/3;overflow:hidden;position:relative;cursor:pointer}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.25,.46,.45,.94)}
.gallery-item:hover img{transform:scale(1.06)}
.gallery-overlay{position:absolute;inset:0;background:rgba(28,24,18,.35);opacity:0;
  transition:opacity .3s;display:flex;align-items:center;justify-content:center}
.gallery-item:hover .gallery-overlay{opacity:1}
.gallery-overlay span{font-family:var(--serif);font-size:14px;color:white;letter-spacing:.1em}

/* Contact page */
.contact-page{padding:100px 60px;display:grid;grid-template-columns:1fr 1fr;gap:100px}
.contact-info h2{font-family:var(--serif);font-size:clamp(32px,4vw,52px);font-weight:300;
  color:var(--dark);margin-bottom:32px;margin-top:16px}
.contact-info h2 em{font-style:italic}
.contact-detail{display:flex;align-items:flex-start;gap:16px;margin-bottom:32px;
  padding-bottom:32px;border-bottom:1px solid var(--warm)}
.contact-detail:last-child{border:none}
.contact-detail-icon{width:44px;height:44px;background:var(--cream2);border:1px solid var(--warm);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--gold)}
.contact-detail-text .label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin-bottom:6px}
.contact-detail-text a,.contact-detail-text p{font-size:15px;color:var(--dark);
  text-decoration:none;line-height:1.6}
.contact-form-wrap h2{font-family:var(--serif);font-size:clamp(28px,3vw,42px);font-weight:300;
  color:var(--dark);margin-bottom:32px;margin-top:16px}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;
  background:white;border:1px solid var(--warm);padding:16px 20px;
  font-family:var(--sans);font-size:14px;color:var(--dark);font-weight:300;
  margin-bottom:16px;outline:none;transition:border-color .2s;appearance:none}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold)}
.contact-form textarea{height:140px;resize:vertical}
.contact-form input[type="submit"]{background:var(--dark);color:white;
  cursor:pointer;letter-spacing:.2em;text-transform:uppercase;font-size:11px;
  transition:background .3s;margin-top:8px}
.contact-form input[type="submit"]:hover{background:var(--gold)}

/* Team page */
.team-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;
  padding:80px 60px;background:var(--cream2)}

/* Specials page */
.specials-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;
  padding:80px 60px}
.special-card{background:white;border:1px solid var(--warm);padding:48px 40px;
  position:relative;overflow:hidden}
.special-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gold)}
.special-card .badge{font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin-bottom:16px;display:block}
.special-card h3{font-family:var(--serif);font-size:28px;font-weight:400;color:var(--dark);margin-bottom:12px}
.special-card p{font-size:14px;line-height:1.8;color:var(--mid);margin-bottom:24px}
.special-card .price{font-family:var(--serif);font-size:40px;font-weight:300;color:var(--gold)}
.special-card .price span{font-family:var(--sans);font-size:13px;color:var(--mid)}

/* Blog page */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:80px 60px}
.blog-card{background:white;border:1px solid var(--warm);overflow:hidden;
  transition:box-shadow .3s,transform .3s;text-decoration:none;display:block;color:inherit}
.blog-card:hover{box-shadow:0 16px 48px rgba(28,24,18,.08);transform:translateY(-3px)}
.blog-card img{width:100%;height:220px;object-fit:cover;display:block}
.blog-card-body{padding:32px 28px}
.blog-card-body .meta{font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin-bottom:12px}
.blog-card-body h3{font-family:var(--serif);font-size:22px;font-weight:400;color:var(--dark);
  margin-bottom:12px;line-height:1.3}
.blog-card-body p{font-size:13px;line-height:1.8;color:var(--mid)}
.blog-card-body .read-more{display:inline-flex;align-items:center;gap:8px;margin-top:20px;
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}

/* Inline CTA strip */
.inner-cta{background:var(--dark);padding:80px 60px;text-align:center;position:relative;overflow:hidden}
.inner-cta h2{font-family:var(--serif);font-size:clamp(28px,4vw,52px);font-weight:300;
  color:white;margin-bottom:20px;position:relative}
.inner-cta h2 em{color:var(--gold-light);font-style:italic}
.inner-cta p{font-size:15px;color:rgba(255,255,255,.5);margin-bottom:40px;
  max-width:480px;margin-left:auto;margin-right:auto;line-height:1.8;position:relative}
.inner-cta .cta-row{position:relative}
/* Separation border — keeps CTA visually distinct from footer */
.inner-cta--separated{border-top:1px solid rgba(255,255,255,.08)}

@media(max-width:960px){
  .page-banner{padding:120px 24px 80px}
  .breadcrumb{padding:14px 24px}
  .page-content{padding:60px 24px}
  .services-page-grid,.team-page-grid,.gallery-grid{grid-template-columns:1fr 1fr;padding:60px 24px}
  .contact-page{grid-template-columns:1fr;gap:48px;padding:60px 24px}
  .values-grid{grid-template-columns:1fr 1fr}
  .values-grid--4{grid-template-columns:1fr 1fr}
  .specials-grid,.blog-grid{grid-template-columns:1fr;padding:60px 24px}
  .inner-cta{padding:60px 24px}
  /* About page responsive */
  .about-practitioner{grid-template-columns:1fr;gap:48px;padding:60px 24px}
  .about-pract-badge{bottom:-16px;right:16px}
  .about-stats-inner{grid-template-columns:repeat(2,1fr)}
  .about-stats-strip{padding:48px 24px}
  /* Mobile: show only Clients Treated (1st) and Years Experience (3rd) */
  .about-stat:nth-child(2),
  .about-stat:nth-child(4){display:none}
  /* Make the 2 remaining stats each take half width */
  .about-stats-inner{grid-template-columns:1fr 1fr}
  .about-story{grid-template-columns:1fr;gap:48px;padding:60px 24px}
  .about-mission-box{position:static;padding:36px 28px}
  .about-approach{padding:60px 24px}
  .about-approach-pillars{grid-template-columns:1fr 1fr}
  .about-page-values{padding:60px 24px}
  .about-why{padding:60px 24px}
  .about-why-grid{grid-template-columns:1fr}
  .about-clinic-photos{padding:60px 24px}
  .about-clinic-row{grid-template-columns:1fr}
  .about-clinic-photo img{height:280px}
}
@media(max-width:540px){
  .services-page-grid,.team-page-grid,.gallery-grid{grid-template-columns:1fr}
  .values-grid,.values-grid--4{grid-template-columns:1fr;padding-left:24px;padding-right:24px}
  .about-stats-inner{grid-template-columns:repeat(2,1fr)}
  .about-approach-pillars{grid-template-columns:1fr}
  .about-why-grid{grid-template-columns:1fr}
}

/* ============================================================
   MOBILE STICKY BOTTOM BAR
   Fixed call + book bar at bottom of screen on mobile only
   Common mobile UX pattern for local service businesses
   ============================================================ */

.mobile-sticky-bar{
  display:none; /* hidden on desktop */
}

@media(max-width:960px){
  /* Push page content up so bar doesn't cover last section */
  body{
    padding-bottom:72px;
  }

  .mobile-sticky-bar{
    display:flex;
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    z-index:999;
    height:64px;
    box-shadow:0 -4px 24px rgba(28,24,18,.15);
    /* Safe area for iPhone home indicator */
    padding-bottom:env(safe-area-inset-bottom,0px);
  }

  .mobile-sticky-bar a{
    flex:1;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    text-decoration:none;
    font-family:var(--sans);
    font-size:12px;
    font-weight:400;
    letter-spacing:.18em;
    text-transform:uppercase;
    transition:opacity .2s;
    -webkit-tap-highlight-color:transparent;
  }

  .mobile-sticky-bar a:active{
    opacity:.8;
  }

  .mobile-sticky-call{
    background:var(--cream);
    color:var(--dark);
    border-top:1px solid var(--warm);
    border-right:1px solid var(--warm);
  }

  .mobile-sticky-call svg{
    color:var(--gold);
    flex-shrink:0;
  }

  .mobile-sticky-book{
    background:var(--dark);
    color:white;
    position:relative;
  }

  .mobile-sticky-book svg{
    color:var(--gold-light);
    flex-shrink:0;
  }

  /* Pulse animation on the book button to draw attention */
  .mobile-sticky-book::after{
    content:'';
    position:absolute;
    inset:0;
    background:var(--gold);
    opacity:0;
    pointer-events:none;
    animation:barPulse 3s ease-in-out 2s 3;
  }

  @keyframes barPulse{
    0%,100%{opacity:0}
    50%{opacity:.15}
  }
}

/* ============================================================
   ANIMATED MOBILE MENU — Trifecta-style category tabs
   Full-screen overlay with Services / About / Results / More
   ============================================================ */

/* Overlay */
.mm-overlay{
  position:fixed;
  inset:0;
  background:rgba(28,24,18,.5);
  z-index:190;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .35s ease, visibility .35s ease;
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.mm-overlay.active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

/* Main drawer — slides in from left */
.mm{
  position:fixed;
  top:0;
  left:0;
  bottom:0;
  width:min(88vw, 400px);
  background:var(--dark);
  z-index:200;
  display:flex;
  flex-direction:column;
  transform:translateX(-100%);
  transition:transform .42s cubic-bezier(.16,1,.3,1);
  overflow:hidden;
  will-change:transform;
}
.mm.open{
  transform:translateX(0);
}

/* Header row */
.mm-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:20px 24px 16px;
  border-bottom:1px solid rgba(255,255,255,.08);
  flex-shrink:0;
}
.mm-logo img{
  height:36px;
  width:auto;
  filter:brightness(0) invert(1);
  opacity:.85;
}

/* Close button — X animation */
.mm-close{
  width:40px;
  height:40px;
  background:rgba(255,255,255,.06);
  border:none;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
  position:relative;
  border-radius:50%;
  flex-shrink:0;
  transition:background .2s;
}
.mm-close:hover{
  background:rgba(255,255,255,.12);
}
.mm-close span{
  display:block;
  width:18px;
  height:1px;
  background:white;
  position:absolute;
  transition:transform .3s ease, opacity .2s;
}
.mm-close span:nth-child(1){ transform:rotate(45deg); }
.mm-close span:nth-child(2){ transform:rotate(-45deg); }

/* Category tabs — compact horizontal bar so treatments stay above the fold */
.mm-tabs{
  display:flex;
  flex-direction:row;
  align-items:stretch;
  padding:0 16px;
  border-bottom:1px solid rgba(255,255,255,.08);
  flex-shrink:0;
}
.mm-tab{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px 8px;
  background:none;
  border:none;
  cursor:pointer;
  font-family:var(--serif);
  font-size:17px;
  font-weight:300;
  color:rgba(255,255,255,.4);
  white-space:nowrap;
  transition:color .2s;
  position:relative;
  letter-spacing:.03em;
  -webkit-tap-highlight-color:transparent;
}
.mm-tab::before{
  content:'';
  position:absolute;
  left:50%;
  bottom:-1px;
  transform:translateX(-50%);
  width:0;
  height:2px;
  background:var(--gold);
  transition:width .3s cubic-bezier(.25,.46,.45,.94);
  border-radius:2px 2px 0 0;
}
.mm-tab.active{
  color:white;
}
.mm-tab.active::before{
  width:100%;
}
.mm-tab-label{
  font-style:italic;
}
.mm-tab-arrow{
  display:none;
}

/* Panels — stacked, only active one shown */
.mm-panel{
  display:none;
  flex:1;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.mm-panel.active{
  display:block;
  animation:panelIn .35s cubic-bezier(.25,.46,.45,.94) both;
}
@keyframes panelIn{
  from{ opacity:0; transform:translateX(16px); }
  to{   opacity:1; transform:translateX(0); }
}
.mm-panel-inner{
  padding:20px 24px 24px;
}

/* Service groups inside panels */
.mm-group{
  margin-bottom:28px;
}
.mm-group-label{
  font-size:10px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:12px;
  display:flex;
  align-items:center;
  gap:8px;
}
.mm-group-icon{
  font-size:7px;
}
.mm-link{
  display:block;
  font-family:var(--sans);
  font-size:14px;
  font-weight:300;
  letter-spacing:.06em;
  color:rgba(255,255,255,.65);
  text-decoration:none;
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.05);
  transition:color .2s, padding-left .2s;
  -webkit-tap-highlight-color:transparent;
}
.mm-link:last-of-type{
  border-bottom:none;
}
.mm-link:hover, .mm-link:active{
  color:white;
  padding-left:6px;
}

/* CTA link inside panel */
.mm-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:20px;
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
  text-decoration:none;
  border-bottom:1px solid rgba(184,149,90,.3);
  padding-bottom:2px;
  transition:color .2s, border-color .2s;
}
.mm-cta:hover{
  color:var(--gold-light);
  border-color:var(--gold-light);
}

/* Footer strip — call + book */
.mm-foot{
  display:flex;
  border-top:1px solid rgba(255,255,255,.08);
  flex-shrink:0;
  /* Safe area for iPhone home indicator */
  padding-bottom:env(safe-area-inset-bottom, 0px);
}
.mm-foot-call,
.mm-foot-book{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:18px 12px;
  font-family:var(--sans);
  font-size:11px;
  font-weight:400;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-decoration:none;
  transition:opacity .2s;
  -webkit-tap-highlight-color:transparent;
}
.mm-foot-call:active,
.mm-foot-book:active{
  opacity:.7;
}
.mm-foot-call{
  color:rgba(255,255,255,.7);
  border-right:1px solid rgba(255,255,255,.08);
}
.mm-foot-call svg{
  color:var(--gold);
  flex-shrink:0;
}
.mm-foot-book{
  background:var(--gold);
  color:white;
  font-weight:500;
}

/* ============================================================
   FEATURE 9 — MOBILE MENU SEARCH
   ============================================================ */
.mm-search{
  padding:12px 24px 4px;
  flex-shrink:0;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.mm-search-wrap{
  display:flex;
  align-items:center;
  gap:10px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  padding:10px 14px;
  transition:border-color .2s;
}
.mm-search-wrap:focus-within{
  border-color:var(--gold);
}
.mm-search-wrap svg{ color:rgba(255,255,255,.4); flex-shrink:0; }
.mm-search-input{
  background:none;
  border:none;
  outline:none;
  font-family:var(--sans);
  font-size:13px;
  font-weight:300;
  color:white;
  width:100%;
  letter-spacing:.05em;
}
.mm-search-input::placeholder{ color:rgba(255,255,255,.3); }
.mm-search-results{
  display:none;
  padding:8px 0 4px;
}
.mm-search-results.has-results{ display:block; }
.mm-search-result{
  display:block;
  padding:9px 0;
  font-size:13px;
  color:rgba(255,255,255,.65);
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.05);
  transition:color .15s, padding-left .15s;
  letter-spacing:.03em;
}
.mm-search-result:last-child{ border:none; }
.mm-search-result:hover{ color:white; padding-left:6px; }
.mm-search-result mark{
  background:none;
  color:var(--gold);
  font-style:normal;
}
.mm-search-none{
  display:none;
  font-size:12px;
  color:rgba(255,255,255,.3);
  padding:10px 0;
  letter-spacing:.05em;
}
.mm-search-none.show{ display:block; }

/* ============================================================
   FEATURE 10 — GOOGLE REVIEWS WIDGET
   ============================================================ */
.reviews-bar{
  background:white;
  border-top:1px solid var(--warm);
  border-bottom:1px solid var(--warm);
  padding:28px 60px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  flex-wrap:wrap;
}
.reviews-bar-brand{
  display:flex;
  align-items:center;
  gap:16px;
  flex-shrink:0;
}
.reviews-google-icon{
  width:40px;
  height:40px;
  flex-shrink:0;
}
.reviews-bar-score{
  font-family:var(--serif);
  font-size:38px;
  font-weight:300;
  color:var(--dark);
  line-height:1;
}
.reviews-bar-stars{ color:#F4B942; font-size:16px; letter-spacing:2px; margin:4px 0 2px; }
.reviews-bar-count{ font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--mid); }
.reviews-bar-divider{ width:1px; height:48px; background:var(--warm); flex-shrink:0; }
.reviews-carousel{ flex:1; overflow:hidden; position:relative; min-width:0; }
.reviews-track{
  display:flex;
  gap:24px;
  animation:reviewsScroll 30s linear infinite;
  width:max-content;
}
.reviews-track:hover{ animation-play-state:paused; }
@keyframes reviewsScroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
.review-chip{
  background:var(--cream);
  border:1px solid var(--warm);
  padding:14px 20px;
  min-width:260px;
  max-width:300px;
  flex-shrink:0;
}
.review-chip-stars{ color:#F4B942; font-size:12px; letter-spacing:2px; margin-bottom:8px; }
.review-chip-text{
  font-family:var(--serif);
  font-size:14px;
  font-style:italic;
  color:var(--dark);
  line-height:1.55;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.review-chip-author{
  font-size:10px;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--gold);
  margin-top:8px;
}
.reviews-bar-cta{
  flex-shrink:0;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--dark);
  text-decoration:none;
  border-bottom:1px solid var(--dark);
  padding-bottom:2px;
  transition:color .2s, border-color .2s;
  white-space:nowrap;
}
.reviews-bar-cta:hover{ color:var(--gold); border-color:var(--gold); }
@media(max-width:960px){
  .reviews-bar{ padding:24px; }
  .reviews-bar-divider,.reviews-bar-cta{ display:none; }
}

/* ============================================================
   FEATURE 11 — RESULTS MAY VARY DISCLAIMER
   ============================================================ */
.rmv-disclaimer{
  background:var(--cream2);
  border-top:1px solid var(--warm);
  padding:20px 60px;
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.rmv-icon{
  color:var(--gold);
  font-size:14px;
  flex-shrink:0;
  margin-top:1px;
}
.rmv-text{
  font-size:11px;
  letter-spacing:.05em;
  color:var(--mid);
  line-height:1.7;
}
.rmv-text strong{ color:var(--dark); }
@media(max-width:960px){ .rmv-disclaimer{ padding:16px 24px; } }

/* Gallery image disclaimer badge */
.gallery-item .rmv-badge{
  position:absolute;
  bottom:8px;
  left:8px;
  background:rgba(28,24,18,.65);
  color:rgba(255,255,255,.7);
  font-size:9px;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:4px 8px;
  pointer-events:none;
  z-index:2;
  backdrop-filter:blur(4px);
}

/* ============================================================
   FEATURE — PRICE / DURATION BADGE (service pages)
   ============================================================ */
.svc-meta-bar{
  background:var(--dark);
  padding:18px 60px;
  display:flex;
  align-items:center;
  gap:48px;
  flex-wrap:wrap;
}
.svc-meta-item{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.svc-meta-label{
  font-size:9px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(255,255,255,.4);
}
.svc-meta-value{
  font-family:var(--serif);
  font-size:22px;
  font-weight:300;
  color:var(--gold-light);
  line-height:1;
}
.svc-meta-divider{
  width:1px;
  height:36px;
  background:rgba(255,255,255,.1);
}
.svc-meta-cta{
  margin-left:auto;
}
@media(max-width:960px){
  .svc-meta-bar{ padding:16px 24px; gap:28px; }
  .svc-meta-cta{ display:none; }
}

/* ============================================================
   FEATURE — FAQ ACCORDION
   ============================================================ */
.faq-section{
  padding:100px 60px;
  background:var(--cream);
}
.faq-section .section-header{ margin-bottom:56px; }
.faq-list{ max-width:800px; margin:0 auto; }
.faq-item{
  border-bottom:1px solid var(--warm);
  overflow:hidden;
}
.faq-item:first-child{ border-top:1px solid var(--warm); }
.faq-q{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:24px 0;
  cursor:pointer;
  background:none;
  border:none;
  width:100%;
  text-align:left;
  font-family:var(--serif);
  font-size:19px;
  font-weight:400;
  color:var(--dark);
  transition:color .2s;
  -webkit-tap-highlight-color:transparent;
}
.faq-q:hover{ color:var(--gold); }
.faq-icon{
  width:28px;
  height:28px;
  flex-shrink:0;
  border:1px solid var(--warm);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .25s, border-color .25s;
  position:relative;
}
.faq-icon::before,
.faq-icon::after{
  content:'';
  position:absolute;
  background:var(--gold);
  transition:transform .35s cubic-bezier(.25,.46,.45,.94), opacity .25s;
}
.faq-icon::before{ width:10px; height:1px; }
.faq-icon::after{  width:1px; height:10px; }
.faq-item.open .faq-icon{ background:var(--gold); border-color:var(--gold); }
.faq-item.open .faq-icon::before,
.faq-item.open .faq-icon::after{ background:white; }
.faq-item.open .faq-icon::after{ transform:rotate(90deg); opacity:0; }
.faq-a{
  max-height:0;
  overflow:hidden;
  transition:max-height .45s cubic-bezier(.25,.46,.45,.94), padding .35s ease;
  padding:0;
}
.faq-item.open .faq-a{
  max-height:2000px; /* safe upper bound — prevents clipping long answers */
  padding-bottom:24px;
}
.faq-a p{
  font-size:14px;
  line-height:1.9;
  color:var(--mid);
}
@media(max-width:960px){
  .faq-section{ padding:60px 24px; }
  .faq-q{ font-size:17px; }
}

/* ============================================================
   FEATURE 8 — VIDEO EMBED (service pages)
   ============================================================ */
.svc-video-section{
  padding:80px 60px;
  background:var(--dark);
}
.svc-video-wrap{
  max-width:900px;
  margin:0 auto;
}
.svc-video-header{
  text-align:center;
  margin-bottom:48px;
}
.svc-video-header h2{
  font-family:var(--serif);
  font-size:clamp(28px,3.5vw,46px);
  font-weight:300;
  color:white;
  margin-top:14px;
}
.svc-video-header h2 em{ font-style:italic; color:var(--gold-light); }
.video-container{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:var(--mid);
  overflow:hidden;
}
.video-container video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
/* YouTube / iframe embed */
.video-container iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:none;
}
/* Play button overlay for non-autoplay */
.video-play-btn{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  background:rgba(28,24,18,.35);
  transition:background .3s;
  border:none;
}
.video-play-btn:hover{ background:rgba(28,24,18,.2); }
.video-play-btn svg{
  width:72px;
  height:72px;
  color:white;
  filter:drop-shadow(0 4px 16px rgba(0,0,0,.4));
  transition:transform .3s;
}
.video-play-btn:hover svg{ transform:scale(1.1); }
@media(max-width:960px){
  .svc-video-section{ padding:60px 24px; }
}

/* ============================================================
   CLIENT COLOR THEME SWITCHER
   Remove this entire block once client picks a theme.
   Toggle off by setting: define('PMS_THEME_PICKER', false);
   in wp-config.php or functions.php
   ============================================================ */

/* ── 4 THEME VARIABLE SETS ── */

/* THEME 1: Trifecta — White / Black / Electric Blue */
body.pms-theme-trifecta {
  --cream:      #FFFFFF;
  --cream2:     #F7F7F7;
  --warm:       #E0E0E0;
  --gold:       #1A6DFF;
  --gold-light: #4D93FF;
  --dark:       #0A0A0A;
  --mid:        #555555;
  --text:       #1A1A1A;
}
body.pms-theme-trifecta .hero                    { background:linear-gradient(135deg,#F0F4FF,#E8EEFF,#DCE6FF) }
body.pms-theme-trifecta .hero-image::before      { background:linear-gradient(to right,#F0F4FF,transparent) }
body.pms-theme-trifecta .marquee-wrap            { background:#0A0A0A }
body.pms-theme-trifecta .stats                   { background:#0A0A0A }
body.pms-theme-trifecta .highlight-content       { background:#0A0A0A }
body.pms-theme-trifecta .cta-banner              { background:linear-gradient(135deg,#0A0A0A,#1A1A1A) }
body.pms-theme-trifecta footer                   { background:#0A0A0A }
body.pms-theme-trifecta .footer-bottom           { background:#0A0A0A }
body.pms-theme-trifecta .mm                      { background:#0A0A0A }
body.pms-theme-trifecta .mobile-sticky-call      { background:#F7F7F7; border-color:#E0E0E0 }
body.pms-theme-trifecta .mobile-sticky-book      { background:#0A0A0A }
body.pms-theme-trifecta .about                   { background:#FFFFFF }
body.pms-theme-trifecta .services                { background:#F7F7F7 }
body.pms-theme-trifecta .service-card            { background:#FFFFFF }
body.pms-theme-trifecta .testimonials            { background:#FFFFFF }
body.pms-theme-trifecta .tcard                   { background:#F7F7F7 }
body.pms-theme-trifecta .faq-section             { background:#FFFFFF }
body.pms-theme-trifecta .page-banner             { background:linear-gradient(135deg,#F0F4FF,#E8EEFF) }
body.pms-theme-trifecta .inner-cta               { background:#0A0A0A }
body.pms-theme-trifecta nav                      { background:rgba(255,255,255,.97) }
body.pms-theme-trifecta .topbar                  { background:#0A0A0A }

/* THEME 2: Current — Warm Cream / Charcoal / Antique Gold (default — no overrides needed) */
body.pms-theme-current {
  --cream:      #F9F5F0;
  --cream2:     #F2EBE0;
  --warm:       #E8D9C4;
  --gold:       #B8955A;
  --gold-light: #D4B483;
  --dark:       #1C1812;
  --mid:        #5C4E3A;
  --text:       #3A3028;
}

/* THEME 3: Blush Rose — Soft Rose / Deep Plum / Dusty Rose */
body.pms-theme-rose {
  --cream:      #FDF7F7;
  --cream2:     #F8EEEE;
  --warm:       #E8D0D0;
  --gold:       #B8697A;
  --gold-light: #D4909F;
  --dark:       #1E1214;
  --mid:        #6B4A50;
  --text:       #3D2428;
}
body.pms-theme-rose .hero                        { background:linear-gradient(135deg,#FDF0F0,#F5E2E4,#EDD0D3) }
body.pms-theme-rose .hero-image::before          { background:linear-gradient(to right,#FDF0F0,transparent) }
body.pms-theme-rose .marquee-wrap                { background:#1E1214 }
body.pms-theme-rose .stats                       { background:#1E1214 }
body.pms-theme-rose .highlight-content           { background:#1E1214 }
body.pms-theme-rose .cta-banner                  { background:linear-gradient(135deg,#1E1214,#2A1518) }
body.pms-theme-rose footer                       { background:#1E1214 }
body.pms-theme-rose .footer-bottom               { background:#1E1214 }
body.pms-theme-rose .mm                          { background:#1E1214 }
body.pms-theme-rose .mobile-sticky-call          { background:#FDF7F7; border-color:#E8D0D0 }
body.pms-theme-rose .mobile-sticky-book          { background:#1E1214 }
body.pms-theme-rose .about                       { background:#FDF7F7 }
body.pms-theme-rose .services                    { background:#F8EEEE }
body.pms-theme-rose .service-card                { background:#FDF7F7 }
body.pms-theme-rose .testimonials                { background:#FDF7F7 }
body.pms-theme-rose .tcard                       { background:#F8EEEE }
body.pms-theme-rose .faq-section                 { background:#FDF7F7 }
body.pms-theme-rose .page-banner                 { background:linear-gradient(135deg,#FDF0F0,#F5E2E4) }
body.pms-theme-rose .inner-cta                   { background:#1E1214 }
body.pms-theme-rose nav                          { background:rgba(253,247,247,.97) }
body.pms-theme-rose .topbar                      { background:#1E1214 }

/* THEME 4: Beige Nude — Warm Nude / Dark Taupe / Bronze */
body.pms-theme-nude {
  --cream:      #F5F0EB;
  --cream2:     #EDE6DC;
  --warm:       #D9CFC3;
  --gold:       #A08060;
  --gold-light: #C4A882;
  --dark:       #2C231A;
  --mid:        #6B5A48;
  --text:       #3D3028;
}
body.pms-theme-nude .hero                        { background:linear-gradient(135deg,#EDE6DC,#E4D8C8,#D8C8B0) }
body.pms-theme-nude .hero-image::before          { background:linear-gradient(to right,#EDE6DC,transparent) }
body.pms-theme-nude .marquee-wrap                { background:#2C231A }
body.pms-theme-nude .stats                       { background:#2C231A }
body.pms-theme-nude .highlight-content           { background:#2C231A }
body.pms-theme-nude .cta-banner                  { background:linear-gradient(135deg,#2C231A,#3A2E22) }
body.pms-theme-nude footer                       { background:#2C231A }
body.pms-theme-nude .footer-bottom               { background:#2C231A }
body.pms-theme-nude .mm                          { background:#2C231A }
body.pms-theme-nude .mobile-sticky-call          { background:#F5F0EB; border-color:#D9CFC3 }
body.pms-theme-nude .mobile-sticky-book          { background:#2C231A }
body.pms-theme-nude .about                       { background:#F5F0EB }
body.pms-theme-nude .services                    { background:#EDE6DC }
body.pms-theme-nude .service-card                { background:#F5F0EB }
body.pms-theme-nude .testimonials                { background:#F5F0EB }
body.pms-theme-nude .tcard                       { background:#EDE6DC }
body.pms-theme-nude .faq-section                 { background:#F5F0EB }
body.pms-theme-nude .page-banner                 { background:linear-gradient(135deg,#EDE6DC,#E4D8C8) }
body.pms-theme-nude .inner-cta                   { background:#2C231A }
body.pms-theme-nude nav                          { background:rgba(245,240,235,.97) }
body.pms-theme-nude .topbar                      { background:#2C231A }

/* ── THEME SWITCHER PANEL UI ── */
.pms-theme-picker {
  position:fixed;
  top:50%;
  right:0;
  transform:translateY(-50%);
  z-index:99999;
  background:white;
  border:1px solid #ddd;
  border-right:none;
  border-radius:14px 0 0 14px;
  padding:16px 10px 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  box-shadow:-4px 4px 32px rgba(0,0,0,.12);
  font-family:'Jost',sans-serif;
}
.pms-picker-label {
  font-size:7px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#aaa;
  writing-mode:vertical-rl;
  text-orientation:mixed;
  margin-bottom:2px;
}
.pms-theme-btn {
  width:38px;
  height:38px;
  border-radius:50%;
  border:2.5px solid transparent;
  cursor:pointer;
  background:none;
  padding:0;
  position:relative;
  transition:transform .2s, box-shadow .2s;
  flex-shrink:0;
  outline:none;
}
.pms-theme-btn:hover { transform:scale(1.12); }
.pms-theme-btn.pms-active {
  border-color:#222;
  box-shadow:0 0 0 2px white, 0 0 0 4px #222;
  transform:scale(1.12);
}
.pms-btn-swatch {
  width:100%;
  height:100%;
  border-radius:50%;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  pointer-events:none;
}
.pms-btn-swatch span { display:block; }

/* Trifecta: white / black / blue / blue-light */
.pms-btn-trifecta span:nth-child(1) { background:#FFFFFF; outline:1px solid #eee; }
.pms-btn-trifecta span:nth-child(2) { background:#0A0A0A; }
.pms-btn-trifecta span:nth-child(3) { background:#1A6DFF; }
.pms-btn-trifecta span:nth-child(4) { background:#4D93FF; }

/* Current: cream / charcoal / gold / gold-light */
.pms-btn-current span:nth-child(1) { background:#F9F5F0; }
.pms-btn-current span:nth-child(2) { background:#1C1812; }
.pms-btn-current span:nth-child(3) { background:#B8955A; }
.pms-btn-current span:nth-child(4) { background:#D4B483; }

/* Rose: blush / plum / dusty rose / rose-light */
.pms-btn-rose span:nth-child(1) { background:#FDF7F7; }
.pms-btn-rose span:nth-child(2) { background:#1E1214; }
.pms-btn-rose span:nth-child(3) { background:#B8697A; }
.pms-btn-rose span:nth-child(4) { background:#D4909F; }

/* Nude: beige / taupe / bronze / bronze-light */
.pms-btn-nude span:nth-child(1) { background:#F5F0EB; }
.pms-btn-nude span:nth-child(2) { background:#2C231A; }
.pms-btn-nude span:nth-child(3) { background:#A08060; }
.pms-btn-nude span:nth-child(4) { background:#C4A882; }

/* Tooltip */
.pms-tooltip {
  position:absolute;
  right:calc(100% + 14px);
  top:50%;
  transform:translateY(-50%);
  background:#111;
  color:white;
  font-size:11px;
  letter-spacing:.05em;
  white-space:nowrap;
  padding:7px 11px;
  border-radius:6px;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s;
}
.pms-tooltip::after {
  content:'';
  position:absolute;
  left:100%; top:50%;
  transform:translateY(-50%);
  border:5px solid transparent;
  border-left-color:#111;
}
.pms-theme-btn:hover .pms-tooltip,
.pms-theme-btn:focus .pms-tooltip { opacity:1; }

/* ── COLOR REFERENCE BAR (bottom) ── */
.pms-color-bar {
  position:fixed;
  bottom:0;
  left:0; right:0;
  z-index:99998;
  background:white;
  border-top:1px solid #e8e8e8;
  padding:12px 32px;
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
  box-shadow:0 -4px 24px rgba(0,0,0,.08);
  font-family:'Jost',sans-serif;
}
.pms-bar-name {
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#999;
  white-space:nowrap;
  flex-shrink:0;
}
.pms-bar-divider { width:1px; height:32px; background:#e8e8e8; flex-shrink:0; }
.pms-swatch-group {
  display:flex;
  align-items:center;
  gap:6px;
  flex-shrink:0;
}
.pms-swatch {
  width:26px; height:26px;
  border-radius:50%;
  border:1px solid rgba(0,0,0,.1);
  flex-shrink:0;
}
.pms-hex-btn {
  font-family:monospace;
  font-size:11px;
  color:#333;
  background:#f4f4f4;
  border:none;
  padding:4px 8px;
  border-radius:4px;
  cursor:pointer;
  transition:background .15s, color .15s;
  letter-spacing:.04em;
  white-space:nowrap;
}
.pms-hex-btn:hover { background:#e4e4e4; }
.pms-hex-btn.pms-copied {
  background:#222;
  color:white;
}
.pms-swatch-label {
  font-size:9px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#aaa;
}
.pms-bar-dismiss {
  margin-left:auto;
  font-size:10px;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:#bbb;
  background:none;
  border:none;
  cursor:pointer;
  font-family:'Jost',sans-serif;
  transition:color .2s;
  flex-shrink:0;
  white-space:nowrap;
}
.pms-bar-dismiss:hover { color:#666; }

/* Push footer up so bar doesn't cover content */
body.pms-picker-active {
  padding-bottom:calc(72px + 70px);
}
@media(max-width:960px) {
  body.pms-picker-active { padding-bottom:calc(64px + 120px); }
  .pms-color-bar { padding:10px 16px; gap:10px; flex-wrap:wrap; }
  .pms-bar-name,.pms-bar-divider,.pms-swatch-label { display:none; }
  .pms-theme-picker { display:none !important; }
}

/* ============================================================
   SEASONAL THEMING SYSTEM
   CSS variables injected by PHP via wp_head.
   --season-* vars are set per season in functions.php.
   ============================================================ */

/* Season variables fall back to current theme values */
:root {
  --season-accent:     var(--gold);
  --season-accent2:    var(--gold-light);
  --season-bg-tint:    var(--cream);
  --season-bg2-tint:   var(--cream2);
  --season-dark-tint:  var(--dark);
  --season-hero-grad:  linear-gradient(135deg,#F0E8D8 0%,#E8D9C4 50%,#DCC9AA 100%);
}

/* Apply season tints to relevant sections */
.hero           { background: var(--season-hero-grad) !important; }
nav             { --gold: var(--season-accent); --gold-light: var(--season-accent2); }
.topbar-promo   { color: var(--season-accent2); }
.section-label  { color: var(--season-accent) !important; }
.section-label::before { background: var(--season-accent) !important; }
.marquee-dot    { color: var(--season-accent) !important; }
.hero-tag       { color: var(--season-accent) !important; }
.hero-tag::before { background: var(--season-accent) !important; }
.hero h1 em     { color: var(--season-accent) !important; }
.btn-primary:hover,
.nav-cta:hover  { background: var(--season-accent) !important; }
.btn-gold       { background: var(--season-accent) !important; }
.btn-gold:hover { background: var(--season-accent2) !important; }
.service-card::after,
.service-page-card::after { background: var(--season-accent) !important; }
.service-arrow,
.svc-arrow,
.text-link:hover { color: var(--season-accent) !important; }
.tcard::before  { color: var(--season-accent) !important; }
.tcard-svc,
.stars          { color: var(--season-accent) !important; }
.about-img-badge .num,
.stat-num       { color: var(--season-accent2) !important; }
.faq-item.open .faq-icon { background: var(--season-accent) !important; border-color: var(--season-accent) !important; }
.footer-col h4,
.footer-brand-name { color: var(--season-accent2) !important; }
.cta-banner h2 em { color: var(--season-accent2) !important; }
.mm-tab.active::before,
.mm-group-label,
.mm-cta         { color: var(--season-accent) !important; }
.mm-tab.active::before { background: var(--season-accent) !important; }
.pms-theme-picker .pms-active { border-color: var(--season-accent) !important; box-shadow: 0 0 0 2px white, 0 0 0 4px var(--season-accent) !important; }

/* ── SEASONAL ANNOUNCEMENT BANNER ── */
.season-banner {
  background: var(--season-dark-tint, var(--dark));
  padding: 12px 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  position: relative;
  border-bottom: 1px solid rgba(255,255,255,.06);
  transition: background .6s ease;
  margin-top: 80px; /* push below fixed nav on all screen sizes */
}
.season-banner-inner {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 1;
  justify-content: center;
  flex-wrap: wrap;
}
.season-banner-icon {
  font-size: 16px;
  line-height: 1;
  flex-shrink: 0;
}
.season-banner-text {
  font-size: 12px;
  letter-spacing: .1em;
  color: rgba(255,255,255,.75);
  text-align: center;
}
.season-banner-cta {
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--season-accent2, var(--gold-light));
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.2);
  padding-bottom: 1px;
  white-space: nowrap;
  flex-shrink: 0;
  transition: color .2s, border-color .2s;
}
.season-banner-cta:hover { color: white; border-color: white; }
.season-banner-text--mob { display: none; text-decoration: none; }
.season-banner-close {
  background: none;
  border: none;
  color: rgba(255,255,255,.3);
  font-size: 14px;
  cursor: pointer;
  padding: 4px 8px;
  flex-shrink: 0;
  transition: color .2s;
  line-height: 1;
}
.season-banner-close:hover { color: rgba(255,255,255,.7); }
.season-banner.dismissed { display: none; }

/* ── SEASONAL PROMO SECTION ── */
.season-promo {
  padding: 100px 60px;
  background: var(--season-dark-tint, var(--dark));
  transition: background .6s ease;
  position: relative;
  overflow: hidden;
}
.season-promo::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 70% 50%, rgba(255,255,255,.04) 0%, transparent 70%);
  pointer-events: none;
}
.season-promo-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.season-promo-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--season-accent, var(--gold));
  border: 1px solid rgba(255,255,255,.12);
  padding: 7px 16px;
  margin-bottom: 24px;
  transition: color .6s;
}
.season-promo-left h2 {
  font-family: var(--serif);
  font-size: clamp(30px,4vw,52px);
  font-weight: 300;
  color: white;
  line-height: 1.1;
  margin-bottom: 20px;
}
.season-promo-left p {
  font-size: 15px;
  line-height: 1.85;
  color: rgba(255,255,255,.55);
  margin-bottom: 36px;
}
/* Featured treatment card */
.season-featured-card {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  padding: 40px;
  margin-bottom: 32px;
  transition: background .3s;
}
.season-featured-card:hover { background: rgba(255,255,255,.08); }
.season-featured-label {
  font-size: 9px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--season-accent, var(--gold));
  margin-bottom: 12px;
  transition: color .6s;
}
.season-featured-name {
  font-family: var(--serif);
  font-size: 28px;
  font-weight: 300;
  color: white;
  margin-bottom: 12px;
  line-height: 1.2;
}
.season-featured-why {
  font-size: 13px;
  line-height: 1.8;
  color: rgba(255,255,255,.5);
  margin-bottom: 20px;
}
.season-featured-link {
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--season-accent, var(--gold));
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.15);
  padding-bottom: 2px;
  transition: color .2s;
}
.season-featured-link:hover { color: white; border-color: white; }
/* Season indicator dots */
.season-indicator {
  text-align: center;
}
.season-indicator-label {
  font-size: 9px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255,255,255,.3);
  margin-bottom: 16px;
}
.season-dots {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
.season-dot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  padding: 12px 16px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 4px;
  transition: all .3s;
  min-width: 68px;
}
.season-dot:hover {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.2);
}
.season-dot.active {
  background: rgba(255,255,255,.08);
  border-color: var(--season-accent, var(--gold));
}
.season-dot span { font-size: 22px; line-height: 1; }
.season-dot-label {
  font-size: 9px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
  transition: color .2s;
}
.season-dot.active .season-dot-label { color: var(--season-accent, var(--gold)); }

/* ── SEASON PICKER (in theme switcher panel) ── */
.pms-season-divider {
  width: 32px;
  height: 1px;
  background: #e0e0e0;
  margin: 4px 0;
}
.pms-season-picker-label {
  font-size: 7px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #aaa;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  margin-bottom: 2px;
  margin-top: 4px;
}
.pms-season-btn {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  border: 2px solid transparent;
  cursor: pointer;
  background: none;
  padding: 0;
  position: relative;
  transition: transform .2s, box-shadow .2s;
  flex-shrink: 0;
  font-size: 20px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  outline: none;
}
.pms-season-btn:hover { transform: scale(1.12); }
.pms-season-btn.pms-active {
  border-color: #222;
  box-shadow: 0 0 0 2px white, 0 0 0 4px #222;
  transform: scale(1.12);
}
.pms-season-btn .pms-tooltip { border-radius: 4px; }

/* Responsive */
@media(max-width:960px){
  .season-banner { padding: 12px 16px; }
  .season-banner-cta--desk { display: none; }
  .season-banner-text--desk { display: none; }
  .season-banner-text--mob { display: inline; }
  .season-promo { padding: 60px 24px; }
  .season-promo-content { grid-template-columns: 1fr; gap: 40px; }
}

/* ── SPECIALS PAGE SEASONAL ADDITIONS ── */
.specials-section{ padding:0 60px 80px; background:var(--cream); }
.specials-season-strip{
  background:var(--dark);
  padding:20px 60px;
  border-bottom:1px solid rgba(255,255,255,.06);
  transition:background .6s;
}
.specials-season-strip-inner{
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  max-width:1200px;margin:0 auto;
}
.specials-season-icon{ font-size:28px;flex-shrink:0; }
.specials-season-label{
  font-size:9px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,.4);margin-bottom:4px;
}
.specials-season-headline{
  font-family:var(--serif);font-size:20px;font-weight:300;color:white;
}
.specials-season-cta{
  margin-left:auto;font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-light);text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:2px;
  white-space:nowrap;flex-shrink:0;transition:color .2s,border-color .2s;
}
.specials-season-cta:hover{ color:white;border-color:white; }

/* Hero/featured special card */
.special-card--hero{
  border-top:3px solid var(--gold);
  position:relative;
}
.special-card-ribbon{
  position:absolute;top:0;right:24px;
  background:var(--gold);color:white;
  font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  padding:4px 14px;transform:translateY(0);
}
@media(max-width:960px){
  .specials-season-strip,.specials-section{ padding-left:24px;padding-right:24px; }
  .specials-season-cta{ display:none; }
}

/* ============================================================
   HERO SLIDESHOW - FIXED
   ============================================================ */

/* Hide old single hero */
.hero { display: none !important; }

/* ── Slider shell ── */
.hero-slider {
  position: relative;
  width: 100%;
  height: calc(100vh - 80px); /* subtract nav height */
  min-height: 580px;
  max-height: 920px;
  overflow: hidden;
  background: #1C1812;
  display: block;
}

/* ── Each slide: stacked absolutely, crossfade ── */
.hero-slide {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s ease, visibility 1s ease;
  z-index: 1;
}
.hero-slide.active {
  opacity: 1;
  visibility: visible;
  z-index: 2;
}

/* ── Background image via CSS ── */
.hero-slide-bg {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-size: cover;
  background-position: 65% top;
  background-repeat: no-repeat;
  z-index: 0;
  transform: scale(1.05);
  transition: transform 7s ease;
}
.hero-slide.active .hero-slide-bg {
  transform: scale(1);
}

/* ── Gradient overlay ── */
.hero-slide-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 1;
  background: linear-gradient(
    to right,
    rgba(20,16,10,0.78) 0%,
    rgba(20,16,10,0.55) 40%,
    rgba(20,16,10,0.15) 65%,
    rgba(20,16,10,0.0) 100%
  );
}

/* ── Text content ── */
.hero-slide-content {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 3;
  padding: 0 60px;
  width: 52%;
  max-width: 620px;
  /* Hidden until slide active */
  opacity: 0;
  transform: translateY(calc(-50% + 24px));
  transition: opacity .7s ease .5s, transform .7s ease .5s;
}
.hero-slide.active .hero-slide-content {
  opacity: 1;
  transform: translateY(-50%);
}

/* Tag line */
.hero-slider .hero-tag {
  font-family: var(--sans);
  font-size: 10px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--gold-light, #D4B483);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.hero-slider .hero-tag::before {
  content: '';
  display: block;
  width: 32px;
  height: 1px;
  background: var(--gold, #B8955A);
  flex-shrink: 0;
}

/* Heading */
.hero-slider h1 {
  font-family: var(--serif, "Cormorant Garamond", serif);
  font-size: clamp(40px, 5.5vw, 80px);
  font-weight: 300;
  line-height: 1.05;
  color: #ffffff;
  margin-bottom: 20px;
}
.hero-slider h1 em {
  font-style: italic;
  color: var(--gold-light, #D4B483);
}

/* Subtext */
.hero-slider .hero-sub {
  font-size: 15px;
  line-height: 1.8;
  color: rgba(255,255,255,.75);
  margin-bottom: 36px;
  max-width: 440px;
}

/* Buttons */
.hero-slider .hero-btns {
  display: flex;
  gap: 20px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 32px;
}
.hero-slider .btn-primary {
  background: var(--gold, #B8955A);
  color: white;
  padding: 15px 32px;
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  display: inline-block;
  border: none;
  cursor: pointer;
  transition: background .25s, transform .2s;
  white-space: nowrap;
}
.hero-slider .btn-primary:hover {
  background: var(--gold-light, #D4B483);
  transform: translateY(-1px);
}
.hero-slider .btn-ghost {
  color: rgba(255,255,255,.8);
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.35);
  padding-bottom: 2px;
  transition: color .2s, border-color .2s;
  white-space: nowrap;
}
.hero-slider .btn-ghost:hover {
  color: white;
  border-color: white;
}

/* Trust badges */
.hero-trust-badges {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.hero-trust-badge {
  font-family: var(--sans);
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  border: 1px solid rgba(255,255,255,.15);
  padding: 7px 14px;
}

/* ── Navigation ── */
.hero-slider-nav {
  position: absolute;
  bottom: 36px;
  left: 60px;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 16px;
}
.hero-nav-btn {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.06);
  color: white;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .22s;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  font-family: sans-serif;
}
.hero-nav-btn:hover {
  background: var(--gold, #B8955A);
  border-color: var(--gold, #B8955A);
}
.hero-dots {
  display: flex;
  gap: 8px;
  align-items: center;
}
.hero-dot {
  width: 24px;
  height: 2px;
  border: none;
  background: rgba(255,255,255,.28);
  cursor: pointer;
  transition: all .3s;
  padding: 0;
}
.hero-dot.active {
  background: var(--gold, #B8955A);
  width: 44px;
}

/* Scroll indicator */
.hero-slider .hero-scroll {
  position: absolute;
  bottom: 44px;
  right: 5%;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  font-family: var(--sans);
  font-size: 9px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
}
.hero-slider .hero-scroll-line {
  width: 1px;
  height: 52px;
  background: var(--gold, #B8955A);
  animation: scrollPulse 2s ease-in-out infinite;
}

/* Progress bar */
.hero-slider::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  height: 2px;
  background: var(--gold, #B8955A);
  z-index: 20;
  width: 0;
  transition: none;
}
.hero-slider.progress::before {
  animation: heroProgress 5s linear forwards;
}
@keyframes heroProgress {
  from { width: 0; }
  to   { width: 100%; }
}

/* ── MOBILE ── */
@media(max-width: 960px) {
  .hero-slider {
    height: 100svh;
    min-height: 580px;
    max-height: none;
  }
  .hero-slide-content {
    width: 100%;
    max-width: 100%;
    padding: 0 24px;
    top: auto;
    bottom: 100px;
    left: 0;
    transform: none !important;
    opacity: 0;
    transition: opacity .7s ease .5s;
  }
  .hero-slide.active .hero-slide-content {
    opacity: 1;
    transform: none !important;
  }
  .hero-slide-overlay {
    background: linear-gradient(
      to top,
      rgba(20,16,10,0.88) 0%,
      rgba(20,16,10,0.55) 45%,
      rgba(20,16,10,0.15) 100%
    );
  }
  .hero-slide-bg {
    background-position: center top;
  }
  .hero-slider h1 { font-size: clamp(34px, 8vw, 52px); }
  .hero-slider .hero-sub { font-size: 13px; color: rgba(255,255,255,.8); }
  .hero-slider .hero-btns { flex-direction: column; align-items: flex-start; gap: 12px; }
  .hero-slider .btn-primary,
  .hero-slider .btn-ghost { font-size: 10px; }
  .hero-trust-badges { display: none; }
  .hero-slider-nav { bottom: 16px; left: 24px; }
  .hero-slider .hero-scroll { display: none; }
}


/* ============================================================
   SEASONAL THEMING SYSTEM
   CSS variables injected by PHP via wp_head.
   --season-* vars are set per season in functions.php.
   ============================================================ */

/* Season variables fall back to current theme values */
:root {
  --season-accent:     var(--gold);
  --season-accent2:    var(--gold-light);
  --season-bg-tint:    var(--cream);
  --season-bg2-tint:   var(--cream2);
  --season-dark-tint:  var(--dark);
  --season-hero-grad:  linear-gradient(135deg,#F0E8D8 0%,#E8D9C4 50%,#DCC9AA 100%);
}

/* Apply season tints to relevant sections */
.hero           { background: var(--season-hero-grad) !important; }
nav             { --gold: var(--season-accent); --gold-light: var(--season-accent2); }
.topbar-promo   { color: var(--season-accent2); }
.section-label  { color: var(--season-accent) !important; }
.section-label::before { background: var(--season-accent) !important; }
.marquee-dot    { color: var(--season-accent) !important; }
.hero-tag       { color: var(--season-accent) !important; }
.hero-tag::before { background: var(--season-accent) !important; }
.hero h1 em     { color: var(--season-accent) !important; }
.btn-primary:hover,
.nav-cta:hover  { background: var(--season-accent) !important; }
.btn-gold       { background: var(--season-accent) !important; }
.btn-gold:hover { background: var(--season-accent2) !important; }
.service-card::after,
.service-page-card::after { background: var(--season-accent) !important; }
.service-arrow,
.svc-arrow,
.text-link:hover { color: var(--season-accent) !important; }
.tcard::before  { color: var(--season-accent) !important; }
.tcard-svc,
.stars          { color: var(--season-accent) !important; }
.about-img-badge .num,
.stat-num       { color: var(--season-accent2) !important; }
.faq-item.open .faq-icon { background: var(--season-accent) !important; border-color: var(--season-accent) !important; }
.footer-col h4,
.footer-brand-name { color: var(--season-accent2) !important; }
.cta-banner h2 em { color: var(--season-accent2) !important; }
.mm-tab.active::before,
.mm-group-label,
.mm-cta         { color: var(--season-accent) !important; }
.mm-tab.active::before { background: var(--season-accent) !important; }
.pms-theme-picker .pms-active { border-color: var(--season-accent) !important; box-shadow: 0 0 0 2px white, 0 0 0 4px var(--season-accent) !important; }

/* ── SEASONAL ANNOUNCEMENT BANNER ── */
.season-banner {
  background: var(--season-dark-tint, var(--dark));
  padding: 12px 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  position: relative;
  border-bottom: 1px solid rgba(255,255,255,.06);
  transition: background .6s ease;
  margin-top: 80px; /* push below fixed nav on all screen sizes */
}
.season-banner-inner {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 1;
  justify-content: center;
  flex-wrap: wrap;
}
.season-banner-icon {
  font-size: 16px;
  line-height: 1;
  flex-shrink: 0;
}
.season-banner-text {
  font-size: 12px;
  letter-spacing: .1em;
  color: rgba(255,255,255,.75);
  text-align: center;
}
.season-banner-cta {
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--season-accent2, var(--gold-light));
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.2);
  padding-bottom: 1px;
  white-space: nowrap;
  flex-shrink: 0;
  transition: color .2s, border-color .2s;
}
.season-banner-cta:hover { color: white; border-color: white; }
.season-banner-text--mob { display: none; text-decoration: none; }
.season-banner-close {
  background: none;
  border: none;
  color: rgba(255,255,255,.3);
  font-size: 14px;
  cursor: pointer;
  padding: 4px 8px;
  flex-shrink: 0;
  transition: color .2s;
  line-height: 1;
}
.season-banner-close:hover { color: rgba(255,255,255,.7); }
.season-banner.dismissed { display: none; }

/* ── SEASONAL PROMO SECTION ── */
.season-promo {
  padding: 100px 60px;
  background: var(--season-dark-tint, var(--dark));
  transition: background .6s ease;
  position: relative;
  overflow: hidden;
}
.season-promo::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 70% 50%, rgba(255,255,255,.04) 0%, transparent 70%);
  pointer-events: none;
}
.season-promo-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.season-promo-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--season-accent, var(--gold));
  border: 1px solid rgba(255,255,255,.12);
  padding: 7px 16px;
  margin-bottom: 24px;
  transition: color .6s;
}
.season-promo-left h2 {
  font-family: var(--serif);
  font-size: clamp(30px,4vw,52px);
  font-weight: 300;
  color: white;
  line-height: 1.1;
  margin-bottom: 20px;
}
.season-promo-left p {
  font-size: 15px;
  line-height: 1.85;
  color: rgba(255,255,255,.55);
  margin-bottom: 36px;
}
/* Featured treatment card */
.season-featured-card {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  padding: 40px;
  margin-bottom: 32px;
  transition: background .3s;
}
.season-featured-card:hover { background: rgba(255,255,255,.08); }
.season-featured-label {
  font-size: 9px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--season-accent, var(--gold));
  margin-bottom: 12px;
  transition: color .6s;
}
.season-featured-name {
  font-family: var(--serif);
  font-size: 28px;
  font-weight: 300;
  color: white;
  margin-bottom: 12px;
  line-height: 1.2;
}
.season-featured-why {
  font-size: 13px;
  line-height: 1.8;
  color: rgba(255,255,255,.5);
  margin-bottom: 20px;
}
.season-featured-link {
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--season-accent, var(--gold));
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.15);
  padding-bottom: 2px;
  transition: color .2s;
}
.season-featured-link:hover { color: white; border-color: white; }
/* Season indicator dots */
.season-indicator {
  text-align: center;
}
.season-indicator-label {
  font-size: 9px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255,255,255,.3);
  margin-bottom: 16px;
}
.season-dots {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
.season-dot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  padding: 12px 16px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 4px;
  transition: all .3s;
  min-width: 68px;
}
.season-dot:hover {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.2);
}
.season-dot.active {
  background: rgba(255,255,255,.08);
  border-color: var(--season-accent, var(--gold));
}
.season-dot span { font-size: 22px; line-height: 1; }
.season-dot-label {
  font-size: 9px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
  transition: color .2s;
}
.season-dot.active .season-dot-label { color: var(--season-accent, var(--gold)); }

/* ── SEASON PICKER (in theme switcher panel) ── */
.pms-season-divider {
  width: 32px;
  height: 1px;
  background: #e0e0e0;
  margin: 4px 0;
}
.pms-season-picker-label {
  font-size: 7px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #aaa;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  margin-bottom: 2px;
  margin-top: 4px;
}
.pms-season-btn {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  border: 2px solid transparent;
  cursor: pointer;
  background: none;
  padding: 0;
  position: relative;
  transition: transform .2s, box-shadow .2s;
  flex-shrink: 0;
  font-size: 20px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  outline: none;
}
.pms-season-btn:hover { transform: scale(1.12); }
.pms-season-btn.pms-active {
  border-color: #222;
  box-shadow: 0 0 0 2px white, 0 0 0 4px #222;
  transform: scale(1.12);
}
.pms-season-btn .pms-tooltip { border-radius: 4px; }

/* Responsive */
@media(max-width:960px){
  .season-banner { padding: 12px 16px; }
  .season-banner-cta--desk { display: none; }
  .season-banner-text--desk { display: none; }
  .season-banner-text--mob { display: inline; }
  .season-promo { padding: 60px 24px; }
  .season-promo-content { grid-template-columns: 1fr; gap: 40px; }
}

/* ── SPECIALS PAGE SEASONAL ADDITIONS ── */
.specials-section{ padding:0 60px 80px; background:var(--cream); }
.specials-season-strip{
  background:var(--dark);
  padding:20px 60px;
  border-bottom:1px solid rgba(255,255,255,.06);
  transition:background .6s;
}
.specials-season-strip-inner{
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  max-width:1200px;margin:0 auto;
}
.specials-season-icon{ font-size:28px;flex-shrink:0; }
.specials-season-label{
  font-size:9px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,.4);margin-bottom:4px;
}
.specials-season-headline{
  font-family:var(--serif);font-size:20px;font-weight:300;color:white;
}
.specials-season-cta{
  margin-left:auto;font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-light);text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:2px;
  white-space:nowrap;flex-shrink:0;transition:color .2s,border-color .2s;
}
.specials-season-cta:hover{ color:white;border-color:white; }

/* Hero/featured special card */
.special-card--hero{
  border-top:3px solid var(--gold);
  position:relative;
}
.special-card-ribbon{
  position:absolute;top:0;right:24px;
  background:var(--gold);color:white;
  font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  padding:4px 14px;transform:translateY(0);
}
@media(max-width:960px){
  .specials-season-strip,.specials-section{ padding-left:24px;padding-right:24px; }
  .specials-season-cta{ display:none; }
}

/* ============================================================
   HERO SLIDESHOW
   Full-bleed images, text on gradient overlay, crossfade transition
   ============================================================ */

/* Remove old hero styles that conflict */
.hero { display: none !important; }

/* Slider container */
.hero-slider {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 600px;
  overflow: hidden;
  background: var(--dark);
}

/* Individual slide */
.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1.2s cubic-bezier(.4,0,.2,1);
  pointer-events: none;
  z-index: 1;
}
.hero-slide.active {
  opacity: 1;
  pointer-events: auto;
  z-index: 2;
}

/* Background image - full bleed, object-fit cover */
.hero-slide-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  /* CSS background-image - browser handles sizing perfectly */
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  /* Subtle Ken Burns zoom on active slide */
  transform: scale(1.04);
  transition: transform 6s cubic-bezier(.25,.46,.45,.94);
  /* Preload hint for background images */
  will-change: transform;
}
.hero-slide.active .hero-slide-bg {
  transform: scale(1);
}

/* Gradient overlay - left-heavy, image shows fully on right */
.hero-slide-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    rgba(28,24,18,0.72) 0%,
    rgba(28,24,18,0.45) 45%,
    rgba(28,24,18,0.08) 70%,
    rgba(28,24,18,0.0) 100%
  );
}

/* On mobile - stronger overlay so text is readable */
@media(max-width:768px) {
  .hero-slide-overlay {
    background: linear-gradient(
      180deg,
      rgba(28,24,18,0.55) 0%,
      rgba(28,24,18,0.65) 60%,
      rgba(28,24,18,0.75) 100%
    );
  }
}

/* Slide text content */
.hero-slide-content {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  padding: 0 8% 0 6%;
  max-width: 680px;
  /* Animate in when slide becomes active */
  opacity: 0;
  transform: translateY(calc(-50% + 20px));
  transition: opacity .8s ease .4s, transform .8s ease .4s;
}
.hero-slide.active .hero-slide-content {
  opacity: 1;
  transform: translateY(-50%);
}

/* Hero tag line */
.hero-slider .hero-tag {
  font-size: 10px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--gold-light);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  opacity: .9;
}
.hero-slider .hero-tag::before {
  content: '';
  display: block;
  width: 32px;
  height: 1px;
  background: var(--gold);
  flex-shrink: 0;
}

/* Hero heading */
.hero-slider h1 {
  font-family: var(--serif);
  font-size: clamp(44px, 6.5vw, 86px);
  font-weight: 300;
  line-height: 1.05;
  color: white;
  margin-bottom: 24px;
}
.hero-slider h1 em {
  font-style: italic;
  color: var(--gold-light);
}

/* Hero subtext */
.hero-slider .hero-sub {
  font-size: 15px;
  line-height: 1.8;
  color: rgba(255,255,255,.75);
  max-width: 480px;
  margin-bottom: 40px;
}

/* CTA buttons */
.hero-slider .hero-btns {
  display: flex;
  gap: 20px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 36px;
}
.hero-slider .btn-primary {
  background: var(--gold);
  color: white;
  padding: 16px 36px;
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  display: inline-block;
  transition: background .3s, transform .2s;
  border: none;
  cursor: pointer;
  font-family: var(--sans);
}
.hero-slider .btn-primary:hover {
  background: var(--gold-light);
  transform: translateY(-1px);
}
.hero-slider .btn-ghost {
  color: rgba(255,255,255,.85);
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.4);
  padding-bottom: 2px;
  transition: color .2s, border-color .2s;
  font-family: var(--sans);
}
.hero-slider .btn-ghost:hover {
  color: white;
  border-color: white;
}

/* Trust badges row */
.hero-trust-badges {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.hero-trust-badge {
  font-size: 10px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: rgba(255,255,255,.6);
  border: 1px solid rgba(255,255,255,.18);
  padding: 8px 16px;
  background: rgba(255,255,255,.04);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

/* Navigation arrows */
.hero-slider-nav {
  position: absolute;
  bottom: 40px;
  left: 6%;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-nav-btn {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.3);
  background: rgba(255,255,255,.08);
  color: white;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .25s;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  font-family: var(--sans);
}
.hero-nav-btn:hover {
  background: var(--gold);
  border-color: var(--gold);
}

/* Dot indicators */
.hero-dots {
  display: flex;
  gap: 8px;
  align-items: center;
}
.hero-dot {
  width: 28px;
  height: 2px;
  border: none;
  background: rgba(255,255,255,.3);
  cursor: pointer;
  transition: background .3s, width .3s;
  padding: 0;
}
.hero-dot.active {
  background: var(--gold);
  width: 48px;
}

/* Scroll indicator */
.hero-slider .hero-scroll {
  position: absolute;
  bottom: 44px;
  right: 6%;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255,255,255,.45);
  writing-mode: vertical-rl;
}
.hero-slider .hero-scroll-line {
  width: 1px;
  height: 52px;
  background: var(--gold);
  animation: scrollPulse 2s ease-in-out infinite;
}

/* Progress bar at top */
.hero-slider::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 2px;
  background: var(--gold);
  z-index: 20;
  width: 0%;
  transition: none;
}
.hero-slider.progress::after {
  animation: heroProgress 5s linear forwards;
}
@keyframes heroProgress {
  from { width: 0%; }
  to   { width: 100%; }
}

/* Mobile */
@media(max-width:768px) {
  .hero-slider {
    min-height: 100svh;
  }
  .hero-slide-content {
    padding: 0 24px;
    max-width: 100%;
    top: auto;
    bottom: 120px;
    transform: none;
  }
  .hero-slide.active .hero-slide-content {
    transform: none;
  }
  .hero-slider h1 { font-size: clamp(38px, 9vw, 58px); }
  .hero-slider .hero-sub { font-size: 14px; max-width: 100%; }
  .hero-slider .hero-btns { gap: 14px; }
  .hero-trust-badges { display: none; }
  .hero-slider-nav { bottom: 80px; }
  .hero-slider .hero-scroll { display: none; }
  .hero-slide-bg img { object-position: 65% top; }
}

/* Mobile hero image focus - show face not body */
@media(max-width:768px) {
  .hero-slider .hero-slide:nth-child(1) .hero-slide-bg {
    background-position: 70% top;
  }
  .hero-slider .hero-slide:nth-child(2) .hero-slide-bg {
    background-position: 60% top;
  }
}

/* =====================================================================
   SERVICE PAGE ENHANCEMENTS — v2 (Trifecta-inspired rich layout)
   ===================================================================== */

/* ── Banner tagline ── */
.svc-banner-tagline{
  font-family:var(--serif);font-size:clamp(15px,1.8vw,20px);
  font-weight:300;font-style:italic;color:rgba(92,78,58,.7);
  margin-top:12px;letter-spacing:.02em;
}

/* ── HERO SPLIT ── */
.svc-hero-split{
  display:grid;grid-template-columns:1fr 1fr;min-height:560px;
}
.svc-hero-img-wrap{
  position:relative;overflow:hidden;
}
.svc-hero-img{
  width:100%;height:100%;object-fit:cover;object-position:top;
  transition:transform 6s ease;display:block;
}
.svc-hero-img-wrap:hover .svc-hero-img{transform:scale(1.04);}
.svc-hero-img-badge{
  position:absolute;bottom:24px;left:24px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(8px);
  padding:8px 16px;display:flex;align-items:center;gap:8px;
  font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mid);
}
.svc-badge-dot{color:var(--gold);font-size:14px;}
.svc-hero-text{
  background:var(--cream2);padding:80px 64px;
  display:flex;flex-direction:column;justify-content:center;
}
.svc-hero-h2{
  font-family:var(--serif);font-size:clamp(28px,3.2vw,44px);
  font-weight:300;color:var(--dark);margin:16px 0 24px;line-height:1.1;
}
.svc-hero-intro{
  font-size:15px;line-height:1.9;color:var(--mid);margin-bottom:20px;
}
.svc-hero-excerpt{font-size:14px;line-height:1.85;color:var(--mid);}
.svc-hero-excerpt p{margin:0 0 12px;}
.svc-hero-actions{
  display:flex;align-items:center;gap:24px;margin-top:32px;flex-wrap:wrap;
}
.svc-editor-content{padding-top:60px;padding-bottom:60px;}

/* ── BENEFITS GRID ── */
.svc-benefits-section{
  background:var(--dark);padding:100px 60px;
}
.svc-benefits-inner{max-width:1200px;margin:0 auto;}
.svc-benefits-header{text-align:center;margin-bottom:64px;}
.svc-benefits-header h2{
  font-family:var(--serif);font-size:clamp(28px,3.5vw,48px);
  font-weight:300;color:white;
}
.svc-benefits-header h2 em{color:var(--gold-light);font-style:italic;}
.svc-benefits-header .section-label{color:var(--gold);}
.svc-benefits-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:2px;
}
.svc-benefit-item{
  background:rgba(255,255,255,.04);padding:40px 36px;
  border:1px solid rgba(255,255,255,.07);
  transition:background .3s,transform .3s;
  animation-delay:var(--delay,0ms);
}
.svc-benefit-item:hover{background:rgba(255,255,255,.08);transform:translateY(-2px);}
.svc-benefit-icon{
  font-size:18px;color:var(--gold);margin-bottom:16px;line-height:1;
}
.svc-benefit-item p{
  font-size:14px;line-height:1.8;color:rgba(255,255,255,.65);margin:0;
}

/* ── HOW IT WORKS ── */
.svc-process-section{background:var(--cream);padding:100px 60px;}
.svc-process-inner{max-width:1100px;margin:0 auto;}
.svc-process-header{text-align:center;margin-bottom:72px;}
.svc-process-header h2{
  font-family:var(--serif);font-size:clamp(28px,3.5vw,48px);font-weight:300;color:var(--dark);
}
.svc-process-header h2 em{font-style:italic;color:var(--gold);}
.svc-process-steps{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;
}
.svc-step{
  padding:40px 32px;position:relative;
  border-top:2px solid var(--warm);
  animation-delay:var(--delay,0ms);
}
.svc-step-num{
  font-family:var(--serif);font-size:52px;font-weight:300;
  color:rgba(184,149,90,.2);line-height:1;margin-bottom:16px;
}
.svc-step-content h3{
  font-family:var(--serif);font-size:18px;font-weight:400;color:var(--dark);
  margin-bottom:12px;
}
.svc-step-content p{font-size:13px;line-height:1.85;color:var(--mid);}
.svc-step-line{
  position:absolute;top:2px;right:0;
  width:1px;height:60px;background:var(--gold);opacity:.3;
}

/* ── BEFORE / AFTER ── */
.svc-ba-section{background:var(--cream2);padding:100px 60px;}
.svc-ba-inner{max-width:1200px;margin:0 auto;}
.svc-ba-header{text-align:center;margin-bottom:56px;}
.svc-ba-header h2{
  font-family:var(--serif);font-size:clamp(28px,3.5vw,48px);font-weight:300;color:var(--dark);
}
.svc-ba-header h2 em{font-style:italic;color:var(--gold);}
.svc-ba-note{font-size:13px;color:var(--mid);margin-top:12px;}
.svc-ba-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:32px;
}
.svc-ba-pair{
  display:grid;grid-template-columns:1fr 1fr;gap:4px;
  animation-delay:var(--delay,0ms);
}
.svc-ba-img-wrap{position:relative;overflow:hidden;}
.svc-ba-img-wrap img{
  width:100%;height:320px;object-fit:cover;display:block;
  transition:transform .5s ease;
}
.svc-ba-img-wrap:hover img{transform:scale(1.04);}
.svc-ba-label{
  position:absolute;top:12px;left:12px;z-index:2;
  background:var(--dark);color:white;
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  padding:4px 10px;
}
.svc-ba-label--after{background:var(--gold);color:white;}
.svc-ba-disclaimer{
  text-align:center;font-size:12px;color:rgba(92,78,58,.5);
  margin-top:32px;font-style:italic;
}

/* ── PRACTITIONER TRUST ── */
.svc-trust-section{background:white;padding:100px 60px;}
.svc-trust-inner{
  max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:400px 1fr;gap:80px;align-items:center;
}
.svc-trust-img-placeholder{
  width:100%;aspect-ratio:3/4;background:var(--cream);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.svc-trust-placeholder-text{
  text-align:center;padding:40px;
}
.svc-trust-placeholder-text span{
  display:block;font-family:var(--serif);font-size:24px;
  font-weight:300;color:var(--dark);margin-bottom:8px;line-height:1.3;
}
.svc-trust-placeholder-text em{
  display:block;font-size:13px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gold);font-style:normal;
  margin-bottom:16px;
}
.svc-trust-placeholder-text small{
  display:block;font-size:11px;color:var(--mid);line-height:1.6;
}
.svc-trust-text-col h2{
  font-family:var(--serif);font-size:clamp(28px,3vw,44px);
  font-weight:300;color:var(--dark);margin:16px 0 24px;
}
.svc-trust-text-col h2 em{font-style:italic;color:var(--gold);}
.svc-trust-text-col p{font-size:15px;line-height:1.9;color:var(--mid);margin-bottom:16px;}
.svc-trust-creds{margin-top:32px;display:flex;flex-direction:column;gap:10px;}
.svc-trust-cred{
  font-size:13px;color:var(--dark);display:flex;align-items:center;gap:10px;
}
.svc-cred-dot{color:var(--gold);font-size:10px;flex-shrink:0;}

/* ── RELATED SERVICES ── */
.svc-related-section{background:var(--cream2);padding:100px 60px;}
.svc-related-inner{max-width:1200px;margin:0 auto;}
.svc-related-header{text-align:center;margin-bottom:56px;}
.svc-related-header h2{
  font-family:var(--serif);font-size:clamp(28px,3.5vw,48px);font-weight:300;color:var(--dark);
}
.svc-related-header h2 em{font-style:italic;color:var(--gold);}
.svc-related-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:2px;
}
.svc-related-card{
  background:var(--cream);padding:48px 40px;text-decoration:none;
  color:inherit;display:block;position:relative;overflow:hidden;
  transition:transform .3s,background .3s;
  animation-delay:var(--delay,0ms);
}
.svc-related-card::after{
  content:'';position:absolute;bottom:0;left:0;right:0;
  height:2px;background:var(--gold);transform:scaleX(0);
  transform-origin:left;transition:transform .5s cubic-bezier(.25,.46,.45,.94);
}
.svc-related-card:hover::after{transform:scaleX(1);}
.svc-related-card:hover{transform:translateY(-2px);background:white;}
.svc-related-emoji{font-size:32px;margin-bottom:16px;line-height:1;}
.svc-related-tag{
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);margin-bottom:12px;
}
.svc-related-card h3{
  font-family:var(--serif);font-size:20px;font-weight:400;
  color:var(--dark);margin-bottom:20px;line-height:1.3;
}

/* ── RESPONSIVE ── */
@media(max-width:1100px){
  .svc-process-steps{grid-template-columns:repeat(2,1fr);}
  .svc-step-line{display:none;}
  .svc-trust-inner{grid-template-columns:1fr 1fr;gap:48px;}
  .svc-benefits-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:960px){
  .svc-hero-split{grid-template-columns:1fr;}
  .svc-hero-img-wrap{height:360px;}
  .svc-hero-img{height:360px;}
  .svc-hero-text{padding:60px 40px;}
  .svc-benefits-section,.svc-process-section,.svc-ba-section,
  .svc-trust-section,.svc-related-section{padding:60px 24px;}
  .svc-trust-inner{grid-template-columns:1fr;gap:40px;}
  .svc-trust-img-placeholder{aspect-ratio:16/9;max-height:360px;}
  .svc-ba-grid{grid-template-columns:1fr;}
  .svc-related-grid{grid-template-columns:1fr;}
  .svc-process-steps{grid-template-columns:1fr;}
  .svc-benefits-grid{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .svc-hero-text{padding:48px 24px;}
  .svc-hero-actions{flex-direction:column;align-items:flex-start;gap:16px;}
  .svc-ba-pair{grid-template-columns:1fr;}
}

/* =====================================================================
   TREATMENTS SECTION — Face / Body photo tile grid (Trifecta-inspired)
   ===================================================================== */

.pms-treatments {
  background: var(--cream);
}

/* Section header */
.pms-treatments-header {
  text-align: center;
  padding: 80px 60px 48px;
}
.pms-treatments-header h2 {
  font-family: var(--serif);
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 300;
  color: var(--dark);
}
.pms-treatments-header h2 em { font-style: italic; color: var(--gold); }

/* Category block */
.pms-category { padding: 0 0 4px; }
.pms-category--dark { background: var(--dark); }

/* Category label — big letter like Trifecta F / B */
.pms-category-label {
  padding: 40px 60px 28px;
  display: flex;
  align-items: baseline;
  gap: 0;
}
.pms-category--dark .pms-category-label { padding-top: 48px; }
.pms-cat-letter {
  font-family: var(--serif);
  font-size: clamp(60px, 8vw, 110px);
  font-weight: 300;
  line-height: 1;
  color: var(--dark);
  letter-spacing: -.02em;
}
.pms-category--dark .pms-cat-letter { color: white; }
.pms-cat-word {
  font-family: var(--serif);
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 300;
  color: var(--dark);
  letter-spacing: -.01em;
  margin-right: 12px;
}
.pms-category--dark .pms-cat-word { color: white; }
.pms-cat-sub {
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 6px;
}

/* Photo tile grid */
.pms-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3px;
  padding: 0 3px 3px;
}

/* Individual tile */
.pms-tile {
  position: relative;
  aspect-ratio: 3/4;
  overflow: hidden;
  text-decoration: none;
  display: block;
  background-color: var(--dark);
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  cursor: pointer;
  transition: background-size .8s cubic-bezier(.25,.46,.45,.94);
}
.pms-tile--lg { aspect-ratio: 4/3; }
.pms-tile:hover { background-size: 107%; }

/* Gradient overlay — darkens heavily on hover to make text legible */
.pms-tile-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    to top,
    rgba(14,10,6,.92) 0%,
    rgba(14,10,6,.45) 45%,
    rgba(14,10,6,.10) 100%
  );
  transition: background .45s ease;
}
.pms-tile:hover .pms-tile-overlay {
  background: linear-gradient(
    to top,
    rgba(14,10,6,.97) 0%,
    rgba(14,10,6,.80) 50%,
    rgba(14,10,6,.50) 100%
  );
}

/* Text content — always pinned bottom, desc + cta hidden until hover */
.pms-tile-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 28px 24px;
  z-index: 2;
}

/* Sub-label (category tag) */
.pms-tile-sub {
  display: block;
  font-family: var(--sans);
  font-size: 9px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .35s ease .05s, transform .35s ease .05s;
}
.pms-tile:hover .pms-tile-sub {
  opacity: 1;
  transform: translateY(0);
}

/* Title — always visible */
.pms-tile-content h3 {
  font-family: var(--serif);
  font-size: clamp(16px, 1.5vw, 22px);
  font-weight: 300;
  color: white;
  margin: 0 0 0;
  line-height: 1.2;
  letter-spacing: .01em;
  transition: transform .4s ease, margin .4s ease;
}
.pms-tile:hover .pms-tile-content h3 {
  margin-bottom: 12px;
}

/* Description — hidden, slides up on hover */
.pms-tile-desc {
  font-family: var(--sans);
  font-size: 13px;
  line-height: 1.75;
  color: rgba(255,255,255,.75);
  margin: 0 0 16px;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(10px);
  transition: max-height .45s ease, opacity .4s ease .08s, transform .4s ease .08s;
}
.pms-tile:hover .pms-tile-desc {
  max-height: 120px;
  opacity: 1;
  transform: translateY(0);
}

/* Learn More CTA */
.pms-tile-cta {
  display: inline-block;
  font-family: var(--sans);
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .35s ease .15s, transform .35s ease .15s;
}
.pms-tile:hover .pms-tile-cta {
  opacity: 1;
  transform: translateY(0);
}

/* Gold accent line — sweeps in from left on hover */
.pms-tile::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .5s cubic-bezier(.25,.46,.45,.94);
  z-index: 3;
}
.pms-tile:hover::after { transform: scaleX(1); }

/* Bottom CTA row */
.pms-treatments-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 64px 60px;
  background: var(--cream);
  flex-wrap: wrap;
}
.btn-outline {
  display: inline-block;
  padding: 14px 36px;
  border: 1px solid var(--gold);
  color: var(--gold);
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background .25s, color .25s;
}
.btn-outline:hover { background: var(--gold); color: white; }

/* ── Responsive ── */
@media(max-width: 1100px) {
  .pms-grid { grid-template-columns: repeat(3, 1fr); }
}
@media(max-width: 768px) {
  .pms-grid { grid-template-columns: repeat(2, 1fr); gap: 2px; padding: 0 2px 2px; }
  .pms-category-label { padding: 32px 24px 20px; }
  .pms-treatments-header { padding: 60px 24px 36px; }
  .pms-treatments-cta { padding: 48px 24px; flex-direction: column; }
  .pms-tile-content { padding: 18px 16px; }
  .pms-tile-content h3 { font-size: 14px; }
}
@media(max-width: 480px) {
  .pms-grid { grid-template-columns: repeat(2, 1fr); }
  .pms-tile { aspect-ratio: 1/1; }
  .pms-tile--lg { aspect-ratio: 1/1; }
}

/* Hide theme/season picker everywhere — desktop client review only via localhost */
.pms-theme-picker,
.pms-color-bar,
.pms-season-btn,
.pms-season-divider,
.pms-season-picker-label,
.pms-picker-label,
.pms-swatch,
body.pms-picker-active .pms-theme-picker,
body.pms-picker-active .pms-color-bar {
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* Service tile image — mobile responsive refinements */
@media(max-width:768px){
  .pms-tile-bg {
    background-position: center center;
  }
  .pms-tile-content { padding:14px 14px 16px; }
  .pms-tile-content h3 { font-size:13px; letter-spacing:.02em; }
  .pms-tile-desc { display:none; } /* hide desc on mobile — too small */
  .pms-tile-cta { display:none; }
  .pms-tile-sub { font-size:8px; margin-bottom:5px; }
}
@media(max-width:480px){
  .pms-grid { grid-template-columns:repeat(2,1fr); gap:2px; }
  .pms-tile, .pms-tile--lg { aspect-ratio:4/3; }
  .pms-tile-content h3 { font-size:12px; }
}

/* ── Seasonal promo — background photo support ── */
.season-promo {
  position: relative;
  background-color: var(--dark);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.season-promo-bg-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(14,10,6,.95) 0%,
    rgba(14,10,6,.88) 40%,
    rgba(14,10,6,.65) 70%,
    rgba(14,10,6,.40) 100%
  );
  z-index: 0;
}
.season-promo-content {
  position: relative;
  z-index: 1;
}

/* ── Season promo — mobile only refinements ── */
@media(max-width:768px){
  /* Lighten overlay so background photo shows through more */
  .season-promo-bg-overlay {
    background: linear-gradient(
      to bottom,
      rgba(14,10,6,.70) 0%,
      rgba(14,10,6,.60) 50%,
      rgba(14,10,6,.75) 100%
    ) !important;
  }

  /* Tighten padding */
  .season-promo { padding: 40px 20px 36px; }
  .season-promo-content { gap: 20px; }

  /* Shorter badge */
  .season-promo-badge { padding: 5px 12px; font-size: 9px; margin-bottom: 10px; }

  /* Smaller headline */
  .season-promo-left h2 { font-size: clamp(22px, 7vw, 30px); margin-bottom: 10px; }

  /* Hide the long description on mobile — just show headline + button */
  .season-promo-left p { display: none; }

  /* Compact CTA */
  .season-promo-left .btn-primary { margin-top: 16px; padding: 12px 28px; font-size: 10px; }

  /* Hide the featured service card + season dots on mobile — too cluttered */
  .season-promo-right { display: none; }
}

/* ── Season promo — fix background image zoom on mobile ── */
@media(max-width:768px){
  .season-promo {
    background-size: 160% auto !important;
    background-position: center 20% !important;
  }
}

/* =====================================================================
   MEGA MENU — Desktop only (hidden on mobile via media query)
   ===================================================================== */

/* Trigger item */
.nav-has-mega { position: relative; }
.nav-mega-trigger { cursor: pointer; }
.nav-chevron {
  font-size: 12px; line-height: 1;
  transition: transform .25s ease;
  display: inline-block;
  vertical-align: middle;
  margin-left: 4px;
}
.nav-has-mega.mega-open .nav-chevron { transform: rotate(180deg); }

/* Mega panel — JS controlled via .mega-open class */
.nav-mega {
  position: absolute;
  top: 100%; /* flush to nav bottom — no gap */
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  width: 720px;
  background: var(--dark, #1C1812);
  border-top: 2px solid var(--gold, #B8955A);
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .22s ease, visibility .22s ease, transform .22s ease;
  z-index: 999;
}
.nav-has-mega.mega-open .nav-mega {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

/* Inner grid — 3 columns */
.nav-mega-inner {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0;
  padding: 36px 0 32px;
}

/* Column */
.nav-mega-col {
  padding: 0 32px;
  border-right: 1px solid rgba(255,255,255,.07);
}
.nav-mega-col:last-child { border-right: none; }

/* Category heading — big letter style */
.nav-mega-heading {
  font-family: var(--serif, 'Cormorant Garamond', serif);
  font-size: 22px;
  font-weight: 300;
  color: white;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,.1);
  letter-spacing: .01em;
}
.nav-mega-letter {
  font-size: 32px;
  color: var(--gold, #B8955A);
  line-height: 1;
}

/* Service links */
.nav-mega-col ul {
  list-style: none;
  margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 2px;
}
.nav-mega-col ul li a {
  display: block;
  font-family: var(--sans, 'Jost', sans-serif);
  font-size: 12px;
  letter-spacing: .08em;
  color: rgba(255,255,255,.6);
  text-decoration: none;
  padding: 6px 0;
  transition: color .2s, padding-left .2s;
  border-bottom: none;
  text-transform: none;
}
.nav-mega-col ul li a:hover {
  color: var(--gold, #B8955A);
  padding-left: 6px;
}

/* CTA column */
.nav-mega-col--cta p {
  font-size: 12px;
  line-height: 1.7;
  color: rgba(255,255,255,.45);
  margin-bottom: 20px;
}
.nav-mega-cta-btn {
  display: block;
  background: var(--gold, #B8955A);
  color: white !important;
  font-family: var(--sans, 'Jost', sans-serif);
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-align: center;
  padding: 12px 16px;
  text-decoration: none;
  margin-bottom: 12px;
  transition: background .25s;
}
.nav-mega-cta-btn:hover { background: var(--gold-light, #D4B483) !important; }
.nav-mega-all {
  display: block;
  font-family: var(--sans, 'Jost', sans-serif);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.4) !important;
  text-decoration: none;
  text-align: center;
  transition: color .2s;
}
.nav-mega-all:hover { color: white !important; }

/* ── MOBILE — hide mega completely, keep simple link ── */
@media(max-width:960px){
  .nav-mega { display: none !important; }
  .nav-chevron { display: none; }
  .nav-mega-trigger { pointer-events: none; }
}

/* =====================================================================
   SHOP NOW SCROLLER — Skinney-style horizontal package cards
   ===================================================================== */
.shop-scroller {
  background: white;
  padding: 56px 0 64px;
  position: relative;
  overflow: hidden;
}

/* Header divider */
.shop-scroller-header {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 0 60px;
  margin-bottom: 36px;
}
.shop-scroller-line {
  flex: 1;
  height: 1px;
  background: rgba(0,0,0,.12);
}
.shop-scroller-label {
  font-family: var(--sans);
  font-size: 10px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--mid);
  white-space: nowrap;
}

/* Track wrapper — enables horizontal scroll */
.shop-track-wrap {
  overflow-x: scroll;
  overflow-y: hidden;
  padding: 0 60px 16px;
  scrollbar-width: none;
  -ms-overflow-style: none;
  cursor: grab;
}
.shop-track-wrap::-webkit-scrollbar { display: none; }
.shop-track-wrap:active { cursor: grabbing; }
.shop-track-wrap::-webkit-scrollbar { display: none; }

/* Track — flex row */
.shop-track {
  display: flex;
  gap: 20px;
  width: max-content;
  padding-bottom: 4px;
}

/* Individual card */
.shop-card {
  display: block;
  text-decoration: none;
  width: 240px;
  flex-shrink: 0;
  cursor: pointer;
  transition: transform .3s ease;
}
.shop-card:hover { transform: translateY(-3px); }

/* Image wrapper */
.shop-card-img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  background: var(--cream);
}
.shop-card-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform .5s ease;
}
.shop-card:hover .shop-card-img-wrap img { transform: scale(1.04); }

/* Badge */
.shop-card-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--gold);
  color: white;
  font-family: var(--sans);
  font-size: 9px;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 4px 10px;
}

/* Info below image */
.shop-card-info {
  padding: 14px 4px 0;
}
.shop-card-info h3 {
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 400;
  color: var(--dark);
  margin: 0 0 6px;
  letter-spacing: .02em;
}
.shop-card-price {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.shop-orig {
  font-family: var(--sans);
  font-size: 12px;
  color: rgba(0,0,0,.35);
  text-decoration: line-through;
}
.shop-now {
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  color: var(--gold);
}
.shop-card-arrow {
  font-family: var(--sans);
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(0,0,0,.35);
  transition: color .2s;
}
.shop-card:hover .shop-card-arrow { color: var(--gold); }

/* Scroll arrows */
.shop-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-30%);
  width: 44px; height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.15);
  background: white;
  color: var(--dark);
  font-size: 18px;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s, border-color .2s;
  z-index: 2;
  box-shadow: 0 2px 12px rgba(0,0,0,.08);
}
.shop-arrow:hover { background: var(--gold); color: white; border-color: var(--gold); }
.shop-arrow--prev { left: 12px; }
.shop-arrow--next { right: 12px; }

/* Mobile */
@media(max-width:768px){
  .shop-scroller-header { padding: 0 20px; }
  .shop-track-wrap { padding: 0 20px 16px; overflow-x: scroll !important; }
  .shop-arrow { display: none; }
}
@media(max-width:560px){
  .specials-grid .shop-card { width: 100%; }
}

/* Shop card name subtitle */
.shop-card-info h3 small {
  display: block;
  font-size: 11px;
  font-weight: 300;
  color: rgba(0,0,0,.45);
  letter-spacing: .04em;
  margin-top: 2px;
}

/* ── Nav alignment fix — all items same baseline ── */
.nav-links { align-items: center; }
/* li stays a normal list-item so the trigger shares the same
   inline baseline as the sibling links (flex here lifted it) */
.nav-mega-trigger {
  display: inline;
  line-height: inherit;
  font-size: inherit;
  font-family: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  color: inherit;
  padding: 0;
  margin: 0;
  background: none;
  border: none;
}

/* ── Footer — mobile: hide only logo/bio/social brand block ── */
@media(max-width:768px){
  .footer-brand {
    display: none !important;
  }
  .footer-bottom {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
    padding: 20px 24px 90px; /* 90px clears the mobile sticky bar */
  }
  .footer-bottom span {
    font-size: 11px;
  }
  .footer-legal {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
  }
  .footer-legal a {
    font-size: 11px;
  }
}

/* =====================================================================
   GLOWTOX-STYLE SERVICE PAGE — Kybella (page-kybella.php)
   ===================================================================== */

/* ── HERO ── */
.gt-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 92vh;
  background: var(--cream);
}
.gt-hero-text {
  padding: 120px 72px 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.gt-hero-tag {
  font-family: var(--sans);
  font-size: 10px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 20px;
}
.gt-hero-h1 {
  font-family: var(--serif);
  font-size: clamp(52px, 7vw, 96px);
  font-weight: 300;
  color: var(--dark);
  line-height: .95;
  margin: 0 0 28px;
  letter-spacing: -.02em;
}
.gt-hero-sub {
  font-size: 16px;
  line-height: 1.8;
  color: var(--mid);
  max-width: 480px;
  margin-bottom: 36px;
}
.gt-hero-meta {
  display: flex;
  gap: 0;
  border: 1px solid rgba(0,0,0,.1);
  margin-bottom: 40px;
  width: fit-content;
}
.gt-meta-item {
  padding: 16px 24px;
  border-right: 1px solid rgba(0,0,0,.1);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.gt-meta-item:last-child { border-right: none; }
.gt-meta-label {
  font-family: var(--sans);
  font-size: 8px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(0,0,0,.4);
}
.gt-meta-val {
  font-family: var(--serif);
  font-size: 15px;
  font-weight: 400;
  color: var(--dark);
}
.gt-hero-ctas {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

/* Shared buttons */
.gt-btn-primary {
  display: inline-block;
  background: var(--dark);
  color: white;
  font-family: var(--sans);
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  padding: 16px 40px;
  text-decoration: none;
  transition: background .25s, color .25s;
}
.gt-btn-primary:hover { background: var(--gold); color: white; }
.gt-btn-ghost {
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: .12em;
  color: var(--mid);
  text-decoration: none;
  border-bottom: 1px solid rgba(0,0,0,.2);
  padding-bottom: 2px;
  transition: color .2s, border-color .2s;
}
.gt-btn-ghost:hover { color: var(--gold); border-color: var(--gold); }
.gt-btn-outline {
  display: inline-block;
  border: 1px solid white;
  color: white;
  font-family: var(--sans);
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  padding: 16px 36px;
  text-decoration: none;
  transition: background .25s, color .25s;
}
.gt-btn-outline:hover { background: white; color: var(--dark); }

/* Hero image */
.gt-hero-img {
  position: relative;
  overflow: hidden;
}
.gt-hero-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform 8s ease;
}
.gt-hero-img:hover img { transform: scale(1.03); }
.gt-hero-badge {
  position: absolute;
  bottom: 32px;
  left: -1px;
  background: var(--dark);
  color: var(--gold);
  font-family: var(--sans);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* ── SECTION TAG (shared) ── */
.gt-section-tag {
  font-family: var(--sans);
  font-size: 9px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--gold);
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.gt-section-tag::before {
  content: '';
  display: block;
  width: 28px;
  height: 1px;
  background: var(--gold);
  flex-shrink: 0;
}

/* ── INTRO ── */
.gt-intro {
  background: white;
  padding: 100px 72px;
}
.gt-intro-inner { max-width: 1100px; margin: 0 auto; }
.gt-intro-label {
  font-family: var(--sans);
  font-size: 9px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 20px;
}
.gt-intro-h2 {
  font-family: var(--serif);
  font-size: clamp(32px, 4vw, 54px);
  font-weight: 300;
  color: var(--dark);
  margin: 0 0 48px;
  line-height: 1.1;
}
.gt-intro-h2 em { font-style: italic; color: var(--gold); }
.gt-intro-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
}
.gt-intro-cols p {
  font-size: 15px;
  line-height: 1.9;
  color: var(--mid);
  margin: 0;
}

/* ── FULL-WIDTH PHOTO ── */
.gt-full-photo {
  position: relative;
  height: 520px;
  overflow: hidden;
}
.gt-full-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block;
}
.gt-full-photo-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(14,10,6,.85) 0%, rgba(14,10,6,.5) 60%, rgba(14,10,6,.2) 100%);
  display: flex;
  align-items: center;
  gap: 80px;
  padding: 0 80px;
}
.gt-full-photo-stat { color: white; }
.gt-stat-num {
  display: block;
  font-family: var(--serif);
  font-size: clamp(36px, 4vw, 56px);
  font-weight: 300;
  color: var(--gold-light);
  line-height: 1;
  margin-bottom: 10px;
}
.gt-stat-label {
  display: block;
  font-family: var(--sans);
  font-size: 12px;
  line-height: 1.5;
  color: rgba(255,255,255,.7);
  max-width: 200px;
}

/* ── BENEFITS SPLIT ── */
.gt-benefits-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--cream);
  min-height: 640px;
}
.gt-benefits-text {
  padding: 100px 72px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.gt-benefits-text h2 {
  font-family: var(--serif);
  font-size: clamp(28px, 3.5vw, 46px);
  font-weight: 300;
  color: var(--dark);
  margin: 0 0 24px;
  line-height: 1.15;
}
.gt-benefits-text h2 em { font-style: italic; color: var(--gold); }
.gt-benefits-text > p {
  font-size: 15px;
  line-height: 1.85;
  color: var(--mid);
  margin-bottom: 36px;
}
.gt-benefits-list {
  list-style: none;
  margin: 0; padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.gt-benefit {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--mid);
  animation-delay: var(--delay, 0ms);
}
.gt-check {
  color: var(--gold);
  font-size: 12px;
  margin-top: 2px;
  flex-shrink: 0;
}
.gt-benefits-img {
  position: relative;
  overflow: hidden;
}
.gt-benefits-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform 6s ease;
}
.gt-benefits-img:hover img { transform: scale(1.04); }

/* ── WHY CHOOSE ── */
.gt-why {
  background: var(--dark);
  padding: 100px 72px;
}
.gt-why-inner { max-width: 1200px; margin: 0 auto; }
.gt-why-h2 {
  font-family: var(--serif);
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 300;
  color: white;
  text-align: center;
  margin: 0 0 16px;
}
.gt-why-h2 em { font-style: italic; color: var(--gold-light); }
.gt-why-sub {
  font-size: 14px;
  line-height: 1.8;
  color: rgba(255,255,255,.5);
  text-align: center;
  max-width: 600px;
  margin: 0 auto 64px;
}
.gt-why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
}
.gt-why-card {
  background: rgba(255,255,255,.04);
  padding: 44px 36px;
  border: 1px solid rgba(255,255,255,.06);
  transition: background .3s;
  animation-delay: var(--delay, 0ms);
}
.gt-why-card:hover { background: rgba(255,255,255,.08); }
.gt-why-icon {
  font-size: 22px;
  color: var(--gold);
  margin-bottom: 20px;
  line-height: 1;
}
.gt-why-card h3 {
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 400;
  color: white;
  margin: 0 0 12px;
}
.gt-why-card p {
  font-size: 13px;
  line-height: 1.8;
  color: rgba(255,255,255,.5);
  margin: 0;
}

/* ── PROCESS ── */
.gt-process {
  background: white;
  padding: 100px 72px;
}
.gt-process-inner { max-width: 1100px; margin: 0 auto; }
.gt-process-inner h2 {
  font-family: var(--serif);
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 300;
  color: var(--dark);
  margin: 0 0 64px;
}
.gt-process-inner h2 em { font-style: italic; color: var(--gold); }
.gt-process-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.gt-step {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 32px;
  padding: 36px 0;
  border-bottom: 1px solid var(--light, #EDE6DC);
  align-items: start;
  animation-delay: var(--delay, 0ms);
}
.gt-step:last-child { border-bottom: none; }
.gt-step-num {
  font-family: var(--serif);
  font-size: 44px;
  font-weight: 300;
  color: rgba(184,149,90,.25);
  line-height: 1;
  padding-top: 4px;
}
.gt-step-body h3 {
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 400;
  color: var(--dark);
  margin: 0 0 10px;
}
.gt-step-body p {
  font-size: 14px;
  line-height: 1.85;
  color: var(--mid);
  margin: 0;
}

/* ── TESTIMONIALS ── */
.gt-reviews {
  background: var(--cream2);
  padding: 100px 72px;
}
.gt-reviews-inner { max-width: 1200px; margin: 0 auto; }
.gt-reviews-h2 {
  font-family: var(--serif);
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 300;
  color: var(--dark);
  margin: 0 0 56px;
  text-align: center;
}
.gt-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.gt-review-card {
  background: white;
  padding: 40px 36px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  animation-delay: var(--delay, 0ms);
}
.gt-review-stars {
  color: var(--gold);
  font-size: 13px;
  letter-spacing: 2px;
}
.gt-review-text {
  font-family: var(--serif);
  font-size: 15px;
  font-style: italic;
  line-height: 1.8;
  color: var(--dark);
  margin: 0;
  flex: 1;
}
.gt-review-author {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid var(--cream2);
}
.gt-review-avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--cream);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--sans);
  font-size: 11px;
  color: var(--mid);
  flex-shrink: 0;
}
.gt-review-name {
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 500;
  color: var(--dark);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.gt-review-treat {
  font-family: var(--sans);
  font-size: 11px;
  color: var(--gold);
  margin-top: 2px;
}

/* ── FAQ ── */
.gt-faq {
  background: white;
  padding: 100px 72px;
}
.gt-faq-inner { max-width: 800px; margin: 0 auto; }
.gt-faq-inner h2 {
  font-family: var(--serif);
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 300;
  color: var(--dark);
  margin: 0 0 56px;
}
.gt-faq-inner h2 em { font-style: italic; color: var(--gold); }
.gt-faq-list { display: flex; flex-direction: column; }
.gt-faq-item { border-bottom: 1px solid var(--cream2); }
.gt-faq-q {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 24px 0;
  font-family: var(--sans);
  font-size: 14px;
  color: var(--dark);
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  letter-spacing: .02em;
  transition: color .2s;
}
.gt-faq-q:hover { color: var(--gold); }
.gt-faq-icon {
  width: 28px; height: 28px;
  border: 1px solid rgba(0,0,0,.2);
  border-radius: 50%;
  flex-shrink: 0;
  position: relative;
  transition: background .2s, border-color .2s;
}
.gt-faq-icon::before,
.gt-faq-icon::after {
  content: '';
  position: absolute;
  background: var(--dark);
  transition: transform .3s ease, opacity .3s ease;
}
.gt-faq-icon::before { width: 10px; height: 1px; top: 50%; left: 50%; transform: translate(-50%,-50%); }
.gt-faq-icon::after  { width: 1px; height: 10px; top: 50%; left: 50%; transform: translate(-50%,-50%); }
.gt-faq-item.open .gt-faq-icon::after { transform: translate(-50%,-50%) rotate(90deg); opacity: 0; }
.gt-faq-item.open .gt-faq-icon { background: var(--gold); border-color: var(--gold); }
.gt-faq-item.open .gt-faq-icon::before { background: white; }
.gt-faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height .4s ease;
}
.gt-faq-item.open .gt-faq-a { max-height: 300px; }
.gt-faq-a p {
  font-size: 14px;
  line-height: 1.85;
  color: var(--mid);
  padding-bottom: 24px;
  margin: 0;
}

/* ── RELATED ── */
.gt-related {
  background: var(--cream);
  padding: 100px 72px;
}
.gt-related-inner { max-width: 1200px; margin: 0 auto; }
.gt-related-inner h2 {
  font-family: var(--serif);
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 300;
  color: var(--dark);
  margin: 0 0 56px;
}
.gt-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.gt-related-card {
  text-decoration: none;
  color: inherit;
  display: block;
  transition: transform .3s;
}
.gt-related-card:hover { transform: translateY(-3px); }
.gt-related-img {
  aspect-ratio: 4/3;
  overflow: hidden;
  margin-bottom: 20px;
}
.gt-related-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform .5s ease;
}
.gt-related-card:hover .gt-related-img img { transform: scale(1.04); }
.gt-related-tag {
  font-family: var(--sans);
  font-size: 9px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
  display: block;
  margin-bottom: 8px;
}
.gt-related-body h3 {
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 400;
  color: var(--dark);
  margin: 0 0 8px;
}
.gt-related-body p {
  font-size: 13px;
  line-height: 1.7;
  color: var(--mid);
  margin: 0 0 14px;
}
.gt-related-arrow {
  font-family: var(--sans);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold);
}

/* ── BOOKING CTA ── */
.gt-book-cta {
  background: var(--dark);
  padding: 0;
  overflow: hidden;
}
.gt-book-cta-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 520px;
}
.gt-book-text {
  padding: 100px 72px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.gt-book-text h2 {
  font-family: var(--serif);
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 300;
  color: white;
  margin: 0 0 20px;
  line-height: 1.2;
}
.gt-book-text h2 em { font-style: italic; color: var(--gold-light); }
.gt-book-text p {
  font-size: 14px;
  line-height: 1.85;
  color: rgba(255,255,255,.55);
  margin: 0 0 36px;
}
.gt-book-cta-btns {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.gt-book-img {
  position: relative;
  overflow: hidden;
}
.gt-book-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  opacity: .6;
  transition: opacity .5s, transform 6s;
}
.gt-book-img:hover img { opacity: .75; transform: scale(1.03); }

/* ── RESPONSIVE ── */
@media(max-width:1100px){
  .gt-why-grid { grid-template-columns: repeat(2,1fr); }
  .gt-reviews-grid { grid-template-columns: repeat(2,1fr); }
  .gt-related-grid { grid-template-columns: repeat(2,1fr); }
}
@media(max-width:900px){
  .gt-hero { grid-template-columns: 1fr; min-height: auto; }
  .gt-hero-img { height: 60vw; }
  .gt-hero-text { padding: 80px 32px 60px; }
  .gt-intro { padding: 64px 32px; }
  .gt-intro-cols { grid-template-columns: 1fr; gap: 24px; }
  .gt-full-photo { height: 300px; }
  .gt-full-photo-overlay { flex-direction: column; gap: 24px; padding: 32px; align-items: flex-start; }
  .gt-benefits-split { grid-template-columns: 1fr; }
  .gt-benefits-text { padding: 64px 32px; }
  .gt-benefits-img { height: 60vw; }
  .gt-why { padding: 64px 32px; }
  .gt-why-grid { grid-template-columns: 1fr; }
  .gt-process { padding: 64px 32px; }
  .gt-reviews { padding: 64px 32px; }
  .gt-reviews-grid { grid-template-columns: 1fr; }
  .gt-faq { padding: 64px 32px; }
  .gt-related { padding: 64px 32px; }
  .gt-related-grid { grid-template-columns: 1fr; }
  .gt-book-cta-inner { grid-template-columns: 1fr; }
  .gt-book-img { height: 50vw; }
  .gt-book-text { padding: 64px 32px; }
  .gt-hero-meta { flex-wrap: wrap; }
}

/* ── Shop cards — custom banner images (contain, don't crop) ── */
.shop-card-img-wrap img {
  object-fit: cover;
  object-position: center top;
}

/* ============================================================
   HERO SLIDER — moved from front-page.php inline <style>
   ============================================================ */
#pmsHero{position:relative;width:100%;height:calc(100vh - 80px);min-height:560px;overflow:hidden;background:#1c1812}
#pmsHero .sl{position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;transition:opacity 1s ease;z-index:1}
#pmsHero .sl.on{opacity:1;z-index:2}
#pmsHero .sl-bg{position:absolute;top:0;left:0;right:0;bottom:0;background-size:cover;background-position:center top;background-repeat:no-repeat;transform:scale(1.05);transition:transform 7s ease;z-index:0}
#pmsHero .sl.on .sl-bg{transform:scale(1)}
#pmsHero .sl-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,rgba(20,16,10,.85) 0%,rgba(20,16,10,.6) 38%,rgba(20,16,10,.18) 62%,rgba(20,16,10,0) 100%)}
#pmsHero .sl-ct{position:absolute;top:0;bottom:0;left:0;z-index:3;padding:0 8%;width:55%;max-width:640px;display:flex;flex-direction:column;justify-content:center;opacity:0;transform:translateY(16px);transition:opacity .8s ease .5s,transform .8s ease .5s}
#pmsHero .sl.on .sl-ct{opacity:1;transform:translateY(0)}
#pmsHero .sl-tag{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#D4B483;margin-bottom:20px}
#pmsHero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4.2vw,68px);font-weight:300;line-height:1.08;color:#ffffff;margin:0 0 28px;letter-spacing:-.01em;white-space:nowrap}
#pmsHero h1 em{font-style:italic;color:#D4B483;display:block;white-space:nowrap}
#pmsHero .sl-sub{font-family:'Jost',sans-serif;font-size:15px;line-height:1.8;color:rgba(255,255,255,.72);margin-bottom:36px;max-width:440px}
#pmsHero .sl-cta{display:inline-block;background:#B8955A;color:#fff;padding:15px 36px;font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;transition:background .25s,transform .2s;margin-right:20px}
#pmsHero .sl-cta:hover{background:#D4B483;transform:translateY(-1px)}
#pmsHero .sl-cta2{display:inline-block;color:rgba(255,255,255,.78);font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:2px;transition:color .2s}
#pmsHero .sl-cta2:hover{color:#fff;border-color:#fff}
#pmsNav{position:absolute;bottom:36px;left:8%;z-index:10;display:flex;align-items:center;gap:12px}
.pms-dot{width:32px;height:2px;background:rgba(255,255,255,.22);border:none;cursor:pointer;padding:0;transition:all .35s}
.pms-dot.on{background:#B8955A;width:52px}
#pmsScrollHint{position:absolute;bottom:40px;right:6%;z-index:10;display:flex;flex-direction:column;align-items:center;gap:8px;font-family:'Jost',sans-serif;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.35)}
#pmsScrollLine{width:1px;height:44px;background:#B8955A;animation:scrollPulse 2s ease-in-out infinite}
@media(max-width:960px){
  #pmsHero{height:62svh;min-height:460px}
  #pmsHero .sl-bg{background-position:center 22%}
  #pmsHero .sl-bg::after{background:linear-gradient(to top,rgba(20,16,10,.92) 0%,rgba(20,16,10,.55) 45%,rgba(20,16,10,.12) 100%)}
  #pmsHero .sl-ct{width:100%;max-width:100%;padding:0 24px;justify-content:flex-end;padding-bottom:90px}
  #pmsHero h1{font-size:clamp(28px,7.5vw,46px);white-space:normal}
  #pmsHero h1 em{white-space:normal}
  #pmsHero .sl-sub{font-size:13px;max-width:100%}
  #pmsNav{bottom:16px;left:24px}
  #pmsScrollHint{display:none}
}
@media(max-width:600px){
  #pmsHero h1{font-size:clamp(30px,7.5vw,48px);white-space:normal}
  #pmsHero h1 em{white-space:normal}
  #pmsHero .sl-ct{align-items:stretch;width:100%}
  #pmsHero .sl-sub,#pmsHero .sl-sub--dark{width:100%;max-width:100%;font-size:15px;line-height:1.7}
  #pmsHero p{width:100%;max-width:100%}
}

/* ============================================================
   TREATMENTS GRID — moved from front-page.php inline <style>
   ============================================================ */
.pms-treatments{background:var(--cream,#F9F5F0)}
.pms-treatments-header{text-align:center;padding:60px 60px 32px;display:flex;flex-direction:column;align-items:center}
.pms-treatments-header h2{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4vw,56px);font-weight:300;color:var(--dark,#1C1812);margin:0}
.pms-treatments-header .section-label{justify-content:center}
.pms-treatments-header .section-label::before{display:none}
.pms-treatments-header h2 em{font-style:italic;color:var(--gold,#B8955A)}
.pms-category{padding:0 0 4px}
.pms-category--dark{background:var(--dark,#1C1812)}
.pms-category-label{padding:32px 60px 16px;display:flex;align-items:baseline;gap:0;flex-wrap:wrap}
.pms-cat-letter{font-family:'Cormorant Garamond',serif;font-size:clamp(44px,5.5vw,80px);font-weight:300;line-height:1;color:var(--dark,#1C1812);letter-spacing:-.02em}
.pms-category--dark .pms-cat-letter{color:#fff}
.pms-cat-word{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,2.8vw,38px);font-weight:300;color:var(--dark,#1C1812);letter-spacing:-.01em;margin-right:14px}
.pms-category--dark .pms-cat-word{color:#fff}
.pms-cat-sub{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold,#B8955A);margin-bottom:4px}
.pms-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;padding:0 3px 3px}
.pms-tile{position:relative;aspect-ratio:16/7;overflow:hidden;text-decoration:none;display:block;background-color:#1C1812;background-size:cover;background-position:center top;background-repeat:no-repeat}
.pms-tile--lg{aspect-ratio:16/7}
.pms-tile-bg{position:absolute;inset:0;background-size:cover;background-position:center top;background-repeat:no-repeat;transition:transform .8s cubic-bezier(.25,.46,.45,.94);z-index:0}
.pms-tile:hover .pms-tile-bg{transform:scale(1.07)}
.pms-tile-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(14,10,6,.92) 0%,rgba(14,10,6,.4) 50%,rgba(14,10,6,.08) 100%);transition:background .45s ease}
.pms-tile:hover .pms-tile-overlay{background:linear-gradient(to top,rgba(14,10,6,.97) 0%,rgba(14,10,6,.82) 55%,rgba(14,10,6,.55) 100%)}
.pms-tile-content{position:absolute;bottom:0;left:0;right:0;padding:28px 24px;z-index:2}
.pms-tile-sub{display:block;font-family:'Jost',sans-serif;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:#B8955A;margin-bottom:8px;opacity:0;transform:translateY(6px);transition:opacity .3s ease .05s,transform .3s ease .05s}
.pms-tile:hover .pms-tile-sub{opacity:1;transform:translateY(0)}
.pms-tile-content h3{font-family:'Cormorant Garamond',serif;font-size:clamp(16px,1.5vw,22px);font-weight:300;color:#fff;margin:0;line-height:1.2;letter-spacing:.01em;transition:margin .4s ease}
.pms-tile:hover .pms-tile-content h3{margin-bottom:12px}
.pms-tile-desc{font-family:'Jost',sans-serif;font-size:13px;line-height:1.75;color:rgba(255,255,255,.75);margin:0 0 16px;max-height:0;overflow:hidden;opacity:0;transform:translateY(10px);transition:max-height .45s ease,opacity .4s ease .1s,transform .4s ease .1s}
.pms-tile:hover .pms-tile-desc{max-height:140px;opacity:1;transform:translateY(0)}
.pms-tile-cta{display:inline-block;font-family:'Jost',sans-serif;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#B8955A;opacity:0;transform:translateY(8px);transition:opacity .3s ease .18s,transform .3s ease .18s}
.pms-tile:hover .pms-tile-cta{opacity:1;transform:translateY(0)}
.pms-tile::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:#B8955A;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.25,.46,.45,.94);z-index:3}
.pms-tile:hover::after{transform:scaleX(1)}
.pms-treatments-cta{display:flex;align-items:center;justify-content:center;gap:24px;padding:64px 60px;background:var(--cream,#F9F5F0);flex-wrap:wrap}
.btn-outline{display:inline-block;padding:14px 36px;border:1px solid #B8955A;color:#B8955A;font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:background .25s,color .25s}
.btn-outline:hover{background:#B8955A;color:#fff}
@media(max-width:1100px){.pms-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){
  .pms-grid{grid-template-columns:repeat(2,1fr);gap:2px;padding:0 2px 2px}
  .pms-category-label{padding:32px 24px 16px}
  .pms-treatments-header{padding:60px 24px 36px}
  .pms-treatments-cta{padding:48px 24px;flex-direction:column}
  .pms-tile-content{padding:18px 16px}
  .pms-tile-content h3{font-size:14px}
  .pms-tile-desc{font-size:12px}
}
@media(max-width:480px){
  .pms-grid{grid-template-columns:repeat(2,1fr)}
  .pms-tile,.pms-tile--lg{aspect-ratio:16/9}
}
