
:root{
  --orange:#b85f2f;--orange-dark:#8f4624;--black:#0f0f0f;--cream:#f4eee8;--white:#fff;
  --muted:#746f6a;--line:rgba(17,17,17,.12)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",Arial,sans-serif;color:var(--black);background:var(--cream);line-height:1.6}
a{color:inherit}
.wrap{width:min(1140px,calc(100% - 40px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:40;background:rgba(12,12,12,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08);color:#fff}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.brand img{display:block;width:145px;height:54px;object-fit:contain;object-position:left center}
.desktop-nav{display:flex;align-items:center;gap:26px}
.desktop-nav>a,.dropbtn{font:inherit;font-size:13px;font-weight:600;letter-spacing:.04em;text-decoration:none;color:#fff;background:none;border:0;cursor:pointer}
.dropdown{position:relative}
.dropdown-menu{position:absolute;top:100%;left:-22px;min-width:185px;background:#111;padding:12px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}
.dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown-menu a{display:block;padding:10px 22px;text-decoration:none;font-size:13px}
.dropdown-menu a:hover{background:#1d1d1d;color:#e28a58}
.btn{display:inline-block;text-decoration:none;background:var(--orange);color:#fff;padding:14px 22px;border-radius:999px;font-weight:700}
.btn-small{padding:10px 16px;font-size:13px}
.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:24px}
.mobile-menu{display:none;background:#111;padding:10px 20px 20px}
.mobile-menu.open{display:block}
.mobile-menu a,.mobile-menu summary{display:block;padding:11px 0;color:#fff;text-decoration:none}
.mobile-menu details a{padding-left:18px;color:#ddd}
.hero-luxe{min-height:calc(100vh - 78px);position:relative;background:linear-gradient(rgba(8,8,8,.22),rgba(8,8,8,.60)),url("assets/hero-group-five.jpeg") center 42%/cover no-repeat;display:grid;place-items:center;color:#fff;overflow:hidden}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 50% 48%,transparent 0 25%,rgba(0,0,0,.22) 68%,rgba(0,0,0,.42) 100%)}
.hero-center{position:relative;z-index:2;text-align:center;width:min(850px,90%);padding:80px 0}
.hero-logo{width:min(430px,75vw);filter:drop-shadow(0 10px 30px rgba(0,0,0,.22));margin-bottom:18px}
.hero-script{font-family:"Playfair Display",serif;font-style:italic;font-size:clamp(18px,2vw,26px);margin:0 0 8px}
.hero-center h1{font-family:"Playfair Display",serif;font-size:clamp(40px,6vw,72px);font-weight:500;line-height:1.04;margin:0 0 28px;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.outline-btn{display:inline-block;padding:13px 28px;border:1px solid rgba(255,255,255,.85);color:#fff;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.08em;transition:.25s}
.outline-btn:hover{background:#fff;color:#111}
.hero-bottom{position:absolute;z-index:2;bottom:24px;left:0;right:0;display:flex;justify-content:space-between;width:min(1140px,calc(100% - 40px));margin:auto;font-size:11px;letter-spacing:.14em}
.soul-strip{overflow:hidden;background:var(--orange);color:#fff}
.soul-strip-track{width:max-content;display:flex;gap:28px;align-items:center;padding:12px 0;font-size:11px;font-weight:700;letter-spacing:.22em;animation:scroll 25s linear infinite}
@keyframes scroll{to{transform:translateX(-50%)}}
.section{padding:100px 0}
.eyebrow{margin:0 0 14px;font-size:11px;font-weight:700;letter-spacing:.18em}
h1,h2{font-family:"Playfair Display",Georgia,serif}
h2{font-size:clamp(38px,5vw,60px);line-height:1.05;margin:0 0 20px}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.intro-grid p{font-size:17px}
.text-link{font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.dark-link{color:var(--orange-dark)}
.feature-split{display:grid;grid-template-columns:1.1fr .9fr;padding:0;background:#111;color:#fff}
.feature-image img{width:100%;height:650px;object-fit:cover;display:block}
.feature-copy{padding:90px;display:flex;flex-direction:column;justify-content:center}
.feature-copy p{color:#d6d2ce;max-width:520px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}
.service-preview{background:#fff}
.service-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.service-tile{height:240px;display:flex;align-items:end;padding:24px;background:linear-gradient(180deg,#f7f3ef,#eee6df);border:1px solid var(--line);text-decoration:none;transition:.3s}
.service-tile:hover{transform:translateY(-6px);background:#111;color:#fff}
.service-tile span{font-family:"Playfair Display",serif;font-size:30px}
.rotator-section{background:#efe5da}
.photo-story-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}
.rotator{height:600px;position:relative;overflow:hidden;border-radius:140px 4px 140px 4px;box-shadow:0 24px 60px rgba(17,17,17,.14)}
.rotator-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity 1s ease,transform 5.5s ease}
.rotator-img.active{opacity:1;transform:scale(1)}
.rotator-count{position:absolute;right:18px;bottom:18px;padding:8px 12px;background:rgba(17,17,17,.72);color:#fff;border-radius:999px;font-size:12px}
.final-cta{background:var(--orange);color:#fff;text-align:center}
.final-cta h2{font-size:clamp(46px,7vw,82px)}
.outline-btn.light{margin-top:10px}
.page-hero{padding:130px 0 90px;background:#111;color:#fff}
.page-hero h1{font-size:clamp(54px,7vw,88px);line-height:1.02;max-width:900px;margin:0}
.page-hero p:last-child{max-width:600px;color:#d7d2cc}
.service-list{display:grid;gap:80px}
.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.service-detail.reverse img{order:2}
.service-detail img{width:100%;height:480px;object-fit:cover}
.service-detail h2{margin-bottom:14px}
.about-image{width:100%;height:620px;object-fit:cover}
.contact-card{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:60px;background:#fff;border:1px solid var(--line)}
.contact-list p{margin:0 0 24px}
footer{background:#0f0f0f;color:#fff}
.footer-inner{padding:34px 0;display:flex;justify-content:space-between;gap:30px}
.footer-inner p{margin:4px 0 0;color:#aaa}
.footer-links{display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.footer-links a{text-decoration:none;color:#ddd}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.visible{opacity:1;transform:none}
@media(max-width:850px){
  .desktop-nav,.site-header .btn-small{display:none}.menu-toggle{display:block}
  .nav{height:70px}.brand img{width:120px}
  .intro-grid,.photo-story-grid,.service-detail,.contact-card{grid-template-columns:1fr;gap:38px}
  .feature-split{grid-template-columns:1fr}
  .feature-image img{height:500px}.feature-copy{padding:55px 28px}
  .service-preview-grid{grid-template-columns:1fr 1fr}
  .service-detail.reverse img{order:0}
  .hero-bottom{flex-direction:column;gap:6px;align-items:center;text-align:center}
  .rotator{height:520px;border-radius:90px 4px 90px 4px}
}
@media(max-width:560px){
  .wrap{width:min(100% - 28px,1140px)}
  .section{padding:72px 0}
  .hero-luxe{min-height:82vh}
  .hero-center{padding:50px 0 90px}
  .hero-logo{width:78vw}
  .hero-center h1{font-size:42px}
  .service-preview-grid{grid-template-columns:1fr}
  .service-tile{height:170px}
  .section-heading{align-items:flex-start;flex-direction:column}
  .rotator{height:470px;border-radius:70px 4px 70px 4px}
  .page-hero{padding:100px 0 60px}
  .page-hero h1{font-size:50px}
  .service-detail img{height:390px}
  .contact-card{padding:30px}
  .footer-inner{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}


.hero-kicker{
  margin:0 0 14px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.22em;
  text-shadow:0 2px 18px rgba(0,0,0,.35);
}
.story-subhead{
  margin:28px 0 8px;
  font-family:"Playfair Display",Georgia,serif;
  font-size:28px;
  font-weight:500;
}
.service-tile{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  color:#fff;
  background-size:cover!important;
  background-position:center!important;
}
.service-tile::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.62));
  transition:.3s;
}
.service-tile:hover::before{background:linear-gradient(180deg,rgba(184,95,47,.08),rgba(0,0,0,.72))}
.tile-facials{background-image:url("assets/skin-before-after.jpeg")!important}
.tile-waxing{background-image:url("assets/waxing-before-after.jpeg")!important}
.tile-brows{background-image:url("assets/glow-client.jpeg")!important}
.tile-lashes{background-image:url("assets/lashes-client.jpeg")!important}
.results-section{background:#111;color:#fff}
.results-section .dark-link{color:#e89a6d}
.results-grid{
  display:grid;
  grid-template-columns:1.15fr .9fr .9fr;
  gap:14px;
  align-items:stretch;
}
.results-grid img{
  width:100%;
  height:480px;
  object-fit:cover;
  display:block;
}
.results-grid img:first-child{object-position:center}
.results-grid img:last-child{object-position:center 30%}
@media(max-width:850px){
  .hero-luxe{background-position:center center}
  .results-grid{grid-template-columns:1fr 1fr}
  .results-grid img:first-child{grid-column:1 / 3}
  .results-grid img{height:420px}
}
@media(max-width:560px){
  .hero-luxe{
    min-height:84vh;
    background-position:center center;
  }
  .hero-center{
    padding:180px 0 80px;
  }
  .hero-center h1{font-size:39px}
  .results-grid{grid-template-columns:1fr}
  .results-grid img:first-child{grid-column:auto}
  .results-grid img{height:390px}
}


.google-reviews{
  background:#f7f2ec;
}
.reviews-head{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:60px;
  align-items:end;
  margin-bottom:38px;
}
.google-line{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
  font-weight:700;
  font-size:14px;
}
.google-g{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#fff;
  border:1px solid rgba(17,17,17,.12);
  font-weight:800;
  font-size:18px;
}
.stars,.review-stars{
  letter-spacing:.08em;
  color:#b85f2f;
}
.reviews-intro{
  color:var(--muted);
  max-width:480px;
  margin:0;
}
.review-carousel{
  position:relative;
  min-height:260px;
}
.review-card{
  display:none;
  background:#fff;
  border:1px solid var(--line);
  padding:42px;
  min-height:240px;
}
.review-card.active{
  display:flex;
  flex-direction:column;
  justify-content:center;
  animation:reviewFade .7s ease;
}
.review-card p{
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(28px,4vw,44px);
  line-height:1.15;
  max-width:900px;
  margin:18px 0;
}
.review-card span{
  color:var(--muted);
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.review-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:28px;
}
.outline-dark-btn{
  display:inline-block;
  text-decoration:none;
  padding:13px 22px;
  border:1px solid #111;
  color:#111;
  border-radius:999px;
  font-weight:700;
}
.outline-dark-btn:hover{
  background:#111;
  color:#fff;
}
@keyframes reviewFade{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:none}
}
@media(max-width:850px){
  .reviews-head{grid-template-columns:1fr;gap:20px}
}
@media(max-width:560px){
  .review-card{padding:30px 24px;min-height:280px}
  .review-card p{font-size:30px}
}
