.hero canvas{cursor:default;pointer-events:none;touch-action:auto}.hero-copy{padding-bottom:80px}.hero .hero-image{background-position:45% center}.footer-links a{background:none!important;color:var(--ink)!important;box-shadow:none!important;border:0;border-bottom:1px solid #b7a48c;padding:3px 0;font-size:12px}.service-ribbon{gap:20px}.service-ribbon>span{display:flex;align-items:center;gap:12px;white-space:nowrap}.service-ribbon>span>i{display:inline!important;font-size:18px}.visit-details>div>a.phone-link,.phone-link{color:#61462c;font-size:18px;font-weight:700;text-decoration:underline;text-underline-offset:5px;display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}.full-gallery-header{padding-bottom:50px}.full-gallery-header h1,.legal-page h1{font:clamp(60px,6vw,90px)/1 var(--serif);letter-spacing:-2px}.full-gallery-header h1 em,.legal-page h1 em{color:#8d735b}.full-gallery-header p:not(.eyebrow){margin:25px 0;color:var(--muted);font-size:13px}.full-gallery-section{padding-top:0}#full-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.full-gallery-item{margin:0;min-width:0}.full-gallery-item img{width:100%;height:auto}.full-gallery-item video{display:block;width:100%;max-height:480px;background:#29231e}.full-gallery-item figcaption{font-size:11px;margin-top:12px;color:var(--muted)}#gallery-status{font-size:12px;margin-bottom:22px}.legal-page{max-width:1000px;margin:auto}.legal-page h2{font:30px var(--serif);margin:35px 0 14px;letter-spacing:0}.legal-page p{font-size:13px;color:var(--muted);line-height:2}.legal-page .draft-note{background:#e9dfcf;padding:14px 20px;margin:30px 0;font-size:11px}.legal-page a{color:var(--ink);text-decoration:underline}#newsletter-dialog{width:490px;max-width:calc(100% - 32px);padding:42px}#newsletter-dialog h2{font:58px/1 var(--serif);letter-spacing:-1px;margin-bottom:20px}#newsletter-dialog h2 em{color:#8d735b}#newsletter-signup>p:not(.eyebrow){font-size:12px;color:var(--muted);margin-bottom:25px}.newsletter-close{position:absolute;right:15px;top:7px;border:0;background:none;font-size:30px}.newsletter-dismiss{display:block;border:0;background:none;padding:12px 0;text-decoration:underline;text-underline-offset:4px;font-size:11px;color:var(--muted);margin:12px auto 0}#newsletter-dialog label{margin-top:18px}#newsletter-dialog .newsletter-consent{display:flex;align-items:flex-start;gap:12px;font-weight:400;font-size:11px;line-height:1.7}.newsletter-consent input{width:18px;height:18px;flex-shrink:0;margin:3px 0 0}#newsletter-dialog .newsletter-privacy{font-size:10px;margin:14px 0 22px}#newsletter-dialog .newsletter-privacy a{text-decoration:underline}#newsletter-dialog .button{width:100%}#newsletter-dialog [role=status]{font-size:12px;margin-top:17px}
@media(max-width:1050px){.service-ribbon{flex-wrap:wrap;justify-content:center;gap:12px 22px}}
@media(max-width:760px){#full-gallery{grid-template-columns:repeat(2,1fr);gap:22px 15px}}
@media(max-width:650px){.hero{min-height:570px}.hero-copy{padding-bottom:65px}.service-ribbon>span{gap:8px;font-size:7px}.service-ribbon>span>i{font-size:13px}.footer-links{gap:20px}.footer-links a{font-size:11px}.full-gallery-header h1,.legal-page h1{font-size:55px}#newsletter-dialog{padding:35px 25px}#newsletter-dialog h2{font-size:49px}.full-gallery-item figcaption{font-size:10px}.visit-details>div>a.phone-link{font-size:15px}}

.newsletter-reopen{display:block;margin-top:18px;padding:0;border:0;border-bottom:1px solid currentColor;background:transparent;font:inherit;color:inherit;cursor:pointer;text-align:left}

/* Brand SVG links: compact, equal targets with the salon's existing palette. */
.gallery-actions .social-links{display:flex;flex-direction:row;align-items:center;gap:14px;width:auto}
.social-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;border:1px solid #9b7950;border-radius:50%;background:#382923;color:#fff;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}
.social-icon svg{display:block;width:24px;height:24px;flex-shrink:0}
.social-icon:hover{transform:translateY(-3px);background:#7a5e43;box-shadow:0 5px 12px #38292320}
.social-icon:focus-visible{outline:2px solid #7a5e43;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.social-icon{transition:none}.social-icon:hover{transform:none}}

/* Launch polish: keyboard access, touch targets, dialog scrolling and mobile fields. */
.skip-link{position:fixed;top:12px;left:12px;z-index:1000;padding:12px 18px;background:var(--ink);color:white;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
#main-content:focus{outline:none}
dialog{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
body:has(dialog[open]){overflow:hidden}
.newsletter-close,.photo-close,.dialog-close{min-width:44px;min-height:44px}
.full-gallery-item img{aspect-ratio:1;object-fit:cover}
@media(max-width:650px){input,select,textarea{font-size:16px}.menu-toggle{width:44px;min-width:44px;height:44px;align-items:center}.mobile-menu a{min-height:44px;display:flex;align-items:center}.header{gap:8px}.newsletter-dismiss{min-height:44px}}

/* The approved public release omits the private review banner. */
@media(max-width:650px){.public-site .mobile-menu{top:80px}}

.booking-note a{text-decoration:underline;text-underline-offset:3px}

/* Newsletter completion replaces the form without blocking continued browsing. */
#newsletter-dialog [hidden]{display:none!important}#newsletter-success>p:not(.eyebrow){font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 26px}#newsletter-success .newsletter-done{margin-top:4px}
