@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#102b27;--paper:#faf9f6;--peach:#e9c5a3;--ink:#19302b;--muted:#64716a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid #b67d43;outline-offset:6px}header{height:100px;padding:0 5.3%;display:flex;align-items:center;justify-content:space-between;background:var(--green);color:var(--paper);border-bottom:1px solid #ffffff20}.brand{font-family:Georgia,serif;font-weight:700;font-size:30px;letter-spacing:-1.2px;line-height:1}.brand span{display:block;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:3px;font-weight:500;margin-top:11px}nav{display:flex;gap:30px;font-size:14px;color:#d6ddd7}nav a:hover{color:var(--peach)}.header-call{font-size:14px;border:1px solid #ffffff50;padding:14px 20px}.header-call span{margin-left:25px}.hero{background:var(--green);color:var(--paper);position:relative;display:grid;grid-template-columns:1.08fr 1fr;gap:30px;padding:55px 5.3% 0}.hero-copy{padding:30px 0 32px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2px;display:flex;align-items:center;gap:12px}.line{width:27px;height:1px;background:var(--peach)}h1,h2,h3,p{margin:0}h1,h2{font-family:Manrope,sans-serif;font-weight:500;letter-spacing:-3.5px;line-height:1.13}h1{font-size:clamp(48px,5.7vw,84px);margin:29px 0}em{font-family:Georgia,serif;font-weight:400;letter-spacing:-2px}h1 em{color:var(--peach)}.hero p{font-size:16px;line-height:1.8;color:#c2d0c8}.actions{display:flex;align-items:center;gap:25px;margin-top:33px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:18px 23px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#f5d7ba;transform:translateY(-2px)}.peach{background:var(--peach);color:var(--green)}.text-link{font-size:14px;padding:10px 0;border-bottom:1px solid #ffffff50;display:inline-block}.text-link span{margin-left:10px}.hero-rating{display:flex;align-items:center;gap:14px;margin-top:40px;width:fit-content}.google-g{width:36px;height:36px;border-radius:50%;background:white;color:#4285f4;font-size:23px;font-weight:700;display:grid;place-items:center}.hero-rating b{font-size:16px}.stars{color:var(--peach);font-size:14px;letter-spacing:2px;margin-left:8px}.hero-rating small{display:block;color:#b7c6bd;font-size:12px;margin-top:5px}.hero-photo{position:relative;min-height:530px;overflow:hidden;border-radius:130px 0 0 0}.hero-photo img{position:absolute;width:106%;height:118%;left:-3%;top:-9%;object-fit:cover;filter:brightness(.83)}.hero-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#061e1cc4)}.photo-label{position:absolute;z-index:1;bottom:52px;left:35px}.photo-label span{font-size:11px;letter-spacing:2px}.photo-label b{display:block;font-family:Georgia,serif;font-size:29px;font-weight:400;margin-top:10px}.photo-credit{position:absolute;bottom:12px;right:15px;color:white;font-size:12px;z-index:2;text-shadow:0 1px 3px black}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding:21px 0 24px;border-top:1px solid #ffffff25;font-size:10px;letter-spacing:2px;color:#c1cbc5;margin-top:12px}.section{padding:100px 7%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:50px}h2{font-size:clamp(38px,4vw,57px);margin-top:20px;letter-spacing:-2px}.section-heading p{line-height:1.8;color:var(--muted);font-size:15px}.price-layout{display:grid;grid-template-columns:1fr 2fr;gap:9%}.tabs{display:flex;flex-direction:column;align-items:stretch}.tabs button{border:0;border-bottom:1px solid #d4d8d1;padding:20px 0;text-align:left;background:transparent;color:#738078;font-size:24px;display:flex;justify-content:space-between}.tabs button span{opacity:0}.tabs button[aria-selected=true]{color:var(--green);font-weight:600}.tabs button[aria-selected=true] span{opacity:1}.price-note{font-size:12px;line-height:1.8;color:var(--muted);margin-top:27px}.price-row{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid #d9ddd5;font-size:15px}.price-row b{font-weight:500;white-space:nowrap}.price-row small{display:block;margin-top:5px;font-size:12px;color:var(--muted)}.price-subhead{font-size:12px;color:var(--muted);margin:8px 0 20px;line-height:1.6}.salon{padding-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.salon-photo{height:480px;position:relative;overflow:hidden}.salon-photo img{width:106%;height:120%;object-fit:cover;position:absolute;left:-3%;top:-10%}.salon-copy p{font-size:16px;line-height:1.9;color:var(--muted);margin-top:25px}.salon-copy .text-link{margin-top:22px}.dark{border-color:#8b998b}.reviews{background:#e9ede7;padding:85px 0 65px;overflow:hidden}.reviews .section-heading{padding:0 7%;margin-bottom:38px}.review-summary b{font-size:37px;font-weight:500}.review-summary .stars{font-size:20px;vertical-align:middle;color:#b77900}.review-summary p{font-size:14px;margin:6px 0 16px}.review-actions{display:flex;gap:22px;align-items:center;font-size:13px}.review-actions a{text-decoration:underline;text-underline-offset:4px}.review-actions button{border:1px solid #adb7ab;background:transparent;border-radius:30px;padding:8px 14px;font-size:12px}.review-track{display:flex;gap:22px;width:max-content;animation:scroll 70s linear infinite;padding:10px 0}.review-card{width:385px;min-height:260px;background:var(--paper);padding:30px;display:flex;flex-direction:column;justify-content:space-between}.review-card .stars{color:#b77900;margin:0}.review-card blockquote{margin:22px 0 30px;line-height:1.8;font-size:15px}.review-person{display:flex;align-items:center;gap:12px;font-size:14px}.avatar{width:36px;height:36px;background:#e4e9df;border-radius:50%;display:grid;place-items:center;font-size:12px}.review-person small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.review-note{margin:23px 7% 0;color:var(--muted);font-size:12px;line-height:1.6}.marquee:hover .review-track,.marquee:focus-within .review-track,.marquee.paused .review-track{animation-play-state:paused}@keyframes scroll{to{transform:translateX(calc(-50% - 11px))}}.contact{background:var(--green);color:var(--paper);display:grid;grid-template-columns:1.35fr 1fr;gap:10%}.contact em{color:var(--peach)}.contact-phone{font-size:clamp(23px,2.5vw,35px);margin:35px 0 13px;display:inline-block;border-bottom:1px solid #ffffff50;padding-bottom:10px}.contact p{font-size:14px;line-height:1.9;color:#bacac0}.contact-address{border-left:1px solid #ffffff2a;padding-left:65px;padding-top:10px}.contact-address h3{font-size:26px;font-weight:500;margin-top:27px}.contact-address p{font-size:17px;margin:15px 0 25px}.instagram{display:block;margin-top:23px;font-size:14px}footer{padding:35px 5.3%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;color:var(--muted)}footer .brand{color:var(--green);font-size:25px}footer .brand span{font-size:9px} @media(min-width:1600px){header,.hero,.section,.reviews .section-heading{padding-left:max(7%,calc((100vw - 1400px)/2));padding-right:max(7%,calc((100vw - 1400px)/2))}}@media(max-width:1000px){nav{gap:16px}.header-call{display:none}.hero{gap:20px}.hero-photo{min-height:490px}.hero-copy{padding-top:12px}.actions{gap:14px}.photo-label{left:24px}.photo-label b{font-size:23px}.section{padding:75px 6%}.salon{gap:6%;padding-top:0}.contact-address{padding-left:35px}.price-layout{gap:6%}}@media(max-width:680px){header{height:auto;min-height:85px;padding:22px 6%;flex-wrap:wrap;gap:24px}.brand{font-size:27px}nav{width:100%;justify-content:space-between;gap:10px;font-size:12px}nav a:nth-child(2){display:none}.hero{display:block;padding:25px 6% 0}.hero-copy{padding-bottom:33px}h1{font-size:clamp(46px,11.4vw,70px);letter-spacing:-2px}.hero p{font-size:15px}.hero-photo{height:365px;min-height:0;border-radius:80px 0 0 0}.hero-photo img{height:136%;top:-16%}.hero-bottom{font-size:9px;letter-spacing:1px;padding-top:20px;gap:20px}.hero-bottom a{display:none}.section{padding:62px 6%}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:22px}h2{font-size:40px}.price-layout{display:flex;flex-direction:column;gap:25px}.tabs{flex-direction:row;gap:25px}.tabs button{font-size:20px;flex:1;gap:5px}.tabs button span{display:none}.price-note{font-size:12px}.price-row{font-size:14px;gap:12px}.salon{display:flex;flex-direction:column-reverse;gap:30px;padding-top:10px}.salon-photo{width:100%;height:390px}.salon-copy p{font-size:15px}.reviews{padding:60px 0 45px}.review-summary{margin-top:25px}.review-summary b{font-size:30px}.review-card{width:310px;padding:25px}.reviews .section-heading{padding:0 6%}.contact{display:block}.contact-address{border:0;border-top:1px solid #ffffff30;padding:35px 0 0;margin-top:40px}footer{padding:30px 6%;flex-wrap:wrap}footer>span{display:none}.eyebrow{font-size:11px;letter-spacing:1.6px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.review-track{animation:none;flex-wrap:wrap;width:auto;padding:0 6%}.review-card{width:100%;min-height:0}.review-card[aria-hidden=true]{display:none}#pause-reviews{display:none}.button{transition:none}}

.gallery{padding-top:0}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.gallery figure{margin:0;min-width:0}.gallery-image{aspect-ratio:3/4;overflow:hidden;background:#e9ede7;position:relative}.gallery-image img{position:absolute;width:104%;height:108%;left:-2%;top:-4%;object-fit:cover;object-position:center 56%}.gallery figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid #d4d8d1;font-size:14px}.gallery figcaption span:last-child{font-size:12px;color:var(--muted)}@media(max-width:680px){.gallery-grid{grid-template-columns:1fr;gap:30px}.gallery-image{aspect-ratio:4/5}.gallery figcaption{font-size:16px}.gallery .section-heading>p{margin-top:18px}.gallery{padding-top:5px}}

.hero-photo.hero-logo{border-radius:0;display:flex;align-items:center;justify-content:center;overflow:visible;background:transparent}.hero-photo.hero-logo:after{display:none}.hero-photo.hero-logo img{position:static;width:100%;height:auto;max-height:600px;object-fit:contain;filter:none;left:auto;top:auto}@media(max-width:680px){.hero-photo.hero-logo{height:auto;min-height:0;padding:8px 0 20px}.hero-photo.hero-logo img{height:auto;max-height:460px}}

.opening-hours{margin:25px 0 30px;padding:22px 0;border-top:1px solid #ffffff2a;border-bottom:1px solid #ffffff2a}.opening-hours h4{margin:0 0 16px;font-size:16px;font-weight:500;color:var(--peach)}.opening-hours dl{margin:0}.opening-hours dl>div{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:0 0 20px;font-size:14px;line-height:1.6}.opening-hours dl>div:last-child{margin-bottom:0}.opening-hours dt{color:#bacac0}.opening-hours dd{margin:0;white-space:nowrap}

/* Opening sequence and progressive scroll reveals. */
@keyframes entrance-up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes entrance-logo{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:no-preference){
 body>header{animation:entrance-up .65s ease-out both}
 .hero-copy>*{animation:entrance-up .8s cubic-bezier(.2,.7,.2,1) both}
 .hero-copy>.eyebrow{animation-delay:.08s}
 .hero-copy>h1{animation-delay:.18s}
 .hero-copy>p{animation-delay:.28s}
 .hero-copy>.actions{animation-delay:.38s}
 .hero-copy>.hero-rating{animation-delay:.48s}
 .hero-photo.hero-logo{animation:entrance-logo 1s cubic-bezier(.2,.7,.2,1) .2s both}
 .hero-bottom{animation:entrance-up .7s ease-out .5s both}
 .scroll-reveal{transition:opacity .75s ease}.scroll-reveal>*{transition:transform .75s cubic-bezier(.2,.7,.2,1)}
 .scroll-reveal.reveal-pending{opacity:0}.scroll-reveal.reveal-pending>*{transform:translateY(28px)}
 .scroll-reveal.reveal-visible{opacity:1}.scroll-reveal.reveal-visible>*{transform:translateY(0)}
 .hero-copy>*:focus-within{animation:none}
}
@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;transform:none;transition:none}}

.location-details .text-link{margin-top:12px}.map-frame{width:100%;height:440px;border:1px solid #d4d8d1;background:#e9ede7;overflow:hidden}.map-frame iframe{display:block;width:100%;height:100%;border:0}@media(max-width:680px){.location-details{margin-top:24px}.map-frame{height:350px}}

/* Soft image corners and prominent review ratings. */
.salon-photo,.gallery-image{border-radius:16px}.hero-photo.hero-logo{border-radius:16px;overflow:hidden}.hero-photo.hero-logo img{border-radius:16px}.review-card .stars{font-size:19px;letter-spacing:3px}.review-summary .stars{font-size:22px;letter-spacing:3px}

/* Rounded call-to-action buttons. */
.button,.header-call{border-radius:14px}

/* Distinct secondary links and a prominent telephone card. */
.text-link,.instagram,.review-actions a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 18px;border:1px solid #ffffff45;border-radius:14px;background:#ffffff09;text-decoration:none;line-height:1.5;font-weight:600;transition:background .2s,border-color .2s,color .2s}
.text-link:hover,.instagram:hover{background:#ffffff17;border-color:var(--peach);color:var(--peach)}
.text-link.dark,.review-actions a{background:#102b2707;border-color:#102b2730;color:var(--green)}
.text-link.dark:hover,.review-actions a:hover{background:#102b2712;border-color:#102b2770;color:var(--green)}
.instagram{width:fit-content;max-width:100%}
.review-actions{flex-wrap:wrap;gap:12px}.review-actions a{font-size:13px}
.contact-phone{display:inline-flex;align-items:center;gap:16px;max-width:100%;padding:20px 24px;border:1px solid #e9c5a380;border-radius:18px;background:#e9c5a30b;line-height:1.3;transition:background .2s,border-color .2s}
.contact-phone:hover{background:#e9c5a321;border-color:var(--peach)}
.phone-icon{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border-radius:14px;background:var(--peach);color:var(--green);font-size:26px}
.phone-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.phone-copy small{font-size:13px;letter-spacing:.5px;color:var(--peach)}.phone-copy strong{font-size:clamp(20px,2.5vw,34px);font-weight:500;white-space:nowrap}.phone-arrow{font-size:28px;color:var(--peach);margin-left:8px}
@media(max-width:680px){.contact-phone{padding:16px;gap:12px}.phone-icon{width:40px;height:40px;font-size:23px}.phone-arrow{font-size:24px;margin-left:0}.text-link,.instagram{font-size:14px}}
@media(prefers-reduced-motion:reduce){.text-link,.instagram,.review-actions a,.contact-phone{transition:none}}

/* Responsive navigation disclosure; links remain available without JavaScript. */
.menu-toggle{display:none}#main-navigation[hidden]{display:none}
@media(max-width:680px){
 body>header{position:relative;min-height:88px;height:auto;padding:22px 6%;flex-wrap:wrap;gap:20px;z-index:10}
 header .header-call{display:none}
 header nav{width:100%;display:flex;flex-wrap:wrap;gap:16px;font-size:14px}
 header nav a:nth-child(2){display:block}
 .menu-ready .menu-toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:11px 14px;border:1px solid #e9c5a375;border-radius:14px;background:#ffffff09;color:var(--peach);font-size:14px}
 .menu-icon{position:relative;display:block;width:20px;height:18px}
 .menu-icon i{position:absolute;left:0;width:20px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s,opacity .2s}
 .menu-icon i:nth-child(1){top:1px}.menu-icon i:nth-child(2){top:8px}.menu-icon i:nth-child(3){top:15px}
 .menu-toggle[aria-expanded=true] .menu-icon i:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .menu-toggle[aria-expanded=true] .menu-icon i:nth-child(2){opacity:0}
 .menu-toggle[aria-expanded=true] .menu-icon i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .menu-ready #main-navigation{position:absolute;top:calc(100% - 4px);left:6%;right:6%;width:auto;display:flex;flex-direction:column;gap:4px;padding:10px;border:1px solid #ffffff30;border-radius:18px;background:var(--green);box-shadow:0 18px 35px #0004}
 .menu-ready #main-navigation a{display:block;padding:14px 16px;border-radius:10px;font-size:16px;color:var(--paper)}
 .menu-ready #main-navigation a:hover,.menu-ready #main-navigation a:focus-visible{background:#ffffff12;color:var(--peach)}
 #main-navigation[hidden]{display:none}
}
@media(max-width:680px) and (prefers-reduced-motion:no-preference){.menu-ready #main-navigation:not([hidden]){animation:entrance-up .22s ease-out both}}
@media(prefers-reduced-motion:reduce){.menu-icon i{transition:none}}

@media(max-width:680px){.menu-ready .menu-toggle{width:46px;height:46px;padding:12px;justify-content:center;gap:0}}

/* Quieter, compact buttons and simple secondary links. */
.button{min-height:44px;padding:12px 18px;border-radius:8px;font-size:14px;font-weight:500;gap:18px}
.button:hover{transform:none}
.header-call{padding:11px 16px;border-radius:8px;font-weight:500}
.text-link,.instagram,.review-actions a{min-height:44px;padding:9px 0;border:0;border-bottom:1px solid #ffffff40;border-radius:0;background:transparent;font-weight:500;justify-content:flex-start}
.text-link:hover,.instagram:hover{background:transparent;border-color:var(--peach);color:var(--peach)}
.text-link.dark,.review-actions a{background:transparent;border-color:#102b2740}
.text-link.dark:hover,.review-actions a:hover{background:transparent;border-color:var(--green);color:var(--green)}
.actions{gap:22px}

/* Soft corners for customer review cards. */
.review-card{border-radius:20px}

.instagram-icon{display:block;flex:0 0 20px;width:20px;height:20px}.salon-copy a:has(.instagram-icon){display:inline-flex;align-items:center;gap:10px}

.contact-links{display:flex;flex-wrap:wrap;align-items:center;gap:28px 32px}.contact-links .instagram{margin-top:0}
