:root { --paper:#fcfaf7; --white:#fffdfb; --ink:#322c2a; --muted:#786360; --rose:#98636a; --rose-dark:#82535a; --rose-light:#efe3e2; --line:#e6dcd7; --serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif; --sans:'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif; --latin:'Times New Roman',serif; --script:'Segoe Script','Bradley Hand',cursive; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:var(--header-offset,100px); text-size-adjust:100%; -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--paper); color:var(--ink); font:1rem/1.95 var(--serif); -webkit-font-smoothing:antialiased; }
button,a,summary { -webkit-tap-highlight-color:transparent; }
a { color:inherit; text-decoration:none; }
button { color:inherit; font:inherit; }
img { max-width:100%; height:auto; display:block; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { font-weight:500; }
button { cursor:pointer; }
svg { display:block; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
::selection { background:#e7ced0; }
:focus-visible { outline:2px solid var(--rose-dark); outline-offset:5px; }
[hidden] { display:none !important; }
.skip-link { position:fixed; z-index:100; top:8px; left:8px; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.skip-link:focus { width:auto; height:auto; padding:10px 18px; background:var(--white); clip-path:none; }
.preview-strip { min-height:34px; display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:4px 16px; padding:7px 20px; font:0.6875rem/1.6 var(--sans); letter-spacing:.03em; color:var(--muted); background:#f1e9e5; }
.preview-strip a { text-decoration:underline; text-underline-offset:3px; }
.site-header { position:sticky; top:0; z-index:30; min-height:76px; background:rgba(252,250,247,.97); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; padding:13px 24px; border-bottom:1px solid rgba(230,220,215,.6); }
.brand { display:flex; flex-direction:column; gap:5px; line-height:1; width:fit-content; }
.brand>span { font:23px/1.05 var(--latin); letter-spacing:.035em; white-space:nowrap; }
.brand>small { font:9px/1.5 var(--sans); letter-spacing:.07em; color:var(--muted); }
.menu-toggle { border:0; padding:6px 3px; width:44px; min-height:46px; background:none; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; }
.menu-lines { display:flex; flex-direction:column; gap:5px; width:25px; }
.menu-lines i { height:1px; background:var(--ink); width:100%; transition:transform .2s,opacity .2s; }
.menu-toggle small { font:9px/1 var(--sans); letter-spacing:.12em; }
.menu-toggle[aria-expanded=true] i:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded=true] i:nth-child(2) { opacity:0; }
.menu-toggle[aria-expanded=true] i:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
.mobile-menu { position:absolute; top:100%; inset-inline:0; max-height:var(--menu-max-height,calc(100svh - 190px)); overflow-y:auto; overscroll-behavior:contain; background:var(--paper); padding:15px 24px 28px; border-bottom:1px solid var(--line); box-shadow:0 15px 30px #5d474709; }
.mobile-menu a { min-height:49px; display:flex; align-items:center; border-bottom:1px solid var(--line); font-size:0.9375rem; }
.desktop-nav,.header-booking { display:none !important; }
.hero { position:relative; height:clamp(570px,74svh,750px); min-height:max(570px,28rem); overflow:hidden; }
.hero-visual { position:absolute; inset:0; }
.hero-visual img { width:100%; height:100%; object-fit:cover; object-position:50% 39%; }
.hero::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 34%,rgba(252,250,247,.16) 49%,rgba(252,250,247,.95) 70%,var(--paper) 93%); }
.image-note { position:absolute; top:16px; right:14px; z-index:2; background:var(--paper); padding:3px 8px; font:0.6875rem/1.5 var(--sans); color:var(--muted); letter-spacing:.04em; }
.hero-copy { position:absolute; z-index:2; bottom:76px; left:26px; right:22px; }
.hero-eyebrow { display:none; }
.hero h1 { font-size:clamp(1.875rem,8.1vw,2.75rem); line-height:1.55; letter-spacing:.015em; }
.hero-copy>p:not(.hero-eyebrow) { font-size:0.9375rem; margin-top:12px; letter-spacing:.025em; }
.pill { display:inline-flex; justify-content:center; align-items:center; gap:26px; min-height:46px; padding:9px 22px; border-radius:999px; font-size:0.875rem; line-height:1.65; border:1px solid transparent; transition:background .2s,color .2s,transform .2s; }
.pill>span { font:1.125rem var(--sans); }
.pill.rose { background:var(--rose); color:#fff; }
.pill.rose:hover { background:var(--rose-dark); }
.hero-copy .pill { min-width:245px; min-height:51px; margin-top:22px; font-size:1rem; }
.pill.outline { border-color:#b7a2a1; }
.pill.outline:hover { background:var(--rose-light); }
.hero-scroll { position:absolute; bottom:24px; left:26px; z-index:2; display:flex; align-items:center; gap:12px; font:0.6875rem var(--latin); letter-spacing:.08em; color:var(--muted); }
.hero-scroll i { width:44px; height:1px; background:#cab4b2; }
.section { padding:64px 26px; }
.about { display:flex; flex-wrap:wrap; align-items:start; padding-top:48px; padding-bottom:52px; }
.about-copy { flex:1 1 55%; min-width:min(100%,10rem); position:relative; z-index:1; }
.about h2 { font-size:1.375rem; line-height:1.8; letter-spacing:.02em; }
.about-copy>p { font-size:0.875rem; line-height:2.1; margin-top:20px; }
.about-copy>.about-person { font:0.6875rem/1.8 var(--sans); color:var(--muted); margin-top:23px; }
.about-person>span { font:1rem var(--latin); letter-spacing:.08em; color:var(--ink); margin-right:5px; }
.about-link { display:inline-flex; align-items:center; gap:10px; max-width:100%; min-height:44px; margin-top:12px; padding:6px 0; border-bottom:1px solid #b7a2a1; font-size:0.8125rem; line-height:1.8; }
.about-link>span { flex:0 0 auto; color:var(--rose); }
.about-link:hover { color:var(--rose-dark); }
.about-work { flex:1 1 45%; min-width:min(100%,8rem); margin:0 -26px 0 12px; align-self:center; }
.about-work img { width:100%; aspect-ratio:1; object-fit:contain; border-radius:5px 0 0 5px; }
.about-work figcaption { font:0.6875rem/1.8 var(--sans); color:var(--muted); margin-top:8px; padding-right:18px; text-align:right; }
.qualification { flex:1 0 100%; grid-column:1/-1; margin-top:34px; border-top:1px solid var(--line); padding-top:14px; font:0.75rem/1.9 var(--sans); color:var(--muted); }
.qualification span { display:block; margin-top:4px; }
.section-title { font-family:var(--latin); font-size:1.5rem; line-height:1.3; letter-spacing:.005em; }
.section-title::before { content:''; display:block; width:23px; height:1px; background:#bfa6a4; margin-bottom:14px; }
.section-intro>p { font-size:0.9375rem; line-height:1.9; margin-top:16px; }
.nail { padding-top:24px; padding-bottom:52px; }
.work-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 14px; margin-top:26px; }
.work-grid figure { position:relative; min-width:0; }
.work-featured { grid-column:1/-1; }
.work-photo { padding:0; border:0; display:block; position:relative; width:100%; background:var(--rose-light); overflow:hidden; border-radius:4px; cursor:zoom-in; }
.work-photo img { width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .55s ease; }
.work-featured .work-photo img { aspect-ratio:6/5; object-position:50% 35%; }
.work-photo:hover img { transform:scale(1.035); }
.zoom { position:absolute; bottom:8px; right:8px; background:var(--paper); width:26px; height:26px; line-height:26px; font:1rem/26px var(--sans); color:var(--muted); border-radius:50%; }
.work-grid figcaption { font-size:0.875rem; margin-top:8px; line-height:1.6; }
.work-grid figcaption>span { font:1.125rem/1.4 var(--latin); display:block; }
.work-grid figcaption>small { font-size:0.75rem; display:block; margin-top:3px; }
.work-featured figcaption { position:absolute; bottom:0; left:0; padding:10px 20px 11px 12px; background:rgba(252,250,247,.93); min-width:55%; border-radius:0 3px 0 4px; margin:0; pointer-events:none; }
.under-link { display:inline-flex; min-height:44px; align-items:center; justify-content:center; gap:16px; font-size:0.875rem; line-height:1.7; border:0; border-bottom:1px solid #bca3a1; padding:6px 0; background:none; }
.under-link>span { font:1rem var(--sans); }
.nail>.under-link { display:flex; width:fit-content; margin:26px auto 0; }
.nail-message { position:relative; padding:54px 26px; background:linear-gradient(100deg,#f6ede9 5%,#eee0d7); overflow:hidden; }
.nail-message h2 { font-size:1.5625rem; line-height:1.8; }
.nail-message p { font-size:0.875rem; line-height:2; margin-top:16px; }
.petal-line { position:absolute; width:135px; height:210px; border:1px solid #c9a6a655; border-radius:65% 35% 65% 35%; top:25px; right:-12px; transform:rotate(-24deg); }
.petal-line::after { content:''; position:absolute; inset:15px -40px -15px 40px; border:1px solid #c9a6a64a; border-radius:65% 35% 65% 35%; }
.beauty { overflow:hidden; }
.service-card { position:relative; min-height:670px; overflow:hidden; }
.service-visual { position:absolute; inset:0; }
.service-visual img { width:100%; height:100%; object-fit:cover; object-position:50% 28%; }
.service-card::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 24%,rgba(252,250,247,.05) 41%,rgba(252,250,247,.93) 64%,var(--paper) 94%); }
.service-copy { position:relative; z-index:2; padding:345px 26px 36px; }
.service-copy .section-title { font-size:1.375rem; }
.service-copy h3 { font-size:1.5rem; line-height:1.7; margin-top:19px; }
.service-copy>p { font-size:0.875rem; line-height:2; margin-top:15px; }
.service-copy .pill { margin-top:20px; min-width:175px; }
.script-note { position:absolute; z-index:2; top:195px; left:26px; max-width:calc(100% - 52px); font:clamp(1.1rem,5.6vw,1.4rem)/1.4 var(--script); color:#69524b; transform:rotate(-12deg); }
.script-note>span { display:block; margin-left:24px; }
.facial .service-visual img { object-position:57% 29%; }
.facial .service-copy { padding-top:350px; }
.price { padding-top:40px; padding-bottom:48px; }
.price>p { margin-top:14px; font-size:0.9375rem; }
.price-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,5.7rem),1fr)); margin:30px 0 0; gap:0; }
.price-grid>div { min-width:0; padding:3px 10px; border-right:1px solid var(--line); }
.price-grid>div:first-child { padding-left:0; }
.price-grid>div:last-child { border:0; padding-right:0; }
.price-grid dt { font-size:0.875rem; line-height:1.75; }
.price-grid small { display:block; font-size:0.75rem; color:var(--muted); line-height:1.8; margin:5px 0; }
.price-grid dd { font:1.375rem/1.4 var(--latin); margin:7px 0 0; white-space:nowrap; }
.price-grid dd>span { font-size:0.875rem; margin-left:2px; }
.extra-fees { margin-top:26px; border-bottom:1px solid var(--line); }
.extra-fees summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:48px; padding:9px 0; cursor:pointer; font-size:0.8125rem; list-style:none; }
.extra-fees summary::-webkit-details-marker { display:none; }
.extra-fees summary>span { color:var(--rose); font:1.0625rem var(--sans); }
.extra-fees[open] summary>span { transform:rotate(45deg); }
.extra-fees>div { padding:5px 0 20px; font-size:0.8125rem; color:var(--muted); }
.extra-fees p+p { margin-top:16px; }
.price>.pill { display:flex; width:fit-content; margin:26px auto 0; min-width:220px; }
.salon { padding-top:24px; padding-bottom:52px; }
.salon-heading>p { display:none; }
.salon-photo { margin-top:20px; }
.salon-photo img { width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:4px; }
.salon-photo figcaption,.access-photo figcaption { font:0.6875rem/1.8 var(--sans); text-align:right; margin-top:6px; color:var(--muted); }
.salon-copy { margin-top:17px; }
.salon-copy p { font-size:0.9375rem; }
.salon-copy .pill { display:flex; width:fit-content; margin:24px auto 0; min-width:205px; }
.message { position:relative; overflow:hidden; min-height:360px; }
.message figure { position:absolute; inset:0; }
.message img { width:100%; height:100%; object-fit:cover; object-position:66% 42%; }
.message::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(252,250,247,.97),rgba(252,250,247,.88) 49%,rgba(252,250,247,.12) 100%); }
.message-copy { position:relative; z-index:2; padding:62px 26px 45px; }
.message h2 { font-size:1.5rem; line-height:1.7; }
.message-copy>p { margin-top:35px; border-left:1px solid #bfa5a2; padding-left:17px; font-size:0.9375rem; line-height:2.2; }
.first-visit { padding-top:44px; padding-bottom:25px; }
.first-visit h2,.faq h2 { font-size:1.5rem; line-height:1.7; }
.first-visit h2::after { content:''; display:block; width:22px; height:1px; background:#bfa5a2; margin-top:11px; }
.welcome-list { margin:12px 0 0; padding:0; list-style:none; }
.welcome-list li { display:flex; align-items:center; gap:18px; padding:24px 0; border-bottom:1px solid var(--line); }
.welcome-icon { display:flex; align-items:center; justify-content:center; width:49px; height:49px; flex:0 0 49px; border:1px solid #ded0cf; border-radius:50%; color:#957176; }
.welcome-icon svg { width:25px; height:25px; }
.welcome-list p { font-size:0.875rem; line-height:1.95; }
.welcome-list p>span { color:var(--muted); }
.faq { padding-top:26px; padding-bottom:38px; }
.faq-heading { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:10px; }
.faq-heading .under-link { font-size:0.75rem; }
.faq-list { margin-top:21px; }
.faq-list details { border:1px solid var(--line); background:#fffdfb88; border-radius:3px; margin-top:5px; }
.faq-list summary { display:flex; align-items:center; gap:12px; min-height:55px; padding:12px 13px; font-size:0.8125rem; line-height:1.7; list-style:none; cursor:pointer; }
.faq-list summary::-webkit-details-marker { display:none; }
.q { font:1rem var(--latin); }
.plus { width:12px; height:12px; flex:0 0 12px; position:relative; margin-left:auto; }
.plus::before,.plus::after { content:''; position:absolute; top:5px; left:0; width:12px; height:1px; background:var(--muted); }
.plus::after { transform:rotate(90deg); transition:transform .2s; }
.faq-list details[open] .plus::after { transform:rotate(0); }
.faq-list details>div { padding:3px 20px 22px 39px; font-size:0.875rem; line-height:2; color:var(--muted); }
.access { padding-top:28px; padding-bottom:36px; }
.access-list { list-style:none; margin:17px 0 0; padding:0; }
.access-list li { display:flex; gap:15px; margin-top:19px; align-items:start; }
.access-list svg { width:24px; height:24px; flex:0 0 24px; margin-top:5px; }
.access-list p { font-size:0.9375rem; line-height:1.9; }
.access-list small { display:block; margin-top:5px; font-size:0.75rem; color:var(--muted); }
.access-copy>.under-link { margin-top:19px; }
.access-photo { margin-top:26px; }
.access-photo img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:4px; }
.reserve { text-align:center; padding-top:25px; padding-bottom:56px; background:linear-gradient(180deg,var(--paper),#f4e9e6); }
.signature { font:clamp(1.375rem,5.5vw,1.75rem)/1.5 var(--script); color:#997e7b; transform:rotate(-8deg); width:fit-content; max-width:100%; margin-inline:auto; overflow-wrap:anywhere; padding:18px 0 32px; }
.signature>span { display:block; text-align:right; }
.reserve h2 { font:1.625rem/1.3 var(--latin); letter-spacing:.045em; }
.reserve>p:not(.signature) { font-size:0.9375rem; margin-top:14px; }
.reserve>.pill { margin-top:26px; min-width:245px; }
.phone { font:1.4375rem/1.6 var(--latin); display:block; margin-top:26px; min-height:44px; padding:7px 0; width:fit-content; margin-inline:auto; }
.reserve>small { font-size:0.6875rem; color:var(--muted); }
.site-footer { text-align:center; padding:35px 26px 118px; border-top:1px solid var(--line); }
.site-footer .brand { margin:auto; }
.site-footer>p { font-size:0.75rem; margin-top:17px; }
.site-footer .preview-note { font:0.6875rem/1.9 var(--sans); color:var(--muted); margin-top:22px; }
.compare-link { display:inline-flex; min-height:44px; align-items:center; font:0.75rem var(--sans); border-bottom:1px solid var(--line); margin-top:12px; }
.site-footer>small { display:block; font:0.6875rem var(--sans); color:var(--muted); margin-top:25px; }
.booking-dock { position:fixed; z-index:40; bottom:0; inset-inline:0; padding:9px 10px calc(9px + env(safe-area-inset-bottom)); display:grid; grid-template-columns:1fr 1fr; gap:7px; background:rgba(252,250,247,.98); border-top:1px solid var(--line); }
.booking-dock a { display:flex; align-items:center; justify-content:center; gap:10px; min-height:53px; padding:9px 8px; font-size:0.8125rem; line-height:1.6; border:1px solid var(--line); border-radius:9px; }
.booking-dock svg { width:21px; height:21px; flex:0 0 21px; }
.dock-consult { background:var(--white); }
.booking-dock .dock-book { background:var(--rose); border-color:var(--rose); color:#fff; }
.photo-dialog { padding:18px; background:var(--paper); color:var(--ink); border:0; width:min(94vw,850px); max-height:94svh; overflow:auto; }
.photo-dialog::backdrop { background:#302729bd; }
.dialog-close { margin:0 0 13px auto; display:flex; align-items:center; gap:14px; padding:7px 0; min-height:44px; border:0; background:none; font-size:0.875rem; }
.dialog-close>span { font:1.75rem/1 var(--sans); }
.photo-dialog img { width:100%; height:auto; max-height:68svh; object-fit:contain; }
.photo-dialog figcaption { font-size:0.9375rem; margin-top:14px; }
.photo-dialog>p { font:0.75rem var(--sans); color:var(--muted); margin-top:14px; }
.dialog-open { overflow:hidden; }
@media(max-width:359px) {
 .site-header { padding-inline:18px; gap:8px; }
 .brand>span { font-size:21px; }
 .brand>small { font-size:8px; }
 .section,.message-copy { padding-inline:22px; }
 .hero-copy { left:22px; right:20px; }
 .hero h1 { font-size:1.75rem; }
 .hero-copy .pill { min-width:220px; }
 .about h2 { font-size:1.125rem; }
 .about-work { margin-right:-22px; margin-left:9px; }
 .about-link { font-size:0.75rem; gap:7px; }
 .price-grid>div { padding-inline:7px; }
 .price-grid dd { font-size:1.1875rem; }
 .price-grid dt { font-size:0.75rem; }
 .welcome-list li { gap:12px; }
 .welcome-list p { font-size:0.8125rem; }
 .booking-dock { padding-inline:7px; gap:6px; }
 .booking-dock a { gap:6px; font-size:0.75rem; }
}
@media(min-width:600px) and (max-width:899px) {
 .section { padding-inline:8vw; }
 .hero-copy { left:8vw; }
 .hero h1 { font-size:2.6875rem; }
 .hero-visual img { object-position:50% 34%; }
 .about h2 { font-size:1.75rem; }
 .about-copy>p { font-size:1rem; }
 .about-work { margin-right:-8vw; margin-left:24px; }
 .service-copy { padding-inline:8vw; }
 .message-copy { padding-inline:8vw; }
}
@media(min-width:900px) {
 .preview-strip { padding-inline:5vw; }
 .site-header { padding:18px 5vw; min-height:98px; gap:22px; }
 .brand>span { font-size:30px; }
 .brand>small { font-size:10px; letter-spacing:.09em; }
 .menu-toggle { display:none; }
 .desktop-nav { display:flex !important; gap:clamp(15px,1.8vw,29px); margin-left:auto; font-size:0.875rem; }
 .desktop-nav a { display:flex; align-items:center; min-height:44px; }
 .header-booking { display:inline-flex !important; font-size:0.8125rem; gap:12px; padding-inline:21px; }
 .hero { height:720px; min-height:max(720px,28rem); display:grid; grid-template-columns:44% 56%; }
 .hero-visual { left:42%; }
 .hero-visual img { object-position:50% 37%; }
 .hero-visual .image-note { right:25px; top:20px; }
 .hero::after { background:linear-gradient(90deg,var(--paper) 38%,rgba(252,250,247,.79) 47%,rgba(252,250,247,.02) 63%); }
 .hero-copy { position:relative; bottom:auto; left:auto; right:auto; grid-column:1; align-self:center; padding:30px 0 40px 7vw; }
 .hero-eyebrow { display:block; color:var(--muted); font:0.6875rem var(--sans); letter-spacing:.15em; margin-bottom:29px; }
 .hero h1 { font-size:clamp(2.125rem,3.75vw,3.875rem); line-height:1.65; }
 .hero-copy>p:not(.hero-eyebrow) { font-size:1rem; margin-top:21px; }
 .hero-copy .pill { margin-top:30px; }
 .hero-scroll { left:7vw; bottom:35px; }
 .section { padding:100px 9vw; }
 .about { display:grid; grid-template-columns:1.05fr 1fr; column-gap:9vw; padding-inline:15vw; padding-top:100px; }
 .about-copy { min-width:0; align-self:center; }
 .about h2 { font-size:2rem; line-height:1.8; }
 .about-copy>p { font-size:1rem; margin-top:28px; }
 .about-copy>.about-person { margin-top:25px; font-size:0.75rem; }
 .about-person>span { font-size:1.1875rem; }
 .about-link { margin-top:18px; font-size:0.875rem; gap:20px; }
 .about-work { min-width:0; margin:0; }
 .about-work img { border-radius:5px; }
 .about-work figcaption { font-size:0.75rem; padding:0; }
 .qualification { margin-top:45px; font-size:0.8125rem; display:flex; justify-content:space-between; }
 .qualification span { margin:0; }
 .section-title { font-size:2rem; }
 .section-title::before { width:34px; margin-bottom:20px; }
 .section-intro { display:flex; align-items:end; justify-content:space-between; gap:30px; }
 .section-intro>p { font-size:1rem; margin:0; }
 .nail { padding-top:40px; padding-bottom:90px; }
 .work-grid { grid-template-columns:2fr 1fr; gap:30px; margin-top:40px; }
 .work-featured { grid-column:1; grid-row:1/3; }
 .work-featured .work-photo { height:100%; }
 .work-featured .work-photo img { height:100%; aspect-ratio:1; }
 .work-grid>figure:not(.work-featured) { grid-column:2; }
 .work-grid>figure:not(.work-featured) .work-photo img { aspect-ratio:5/3; }
 .work-featured figcaption { padding:18px 30px 18px 20px; min-width:47%; }
 .work-grid figcaption>span { font-size:1.4375rem; }
 .work-grid figcaption>small { font-size:0.875rem; }
 .nail>.under-link { margin-top:40px; font-size:1rem; }
 .nail-message { padding:72px 15vw; display:flex; }
 .nail-message h2 { font-size:2rem; }
 .nail-message p { font-size:1rem; }
 .petal-line { right:21vw; height:270px; width:190px; top:30px; }
 .beauty { display:grid; grid-template-columns:1fr 1fr; }
 .service-card { min-height:830px; }
 .service-copy { padding:450px 5vw 50px; }
 .facial .service-copy { padding-top:450px; }
 .service-copy .section-title { font-size:1.75rem; }
 .service-copy h3 { font-size:1.875rem; margin-top:22px; }
 .service-copy>p { font-size:1rem; margin-top:20px; }
 .service-visual img { object-position:50% 24%; }
 .script-note { left:5vw; top:270px; font-size:1.75rem; }
 .price { padding-inline:15vw; padding-top:75px; padding-bottom:90px; }
 .price>p { font-size:1rem; }
 .price-grid { margin-top:40px; }
 .price-grid>div { padding:6px 28px; }
 .price-grid dt { font-size:1rem; }
 .price-grid small { font-size:0.8125rem; }
 .price-grid dd { font-size:2.125rem; margin-top:12px; }
 .price-grid dd>span { font-size:1.125rem; }
 .extra-fees { margin-top:37px; }
 .extra-fees summary { font-size:0.875rem; }
 .extra-fees>div { font-size:0.9375rem; }
 .price>.pill { margin-top:32px; }
 .salon { display:grid; grid-template-columns:1fr 1.6fr; column-gap:7vw; padding-top:45px; }
 .salon-heading { grid-column:1; grid-row:1; }
 .salon-heading>p { display:block; font-size:1.125rem; margin-top:30px; }
 .salon-photo { margin:0; grid-column:2; grid-row:1/3; }
 .salon-photo img { aspect-ratio:4/3; }
 .salon-copy { grid-column:1; grid-row:2; margin-top:32px; }
 .salon-copy p { font-size:1rem; }
 .salon-copy .pill { margin:28px 0 0; }
 .message { min-height:450px; }
 .message figure { left:36%; }
 .message::after { background:linear-gradient(90deg,var(--paper) 18%,rgba(252,250,247,.85) 46%,rgba(252,250,247,.12)); }
 .message-copy { padding:75px 15vw; }
 .message h2 { font-size:2rem; }
 .message-copy>p { font-size:1.125rem; padding-left:24px; margin-top:40px; }
 .first-visit { padding-inline:15vw; padding-top:75px; padding-bottom:30px; }
 .first-visit h2,.faq h2 { font-size:1.75rem; }
 .welcome-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; margin-top:35px; }
 .welcome-list li { align-items:start; flex-direction:column; gap:20px; padding:0 0 30px; }
 .welcome-icon { width:55px; height:55px; flex-basis:55px; }
 .welcome-list p { font-size:0.9375rem; }
 .welcome-list p br { display:none; }
 .faq { padding:30px 15vw 75px; }
 .faq-heading .under-link { font-size:0.875rem; }
 .faq-list { margin-top:26px; }
 .faq-list summary { min-height:65px; padding:15px 23px; font-size:1rem; gap:20px; }
 .faq-list details>div { font-size:1rem; padding:5px 60px 30px; }
 .access { display:grid; grid-template-columns:1fr 1.2fr; gap:8vw; padding-top:35px; }
 .access-photo { margin:0; align-self:center; }
 .access-list li { margin-top:25px; gap:19px; }
 .access-list p { font-size:1rem; }
 .access-list small { font-size:0.875rem; }
 .reserve { padding:50px 26px 70px; }
 .signature { font-size:2.375rem; padding-bottom:44px; }
 .reserve h2 { font-size:2rem; }
 .reserve>p:not(.signature) { font-size:1rem; }
 .site-footer { padding:50px 26px 50px; }
 .booking-dock { display:none; }
}
@media(min-width:900px) and (max-width:1150px) {
 .site-header { padding-inline:4vw; gap:15px; }
 .brand>span { font-size:25px; }
 .desktop-nav { gap:14px; font-size:0.8125rem; }
 .header-booking { padding-inline:15px; }
 .about { padding-inline:11vw; column-gap:7vw; }
 .about h2 { font-size:1.75rem; }
 .price,.first-visit,.faq { padding-inline:11vw; }
}
@media(prefers-reduced-motion:reduce) { html {scroll-behavior:auto;} *,*::before,*::after {transition-duration:.01ms !important;animation-duration:.01ms !important;} .work-photo:hover img {transform:none;} }
