@font-face{font-family:Editorial;src:url('/assets/fonts/editorial-serif.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Masthead;src:url('/assets/fonts/editorial-wordmark.ttf') format('truetype');font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Interface;src:url('/assets/fonts/interface-regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Interface;src:url('/assets/fonts/interface-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--paper:#f8f7f4;--ink:#090909;--red:#e60012;--muted:#686666;--line:#cac7c2;--serif:Editorial,'Times New Roman',serif;--sans:Interface,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--red);outline-offset:5px}button[hidden],a[hidden],[hidden]{display:none!important}button:disabled{cursor:default;opacity:.5}.skip-link{position:fixed;top:10px;left:10px;z-index:100;transform:translateY(-200%);background:var(--ink);color:white;padding:12px}.skip-link:focus{transform:none}.icon{display:block;width:24px;height:24px;flex-shrink:0}.icon-button{display:flex;align-items:center;justify-content:center;background:none;border:none;width:44px;height:44px}.salon-app{width:100%;max-width:1440px;margin:auto}.editorial-hero{position:relative;overflow:hidden;background:var(--paper);aspect-ratio:853/1110;isolation:isolate}.hero-portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;z-index:-1}.masthead{position:absolute;top:0;left:0;right:0;padding:0 4%;z-index:auto}.brand{display:block;line-height:1}.wordmark{display:block;font-family:Masthead,'Arial Black',sans-serif;font-style:italic;font-weight:700;line-height:1;letter-spacing:-.065em;font-size:clamp(104px,25.5vw,340px);white-space:nowrap;transform:scaleX(.97);transform-origin:0 0;margin-left:-.01em}.brand-subtitle{display:block;font-family:Arial,sans-serif;font-size:clamp(26px,6.3vw,74px);font-weight:900;line-height:1.25;letter-spacing:.08em}.brand-location{display:block;font-size:clamp(11px,2.4vw,24px);letter-spacing:.23em;line-height:1.7}.hero-share{position:absolute;right:20px;bottom:0;display:none}.hero-copy{position:absolute;top:37.5%;left:5.3%;width:84%;padding:0;background:transparent;z-index:auto}.hero-specialties{margin:0 0 12px;font-size:12px;font-weight:600;line-height:1.6;letter-spacing:.08em;color:#444}.editorial-headline{margin:0;font-family:var(--serif);font-weight:400;letter-spacing:-.065em;font-size:clamp(48px,14.6vw,164px);line-height:.88;z-index:2}.editorial-headline>span{display:block}.editorial-headline>span:not(.red){color:white;mix-blend-mode:difference}.editorial-headline .red{color:var(--red);text-shadow:0 1px 12px #0002}.chrome-motion{position:absolute;left:2.2%;bottom:1.5%;width:36%;aspect-ratio:1;transform-origin:center;animation:chrome-float 7s ease-in-out infinite;z-index:2;pointer-events:none}.chrome-motion img{width:100%;height:100%;object-fit:contain}.rituals{padding:26px 5.5% 0}h2,h3,p{margin-top:0}h2{font-family:var(--serif);font-weight:400;letter-spacing:-.055em;line-height:1.15;font-size:clamp(33px,8.5vw,56px);margin-bottom:18px}.ritual-links{display:block}.ritual-link{display:flex;width:100%;gap:16px;align-items:center;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:0 0 12px;min-height:72px;transition:color .22s,border-color .22s}.ritual-link+.ritual-link{padding-top:17px}.ritual-link:is(:hover,:focus-visible){color:var(--red);border-color:var(--red)}.ritual-link:is(:hover,:focus-visible) .ritual-caption{color:#a8000d}.ritual-chevron{transition:transform .22s}.ritual-link:is(:hover,:focus-visible) .ritual-chevron{transform:translateX(3px)}.ritual-link>img{width:28%;height:auto;aspect-ratio:1.6;object-fit:cover;display:block}.ritual-text{flex:1;min-width:0}.ritual-name{display:block;font-size:clamp(20px,5.3vw,32px);line-height:1.2;letter-spacing:-.045em;margin-bottom:9px}.ritual-caption{display:block;font-size:12px;line-height:1.6;letter-spacing:.02em;color:var(--muted)}.ritual-chevron{display:flex;align-items:center;justify-content:center;width:24px;flex-shrink:0}.ritual-chevron .icon{width:24px;height:24px}.booking-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:54px;width:100%;padding:14px 24px;background:var(--red);color:white;border:1px solid var(--red);border-radius:999px;font-family:var(--sans);font-size:clamp(16px,4.2vw,24px);font-weight:600;letter-spacing:-.025em;transition:background .2s,transform .2s}.booking-button:hover{background:#c90011;transform:translateY(-2px)}.booking-button>.icon:first-child{width:26px;height:26px}.booking-button>.icon:last-child{width:20px;height:20px;margin-left:auto}.booking-button>span:nth-child(2){flex:1;text-align:center}.rituals>.booking-button{margin-top:25px}.utility-links{display:grid;grid-template-columns:1fr 1fr;margin:14px 0 0;padding:8px 0}.utility-links button,.utility-links a{min-height:48px;display:flex;align-items:center;justify-content:center;gap:12px;border:0;background:none;font-size:16px;letter-spacing:-.03em;padding:0 8px}.utility-links button+button,.utility-links a+button{border-left:1px solid var(--line)}.utility-links .icon{width:28px;height:28px}.app-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 5.5% 0;padding:18px 0 24px;border-top:1px solid var(--line);font-size:11px;letter-spacing:.055em;color:var(--muted)}.app-footer button{display:flex;align-items:center;gap:8px;border:0;background:none;font-size:14px;padding:6px 0;min-height:44px}.app-footer .icon{width:16px;height:16px}
dialog{border:0;padding:28px;max-width:540px;width:calc(100% - 28px);background:var(--paper);color:var(--ink);max-height:90dvh;overflow:auto;overscroll-behavior:contain}dialog::backdrop{background:#080808d9;backdrop-filter:blur(8px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.eyebrow{font-size:12px;letter-spacing:.15em;line-height:1.7;margin:0}.dialog-header .icon-button{flex-shrink:0;margin-right:-10px}.dialog-intro{color:var(--muted);font-size:15px;line-height:1.7;margin:0 0 24px}dialog h2{font-size:42px;margin:0 0 20px}dialog h3{font-size:22px;font-weight:400;letter-spacing:-.03em;margin:0 0 10px}.treatments-dialog{max-width:840px;padding:32px 36px}.tabs{display:flex;overflow-x:auto;gap:8px;scrollbar-width:thin;border-bottom:1px solid var(--line);padding-bottom:10px}.tabs button{border:1px solid var(--line);border-radius:999px;background:none;color:var(--ink);padding:10px 18px;white-space:nowrap;min-height:44px;font-size:14px;flex-shrink:0}.tabs button:is(:hover,:focus-visible){border-color:var(--red);color:#a8000d}.tabs button[aria-selected=true]{background:var(--ink);color:white;border-color:var(--ink)}.menu-top{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:28px 0 12px}.menu-top h3{font-family:var(--serif);font-size:32px}.menu-top p{font-size:14px;color:var(--muted);margin:0;max-width:370px}.currency-label{font-size:12px;white-space:nowrap;color:var(--muted);padding-bottom:3px}.service{transition:background .22s,color .22s;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.service-name{font-size:17px;font-weight:600;flex:1;min-width:0}.service-name small{display:block;font-weight:400;font-size:13px;color:var(--muted);margin-top:4px}.service-end{display:flex;align-items:center;gap:16px}.service-price{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;max-width:125px;text-align:right}.service-book{display:flex;min-width:88px;min-height:44px;gap:8px;padding:10px 14px;font-size:14px;font-weight:600;align-items:center;justify-content:center;border:1px solid #96938f;border-radius:999px;transition:color .22s,background .22s,border-color .22s}.service:is(:hover,:focus-within){background:#f0ede8}.service:is(:hover,:focus-within) .service-name,.service:is(:hover,:focus-within) .service-price{color:#a8000d}.service-book:is(:hover,:focus-visible,:active){background:#b8000e;border-color:#b8000e;color:white}.service-book .icon{width:18px;height:18px}.menu-note{padding-top:20px;display:flex;gap:24px;align-items:start;justify-content:space-between;font-size:13px;color:var(--muted)}.menu-note p{max-width:460px;margin:0;line-height:1.7}.text-link{background:none;border:0;border-bottom:1px solid;padding:0 0 2px;font-size:12px;white-space:nowrap}.address{font-size:16px;line-height:1.8;margin:30px 0}.outline-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 20px;min-height:50px;background:none;color:var(--ink);border:1px solid var(--ink);border-radius:999px;font-size:15px}.outline-button:hover{background:#e9e6e1}.outline-button .icon{width:21px;height:21px}#visit-dialog>.outline-button{margin-top:14px}.small-note{font-size:14px;line-height:1.7;color:var(--muted);margin:25px 0 15px}.phone-link{font-size:18px}#qr-code{max-width:220px;max-height:220px;aspect-ratio:1;margin:24px auto;display:none}#qr-code.visible{display:block}#qr-code canvas{width:100%;height:100%;display:block}.dialog-actions{display:grid;gap:12px}.dialog-actions .booking-button{font-size:16px}.dialog-actions .booking-button>.icon{margin:0;width:22px;height:22px}.status-message{font-size:14px;line-height:1.7;overflow-wrap:anywhere;margin-bottom:0}.install-step{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.install-step h3{font-size:18px;font-weight:600}.install-step p{font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:0}.brochure-dialog{max-width:750px}.brochure-gallery img{width:100%;display:block;margin:20px 0}body.dialog-open{overflow:hidden}
@keyframes chrome-float{0%,100%{transform:translateY(0) rotate(-2deg) rotateY(-10deg)}50%{transform:translateY(-8px) rotate(3deg) rotateY(12deg)}}
@media(min-width:640px){.salon-app{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);min-height:100dvh;align-items:center}.editorial-hero{min-height:100dvh;aspect-ratio:auto;height:100%;max-height:1200px}.hero-portrait{object-position:56% center}.wordmark{font-size:clamp(98px,12.5vw,188px)}.brand-subtitle{font-size:clamp(26px,3.3vw,48px)}.brand-location{font-size:clamp(11px,1.3vw,18px)}.hero-copy{top:37%;left:6%;padding:0;width:84%}.editorial-headline{font-size:clamp(64px,7.7vw,120px)}.hero-specialties{font-size:clamp(12px,1.1vw,15px)}.chrome-motion{width:40%;left:2%;bottom:6%}.rituals{padding:60px 10% 60px}.rituals h2{font-size:clamp(35px,3.7vw,54px);margin-bottom:30px}.ritual-link{padding-bottom:25px;gap:20px}.ritual-link+.ritual-link{padding-top:25px}.ritual-link>img{width:30%}.ritual-name{font-size:clamp(21px,2.3vw,33px)}.ritual-caption{font-size:12px;letter-spacing:.015em}.rituals>.booking-button{margin-top:35px;min-height:64px;font-size:20px;padding:16px 25px}.utility-links{margin-top:20px}.app-footer{grid-column:2;margin:0;padding:18px 10%;border-top:0;align-self:end;margin-top:-75px;position:relative}.hero-share{display:flex;right:15px;bottom:auto;top:100%;margin-top:20px}.hero-share .icon{width:24px;height:24px}}@media(min-width:1400px){body{background:#ebe9e5}.salon-app{background:var(--paper);min-height:100dvh}.editorial-hero{min-height:900px}.editorial-headline{font-size:112px}.wordmark{font-size:180px}}
@media(max-width:360px){.wordmark{font-size:25vw}.brand-subtitle{font-size:6.3vw}.editorial-headline{font-size:14.3vw}.hero-copy{padding:0}.hero-specialties{font-size:11px;margin:0 0 10px}.rituals{padding-top:22px}.rituals h2{font-size:31px}.ritual-link{gap:12px}.ritual-name{font-size:19px}.ritual-caption{font-size:11px;letter-spacing:0}.booking-button{font-size:16px;padding:13px 18px}.utility-links button,.utility-links a{font-size:14px;gap:8px}.utility-links .icon{width:23px;height:23px}.app-footer{font-size:9px;gap:8px}}
@media(max-width:600px){dialog{padding:23px 20px;max-height:92dvh}.treatments-dialog{width:100%;padding:15px 20px 23px;margin:0;max-height:96dvh;height:auto;bottom:0;top:auto;border-radius:20px 20px 0 0;padding-top:15px}.treatments-dialog h2{font-size:36px}.menu-top{display:block}.currency-label{display:block;margin-top:15px}.menu-note{display:block}.menu-note .text-link{margin-top:16px;min-height:40px}.service-end{gap:8px}.service-price{font-size:15px;max-width:100px}.service-name{font-size:16px}.service-book{min-width:76px;padding:10px;gap:6px}.service-end{flex-shrink:0}.service-name{overflow-wrap:anywhere}dialog h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}@media(prefers-contrast:more){:root{--muted:#444;--line:#999}}

/* Modal compatibility for browsers without native dialog support. */
.dialog-fallback[open]{display:block;position:fixed;inset:5dvh 0 auto;margin:0 auto;z-index:30;box-shadow:0 0 0 100vmax #080808d9}.dialog-fallback[open]~.dialog-fallback[open]{z-index:31}

.utility-links :is(button,a):is(:hover,:focus-visible),.app-footer button:is(:hover,:focus-visible){color:#a8000d}
