
:root{
  --wine:#9f5b60; --wine-dark:#87494e; --beige:#f6eee8; --cream:#fffaf6;
  --brown:#35211c; --rose:#d9aaa5; --text:#241c19; --muted:#675c57; --green:#2f914b;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'DM Sans',sans-serif;background:#fff;color:var(--text)}
a{text-decoration:none;color:inherit}
.wrap{width:min(1180px,92%);margin:auto}

.topbar{background:linear-gradient(90deg,#9f5b60,#96545a);color:#fff;font-size:13px}
.topbar-inner{height:40px;display:flex;align-items:center;justify-content:space-between}
.toplinks{display:flex;gap:28px}

.nav{background:#fffdfa;border-bottom:1px solid #eee2db;position:sticky;top:0;z-index:20}
.nav-inner{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.logo{display:flex;flex-direction:column}
.logo-word{font:700 54px/0.85 'Playfair Display',serif;font-style:italic;color:#623a34}
.logo-sub{font-size:11px;letter-spacing:.17em;margin-top:12px}
.navlinks{display:flex;gap:34px;font-size:14px}
.pill,.small-pill{background:var(--wine);color:white;border-radius:999px;padding:14px 25px;font-weight:600}
.small-pill{display:inline-block;padding:12px 26px;font-size:13px}

.hero{display:grid;grid-template-columns:64% 36%;min-height:560px}
.hero-photo{
  position:relative;
  background:
   linear-gradient(90deg,rgba(37,21,15,.78) 0%,rgba(37,21,15,.50) 45%,rgba(37,21,15,.15) 100%),
   url('assets/interior_clean.webp') center/cover no-repeat;
}
.hero-copy{position:relative;z-index:2;color:#fff;max-width:610px;padding:54px 0 45px max(5vw,52px)}
.kicker{display:block;color:var(--wine);font-size:13px;letter-spacing:.19em;font-weight:700}
.kicker.light{color:#fff}
h1,h2{font-family:'Playfair Display',serif;font-weight:600}
h1{font-size:56px;line-height:1.05;margin:18px 0 15px}
.hero h3{font-size:20px;margin:0 0 14px;font-weight:500}
.hero p{line-height:1.6;font-size:16px}
.hero-buttons{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap}
.btn{border-radius:999px;padding:15px 27px;font-weight:700;display:inline-flex;justify-content:center;border:0;font:600 15px 'DM Sans',sans-serif;cursor:pointer}
.rose{background:var(--wine);color:white}
.green{background:var(--green);color:white}
.cream{background:#fff7f1;color:#59332f}

.hero-brand{background:linear-gradient(145deg,#d8c0ae 0%,#efdfd2 65%,#d5b9a7);display:flex;align-items:center;justify-content:center;overflow:hidden}
.brand-panel{text-align:center;position:relative;width:100%;height:100%;min-height:560px;padding-top:48px}
.brand-big{font:700 italic 90px/1 'Playfair Display',serif;color:#160f0d}
.brand-small{letter-spacing:.16em;font-size:15px}
.script{font:45px/1.05 'Sacramento',cursive;margin-top:50px}
.circle-note{position:absolute;left:35px;bottom:55px;width:155px;height:155px;border-radius:50%;background:#efd9cf;display:flex;align-items:center;justify-content:center;font:35px/1 'Sacramento',cursive;color:#9a555a;transform:rotate(-6deg)}

.services{padding:70px 0 60px;background:#fffdf9}
.services-head,.prices-head{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:end}
.services h2,.gallery-section h2,.booking h2,.contact h2,.interior-copy h2,.prices-section h2{font-size:42px;line-height:1.1;margin:8px 0 0}
.services-intro p,.prices-note{line-height:1.6;margin:0 0 18px;color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:22px;margin-top:40px}
.service-grid article{text-align:center}
.service-img{height:185px;border-radius:10px;background-size:cover;background-position:center;box-shadow:0 10px 24px rgba(0,0,0,.08)}
.service-grid h3{font-size:16px;margin:13px 0 5px}
.service-grid p{font-size:13px;line-height:1.35;margin:0;color:#453b37}

.img1{background-image:url('assets/hair_smooth.webp')}
.img2{background-image:url('assets/hair_blonde_before_after.webp')}
.img3{background-image:url('assets/hair_curls.webp')}
.img4{background-image:url('assets/nails_lila.webp')}
.img5{background-image:url('assets/nails_gold.webp')}
.img6{background-image:url('assets/brows.webp')}

.experience{
  position:relative;
  background:url('assets/interior_mirrors.webp') center/cover no-repeat;
  color:white;
}
.experience-overlay{position:absolute;inset:0;background:rgba(131,66,69,.78)}
.experience-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:52px 0}
.script-white{font:49px/1 'Sacramento',cursive}
.experience p{font-size:17px;max-width:500px}
.experience blockquote{font:italic 22px/1.5 'Playfair Display',serif;margin:0}
.experience blockquote span{font:14px 'DM Sans',sans-serif}

.gallery-section{padding:65px 0}
.gallery-head{display:flex;justify-content:space-between;align-items:end}
.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:28px}
.gallery-card{height:225px;background-position:center;background-size:cover;border-radius:10px;position:relative;overflow:hidden}
.gallery-card span{position:absolute;bottom:0;left:0;right:0;padding:10px;text-align:center;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.72));font-size:13px}
.g1{background-image:url('assets/nails_lila.webp')}
.g2{background-image:url('assets/nails_hearts.webp')}
.g3{background-image:url('assets/hair_curls.webp')}
.g4{background-image:url('assets/nails_stars.webp')}
.g5{background-image:url('assets/nails_green.webp')}
.g6{background-image:url('assets/nails_gold.webp')}

.interior-section{background:#fbf5f0;padding:70px 0}
.interior-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:center}
.interior-photo{
  min-height:390px;
  border-radius:18px;
  background:url('assets/interior_clean.webp') center/cover no-repeat;
  box-shadow:0 18px 40px rgba(80,46,40,.10);
}
.interior-copy p,.contact p{line-height:1.7;color:var(--muted)}
.interior-copy ul{padding-left:18px;color:var(--muted)}
.interior-copy li{margin:.55rem 0}

.prices-section{background:#fffdf9;padding:72px 0}
.prices-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:34px}
.price-card{
  background:white;
  border:1px solid #eadbd2;
  border-radius:18px;
  padding:24px 22px;
  box-shadow:0 12px 30px rgba(80,46,40,.06);
}
.price-card h3{
  margin:0 0 16px;
  font:600 28px/1.1 'Playfair Display',serif;
  color:#6a3f43;
}
.price-list{list-style:none;padding:0;margin:0}
.price-list li{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:10px 0;
  border-bottom:1px dashed #eadbd2;
  align-items:flex-start;
}
.price-list li:last-child{border-bottom:none}
.price-list span{color:#463a36}
.price-list strong{color:#241c19;white-space:nowrap}

.booking{background:#fff;padding:72px 0}
.booking-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px}
.booking-copy p{line-height:1.7;color:var(--muted)}
.booking-actions{display:flex;gap:12px;margin-top:20px}
.booking-form{background:#fbf5f0;padding:30px;border:1px solid #eadbd2;box-shadow:0 15px 40px rgba(80,46,40,.08);border-radius:16px}
.booking-form label{display:grid;gap:7px;font-size:13px;font-weight:600;margin-bottom:15px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
input,select,textarea{width:100%;padding:13px 14px;border:1px solid #d7c6bd;background:#fffdfb;font:14px 'DM Sans',sans-serif;border-radius:10px}
.submit{width:100%}

.contact{padding:65px 0}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}
.mapbox{min-height:260px;background:linear-gradient(135deg,#ead4ca,#f9f0ea);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-radius:16px}
.pin{font-size:42px;color:var(--wine)}
.mapbox small{margin-top:8px;color:#756861}

footer{background:#35241f;color:#fff;padding:30px 0}
.footer-inner{display:flex;justify-content:space-between;align-items:center}
.footer-logo{color:#fff;font-size:40px}
.mobile-bar{display:none}

@media(max-width:1100px){
  .service-grid{grid-template-columns:repeat(3,1fr)}
  .prices-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:950px){
  .navlinks{display:none}
  .hero{grid-template-columns:1fr}
  .hero-brand{display:none}
  .gallery-grid{grid-template-columns:repeat(3,1fr)}
  .services-head,.booking-grid,.contact-grid,.interior-grid,.prices-head{grid-template-columns:1fr}
}
@media(max-width:600px){
  body{padding-bottom:58px}
  .topbar-inner{height:auto;padding:8px 0;flex-direction:column;gap:5px}
  .toplinks{gap:15px}
  .nav-inner{min-height:76px}
  .pill{display:none}
  .logo-word{font-size:42px}
  .hero-copy{padding:40px 6vw}
  .hero{min-height:auto}
  .hero-photo{min-height:620px}
  .hero h1{font-size:44px}
  .services,.gallery-section,.booking,.contact,.interior-section,.prices-section{padding:48px 0}
  .services-head,.prices-head{gap:18px}
  .services h2,.gallery-section h2,.booking h2,.contact h2,.interior-copy h2,.prices-section h2{font-size:34px}
  .service-grid,.gallery-grid,.prices-grid{grid-template-columns:1fr}
  .service-img,.gallery-card{height:220px}
  .experience-grid{grid-template-columns:1fr;padding:42px 0}
  .form-row{grid-template-columns:1fr}
  .gallery-head{align-items:flex-start;gap:20px;flex-direction:column}
  .footer-inner{flex-direction:column;gap:16px;text-align:center}
  .price-list li{flex-direction:column;gap:6px}
  .mobile-bar{position:fixed;display:grid;grid-template-columns:repeat(3,1fr);bottom:0;left:0;right:0;z-index:50;background:#fff;border-top:1px solid #eadbd2}
  .mobile-bar a{text-align:center;padding:14px 4px;font-size:13px;font-weight:700}
  .mobile-bar a:nth-child(2){background:var(--green);color:white}
  .mobile-bar a:nth-child(3){background:var(--wine);color:white}
}

.contact-lines{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:20px 0;
  color:var(--muted);
}
.contact-lines a:hover{color:var(--wine)}
.appointment-note{
  display:inline-block;
  background:#fbf5f0;
  border:1px solid #eadbd2;
  padding:10px 14px;
  border-radius:999px;
}
.hours-card{
  background:#fbf5f0;
  border:1px solid #eadbd2;
  border-radius:18px;
  padding:28px;
  box-shadow:0 15px 35px rgba(80,46,40,.06);
}
.hours-card h3{
  margin:8px 0 20px;
  font:600 28px/1.1 'Playfair Display',serif;
  color:#5e373a;
}
.hours-list{display:grid;gap:0}
.hours-list>div{
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:12px 0;
  border-bottom:1px dashed #decfc7;
}
.hours-list>div:last-child{border-bottom:0}
.hours-list span{color:#5e514c}
.hours-list strong{text-align:right}
.hours-list .closed strong{color:var(--wine)}
.map-link{margin-top:22px}
@media(max-width:600px){
  .hours-list>div{flex-direction:column;gap:4px}
  .hours-list strong{text-align:left}
}

.reviews-section{
  padding:70px 0;
  background:#f8eee9;
}
.reviews-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:30px;
  margin-bottom:30px;
}
.reviews-head h2{
  font-size:42px;
  line-height:1.1;
  margin:8px 0 0;
}
.rating-summary{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  background:white;
  border:1px solid #eadbd2;
  border-radius:999px;
  padding:12px 18px;
}
.stars{
  color:#b77a3d;
  letter-spacing:.08em;
}
.rating-summary strong{
  color:#3a2a26;
}
.rating-summary span:last-child{
  color:#6b5f59;
  font-size:14px;
}
.reviews-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.review-card{
  background:white;
  border:1px solid #eadbd2;
  border-radius:18px;
  padding:22px;
  box-shadow:0 12px 28px rgba(80,46,40,.06);
}
.review-card p{
  font:italic 18px/1.55 'Playfair Display',serif;
  color:#3c2b27;
  margin:14px 0 18px;
}
.review-source{
  font-size:12px;
  color:#85766f;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.reviews-cta{
  margin-top:22px;
  color:#6b5f59;
  font-size:14px;
  text-align:center;
}
@media(max-width:950px){
  .reviews-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .reviews-section{padding:48px 0}
  .reviews-head{flex-direction:column;align-items:flex-start}
  .reviews-head h2{font-size:34px}
  .reviews-grid{grid-template-columns:1fr}
  .rating-summary{border-radius:16px}
}

html{scroll-padding-top:110px}
body{overflow-x:hidden}
img{max-width:100%;height:auto}
.skip-link{
  position:fixed;left:12px;top:-60px;z-index:1000;
  background:#fff;color:#2b1e1a;padding:10px 14px;border-radius:8px;
  box-shadow:0 6px 20px rgba(0,0,0,.15)
}
.skip-link:focus{top:12px}
a,button,input,select,textarea{outline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(159,91,96,.45)
}
.btn,.pill,.small-pill{transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.btn:hover,.pill:hover,.small-pill:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(80,46,40,.12)}
.service-card,.price-card,.review-card{content-visibility:auto}
.menu-toggle{
  display:none;border:0;background:transparent;padding:10px;cursor:pointer
}
.menu-toggle span{
  display:block;width:24px;height:2px;background:#5e373a;margin:5px 0;transition:.2s
}
.map-embed{position:relative;overflow:hidden;padding:0;min-height:320px}
.map-embed iframe{width:100%;height:100%;min-height:320px;border:0}
.map-directions{
  position:absolute;left:18px;bottom:18px;background:#fff;color:#5e373a;
  padding:10px 14px;border-radius:999px;font-weight:700;
  box-shadow:0 8px 22px rgba(0,0,0,.15)
}
.footer-links{display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.footer-links a{color:#eadbd2}
.footer-links a:hover{text-decoration:underline}
@media(max-width:1100px){
  .navlinks{gap:20px}
  h1{font-size:50px}
}
@media(max-width:950px){
  .nav-inner{position:relative}
  .menu-toggle{display:block}
  .navlinks{
    display:none;position:absolute;top:86px;left:0;right:0;
    background:#fffdfa;border:1px solid #eee2db;border-radius:0 0 16px 16px;
    box-shadow:0 14px 30px rgba(63,40,34,.10);
    padding:14px 18px;flex-direction:column;gap:0
  }
  .navlinks.open{display:flex}
  .navlinks a{padding:12px 4px;border-bottom:1px solid #f0e6e1}
  .navlinks a:last-child{border-bottom:0}
  .hero-photo{background-position:center}
  .hero-copy{max-width:720px}
  .contact-grid{gap:28px}
}
@media(min-width:601px) and (max-width:950px){
  .service-grid{grid-template-columns:repeat(3,1fr)}
  .gallery-grid{grid-template-columns:repeat(3,1fr)}
  .prices-grid{grid-template-columns:repeat(2,1fr)}
  .reviews-grid{grid-template-columns:repeat(2,1fr)}
  .hero-photo{min-height:560px}
}
@media(max-width:600px){
  html{scroll-padding-top:82px}
  .topbar{font-size:12px}
  .topbar-inner{align-items:flex-start}
  .toplinks{width:100%;justify-content:space-between}
  .nav-inner{min-height:72px}
  .navlinks{top:72px}
  .hero-photo{
    min-height:600px;
    background-position:58% center
  }
  .hero-copy{padding:38px 6vw 92px}
  .hero h1{font-size:39px;line-height:1.06}
  .hero h3{font-size:17px}
  .hero p{font-size:15px}
  .hero-buttons{display:grid;grid-template-columns:1fr;gap:10px}
  .hero-buttons .btn{width:100%}
  .services-head,.prices-head{display:block}
  .services-intro{margin-top:20px}
  .review-card p{font-size:17px}
  .contact-grid{gap:22px}
  .hours-card{padding:22px}
  .booking-form{padding:22px}
  .mobile-bar a{min-height:56px;display:flex;align-items:center;justify-content:center}
  footer{padding-bottom:78px}
  .footer-links{justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}

.legal-page{
  background:#fffdf9;
  padding:64px 0 80px;
}
.legal-wrap{max-width:900px}
.legal-page h1{
  font:600 clamp(42px,6vw,68px)/1.05 'Playfair Display',serif;
  margin:8px 0 34px;
}
.legal-card{
  background:white;
  border:1px solid #eadbd2;
  border-radius:18px;
  padding:26px 28px;
  margin:0 0 18px;
  box-shadow:0 10px 26px rgba(80,46,40,.05);
}
.legal-card h2{
  font:600 26px/1.2 'Playfair Display',serif;
  margin:0 0 14px;
  color:#603a3d;
}
.legal-card p,.legal-card li{
  color:#5f544f;
  line-height:1.75;
}
.legal-card ul{padding-left:20px;margin-bottom:0}
.legal-card a{color:var(--wine);text-decoration:underline}
.legal-update{color:#81736c;font-size:13px;margin-top:24px}
@media(max-width:600px){
  .legal-page{padding:42px 0 74px}
  .legal-card{padding:22px 20px}
}
