:root{--ink:#241b20;--muted:#776b70;--cream:#fffaf7;--paper:#fffefe;--rose:#b85d78;--rose-dark:#8b3d59;--pink:#f5e4e8;--blush:#ead1d8;--gold:#b18a59;--dark:#271b21;--line:rgba(36,27,32,.13);--serif:'Italiana',serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.6;overflow-x:hidden}body.menu-open{overflow:hidden}img{display:block;width:100%}a{color:inherit}h1,h2,h3,p{margin-top:0}.page-loader{position:fixed;inset:0;background:var(--dark);display:grid;place-items:center;z-index:999;transition:opacity .7s ease,visibility .7s}.page-loader span{font:4rem var(--serif);color:#fff;animation:pulse 1s ease-in-out infinite alternate}.loaded .page-loader{opacity:0;visibility:hidden}@keyframes pulse{to{opacity:.45;letter-spacing:.08em}}
.site-header{height:86px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:fixed;inset:0 0 auto;background:transparent;z-index:50;transition:.35s ease}.site-header.scrolled{height:72px;background:rgba(255,250,247,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{width:40px;height:40px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font:1.35rem var(--serif)}.brand-copy{display:grid;line-height:1}.brand-copy strong{font:1.32rem var(--serif);letter-spacing:.04em}.brand-copy small{text-transform:uppercase;letter-spacing:.25em;font-size:.52rem;margin-top:6px}.site-header nav{display:flex;align-items:center;gap:30px}.site-header nav>a{font-size:.79rem;text-transform:uppercase;letter-spacing:.12em;text-decoration:none;font-weight:600;position:relative}.site-header nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:var(--rose);transition:.25s}.site-header nav>a:hover:after{width:100%}.nav-cta{padding:12px 18px;background:var(--dark);color:#fff}.nav-cta span,.btn span{margin-left:10px}.menu{display:none;width:44px;height:44px;border:0;background:transparent;padding:10px}.menu span{display:block;height:1px;background:var(--ink);margin:7px 0;transition:.25s}
.hero{min-height:100svh;display:grid;grid-template-columns:1fr .88fr;align-items:center;gap:7vw;padding:130px 6vw 70px;position:relative;overflow:hidden;background:radial-gradient(circle at 15% 30%,#fff 0 6%,transparent 25%),var(--cream)}.hero-copy{position:relative;z-index:2}.eyebrow-line{display:flex;align-items:center;gap:14px;margin-bottom:25px}.eyebrow-line span{width:48px;height:1px;background:var(--rose)}.eyebrow-line p,.kicker{text-transform:uppercase;letter-spacing:.22em;font-size:.68rem;font-weight:700;color:var(--rose);margin:0}.hero h1,.section h2{font-family:var(--serif);font-weight:400;line-height:.92;letter-spacing:-.025em}.hero h1{font-size:clamp(4.5rem,8.7vw,9rem);margin:0}.hero h1 em,.section h2 em{font-style:italic;color:var(--rose)}.lead{max-width:570px;font-size:1.08rem;color:var(--muted);margin:30px 0}.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;text-transform:uppercase;letter-spacing:.11em;font-size:.7rem;font-weight:700;padding:17px 23px;border:1px solid transparent;transition:.3s}.btn.primary{background:var(--rose);color:#fff}.btn.primary:hover{background:var(--rose-dark);transform:translateY(-2px)}.text-link{font-size:.79rem;font-weight:700;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:5px}.text-link span{margin-left:12px;color:var(--rose)}.hero-proof{display:flex;align-items:center;gap:18px;margin-top:44px;padding-top:25px;border-top:1px solid var(--line);max-width:500px}.proof-rating{display:flex;gap:10px;align-items:center}.proof-rating strong{font:2.2rem var(--serif)}.proof-rating span,.stars{letter-spacing:.08em;color:var(--gold);font-size:.75rem}.proof-copy{display:grid;border-left:1px solid var(--line);padding-left:18px}.proof-copy strong{font-size:.8rem}.proof-copy small{font-size:.69rem;color:var(--muted);margin-top:2px}.hero-visual{position:relative;height:min(72vh,730px);min-height:530px}.hero-image-wrap{height:100%;overflow:hidden;border-radius:49% 49% 5px 5px;box-shadow:0 35px 80px rgba(92,49,62,.18);position:relative}.hero-image-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 60%,rgba(50,25,35,.16))}.hero-image-wrap img{height:100%;object-fit:cover}.floating-card{position:absolute;background:rgba(255,254,254,.88);backdrop-filter:blur(14px);box-shadow:0 20px 55px rgba(70,39,49,.16);z-index:3}.card-clean{left:-85px;bottom:70px;padding:17px 20px;display:flex;align-items:center;gap:12px}.card-clean>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--pink);color:var(--rose)}.card-clean div{display:grid}.card-clean strong{font-size:.75rem}.card-clean small{font-size:.64rem;color:var(--muted)}.card-rating{right:-32px;top:74px;padding:19px;display:grid;text-align:center}.card-rating strong{font:2rem var(--serif);line-height:1}.card-rating span{font-size:.58rem;color:var(--gold)}.card-rating small{font-size:.58rem;text-transform:uppercase;letter-spacing:.12em;margin-top:6px}.hero-orbit{position:absolute;right:-70px;bottom:58px;width:130px;height:130px;border:1px solid rgba(36,27,32,.28);border-radius:50%;display:grid;place-items:center;font-size:.55rem;text-transform:uppercase;letter-spacing:.12em;transform:rotate(18deg);background:rgba(255,250,247,.65)}.hero-glow{position:absolute;border-radius:50%;filter:blur(2px);opacity:.5}.glow-one{width:350px;height:350px;background:#f0dbe0;left:-190px;bottom:-130px}.glow-two{width:220px;height:220px;background:#f2e0c8;right:-110px;top:30px}.scroll-cue{position:absolute;bottom:25px;left:6vw;display:flex;align-items:center;gap:10px;text-decoration:none;text-transform:uppercase;letter-spacing:.18em;font-size:.55rem}.scroll-cue span{width:45px;height:1px;background:var(--ink)}
.section{padding:125px 6vw}.welcome{display:grid;grid-template-columns:.25fr 1.15fr .65fr;gap:5vw;align-items:end;background:var(--paper)}.welcome-number{font:5rem var(--serif);color:var(--blush)}.welcome h2,.section-intro h2,.experience h2,.gallery-heading h2,.cta-band h2,.visit h2{font-size:clamp(3.7rem,6vw,6.6rem)}.welcome-text{color:var(--muted);font-size:1rem}.welcome-text p{margin-bottom:32px}.services-section{background:var(--dark);color:#fff}.section-intro{display:grid;grid-template-columns:1fr .55fr;gap:8vw;align-items:end;margin-bottom:70px}.section-intro>p{color:#c9bdc2;max-width:430px}.kicker.light{color:#e9b0c0}.service-row{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:25px;padding:29px 4px;border-top:1px solid rgba(255,255,255,.16);text-decoration:none;transition:.3s}.service-row:last-of-type{border-bottom:1px solid rgba(255,255,255,.16)}.service-row:hover{padding-left:20px;background:rgba(255,255,255,.035)}.service-num{font-size:.65rem;color:#dca2b3}.service-row h3{font:2.15rem var(--serif);font-weight:400;margin:0 0 5px}.service-row p{margin:0;color:#b9abb1;font-size:.84rem}.service-arrow{font-size:1.5rem;color:#dca2b3}.service-note{text-align:right;color:#9f9197;font-size:.72rem;margin:22px 0 0}.experience{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.experience-images{height:720px;position:relative}.exp-main{width:79%;height:85%;object-fit:cover}.exp-small{position:absolute;width:46%;height:39%;object-fit:cover;right:0;bottom:0;border:10px solid var(--cream)}.exp-badge{position:absolute;right:3%;top:9%;width:120px;height:120px;border-radius:50%;background:var(--rose);color:#fff;display:grid;place-content:center;text-align:center;box-shadow:0 20px 40px rgba(117,48,70,.2)}.exp-badge strong{font:1.7rem var(--serif)}.exp-badge span{font-size:.58rem;text-transform:uppercase;letter-spacing:.1em}.experience-copy>p:not(.kicker){color:var(--muted);max-width:560px;margin:30px 0 42px}.benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.benefit-grid div{padding:20px 5px;border-top:1px solid var(--line);display:grid;gap:6px}.benefit-grid span{font-size:.62rem;color:var(--rose)}.benefit-grid strong{font-size:.85rem}.gallery-section{background:#f7eef0}.gallery-heading{display:grid;grid-template-columns:1fr .35fr;align-items:end;margin-bottom:50px}.gallery-heading .kicker{grid-column:1/-1}.gallery-heading>p:last-child{color:var(--muted);font-size:.82rem}.gallery-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-template-rows:310px 310px;gap:16px}.gallery-item{margin:0;position:relative;overflow:hidden;background:#ddd}.gallery-item.item-tall{grid-row:span 2}.gallery-item.item-wide{grid-column:span 2}.gallery-item img{height:100%;object-fit:cover;transition:transform .7s}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(33,18,25,.52),transparent 55%)}.gallery-item:hover img{transform:scale(1.045)}.gallery-item figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:18px;color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:.69rem}.gallery-item figcaption span{margin-right:15px;color:#f0bdcb}.review-section{display:grid;grid-template-columns:.42fr 1fr;gap:10vw;align-items:center}.review-score{text-align:center;border-right:1px solid var(--line);padding-right:7vw}.score-label{display:block;text-transform:uppercase;letter-spacing:.2em;font-size:.62rem;color:var(--muted)}.review-score>strong{display:block;font:8rem var(--serif);line-height:1;margin:14px 0}.review-score p{font-size:.75rem;color:var(--muted)}.quote-mark{font:6rem var(--serif);color:var(--blush);line-height:.5}.review-feature blockquote{font:clamp(2.2rem,4.1vw,4.4rem)/1.12 var(--serif);margin:25px 0 30px}.review-feature cite{font-style:normal;text-transform:uppercase;letter-spacing:.13em;font-size:.65rem;color:var(--muted)}.review-dots{display:flex;gap:7px;margin-top:45px}.review-dots span{width:25px;height:2px;background:#d8cdd1}.review-dots .active{background:var(--rose)}.cta-band{position:relative;background:var(--rose);color:#fff;display:grid;grid-template-columns:1fr auto;gap:8vw;align-items:end;overflow:hidden}.cta-band .kicker{color:#f5dce3}.cta-band h2 em{color:#f8dfe5}.cta-action{text-align:right}.btn.cream{background:var(--cream);color:var(--ink)}.cta-action p{font-size:.73rem;margin:18px 0 0;color:#f4dce2}.cta-glow{position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.16);border-radius:50%;right:-170px;top:-220px}.visit{display:grid;grid-template-columns:.78fr 1.22fr;gap:7vw;align-items:center}.visit-details{display:grid;gap:0;margin:45px 0}.visit-details div{display:grid;grid-template-columns:100px 1fr;border-top:1px solid var(--line);padding:17px 0}.visit-details div:last-child{border-bottom:1px solid var(--line)}.visit-details span{text-transform:uppercase;letter-spacing:.15em;font-size:.6rem;color:var(--rose)}.visit-details p{margin:0;font-size:.86rem}.visit-details a{text-decoration:none}.dark-btn{background:var(--dark);color:#fff}.map-shell{height:590px;position:relative}.map{width:100%;height:100%;border:0;filter:grayscale(.3) sepia(.08)}.map-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:60px;height:60px;border-radius:50% 50% 50% 0;rotate:-45deg;background:var(--rose);color:#fff;display:grid;place-items:center;font:1.7rem var(--serif);box-shadow:0 15px 30px rgba(78,38,52,.25)}.map-pin::first-letter{rotate:45deg}footer{padding:55px 6vw 30px;background:#1d1519;color:#efe7ea;display:grid;grid-template-columns:1fr auto;gap:45px}.footer-links{display:flex;gap:28px;align-items:center}.footer-links a{text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:.62rem}.footer-meta{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:22px;display:flex;justify-content:space-between;color:#a99da2;font-size:.65rem}.mobile-bar{display:none}.reveal{opacity:0;transform:translateY(28px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1)}.reveal.show{opacity:1;transform:none}
.form-page{min-height:100vh;padding:70px 6vw;background:linear-gradient(135deg,var(--cream),var(--pink))}.form-shell{max-width:980px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 25px 70px #6d425522}.form-info{background:var(--dark);color:#fff;padding:55px}.form-info h1{font:3rem var(--serif)}.form-card{padding:55px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:700;font-size:.88rem}.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid #d9cdd0;border-radius:10px;font:inherit;background:#fff}.field textarea{min-height:110px;resize:vertical}.notice{font-size:.86rem;background:#fff6dd;padding:13px;border-radius:10px;margin:18px 0}.success{display:none;background:#e6f6ea;color:#245e31;padding:16px;border-radius:10px;margin-top:18px}.back{display:inline-block;margin-bottom:25px;text-decoration:none;font-weight:700}.dashboard{padding:45px 6vw;min-height:100vh;background:#f7f4f5}.dash-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.table-wrap{overflow:auto;background:#fff;border-radius:16px;box-shadow:0 10px 30px #0001}.table{width:100%;border-collapse:collapse;min-width:850px}.table th,.table td{text-align:left;padding:15px;border-bottom:1px solid #eee;font-size:.9rem}.status{padding:5px 9px;border-radius:999px;background:#fff0c9;font-weight:700}.danger{background:#8b2d42;color:#fff;border:0;padding:10px 15px;border-radius:8px;cursor:pointer}
@media(max-width:1050px){.site-header nav{gap:18px}.site-header nav>a{font-size:.7rem}.hero{grid-template-columns:1fr 1fr}.card-clean{left:-35px}.hero-orbit{display:none}.experience-images{height:620px}.gallery-grid{grid-template-rows:270px 270px}}
@media(max-width:820px){.site-header{height:72px;padding:0 22px;background:rgba(255,250,247,.9);backdrop-filter:blur(16px)}.menu{display:block;position:relative;z-index:2}.site-header.open .menu span:first-child{transform:translateY(4px) rotate(45deg)}.site-header.open .menu span:last-child{transform:translateY(-4px) rotate(-45deg)}.site-header nav{position:fixed;inset:0;background:var(--cream);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:25px;opacity:0;visibility:hidden;transform:translateY(-12px);transition:.3s}.site-header.open nav{opacity:1;visibility:visible;transform:none}.site-header nav>a{font:2.1rem var(--serif);text-transform:none;letter-spacing:0}.site-header nav .nav-cta{font:700 .72rem var(--sans);text-transform:uppercase;letter-spacing:.12em}.hero{grid-template-columns:1fr;padding:120px 22px 80px;gap:55px}.hero h1{font-size:clamp(4.2rem,17vw,7rem)}.hero-visual{height:560px;min-height:0;width:88%;margin-left:auto}.card-clean{left:-13%;bottom:45px}.card-rating{right:-8%;top:55px}.scroll-cue{display:none}.section{padding:90px 22px}.welcome{grid-template-columns:1fr;gap:28px}.welcome-number{font-size:3.5rem}.section-intro,.experience,.review-section,.cta-band,.visit{grid-template-columns:1fr}.section-intro{gap:25px;margin-bottom:45px}.service-row{grid-template-columns:38px 1fr auto}.service-row h3{font-size:1.65rem}.experience{gap:60px}.experience-images{height:570px}.gallery-heading{grid-template-columns:1fr}.gallery-heading>p:last-child{margin-top:20px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:360px 260px 300px}.gallery-item.item-tall{grid-row:span 2}.gallery-item.item-wide{grid-column:span 2}.review-section{gap:55px}.review-score{border-right:0;border-bottom:1px solid var(--line);padding:0 0 45px}.review-score>strong{font-size:6rem}.cta-band{gap:40px}.cta-action{text-align:left}.map-shell{height:470px}footer{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}.footer-meta{grid-column:auto;flex-direction:column;gap:6px}.mobile-bar{display:grid;grid-template-columns:1fr 1fr 1.15fr;position:fixed;z-index:48;left:12px;right:12px;bottom:12px;background:rgba(35,25,30,.95);backdrop-filter:blur(16px);color:#fff;box-shadow:0 15px 45px rgba(0,0,0,.25)}.mobile-bar a{text-decoration:none;display:flex;align-items:center;justify-content:center;gap:6px;padding:13px 5px;text-transform:uppercase;letter-spacing:.1em;font-size:.55rem;border-right:1px solid rgba(255,255,255,.12)}.mobile-bar a:last-child{border:0}.mobile-bar .mobile-book{background:var(--rose)}body{padding-bottom:67px}.form-shell{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-info,.form-card{padding:35px 24px}}
@media(max-width:520px){.brand-mark{width:34px;height:34px}.brand-copy strong{font-size:1.15rem}.hero-visual{height:430px;width:92%}.card-clean{left:-9%;padding:12px}.card-clean small{display:none}.card-rating{right:-5%;padding:13px}.hero-proof{align-items:flex-start}.proof-rating{display:grid;gap:0}.section h2{font-size:3.45rem}.service-row p{font-size:.74rem}.experience-images{height:440px}.exp-badge{width:95px;height:95px}.benefit-grid{grid-template-columns:1fr}.gallery-grid{display:flex;overflow:auto;scroll-snap-type:x mandatory;margin-right:-22px;padding-right:22px}.gallery-item,.gallery-item.item-tall,.gallery-item.item-wide{min-width:82vw;height:430px;scroll-snap-align:start}.review-feature blockquote{font-size:2.45rem}.map-shell{height:390px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.page-loader{display:none}}

/* Real salon photography upgrade */
.hero-image-wrap img{object-position:center 48%}.experience-images .exp-main{object-position:center 48%}.experience-images .exp-small{object-position:center 45%}.real-gallery{grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;grid-template-rows:none}.real-gallery .gallery-item{min-height:0}.real-gallery .gallery-item.item-tall{grid-row:span 2}.real-gallery .gallery-item.item-wide{grid-column:span 2}.gallery-item{cursor:zoom-in}.gallery-item:focus-visible{outline:3px solid var(--rose);outline-offset:4px}.gallery-item::after{content:"View";position:absolute;right:18px;top:18px;z-index:3;padding:8px 12px;border:1px solid rgba(255,255,255,.45);background:rgba(26,17,21,.35);backdrop-filter:blur(8px);color:#fff;text-transform:uppercase;letter-spacing:.14em;font-size:.55rem;opacity:0;transform:translateY(-5px);transition:.3s}.gallery-item:hover::after,.gallery-item:focus::after{opacity:1;transform:none}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(17,10,14,.93);display:grid;place-items:center;padding:70px 24px 34px;opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease}.lightbox.open{opacity:1;visibility:visible}.lightbox img{max-width:min(900px,92vw);max-height:80vh;object-fit:contain;box-shadow:0 30px 90px rgba(0,0,0,.45)}.lightbox p{margin:16px 0 0;color:#f8edf0;text-transform:uppercase;letter-spacing:.16em;font-size:.66rem}.lightbox-close{position:absolute;right:25px;top:18px;width:48px;height:48px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:transparent;color:#fff;font:2rem/1 var(--sans);cursor:pointer}.lightbox-close:hover{background:#fff;color:#21161b}.lightbox-open{overflow:hidden}.footer-links{gap:22px}
@media(max-width:1050px){.real-gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.real-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:310px}.real-gallery .gallery-item.item-wide{grid-column:span 2}.real-gallery .gallery-item.item-tall{grid-row:span 2}}
@media(max-width:520px){.real-gallery{display:flex;grid-template-columns:none;grid-auto-rows:auto}.real-gallery .gallery-item,.real-gallery .gallery-item.item-tall,.real-gallery .gallery-item.item-wide{min-width:82vw;height:460px}.gallery-item::after{display:none}.lightbox{padding:65px 12px 24px}.lightbox img{max-width:96vw;max-height:76vh}.lightbox-close{right:14px;top:12px}}
