
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#211f1c;background:#fff;line-height:1.55}img{max-width:100%}a{color:inherit}.nav{height:88px;background:#fff;display:flex;align-items:center;padding:0 5vw;gap:35px;position:sticky;top:0;z-index:50;border-bottom:1px solid #eee}.brand{margin-right:auto}.brand img{width:92px;height:72px;object-fit:contain}.nav nav{display:flex;align-items:center;gap:23px}.nav nav a{text-decoration:none;font-size:13px}.menu{display:none;border:0;background:transparent;font-size:28px}.book,.beauty-button{display:inline-block;text-decoration:none;background:#1d1b19;color:#fff;padding:14px 21px;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700;border:1px solid #1d1b19}.book.small{padding:11px 16px}.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;margin:0 0 10px;color:#8e7d6d}.hero{min-height:76vh;background:url('assets/shop-front.jpg') center/cover no-repeat;position:relative;display:flex;align-items:center;padding:8vw}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.13))}.hero-copy{position:relative;color:#fff;max-width:720px}.hero-copy .eyebrow{color:#eadfce}.hero h1{font-family:Georgia,serif;font-size:clamp(52px,8vw,92px);line-height:.96;margin:0 0 24px;font-weight:400}.hero-copy>p:not(.eyebrow){font-size:20px;max-width:600px}.actions,.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.ghost{display:inline-block;text-decoration:none;border:1px solid currentColor;padding:14px 21px;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.split{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.split .photo img{width:100%;height:100%;object-fit:cover;display:block}.split .copy{padding:9vw;display:flex;flex-direction:column;justify-content:center;background:#f4eee7}.split h2,.section-heading h2,.services h2,.salon-gallery h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(38px,5vw,58px);line-height:1.05;margin:0 0 20px}.team-section,.beauty-hub,.services,.work-gallery,.salon-gallery{padding:100px 6vw}.team-section{background:#f7f3ed}.section-heading{text-align:center;max-width:790px;margin:0 auto 52px}.section-heading p:last-child,.section-intro{color:#655f59}.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;max-width:1380px;margin:0 auto}.team-card{background:#fff;overflow:hidden;border-radius:18px;box-shadow:0 14px 45px rgba(0,0,0,.07);display:flex;flex-direction:column}.team-card img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top}.team-card-body{padding:23px;display:flex;flex-direction:column;flex:1}.team-role{font-size:10px;letter-spacing:.14em;font-weight:800;color:#8c7e70}.team-card h3{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:6px 0 10px}.team-card p{font-size:13px;color:#625b55;flex:1}.profile-link{display:inline-block;text-transform:uppercase;letter-spacing:.08em;font-size:10px;text-decoration:none;border-bottom:1px solid #222;padding-bottom:3px;align-self:flex-start}.coming-soon{font-size:11px;color:#9a8d80}.profile-feature{padding:100px 7vw;display:grid;grid-template-columns:38% 62%;gap:60px}.dark-profile{background:#181818;color:#eee}.profile-photo img{width:100%;border-radius:24px;display:block}.profile-copy h2{font-family:Georgia,serif;font-size:54px;font-weight:400;margin:0 0 28px;color:#fff}.profile-copy>p{font-size:16px;line-height:1.8;color:#d9d2c9}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}.detail-card{background:#242424;border:1px solid rgba(255,255,255,.08);padding:26px;border-radius:16px}.detail-card h3{margin:0 0 13px}.detail-card p{font-size:13px;color:#cfc7bd}.services{background:#fff}.services>.eyebrow,.services>h2,.services>.section-intro{max-width:1050px;margin-left:auto;margin-right:auto}.section-intro{margin-top:-4px;margin-bottom:34px}.service-cards{max-width:1150px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-cards>div{padding:32px;border:1px solid #e6dfd7;border-radius:16px;background:#faf8f5}.service-cards h3{font-family:Georgia,serif;font-size:27px;font-weight:400;margin:0 0 10px}.center-row{text-align:center;margin-top:32px}.beauty-hub{background:#eee8df}.beauty-feature{max-width:1200px;margin:0 auto 40px;display:grid;grid-template-columns:40% 60%;border-radius:25px;overflow:hidden;box-shadow:0 22px 60px rgba(0,0,0,.08)}.beauty-portrait img{width:100%;height:100%;object-fit:cover;display:block}.beauty-content{padding:54px;display:flex;flex-direction:column;justify-content:center}.beauty-content.navy{background:#0c2038;color:#f5e7b2}.beauty-content.warm{background:#ded0c1;color:#2e2823}.beauty-content h3{font-family:Georgia,serif;font-size:52px;font-weight:400;margin:5px 0 17px}.beauty-content.navy p{color:#f2ecdf}.beauty-content.warm p{color:#4a4139}.beauty-logo{width:175px;height:175px;border-radius:50%;object-fit:contain;margin-bottom:18px}.small-copy{font-size:13px}.beauty-button{background:transparent;border-color:currentColor;color:inherit}.rooted-menu{max-width:1200px;margin:0 auto;background:#fff;border-radius:25px;padding:45px}.rooted-menu-head h3{font-family:Georgia,serif;font-size:39px;font-weight:400;margin:0 0 20px}.price-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px}.price-columns h4{font-size:18px;margin:0 0 12px}.price-columns p{display:flex;justify-content:space-between;gap:20px;margin:0;border-bottom:1px solid #e4ded7;padding:9px 0;font-size:14px}.price-columns strong{white-space:nowrap}.subhead{margin-top:25px!important}.consultation-card{margin-top:42px;background:#f5f0e9;padding:32px;border-radius:18px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.consultation-card h3{font-family:Georgia,serif;font-weight:400;font-size:32px;margin:0 0 10px}.consultation-card p{margin:5px 0}.consultation-actions{display:flex;flex-direction:column;gap:13px;align-items:flex-start}.secure-note{font-size:11px;color:#6c645d}.work-gallery{background:#171717;color:#fff}.work-gallery .section-heading p:last-child{color:#bfb8af}.work-gallery .eyebrow{color:#c9b59f}.masonry-gallery{columns:4 250px;column-gap:14px;max-width:1500px;margin:0 auto}.gallery-item{display:block;width:100%;border:0;padding:0;margin:0 0 14px;background:none;cursor:pointer;break-inside:avoid;border-radius:12px;overflow:hidden}.gallery-item img{width:100%;height:auto;display:block;transition:transform .25s ease}.gallery-item:hover img{transform:scale(1.025)}.salon-gallery{background:#f5f0ea}.salon-images{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:1200px;margin:0 auto}.salon-images img{width:100%;height:500px;object-fit:cover;border-radius:20px}.cta{text-align:center;background:#111;color:#fff;padding:90px 6vw}.cta img{width:130px;background:#fff;border-radius:50%;margin-bottom:22px}.cta h2{font-family:Georgia,serif;font-size:47px;font-weight:400;margin:0}.cta p{color:#ccc}.center{justify-content:center}.inverse{background:#fff;color:#111;border-color:#fff}.light{color:#fff}.contact{padding:90px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact h2{font-family:Georgia,serif;font-size:45px;font-weight:400;margin:0 0 18px}.contact a{text-decoration:none}.hours{max-width:420px}.hours p{display:flex;justify-content:space-between;border-bottom:1px solid #ddd;padding:9px 0;margin:0}.text-link{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}footer{padding:45px;text-align:center;background:#f5f0ea}footer img{width:90px}footer p{font-size:12px;color:#6d665f}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;z-index:1000;padding:4vw}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:88vh;object-fit:contain}.lightbox-close{position:absolute;top:20px;right:26px;background:none;border:0;color:#fff;font-size:46px;cursor:pointer}

/* Consultation form preview */
.form-page{background:#f6f1ea}.form-header{padding:20px 5vw;display:flex;justify-content:space-between;background:#111;color:#fff}.form-header a{text-decoration:none}.form-shell{max-width:920px;margin:45px auto;padding:0 20px 80px}.demo-banner{background:#fff3cd;border:1px solid #e2cf8b;padding:15px 18px;border-radius:10px;margin-bottom:28px}.form-title h1{font-family:Georgia,serif;font-size:48px;font-weight:400;line-height:1.05}.consultation-form fieldset{background:#fff;border:0;border-radius:16px;padding:28px;margin:0 0 18px;box-shadow:0 8px 30px rgba(0,0,0,.04)}.consultation-form legend{font-family:Georgia,serif;font-size:25px;padding:0 5px}.consultation-form label{display:block;font-size:13px;font-weight:600;margin:12px 0}.consultation-form input[type=text],.consultation-form input[type=email],.consultation-form input[type=tel],.consultation-form input[type=date],.consultation-form textarea,.consultation-form select{display:block;width:100%;padding:12px;border:1px solid #cfc7bd;border-radius:8px;margin-top:6px;font:inherit;background:#fff}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 20px}.check-grid label,.consent-list label{font-weight:400}.yesno-list label{display:grid;grid-template-columns:1fr 130px;gap:18px;align-items:center}.yesno-list select{margin:0}.form-help{font-size:13px;color:#6a625b}.form-submit{width:100%;padding:16px;background:#111;color:#fff;border:0;border-radius:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;cursor:pointer}

@media(max-width:1180px){.team-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){
 .nav nav{display:none;position:absolute;top:88px;left:0;right:0;background:#fff;padding:25px 6vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid #ddd}.nav nav.open{display:flex}.menu{display:block}
 .split,.profile-feature,.beauty-feature{grid-template-columns:1fr}.profile-photo{max-width:520px}.beauty-portrait{height:520px}.team-grid{grid-template-columns:1fr 1fr}.service-cards{grid-template-columns:1fr}.consultation-card{grid-template-columns:1fr}.salon-images{grid-template-columns:1fr}.salon-images img{height:auto}
}
@media(max-width:600px){
 .hero{min-height:72vh;padding:10vw 6vw}.hero-copy>p:not(.eyebrow){font-size:17px}
 .split .copy,.team-section,.services,.beauty-hub,.work-gallery,.salon-gallery{padding:70px 6vw}.team-grid{grid-template-columns:1fr}.profile-feature{padding:70px 6vw}.profile-copy h2{font-size:42px}.detail-grid{grid-template-columns:1fr}.beauty-content{padding:34px 26px}.beauty-portrait{height:420px}.rooted-menu{padding:27px 20px}.price-columns{grid-template-columns:1fr}.contact{grid-template-columns:1fr;padding:70px 7vw}.form-grid.two,.check-grid{grid-template-columns:1fr}.yesno-list label{grid-template-columns:1fr}.form-title h1{font-size:39px}
}

.booking-strip{padding:48px 8vw;background:#d9cec0;display:flex;align-items:center;justify-content:space-between;gap:30px}
.booking-strip h2{font-family:Georgia,serif;font-size:38px;font-weight:400;margin:0 0 8px}
.booking-strip p{margin:0}
@media(max-width:700px){.booking-strip{align-items:flex-start;flex-direction:column}}

/* V7 — complete Ovatu service menus */
.full-price-section{background:#fff}
.all-price-groups{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.price-category{border:1px solid #e5ddd4;background:#fbf9f6;border-radius:20px;overflow:hidden}
.price-category-head{display:flex;justify-content:space-between;gap:20px;align-items:baseline;padding:23px 25px;background:#eee7df;border-bottom:1px solid #e0d7ce}
.price-category-head h3{font-family:Georgia,serif;font-size:27px;font-weight:400;margin:0}
.price-category-head span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7a6f65;white-space:nowrap}
.service-row{display:grid;grid-template-columns:1fr auto;gap:24px;padding:18px 25px;border-bottom:1px solid #e6dfd7}
.service-row:last-child{border-bottom:0}
.service-row h4{margin:0;font-size:15px;font-weight:700}
.service-desc{margin:6px 0 0;color:#70675f;font-size:12px;line-height:1.55;white-space:pre-line}
.service-meta{font-size:13px;font-weight:700;white-space:nowrap;text-align:right}
.therapist-prices{max-width:1260px;margin:0 auto 75px;padding:44px;background:#fff;border-radius:25px}
.therapist-price-heading{text-align:center;margin-bottom:30px}
.therapist-price-heading h2{font-family:Georgia,serif;font-weight:400;font-size:43px;margin:0}
.beauty-price-groups .price-category{background:#fff}
.beauty-price-groups .price-category-head{background:#f3eee8}
.rooted-prices{margin-bottom:0}
.dark-button{border-color:#2e2823!important;color:#2e2823!important}
.ovatu-form-note{margin-top:35px;padding:30px;background:#f3eee8;border-radius:16px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.ovatu-form-note h3{font-family:Georgia,serif;font-weight:400;font-size:29px;margin:0 0 8px}
.ovatu-form-note p{margin:5px 0;color:#625b55}
@media(max-width:900px){
  .all-price-groups{grid-template-columns:1fr}
  .therapist-prices{padding:30px 24px}
  .ovatu-form-note{grid-template-columns:1fr}
}
@media(max-width:600px){
  .service-row{grid-template-columns:1fr;padding:17px 20px;gap:8px}
  .service-meta{text-align:left}
  .price-category-head{padding:20px}
  .price-category-head h3{font-size:24px}
  .therapist-prices{padding:25px 16px}
}

/* V8 — Shelly profile */
.light-profile{background:#f4eee7;color:#2b2723}
.light-profile .profile-copy h2{color:#2b2723}
.light-profile .profile-copy>p{color:#5d554e}
.light-profile .profile-photo img{box-shadow:0 22px 60px rgba(0,0,0,.10)}


/* V9 — more efficient service-card packing */
.all-price-groups{
  display:block !important;
  columns:2 480px;
  column-gap:22px;
  max-width:1180px;
  margin:0 auto;
}

.price-category{
  display:inline-block;
  width:100%;
  margin:0 0 22px;
  vertical-align:top;
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
  page-break-inside:avoid;
}

.beauty-price-groups{
  columns:2 430px;
}

.price-category-head{
  padding:20px 22px;
}

.service-row{
  padding:15px 22px;
}

.service-desc{
  max-width:680px;
}

/* Let compact categories remain compact rather than stretching */
.price-category,
.service-list,
.service-row{
  height:auto !important;
  min-height:0 !important;
}

/* Tablet: still use columns where space allows */
@media(max-width:900px){
  .all-price-groups,
  .beauty-price-groups{
    columns:1 !important;
  }
}

/* Keep each individual service line tidy on phones */
@media(max-width:600px){
  .service-row{
    grid-template-columns:1fr auto !important;
    align-items:start;
  }
  .service-meta{
    text-align:right !important;
  }
}
