/* SYNC-CHECK-MARKER-7724-1030AM */
/* ==========================================================================
   Laser Care Cosmetic Centers — Shared Stylesheet
   Palette: Black #020202 · Glaucous #6384C2 · White #FEFEFE · Silver #A6A8AA · Alabaster #E6E7E8
   ========================================================================== */
:root{
  --white:#FEFEFE;
  --alabaster:#E6E7E8;
  --alabaster-2:#F3F4F5;
  --blue-pale:#EEF2FA;
  --blue-mist:#DCE4F3;
  --blue:#6384C2;
  --blue-dark:#4C69A0;
  --blue-deep:#3A5280;
  --silver:#A6A8AA;
  --n300:#C7C9CB;
  --n400:#8B8E91;
  --n500:#6B6E71;
  --n700:#3A3C3E;
  --black:#020202;
  --border:rgba(2,2,2,0.08);
  --border-blue:rgba(99,132,194,0.25);
  --shadow:0 4px 30px rgba(2,2,2,0.07);
  --shadow-lg:0 14px 60px rgba(2,2,2,0.12);
  --radius-lg:22px;
  --radius-md:14px;
  --radius-sm:8px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--white);color:var(--black);font-family:'Montserrat',sans-serif;overflow-x:hidden;overflow-wrap:break-word;}
img{max-width:100%;display:block;}
a{color:inherit;}
::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-track{background:var(--alabaster);}
::-webkit-scrollbar-thumb{background:var(--blue);border-radius:2px;}

.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
.skip-link{position:absolute;left:-999px;top:0;background:var(--black);color:var(--white);padding:12px 20px;z-index:10000;font-size:0.8rem;letter-spacing:0.08em;text-transform:uppercase;}
.skip-link:focus{left:12px;top:12px;}

/* ---- NAV ---- */
#navbar{
  position:fixed;top:0;left:0;width:100%;z-index:1000;
  padding:20px 60px;
  display:flex;align-items:center;justify-content:space-between;
  transition:all 0.5s cubic-bezier(0.4,0,0.2,1);
  background:transparent;
}
#navbar.scrolled{
  background:rgba(254,254,254,0.97);
  padding:12px 60px;
  box-shadow:0 2px 30px rgba(2,2,2,0.08);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;}
.nav-logo img{height:52px;width:auto;object-fit:contain;}
.nav-links{list-style:none;display:flex;align-items:center;gap:32px;}
.nav-links a{
  color:var(--black);text-decoration:none;
  font-size:0.7rem;font-weight:500;
  letter-spacing:0.14em;text-transform:uppercase;
  position:relative;padding-bottom:3px;
  transition:color 0.3s;
}
.nav-links a::after{
  content:'';position:absolute;bottom:0;left:0;width:0;height:1px;
  background:var(--blue);transition:width 0.3s;
}
.nav-links a:hover{color:var(--blue);}
.nav-links a:hover::after{width:100%;}
.nav-links a.active{color:var(--blue);}
.nav-links a.active::after{width:100%;}
.nav-cta{
  background:var(--blue)!important;color:var(--white)!important;
  padding:11px 26px!important;border:none!important;border-radius:999px!important;
  letter-spacing:0.14em!important;transition:all 0.3s!important;
}
.nav-cta:hover{background:var(--blue-dark)!important;}
.nav-cta::after{display:none!important;}
.nav-hamburger{display:none;background:none;border:1px solid var(--black);color:var(--black);font-size:1.1rem;padding:6px 10px;cursor:pointer;}
.mobile-menu{display:none;position:fixed;top:0;left:0;width:100%;height:100vh;background:var(--white);z-index:1001;flex-direction:column;align-items:center;justify-content:center;gap:26px;}
.mobile-menu.open{display:flex;}
.mobile-menu a{color:var(--black);text-decoration:none;font-family:'Montserrat',sans-serif;font-size:0.95rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;transition:color 0.3s;}
.mobile-menu a:hover{color:var(--blue);}
.mobile-close{position:absolute;top:26px;right:26px;background:none;border:none;color:var(--black);font-size:2rem;cursor:pointer;}

/* ---- HERO ---- */
.hero{
  position:relative;width:100%;height:100vh;min-height:680px;
  overflow:hidden;display:flex;align-items:center;justify-content:center;
}
.hero-slider{position:absolute;inset:0;z-index:0;overflow:hidden;}
.hero-slider-row{position:absolute;left:0;right:0;height:calc(33.34% + 3px);display:flex;overflow:hidden;}
.hero-slider-row:nth-child(1){top:0;}
.hero-slider-row:nth-child(2){top:33.33%;}
.hero-slider-row:nth-child(3){top:66.66%;}
.hero-slider-track{display:flex;gap:0;flex-shrink:0;height:100%;}
.hero-slider-track img{height:100%;width:auto;min-width:220px;object-fit:cover;object-position:center;flex-shrink:0;display:block;}
.hero-slider-track.left{animation:slideLeft 70s linear infinite;}
.hero-slider-track.right{animation:slideRight 78s linear infinite;}
@keyframes slideLeft{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
@keyframes slideRight{0%{transform:translateX(-50%);}100%{transform:translateX(0);}}
.hero-overlay{position:absolute;inset:0;z-index:1;background:rgba(254,254,254,0.82);}
.hero-ring{position:absolute;z-index:1;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;}
.hero-ring:nth-child(1){width:520px;height:520px;border:1px solid rgba(99,132,194,0.25);animation:ringPulse 4s ease-in-out infinite;}
.hero-ring:nth-child(2){width:680px;height:680px;border:1px solid rgba(99,132,194,0.15);animation:ringPulse 4s ease-in-out infinite 0.8s;}
.hero-ring:nth-child(3){width:840px;height:840px;border:1px solid rgba(99,132,194,0.08);animation:ringPulse 4s ease-in-out infinite 1.6s;}
@keyframes ringPulse{
  0%,100%{box-shadow:0 0 30px rgba(99,132,194,0.12),inset 0 0 30px rgba(99,132,194,0.06);}
  50%{box-shadow:0 0 70px rgba(99,132,194,0.28),inset 0 0 70px rgba(99,132,194,0.12);}
}
.hero-content{position:relative;z-index:2;text-align:center;padding:0 20px;max-width:920px;}
.hero-content::before{
  content:'';position:absolute;inset:-60px -80px;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  -webkit-mask:radial-gradient(ellipse 70% 65% at 50% 50%, black 30%, transparent 80%);
  mask:radial-gradient(ellipse 70% 65% at 50% 50%, black 30%, transparent 80%);
  z-index:-1;pointer-events:none;
}
.hero-logo{width:110px;height:auto;margin:0 auto 26px;opacity:0;animation:fadeUp 1s 0.2s forwards;}
.hero-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(3.2rem,7.5vw,7rem);
  font-weight:300;line-height:0.98;letter-spacing:-0.02em;
  color:var(--n700);
  opacity:0;animation:fadeUp 1s 0.5s forwards;
}
.hero-title em{font-style:italic;color:var(--blue);text-shadow:0 0 40px rgba(99,132,194,0.3);}
.hero-subtitle{
  font-size:clamp(0.68rem,1.5vw,0.82rem);font-weight:400;letter-spacing:0.22em;
  text-transform:uppercase;color:var(--n500);margin-top:22px;
  opacity:0;animation:fadeUp 1s 0.7s forwards;
}
.hero-eyebrow{
  font-size:0.68rem;font-weight:500;letter-spacing:0.35em;text-transform:uppercase;
  color:var(--blue);margin-bottom:24px;
  opacity:0;animation:fadeUp 1s 0.3s forwards;
  display:flex;align-items:center;justify-content:center;gap:16px;
}
.hero-eyebrow::before,.hero-eyebrow::after{content:'';width:28px;height:1px;background:var(--blue);}
.hero-divider{width:50px;height:1px;background:var(--blue);margin:30px auto;opacity:0;animation:fadeUp 1s 0.9s forwards;}
.hero-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;opacity:0;animation:fadeUp 1s 1.1s forwards;}
.btn-primary{
  background:var(--blue);color:var(--white);
  padding:15px 38px;border:none;border-radius:999px;cursor:pointer;
  font-family:'Montserrat',sans-serif;font-size:0.7rem;font-weight:600;
  letter-spacing:0.18em;text-transform:uppercase;text-decoration:none;
  display:inline-block;transition:all 0.3s;
}
.btn-primary:hover{background:var(--blue-deep);}
.btn-outline{
  background:transparent;color:var(--n700);
  padding:15px 38px;border:1.5px solid var(--n700);border-radius:999px;
  cursor:pointer;font-family:'Montserrat',sans-serif;font-size:0.7rem;
  font-weight:500;letter-spacing:0.18em;text-transform:uppercase;
  text-decoration:none;display:inline-block;transition:all 0.3s;
}
.btn-outline:hover{border-color:var(--blue);color:var(--blue);}
.hero-scroll{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;animation:fadeUp 1s 1.5s forwards;}
.hero-scroll span{font-size:0.58rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--n500);}
.scroll-line{width:1px;height:46px;background:linear-gradient(to bottom,var(--blue),transparent);animation:scrollDrop 2s ease-in-out infinite;}
@keyframes scrollDrop{0%{transform:scaleY(0);transform-origin:top;}50%{transform:scaleY(1);transform-origin:top;}51%{transform:scaleY(1);transform-origin:bottom;}100%{transform:scaleY(0);transform-origin:bottom;}}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}

/* ---- PAGE HERO (interior pages) ---- */
.page-hero{position:relative;padding:190px 60px 90px;text-align:center;background:var(--alabaster-2) center/cover no-repeat;overflow:hidden;}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(99,132,194,0.12) 0%,transparent 60%);z-index:0;}
.page-hero-overlay{position:absolute;inset:0;background:rgba(254,254,254,0.87);z-index:0;}
.page-hero-inner{position:relative;z-index:1;max-width:760px;margin:0 auto;}
.breadcrumb{font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--n500);margin-bottom:18px;}
.breadcrumb a{color:var(--n500);text-decoration:none;transition:color 0.3s;}
.breadcrumb a:hover{color:var(--blue);}

/* ---- TICKER ---- */
.ticker{background:var(--black);padding:13px 0;overflow:hidden;}
.ticker-track{display:flex;gap:70px;white-space:nowrap;animation:tickerScroll 32s linear infinite;}
.ticker-track span{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:400;color:var(--white);letter-spacing:0.1em;display:flex;align-items:center;gap:28px;}
.ticker-dot{color:var(--blue);font-size:0.5rem;}
@keyframes tickerScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* ---- GENERIC SECTIONS ---- */
section{padding:110px 60px;}
.section-eyebrow{font-size:0.66rem;font-weight:600;letter-spacing:0.32em;text-transform:uppercase;color:var(--blue);margin-bottom:18px;display:flex;align-items:center;gap:14px;}
.section-eyebrow::before{content:'';width:28px;height:1px;background:var(--blue);}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,4vw,3.8rem);font-weight:300;line-height:1.05;color:var(--black);margin-bottom:22px;}
.section-title em{font-style:italic;color:var(--blue);}
.section-body{font-size:0.88rem;line-height:1.95;color:var(--n500);font-weight:300;margin-bottom:18px;}
.section-header{text-align:center;margin-bottom:60px;}
.section-header .section-eyebrow{justify-content:center;}
.section-header .section-eyebrow::before{display:none;}
.section-header .section-eyebrow::after{content:'';width:28px;height:1px;background:var(--blue);}
.section-lede{color:var(--n500);font-size:0.88rem;max-width:560px;margin:12px auto 0;line-height:1.85;font-weight:300;}

/* ---- ABOUT / SPLIT ---- */
.split{padding:110px 60px;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;background:var(--white);}
.split>div{min-width:0;}
.split.reverse .split-media{order:2;}
.split-media{position:relative;}
.split-main-img{width:100%;height:520px;object-fit:cover;object-position:center 20%;border-radius:var(--radius-lg);}
.split-accent-box{
  position:absolute;bottom:-30px;right:-30px;width:180px;height:150px;
  background:var(--blue-pale);border:1px solid var(--blue-mist);border-radius:var(--radius-md);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:20px;
}
.split.reverse .split-accent-box{right:auto;left:-30px;}
.split-accent-num{font-family:'Cormorant Garamond',serif;font-size:2.6rem;font-weight:300;color:var(--blue);line-height:1;}
.split-accent-label{font-size:0.58rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--n500);text-align:center;}
.split-frame{position:absolute;top:-16px;left:-16px;right:40px;bottom:40px;border:1px solid var(--blue-mist);border-radius:var(--radius-lg);pointer-events:none;z-index:-1;}
.split.reverse .split-frame{left:40px;right:-16px;}
.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px;border-top:1px solid var(--alabaster);padding-top:36px;}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:2.6rem;font-weight:300;color:var(--black);line-height:1;}
.stat-label{font-size:0.6rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--n400);margin-top:5px;}

/* ---- TEAM ---- */
.team-preview{padding:110px 60px;background:var(--alabaster-2);}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.team-grid-4{grid-template-columns:repeat(4,1fr);}
.team-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;padding:34px 28px;transition:box-shadow 0.3s,transform 0.3s,border-color 0.3s;}
.team-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:var(--blue-mist);}
.team-card-name{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:400;color:var(--black);margin-bottom:4px;}
.team-card-role{font-size:0.62rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--blue);margin-bottom:16px;}
.team-card-bio{font-size:0.82rem;line-height:1.85;color:var(--n500);font-weight:300;}
.team-photo{width:100%;height:440px;object-fit:cover;margin-bottom:40px;}
.team-card-photo{width:calc(100% + 56px);height:580px;object-fit:cover;object-position:top;margin:-34px -28px 26px;display:block;}
.team-card-dual .team-card-bio{margin-bottom:18px;}
.team-card-dual .team-card-bio:last-child{margin-bottom:0;}
.team-card-person{padding-top:18px;margin-top:18px;border-top:1px solid var(--alabaster);}
.team-card-person:first-of-type{padding-top:0;margin-top:0;border-top:none;}
.award-banner{position:relative;margin-top:70px;overflow:hidden;}
.award-banner-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:0;align-items:stretch;background:var(--alabaster-2);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;}
.award-banner-img{width:100%;height:100%;min-height:340px;object-fit:cover;object-position:top;}
.award-banner-text{padding:50px 54px;display:flex;flex-direction:column;justify-content:center;}

/* ---- SERVICES ---- */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:60px;}
.service-card{
  padding:44px 36px;background:var(--blue-pale);border:1px solid var(--border-blue);border-radius:var(--radius-lg);
  position:relative;overflow:hidden;transition:background 0.3s,box-shadow 0.3s,transform 0.3s;
  display:block;text-decoration:none;color:inherit;cursor:pointer;
}
.service-card::before{content:'';position:absolute;top:0;left:0;width:0;height:2px;background:var(--blue);transition:width 0.5s;}
.service-card:hover::before{width:100%;}
.service-card:hover{background:var(--white);box-shadow:var(--shadow-lg);transform:translateY(-3px);}
.service-icon{width:46px;height:46px;margin-bottom:24px;display:flex;align-items:center;justify-content:center;border:1px solid var(--blue-mist);border-radius:var(--radius-sm);color:var(--blue);font-size:1.1rem;transition:all 0.3s;}
.service-card:hover .service-icon{border-color:var(--blue);background:var(--blue-mist);}
.service-name{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:400;color:var(--black);margin-bottom:12px;line-height:1.2;}
.service-desc{font-size:0.8rem;color:var(--n500);line-height:1.85;font-weight:300;margin-bottom:16px;}
.service-list{list-style:none;font-size:0.82rem;color:var(--n500);font-weight:300;line-height:2;margin-bottom:8px;}
.service-list li{padding-left:16px;position:relative;}
.service-list li::before{content:'—';position:absolute;left:0;color:var(--blue);}

/* Photo-background service cards (services.html category grid) */
.service-card-photo{
  min-height:480px;background-size:cover;background-position:center;
  border-color:rgba(254,254,254,0.25);
}
.service-card-photo::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(2,2,2,0.35) 0%,rgba(2,2,2,0.72) 75%);
  z-index:0;
}
.service-card-photo::before{z-index:1;background:var(--white);}
.service-card-photo:hover::after{background:linear-gradient(180deg,rgba(2,2,2,0.2) 0%,rgba(2,2,2,0.6) 75%);}
.service-card-photo:hover{background-size:cover;box-shadow:var(--shadow-lg);transform:translateY(-3px);}
.service-card-photo .service-icon{position:relative;z-index:1;border-color:rgba(254,254,254,0.6);color:var(--white);background:rgba(2,2,2,0.2);}
.service-card-photo:hover .service-icon{border-color:var(--white);background:rgba(2,2,2,0.35);}
.service-card-photo .service-name{position:relative;z-index:1;color:var(--white);}
.service-card-photo .service-list{position:relative;z-index:1;color:rgba(254,254,254,0.9);}
.service-card-photo .service-list li::before{color:var(--white);}

/* Detailed price menu */
.menu-section{margin-top:70px;max-width:720px;margin-left:auto;margin-right:auto;}
.menu-cat-title{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:400;color:var(--black);margin-bottom:26px;padding-bottom:14px;border-bottom:1px solid var(--alabaster);display:flex;align-items:center;gap:14px;}
.menu-cat-title span{color:var(--blue);}
.menu-item{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:18px 0;border-bottom:1px solid var(--alabaster);}
.menu-item-name{font-size:0.95rem;font-weight:600;color:var(--black);}
.menu-item-desc{font-size:0.8rem;color:var(--n500);font-weight:300;margin-top:4px;line-height:1.7;}
.menu-item-meta{white-space:nowrap;text-align:right;}
.menu-item-price{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--blue);font-weight:500;}
.menu-item-time{display:block;font-size:0.68rem;color:var(--n400);letter-spacing:0.06em;margin-top:2px;}

/* ---- TRUST BADGES ---- */
.trust-strip{background:var(--black);padding:0;}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.trust-item{padding:44px 30px;text-align:center;border-right:1px solid rgba(254,254,254,0.08);}
.trust-item:last-child{border-right:none;}
.trust-icon{font-size:1.6rem;color:var(--blue);margin-bottom:14px;}
.trust-title{font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--white);margin-bottom:6px;}
.trust-desc{font-size:0.76rem;color:var(--n300);font-weight:300;line-height:1.6;}

/* ---- AWARDS ---- */
.awards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-top:50px;}
.award-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:34px 26px;text-align:center;transition:box-shadow 0.3s,transform 0.3s,border-color 0.3s;}
.award-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:var(--blue-mist);}
.award-badge{font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--blue);letter-spacing:0.04em;margin-bottom:10px;}
.award-year{font-size:2.2rem;font-family:'Cormorant Garamond',serif;color:var(--black);font-weight:300;}
.award-name{font-size:0.78rem;color:var(--n500);letter-spacing:0.04em;margin-top:8px;line-height:1.6;}
.award-card-img{width:96px;height:96px;object-fit:contain;margin:0 auto 16px;display:block;}
.award-preview-img{width:64px;height:64px;object-fit:contain;margin:0 auto 12px;display:block;}

/* Auto-sliding award banner (pauses on hover) */
.awards-marquee{overflow:hidden;padding:46px 0;background:var(--alabaster-2);border-top:1px solid var(--alabaster);border-bottom:1px solid var(--alabaster);}
.awards-marquee-track{display:flex;gap:64px;align-items:center;width:max-content;animation:marqueeSlide 38s linear infinite;}
.awards-marquee-track:hover{animation-play-state:paused;}
.awards-marquee-item{flex-shrink:0;height:120px;width:120px;display:flex;align-items:center;justify-content:center;background:var(--white);border-radius:50%;box-shadow:var(--shadow);}
.awards-marquee-item img{height:100%;width:100%;object-fit:contain;border-radius:50%;}
@keyframes marqueeSlide{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
@media(max-width:768px){
  .awards-marquee-item{height:88px;width:88px;}
  .awards-marquee-track{gap:36px;}
}

/* Cross-fading slideshow used as the page-hero background (all interior pages) */
.page-hero-fade{position:absolute;inset:0;z-index:0;}
.page-hero-fade img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:heroFade 45s infinite;}
.page-hero-fade img:nth-child(1){animation-delay:0s;}
.page-hero-fade img:nth-child(2){animation-delay:5s;}
.page-hero-fade img:nth-child(3){animation-delay:10s;}
.page-hero-fade img:nth-child(4){animation-delay:15s;}
.page-hero-fade img:nth-child(5){animation-delay:20s;}
.page-hero-fade img:nth-child(6){animation-delay:25s;}
.page-hero-fade img:nth-child(7){animation-delay:30s;}
.page-hero-fade img:nth-child(8){animation-delay:35s;}
.page-hero-fade img:nth-child(9){animation-delay:40s;}
@keyframes heroFade{
  0%{opacity:0;}
  3.33%{opacity:1;}
  11.11%{opacity:1;}
  14.44%{opacity:0;}
  100%{opacity:0;}
}

/* ---- GALLERY / BEFORE-AFTER ---- */
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:60px;}
.gallery-card{background:var(--alabaster-2);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow 0.3s,transform 0.3s;}
.gallery-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);}
.gallery-img-wrap{width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--alabaster);border-radius:var(--radius-lg) var(--radius-lg) 0 0;}
.gallery-img-wrap img{width:100%;height:100%;object-fit:contain;}
.gallery-caption{padding:22px 24px;}
.gallery-label{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--black);margin-bottom:6px;}
.gallery-sub{font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--blue);}
.gallery-disclaimer{font-size:0.76rem;color:var(--n400);font-weight:300;text-align:center;max-width:640px;margin:60px auto 0;line-height:1.8;}

/* ---- FAQ ACCORDION ---- */
.faq-item{border-bottom:1px solid var(--alabaster);}
.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;background:none;border:none;cursor:pointer;text-align:left;font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.25rem;color:var(--black);transition:color 0.3s;}
.faq-question:hover{color:var(--blue);}
.faq-icon{flex-shrink:0;width:28px;height:28px;border:1px solid var(--blue-mist);display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:1rem;transition:transform 0.3s,background 0.3s;}
.faq-item.open .faq-icon{transform:rotate(45deg);background:var(--blue-pale);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.35s ease;}
.faq-item.open .faq-answer{max-height:400px;}
.faq-answer-inner{padding:0 40px 24px 0;}
.faq-answer-inner .section-body{margin-bottom:0;}
.faq-answer-inner a{color:var(--blue);}

/* ---- GOOGLE REVIEWS ---- */
.reviews-header{padding:0 60px;}
.reviews-marquee{overflow:hidden;margin-top:50px;}
.reviews-marquee-track{display:flex;width:max-content;animation:reviewsSlide 100s linear infinite;}
.reviews-marquee-track:hover{animation-play-state:paused;}
.review-card{width:360px;height:290px;flex-shrink:0;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:30px;margin-right:20px;display:flex;flex-direction:column;}
.review-card-badge{display:inline-flex;align-items:center;gap:6px;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--n400);margin-bottom:14px;}
.review-card-badge span{color:#4285F4;font-family:'Cormorant Garamond',serif;font-weight:700;font-size:0.95rem;}
.review-card-text{font-size:0.82rem;color:var(--n500);line-height:1.8;font-weight:300;font-style:italic;flex:1;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;}
.review-card-footer{margin-top:16px;padding-top:16px;border-top:1px solid var(--alabaster);display:flex;justify-content:space-between;align-items:baseline;}
.review-card-name{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--black);}
.review-card-time{font-size:0.66rem;color:var(--n400);letter-spacing:0.03em;}

/* ---- SINGLE TESTIMONIAL CALLOUT ---- */
.testimonial-quote{max-width:760px;margin:0 auto;text-align:center;padding:60px 40px;background:var(--alabaster-2);border:1px solid var(--border);border-radius:var(--radius-lg);}
.testimonial-quote-badge{display:inline-flex;align-items:center;gap:6px;font-size:0.66rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--n400);margin-bottom:20px;}
.testimonial-quote-badge span{color:#4285F4;font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.1rem;}
.testimonial-quote-stars{color:#F4B400;font-size:0.95rem;letter-spacing:0.15em;margin-bottom:18px;}
.testimonial-quote-text{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:300;font-style:italic;line-height:1.6;color:var(--black);margin-bottom:24px;}
.testimonial-quote-name{font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--blue);font-weight:600;}
@keyframes reviewsSlide{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* ---- FINANCING (Cherry) ---- */
.finance-wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;margin-top:50px;align-items:start;}
.finance-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px;height:100%;}
.finance-badge{display:inline-block;font-size:0.56rem;letter-spacing:0.08em;text-transform:uppercase;background:var(--blue-pale);color:var(--blue-deep);padding:3px 9px;border-radius:999px;margin-left:8px;vertical-align:middle;}
.finance-note{font-size:0.74rem;color:var(--n400);font-style:italic;line-height:1.7;}
.cherry-checklist{list-style:none;font-size:0.86rem;color:var(--n700);font-weight:400;line-height:2.3;margin:20px 0 28px;}
.cherry-checklist li{padding-left:26px;position:relative;}
.cherry-checklist li::before{content:'✓';position:absolute;left:0;color:var(--blue);font-weight:700;}
.cherry-btn-row{display:flex;flex-direction:column;gap:12px;max-width:420px;}
.cherry-amount-box{display:inline-flex;align-items:center;gap:10px;background:var(--alabaster-2);border:1px solid var(--n300);border-radius:var(--radius-md);padding:10px 22px;font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--black);margin:24px 0 20px;}
.cherry-mini-check{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;margin:26px 0 10px;font-size:0.78rem;color:var(--n700);}
.cherry-mini-check span{color:var(--blue);font-weight:700;margin-right:5px;}
.legal-fineprint{font-size:0.7rem;color:var(--n400);line-height:1.8;margin-top:50px;padding-top:30px;border-top:1px solid var(--alabaster);max-width:900px;margin-left:auto;margin-right:auto;}
.legal-fineprint p{margin-bottom:14px;}
.legal-fineprint a{color:var(--n400);text-decoration:underline;}
.cherry-faq-list{list-style:none;max-width:780px;margin:0 auto;}
.cherry-faq-list li{border-bottom:1px solid var(--alabaster);}
.cherry-faq-list a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 4px;color:var(--black);text-decoration:none;font-size:0.88rem;transition:color 0.3s;}
.cherry-faq-list a:hover{color:var(--blue);}
.cherry-faq-list a::after{content:'→';color:var(--blue);flex-shrink:0;}
#cherry-options{margin-top:4px;}
.check-list{list-style:none;font-size:0.85rem;color:var(--n500);font-weight:300;line-height:2.3;}
.check-list li{padding-left:24px;position:relative;}
.check-list li::before{content:'✓';position:absolute;left:0;color:var(--blue);font-weight:700;}
@media(max-width:1100px){.finance-wrap{grid-template-columns:1fr;}}

/* ---- PAYMENT PLANS ---- */
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:60px;}
.plan-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 32px;transition:box-shadow 0.3s,transform 0.3s,border-color 0.3s;display:block;text-decoration:none;color:inherit;}
.plan-card.featured{border-color:var(--blue);position:relative;}
.plan-card.featured::after{content:'Most Popular';position:absolute;top:-13px;left:32px;background:var(--blue);color:var(--white);font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;padding:6px 14px;}
.plan-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:var(--blue);}
.plan-card-cta{margin-top:20px;font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--blue);font-weight:600;}
.plan-icon{font-size:1.5rem;color:var(--blue);margin-bottom:18px;}
.plan-title{font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:var(--black);margin-bottom:12px;}
.plan-desc{font-size:0.83rem;color:var(--n500);font-weight:300;line-height:1.85;}
.area-columns{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:50px;}
.area-col-photo{height:220px;background-size:cover;background-position:center;margin-bottom:24px;border-radius:var(--radius-lg);}
.area-col-title{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--blue);text-align:center;letter-spacing:0.04em;margin-bottom:26px;padding-bottom:16px;border-bottom:1px solid var(--alabaster);}
.area-group{margin-bottom:22px;}
.area-group:last-child{margin-bottom:0;}
.area-group-name{font-size:0.7rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--black);margin-bottom:8px;}
.area-group-list{font-size:0.85rem;color:var(--n500);line-height:1.85;font-weight:300;}

/* ---- CTA SECTION ---- */
.cta-section{padding:130px 60px;text-align:center;background:var(--blue);position:relative;overflow:hidden;}
.cta-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(2,2,2,0.1) 0%,transparent 70%);}
.cta-rings{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;}
.cta-ring{position:absolute;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);animation:ringPulse 4s ease-in-out infinite;}
.cta-ring:nth-child(1){width:280px;height:280px;border:1px solid rgba(2,2,2,0.2);}
.cta-ring:nth-child(2){width:460px;height:460px;border:1px solid rgba(2,2,2,0.12);animation-delay:0.6s;}
.cta-ring:nth-child(3){width:640px;height:640px;border:1px solid rgba(2,2,2,0.06);animation-delay:1.2s;}
.cta-section .section-eyebrow{color:var(--white);justify-content:center;}
.cta-section .section-eyebrow::before{display:none;}
.cta-section .section-eyebrow::after{content:'';width:28px;height:1px;background:var(--white);}
.cta-section .section-title{color:var(--white);font-size:clamp(2.6rem,5vw,4.6rem);max-width:680px;margin:0 auto 20px;position:relative;z-index:1;}
.cta-section .section-title em{color:var(--black);}
.cta-section .section-body{color:var(--black);max-width:480px;margin:0 auto 44px;position:relative;z-index:1;}
.cta-tel{display:block;font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:var(--black);text-decoration:none;margin-bottom:38px;transition:all 0.3s;position:relative;z-index:1;font-weight:600;}
.cta-tel:hover{color:var(--white);}
.cta-section .btn-primary{background:var(--black);color:var(--white);}
.cta-section .btn-primary:hover{background:var(--white);color:var(--black);}
.cta-section .btn-outline{border-color:var(--black);color:var(--black);}
.cta-section .btn-outline:hover{border-color:var(--white);color:var(--white);background:rgba(2,2,2,0.1);}
.cta-section .hero-actions{position:relative;z-index:1;}

/* ---- CONTACT / BOOKING ---- */
.contact-wrap{padding:110px 60px;display:grid;grid-template-columns:1.1fr 1fr;gap:70px;background:var(--white);}
.info-card{margin-bottom:34px;}
.info-card-title{font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--blue);margin-bottom:12px;}
.info-card-body{font-size:0.92rem;color:var(--black);line-height:1.8;}
.info-card-body a{color:var(--black);text-decoration:none;transition:color 0.3s;}
.info-card-body a:hover{color:var(--blue);}
.hours-table{width:100%;border-collapse:collapse;font-size:0.85rem;}
.hours-table tr{border-bottom:1px solid var(--alabaster);}
.hours-table td{padding:10px 0;color:var(--n500);}
.hours-table td:first-child{color:var(--black);font-weight:600;}
.hours-table td:last-child{text-align:right;}
.form-group{margin-bottom:20px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-label{display:block;font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--n500);margin-bottom:8px;}
.form-input,.form-textarea{
  width:100%;padding:13px 16px;border:1px solid var(--n300);border-radius:var(--radius-sm);background:var(--white);
  font-family:'Montserrat',sans-serif;font-size:1rem;color:var(--black);transition:border-color 0.3s;
}
.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--blue);}
.form-textarea{resize:vertical;min-height:130px;}
.form-checkbox-row{display:flex;align-items:center;gap:10px;font-size:0.8rem;color:var(--n500);}
.form-note{font-size:0.72rem;color:var(--n400);margin-top:16px;line-height:1.7;}
.form-note a{color:var(--n400);}
.map-embed{width:100%;height:280px;border:1px solid var(--border);border-radius:var(--radius-lg);margin-top:10px;filter:grayscale(0.15);}

.booking-section{padding:110px 60px;background:var(--alabaster-2);}
.booking-frame-wrap{margin-top:50px;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--white);box-shadow:var(--shadow);}
.booking-frame{width:100%;height:900px;border:none;display:block;}
.booking-fallback{text-align:center;padding:24px;font-size:0.85rem;color:var(--n500);border-top:1px solid var(--alabaster);}

/* ---- FOOTER ---- */
footer{background:var(--white);border-top:1px solid var(--alabaster);padding:80px 60px 0;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;margin-bottom:60px;}
.footer-brand-logo img{height:64px;margin-bottom:22px;display:block;}
.footer-tagline{font-size:0.8rem;color:var(--n500);line-height:1.85;max-width:280px;margin-bottom:26px;}
.footer-social{display:flex;gap:12px;}
.footer-social a{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid var(--n300);color:var(--n500);text-decoration:none;font-size:0.68rem;font-weight:700;transition:all 0.3s;}
.footer-social a:hover{border-color:var(--blue);color:var(--blue);}
.footer-col-title{font-size:0.62rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--blue);margin-bottom:22px;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:11px;}
.footer-links a{color:var(--n500);text-decoration:none;font-size:0.8rem;transition:color 0.3s;}
.footer-links a:hover{color:var(--black);}
.footer-contact-item{font-size:0.8rem;color:var(--n500);margin-bottom:11px;display:flex;align-items:flex-start;gap:9px;line-height:1.5;}
.footer-contact-item a{color:var(--n500);text-decoration:none;transition:color 0.3s;}
.footer-contact-item a:hover{color:var(--blue);}
.footer-bottom{border-top:1px solid var(--alabaster);padding:22px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;}
.footer-copyright{font-size:0.7rem;color:var(--n400);}
.footer-legal{display:flex;gap:22px;}
.footer-legal a{font-size:0.7rem;color:var(--n400);text-decoration:none;transition:color 0.3s;}
.footer-legal a:hover{color:var(--blue);}

/* ---- BLOG ---- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:60px;}
.blog-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow 0.3s,transform 0.3s,border-color 0.3s;text-decoration:none;color:inherit;display:block;}
.blog-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:var(--blue-mist);}
.blog-card-img-wrap{width:100%;height:220px;overflow:hidden;border-radius:var(--radius-lg) var(--radius-lg) 0 0;}
.blog-card-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s cubic-bezier(0.4,0,0.2,1);}
.blog-card:hover .blog-card-img-wrap img{transform:scale(1.06);}
.blog-card-body{padding:28px;}
.blog-card-cat{font-size:0.6rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--blue);margin-bottom:10px;}
.blog-card-title{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:400;color:var(--black);margin-bottom:10px;line-height:1.25;}
.blog-card-excerpt{font-size:0.82rem;color:var(--n500);font-weight:300;line-height:1.8;margin-bottom:16px;}
.blog-card-meta{font-size:0.66rem;color:var(--n400);letter-spacing:0.04em;text-transform:uppercase;}
.blog-post-meta{font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--blue);margin-bottom:6px;}
.blog-post-cta{background:var(--blue-pale);border:1px solid var(--border-blue);padding:34px 36px;margin:50px 0;}
.blog-post-cta p{margin-bottom:16px!important;}
.blog-post-cta .btn-primary{margin-right:12px;}
@media(max-width:1100px){.blog-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:768px){.blog-grid{grid-template-columns:1fr;}}

/* ---- LEGAL PAGES ---- */
.legal-content{padding:70px 60px 130px;max-width:820px;margin:0 auto;}
.legal-content h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.7rem;color:var(--black);margin:44px 0 16px;}
.legal-content h2:first-child{margin-top:0;}
.legal-content p,.legal-content li{font-size:0.88rem;line-height:1.9;color:var(--n500);font-weight:300;margin-bottom:14px;}
.legal-content ul{padding-left:22px;margin-bottom:14px;}
.legal-updated{font-size:0.76rem;color:var(--n400);letter-spacing:0.06em;margin-bottom:40px;}

/* ---- REVEAL ---- */
.reveal{opacity:0;transform:translateY(36px);transition:opacity 0.8s cubic-bezier(0.4,0,0.2,1),transform 0.8s cubic-bezier(0.4,0,0.2,1);}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:0.1s;}.reveal-delay-2{transition-delay:0.2s;}.reveal-delay-3{transition-delay:0.3s;}.reveal-delay-4{transition-delay:0.4s;}

/* ---- FLOATING SOCIAL ICONS ---- */
.social-float{position:fixed;bottom:90px;right:26px;z-index:9998;display:flex;flex-direction:column;gap:10px;}
.social-float a{width:40px;height:40px;border-radius:50%;background:var(--white);border:1px solid var(--n300);display:flex;align-items:center;justify-content:center;font-size:0.64rem;font-weight:700;letter-spacing:0.02em;color:var(--n700);text-decoration:none;box-shadow:var(--shadow);transition:all 0.3s;}
.social-float a:hover{background:var(--blue);color:var(--white);border-color:var(--blue);transform:scale(1.08);}
@media(max-width:540px){.social-float{bottom:84px;}}

/* ---- A11Y WIDGET ---- */
#a11y-widget{position:fixed;bottom:26px;right:26px;z-index:9999;}
#a11y-toggle{width:50px;height:50px;border-radius:50%;background:var(--blue);border:none;color:var(--white);font-size:1.1rem;cursor:pointer;box-shadow:0 4px 20px rgba(99,132,194,0.45);transition:0.3s;display:flex;align-items:center;justify-content:center;}
#a11y-toggle:hover{transform:scale(1.08);background:var(--blue-dark);}
#a11y-panel{position:absolute;bottom:62px;right:0;width:240px;background:var(--white);border:1px solid var(--n300);padding:20px;box-shadow:var(--shadow-lg);}
#a11y-panel[hidden]{display:none;}
.a11y-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.a11y-header span{color:var(--black);font-size:0.76rem;letter-spacing:0.1em;text-transform:uppercase;}
.a11y-close{background:none;border:none;color:var(--n400);cursor:pointer;font-size:1.1rem;}
.a11y-options{display:flex;flex-direction:column;gap:7px;}
.a11y-btn{background:var(--alabaster-2);border:1px solid var(--n300);color:var(--n700);padding:9px 13px;cursor:pointer;font-size:0.76rem;transition:0.2s;text-align:left;}
.a11y-btn:hover{background:var(--blue-pale);border-color:var(--blue-mist);color:var(--black);}
.a11y-btn.active{background:var(--blue-pale);border-color:var(--blue);color:var(--blue-deep);}
.a11y-font-row{display:flex;align-items:center;gap:7px;}
.a11y-font-row .a11y-btn{flex:1;text-align:center;}
.a11y-label{font-size:0.7rem;color:var(--n400);white-space:nowrap;}
body.a11y-high-contrast{filter:contrast(1.5) brightness(1.05);}
body.a11y-no-motion *,body.a11y-no-motion *::before,body.a11y-no-motion *::after{animation:none!important;transition:none!important;}
body.a11y-dyslexia{font-family:Arial,sans-serif!important;letter-spacing:0.05em;line-height:1.9;}
body.a11y-underline-links a{text-decoration:underline!important;}

/* ---- RESPONSIVE ---- */
@media(max-width:1100px){
  .split,.contact-wrap{grid-template-columns:1fr;gap:60px;padding:80px 40px;}
  .split.reverse .split-media{order:0;}
  .team-grid,.team-grid-4,.services-grid,.gallery-grid,.plan-grid{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px;}
  .trust-grid{grid-template-columns:1fr 1fr;}
  .trust-item{border-right:none;border-bottom:1px solid rgba(254,254,254,0.08);}
}
@media(max-width:768px){
  #navbar{padding:16px 22px;}
  #navbar.scrolled{padding:10px 22px;}
  .nav-links{display:none;}.nav-hamburger{display:block;}
  section,.split,.contact-wrap,.cta-section,.booking-section{padding:70px 22px;}
  .page-hero{padding:170px 22px 70px;}
  .reviews-header{padding:0 22px;}
  .team-grid,.services-grid,.gallery-grid,.plan-grid,.form-row,.trust-grid{grid-template-columns:1fr;}
  .team-grid-4{grid-template-columns:1fr;gap:16px;}
  .area-columns{grid-template-columns:1fr;gap:40px;}
  footer{padding:60px 22px 0;}
  .footer-grid{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .split-accent-box{display:none;}
  .split-frame{display:none;}
  .booking-frame{height:1400px;}
  .menu-item{flex-direction:column;gap:6px;}
  .menu-item-meta{text-align:left;}
  .social-float a{width:44px;height:44px;}
  .footer-social a{width:44px;height:44px;}
  .nav-hamburger{padding:10px 13px;}
}
@media(max-width:540px){
  .hero-actions{flex-direction:column;align-items:center;}
  .btn-primary,.btn-outline{width:260px;text-align:center;}
  .stats-row{grid-template-columns:1fr 1fr;}
  .section-title{font-size:clamp(1.6rem,6.5vw,2.5rem);}
}
