/* Home page: bounded compositions and responsive photographs. */
:root { --gutter: clamp(22px, 4.8vw, 72px); }
.wrap { max-width: 1440px; }
.section-space { padding-block: 88px; }
h2 { font-size: clamp(46px, 4.7vw, 72px); }
.header { height: 100px; padding-inline: max(var(--gutter), calc((100% - 1296px)/2)); }
.nav { gap: clamp(18px, 2vw, 30px); }
.nav a { font-size: 14px; }
.section-heading { gap: 48px; margin-bottom: 42px; }
.section-heading>div { min-width: 0; }
.section-aside { font-size: 15px; max-width: 310px; }
.section-heading>.text-link { flex-shrink: 0; }
.text-link { font-size: 14px; }
.hero { height: auto; min-height: 0; max-height: none; }
.hero-inner { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); gap: clamp(40px, 6vw, 96px); align-items: center; height: auto; padding-top: 150px; padding-bottom: 64px; }
.hero-copy { min-width: 0; }
.hero h1 { font-size: clamp(70px, 7.6vw, 108px); width: 100%; line-height: .96; }
.hero-eyebrow { margin-bottom: 30px; }
.hero h1 span:nth-child(3) { margin-left: 48px; }
.hero-bottom { margin-top: 30px; padding-top: 0; }
.hero-description { max-width: 570px; font-size: 16px; line-height: 1.8; margin-bottom: 24px; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 24px; }
.hero-actions .button { min-height: 58px; font-size: 15px; }
.hero-price-link { font-size: 14px; border-bottom: 1px solid #d7c9a7a3; padding-block: 10px; }
.hero-price-link span { margin-left: 10px; }
.hero-note { font-size: 12px; color: #e4dfcc; margin: 20px 0 0; }
.hero-scene { position: relative; width: 100%; max-width: 400px; aspect-ratio: 3/4; justify-self: end; overflow: hidden; border-radius: 210px 210px 4px 4px; }
.hero-scene::after { content: ''; position: absolute; inset: 60% 0 0; background: linear-gradient(transparent,#092e2bc4); pointer-events: none; }
.hero-scene img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-scene>span { position: absolute; bottom: 24px; left: 16px; right: 16px; text-align: center; color: white; font-size: 10px; letter-spacing: .11em; z-index: 1; }
.signature { max-width: 1440px; grid-template-columns: .95fr 1.05fr; }
.signature-media { min-height: 620px; }
.signature-copy { padding: 56px clamp(32px, 4.5vw, 70px); }
.signature-copy h2 { font-size: clamp(56px, 5.5vw, 80px); }
.signature-copy p:not(.eyebrow):not(.signature-name):not(.fine-print) { font-size: 16px; }
.service-layout { gap: clamp(40px, 6vw, 88px); }
.service-info p { font-size: 12px; }
.row-book { width: 44px; height: 44px; }
.catalog-note { font-size: 12px; }
.panel-intro p { font-size: 15px; }
.intro-main { grid-template-columns: 1.25fr 1fr; gap: 9%; }
.intro-text { padding: 0; max-width: 475px; }
.intro-text p { font-size: 16px; }
.intention-links { display: grid; grid-template-columns: 1fr 1fr; column-gap: 50px; margin-top: 42px; }
.intention-links>a { display: flex; gap: 18px; align-items: center; padding: 23px 0; border-top: 1px solid var(--line); transition: color .2s; }
.intention-links>a>span { font-size: 10px; color: #877c64; }
.intention-links strong { font-size: 15px; font-weight: 500; display: block; }
.intention-links small { display: block; font-size: 12px; color: var(--muted); margin-top: 5px; }
.intention-links svg { margin-left: auto; width: 20px; }
.intention-links>a:hover { color: #588075; }
.signature-media>img { filter: none; }
.signature-media .media-index { background: #f5f3eddd; padding: 7px 10px; font-size: 9px; }
.ritual-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 28px; }
.ritual-card { display: flex; flex-direction: column; min-width: 0; }
.ritual-photo { position: relative; display: block; aspect-ratio: 4/5; overflow: hidden; background: #e3e3d8; }
.ritual-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.ritual-photo:hover img { transform: scale(1.035); }
.ritual-card:nth-child(1) img { object-position: 35% center; }
.ritual-card:nth-child(2) img { object-position: 44% center; }
.ritual-card:nth-child(3) img,.ritual-card:nth-child(6) img { object-position: center 45%; }
.ritual-tag { position: absolute; bottom: 14px; left: 14px; background: #f5f3edee; padding: 6px 10px; font-size: 9px; letter-spacing: .1em; }
.ritual-copy { padding-top: 24px; display: flex; flex-direction: column; flex: 1; }
.ritual-copy h3 { font-size: clamp(30px, 2.6vw, 42px); line-height: 1.08; letter-spacing: -.025em; margin-bottom: 15px; }
.ritual-copy>p { font-size: 15px; line-height: 1.85; color: var(--muted); margin-bottom: 22px; }
.ritual-bottom { display: flex; gap: 12px; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 13px; margin-top: auto; }
.ritual-bottom>span { font-size: 16px; white-space: nowrap; }
.ritual-bottom .text-link { font-size: 12px; border-bottom: 0; gap: 9px; }
.ritual-bottom svg { width: 19px; }
.selection-help { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 52px; padding: 30px 34px; background: #e9ece3; }
.selection-help strong { font-family: var(--serif); font-size: 34px; font-weight: 400; line-height: 1.2; }
.selection-help p { font-size: 13px; color: var(--muted); margin: 9px 0 0; }
.selection-help .button { flex-shrink: 0; }
.services { border-top: 1px solid var(--line); }
.moments { background: var(--deep); color: var(--paper); }
.moments .eyebrow { color: #d0c29f; }
.moments .section-aside { color: #cbd5c9; }
.moment-tabs { display: flex; border-bottom: 1px solid #b5c0ad55; margin-bottom: 30px; }
.moment-tabs button { flex: 1; border: 0; border-bottom: 2px solid transparent; padding: 19px 12px; font-size: 14px; background: transparent; color: #d0d7c9; }
.moment-tabs button[aria-selected=true] { color: #f4dfb2; border-bottom-color: #d7c29a; }
.moment-tabs button:hover { background: #ffffff0a; }
.moment-panel { display: grid; grid-template-columns: 1.1fr 1fr; min-height: 460px; gap: 7%; align-items: center; outline: none; }
.moment-panel+.moment-panel { margin-top: 50px; }
.js .moment-panel+.moment-panel { margin-top: 0; }
.js .moment-panel:not([data-active]) { display: none; }
.moment-photo { width: 100%; min-width: 0; height: 460px; overflow: hidden; }
.moment-photo img { width: 100%; height: 100%; object-fit: cover; }
#moment-solo .moment-photo img { object-position: 65% 50%; }
#moment-men .moment-photo img { width: auto; max-width: 100%; object-fit: contain; margin-inline: auto; }
.moment-copy { padding-block: 35px; }
.moment-number { font-size: 10px; letter-spacing: .13em; color: #d6c499; }
.moment-copy h3 { font-size: clamp(38px, 3.7vw, 60px); margin: 24px 0; line-height: 1.06; }
.moment-copy>p { font-size: 16px; color: #d3ddd1; line-height: 1.95; max-width: 460px; }
.moment-copy .text-link { color: #f4dfb2; border-bottom-color: #bda77c; line-height: 1.8; margin-top: 14px; }
.moment-copy>small { display: block; margin-top: 18px; font-size: 12px; color: #c5d2c3; }
.team { display: grid; grid-template-columns: 1.12fr 1fr; gap: 7%; align-items: center; }
.team-photo { min-width: 0; }
.team-photo img { aspect-ratio: 4/3; width: 100%; height: auto; object-fit: cover; object-position: 55% center; }
.team-photo>span { display: block; margin-top: 16px; font-size: 9px; letter-spacing: .13em; color: var(--muted); }
.team-portraits { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.team-portrait { margin: 0; min-width: 0; }
.team-portrait-frame { aspect-ratio: 3/4; overflow: hidden; background: #e3e3d8; }
.team-photo .team-portrait-frame img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
.team-portrait-admin { transform: scale(1.3); transform-origin: 66% 22%; }
.team-portrait-olga { transform: scale(1.45); transform-origin: 36% 48%; }
.team-portrait figcaption { display: grid; gap: 5px; padding-top: 14px; }
.team-portrait figcaption strong { font-size: 15px; font-weight: 500; }
.team-portrait figcaption span { font-size: 12px; line-height: 1.5; color: var(--muted); }
.team-copy h2 { font-size: clamp(48px, 4.8vw, 70px); }
.team-lead { color: var(--muted); font-size: 15px; line-height: 1.9; margin: 26px 0; }
.care-point { display: flex; gap: 20px; padding: 17px 0; border-top: 1px solid var(--line); }
.care-point>span { font-size: 10px; padding-top: 4px; color: #88775a; }
.care-point h3 { font-family: var(--sans); font-size: 14px; font-weight: 500; letter-spacing: 0; line-height: 1.5; margin: 0 0 8px; }
.care-point p { color: var(--muted); font-size: 14px; line-height: 1.85; margin-bottom: 0; }
.team-copy>.text-link { margin-top: 23px; }
.first-visit { padding-top: 0; }
.visit-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 28px; }
.visit-image { position: relative; aspect-ratio: 4/3; margin-bottom: 25px; }
.visit-image img { width: 100%; height: 100%; object-fit: cover; }
.visit-image-welcome img { object-position: center 20%; }
.visit-image-preparation img { object-position: center 56%; }
.visit-image-tea img { object-position: center top; }
.visit-image>span { position: absolute; bottom: -15px; left: 20px; background: var(--paper); border: 1px solid var(--line); width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-size: 11px; }
.visit-step h3 { font-size: 32px; line-height: 1.1; margin: 30px 0 14px; letter-spacing: -.025em; }
.visit-step>p { font-size: 15px; line-height: 1.9; color: var(--muted); max-width: 350px; margin-bottom: 0; }
.salon-gallery { background: #e8ebe3; }
.gallery-hint { display: none; }
.salon-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.salon-photo { display: block; position: relative; aspect-ratio: 4/5; overflow: hidden; }
.salon-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.salon-photo:hover img { transform: scale(1.04); }
.salon-photo:nth-child(2) img { object-position: center 62%; }
.salon-photo:nth-child(6) img { object-position: center 44%; }
.salon-photo:nth-child(n+4) { aspect-ratio: 4/5; }
.photo-caption { position: absolute; bottom: 0; left: 0; right: 0; display: flex; gap: 10px; justify-content: space-between; align-items: flex-end; padding: 55px 20px 20px; background: linear-gradient(transparent,#092b2ae3); color: #fff; font-size: 12px; line-height: 1.6; }
.photo-caption>span { font-size: 23px; flex-shrink: 0; line-height: 1; }
.atmosphere .film-grid { gap: 30px; }
.atmosphere .film:nth-child(2), .atmosphere .film:nth-child(3) { margin-top: 0; }
.atmosphere .film-image { aspect-ratio: 4/5; }
.gift { padding-bottom: 100px; }
.gift-inner { background: #e7e2d5; display: grid; grid-template-columns: 1.1fr 1fr; }
.gift-copy { padding: 60px 55px; }
.gift-copy .eyebrow { font-size: 10px; color: #75674f; }
.gift-copy h2 { font-size: clamp(48px,4.7vw,72px); }
.gift-copy>p:not(.eyebrow) { color: #5e6b5f; font-size: 15px; line-height: 1.95; margin: 27px 0; max-width: 420px; }
.gift-image { min-height: 440px; }
.gift-image img { width: 100%; height: 100%; object-fit: cover; }
.faq-chat { margin-top: 12px; }
.contacts { display: block; }
.contacts-inner { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 90px); align-items: center; padding-block: 70px; }
.contact-main { padding: 0; }
.contact-main h2 { font-size: clamp(48px, 4.8vw, 72px); margin-bottom: 32px; }
.contact-address { font-size: 21px; }
.contact-main address p:last-child { font-size: 14px; }
.contact-details { margin: 28px 0; gap: 20px; }
.contact-details span { font-size: 12px; }
.contact-details p { font-size: 15px; }
.phone-link { font-size: 32px; }
.contact-photo { min-width: 0; margin: 0; align-self: center; }
.contact-photo>.facade-photo { display: block; width: 100%; height: 520px; overflow: hidden; }
.facade-photo>img { width: 100%; height: 100%; object-fit: cover; object-position: center 60%; }
.entrance-note { padding: 18px 0 0; display: flex; align-items: center; gap: 16px; color: var(--paper); }
.entrance-note>a { width: 60px; height: 76px; flex: none; }
.entrance-note img { width: 100%; height: 100%; object-fit: cover; }
.entrance-note strong { font-size: 14px; font-weight: 500; }
.entrance-note p { font-size: 12px; line-height: 1.8; margin: 5px 0 0; color: #ccd7ca; }
.contact-route { margin-top: 10px; color: #ead5ad; }
.contact-messenger { display: block; width: fit-content; font-size: 13px; color: #dbd0b6; margin-top: 18px; text-decoration: underline; text-underline-offset: 5px; }
.photo-dialog { width: 1040px; max-width: calc(100% - 30px); padding: 0; background: #102c29; color: var(--paper); max-height: 94svh; overflow: auto; }
.photo-dialog-top { display: flex; align-items: center; gap: 18px; min-height: 64px; padding: 15px 65px 15px 24px; }
.photo-dialog-top h2 { font: 14px/1.6 var(--sans); letter-spacing: 0; }
.photo-dialog-image { display: block; width: 100%; height: 68svh; object-fit: contain; background: #0b201e; }
.photo-dialog-controls { display: flex; align-items: center; justify-content: space-between; padding: 12px 24px; gap: 12px; }
.photo-dialog-controls button { min-height: 44px; min-width: 44px; padding: 8px 14px; border: 1px solid #ffffff50; color: var(--paper); background: transparent; font-size: 20px; }
.photo-dialog-count { font-size: 12px; color: #d0d8ce; }
html:not(.js) .moment-tabs,html:not(.js) .service-tabs,html:not(.js) [data-more] { display: none; }
html:not(.js) .service-layout { grid-template-columns: 1fr; }
html:not(.js) .service-panel+.service-panel { margin-top: 40px; }

@media (max-width: 1150px) {
 .hero h1 { font-size: 7.5vw; }
 .hero-description { max-width: 100%; font-size: 15px; }
 .hero-scene { width: 100%; }
 .hero-actions { gap: 16px; }
 .hero-actions .button { font-size: 12px; gap: 20px; padding-inline: 20px; }
 .hero-price-link { font-size: 13px; }
 .hero h1 span:nth-child(3) { margin-left: 3vw; }
 .ritual-grid { gap: 35px 22px; }
 .team { gap: 5%; }
 .gift-copy { padding: 45px 32px; }
 .moment-copy h3 { font-size: 40px; }
 .moment-photo { height: 430px; }
 .moment-copy .text-link { font-size: 14px; }
 .contact-main .button { gap: 16px; font-size: 13px; }
}
@media (max-width: 1000px) {
 .ritual-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px 24px; }
 .ritual-copy h3 { font-size: 36px; }
 .intro-main { gap: 5%; }
 .intro-main h2 { font-size: 54px; }
 .intention-links { column-gap: 30px; }
 .intention-links strong { font-size: 14px; }
 .salon-grid { gap: 18px; }
 .team-photo img { aspect-ratio: 4/5; }
 .visit-step h3 { font-size: 28px; }
 .contact-photo>.facade-photo { height: 490px; }
}
@media (max-width: 800px) {
 .hero { height: auto; min-height: 690px; }
 .hero-inner { display: block; padding-top: 140px; padding-bottom: 46px; }
 .hero h1 { width: 100%; font-size: clamp(80px,12vw,105px); }
 .hero h1 span:nth-child(3) { margin-left: 10vw; }
 .hero-scene { display: none; }
 .hero-description { max-width: 560px; font-size: 14px; }
 .hero-bottom { margin-top: 30px; }
 .hero-actions .button { font-size: 13px; padding-inline: 23px; }
 .hero-price-link { font-size: 12px; }
 .intro-main { grid-template-columns: 1fr; gap: 26px; }
 .intro-main h2 { font-size: 60px; }
 .intro-text { display: block; max-width: 590px; }
 .intro-text p { font-size: 15px; }
 .intention-links { margin-top: 30px; }
 .intention-links>a { gap: 12px; align-items: flex-start; }
 .intention-links svg { width: 17px; }
 .intention-links small { font-size: 11px; }
 .selection-help { padding: 28px; align-items: flex-start; }
 .selection-help strong { font-size: 30px; }
 .selection-help .button { font-size: 12px; gap: 16px; padding: 16px; }
 .moment-panel { grid-template-columns: 1fr; gap: 0; }
 .moment-photo { height: auto; aspect-ratio: 3/2; }
 #moment-men .moment-photo { height: 460px; aspect-ratio: auto; }
 .moment-copy { padding: 30px 0 0; max-width: 580px; }
 .moment-copy h3 { font-size: 48px; }
 .moment-copy>p { max-width: 560px; }
 .team { grid-template-columns: 1fr; gap: 35px; }
 .team-photo img { aspect-ratio: 3/2; object-position: center; }
 .team-copy { max-width: 650px; }
 .care-point p { font-size: 14px; }
 .care-point h3 { font-size: 16px; }
 .salon-grid { grid-template-columns: 1fr 1fr; }
 .salon-photo,.salon-photo:nth-child(n+4) { aspect-ratio: 4/4.2; }
 .visit-grid { gap: 20px; }
 .visit-step h3 { font-size: 27px; }
 .visit-step>p { font-size: 14px; }
 .gift { padding-bottom: 80px; }
 .gift-inner { grid-template-columns: 1fr; }
 .gift-copy { padding: 40px; }
 .gift-image { min-height: 0; height: 300px; }
 .gift-copy>p:not(.eyebrow) { max-width: 560px; }
 .contacts-inner { grid-template-columns: 1fr; gap: 36px; padding-block: 55px; }
 .contact-main { padding: 0; }
 .contact-details { grid-template-columns: 1fr 1fr; }
 .contact-photo { margin: 0; width: 100%; }
 .contact-photo>.facade-photo { height: 470px; }
 .entrance-note { max-width: 100%; }
 .contact-main .button { font-size: 14px; padding: 17px 25px; }
}
@media (max-width: 560px) {
 .hero { min-height: 650px; height: auto; max-height: none; }
 .hero-inner { padding-top: 123px; padding-bottom: 30px; }
 .hero-eyebrow { margin-bottom: 32px; font-size: 9px; }
 .hero h1 { font-size: clamp(58px,16.8vw,94px); line-height: .98; }
 .hero h1 span:nth-child(3) { margin-left: 10vw; }
 .hero-bottom { margin-top: 35px; }
 .hero-description { font-size: 15px; line-height: 1.8; max-width: 355px; }
 .hero-actions { align-items: flex-start; flex-direction: column; gap: 12px; }
 .hero-actions .button { font-size: 13px; min-height: 55px; gap: 32px; }
 .hero-price-link { font-size: 12px; }
 .hero-note { font-size: 11px; line-height: 1.8; margin-top: 17px; }
 .intro-main h2 { font-size: 48px; }
 .intro-text p { font-size: 15px; }
 .intention-links { grid-template-columns: 1fr; margin-top: 25px; }
 .intention-links>a { padding-block: 20px; gap: 15px; }
 .intention-links strong { font-size: 14px; }
 .intention-links small { font-size: 12px; }
 .intention-links svg { width: 20px; }
 .ritual-grid { grid-template-columns: 1fr; gap: 35px; }
 .ritual-photo { aspect-ratio: 4/5; }
 .ritual-card:nth-child(1) .ritual-photo,.ritual-card:nth-child(2) .ritual-photo,.ritual-card:nth-child(5) .ritual-photo { aspect-ratio: 3/2; }
 .ritual-copy { padding-top: 21px; }
 .ritual-copy h3 { font-size: 36px; max-width: 350px; }
 .ritual-copy>p { font-size: 14px; margin-bottom: 16px; }
 .ritual-bottom .text-link { font-size: 13px; min-height: 44px; }
 .selection-help { flex-direction: column; gap: 23px; margin-top: 35px; padding: 26px; }
 .selection-help strong { font-size: 32px; }
 .selection-help p { font-size: 14px; }
 .selection-help .button { font-size: 13px; width: 100%; }
 .moment-tabs { margin-bottom: 22px; }
 .moment-tabs { display: grid; grid-template-columns: 1fr 1fr; }
 .moment-tabs button { font-size: 14px; padding: 15px 10px; min-height: 54px; }
 .moment-photo { aspect-ratio: 4/3; }
 #moment-men .moment-photo { height: auto; aspect-ratio: 3/4; max-width: 360px; margin-inline: auto; }
 .moment-copy h3 { font-size: 41px; margin-block: 20px; }
 .moment-copy>p { font-size: 16px; }
 .moment-copy .text-link { font-size: 13px; }
 .team-photo img { aspect-ratio: 4/3; object-position: center; }
 .team-photo>span { font-size: 8px; }
 .team-copy h2 { font-size: 51px; }
 .team-lead { font-size: 15px; }
 .care-point { padding-block: 19px; }
 .first-visit { padding-top: 0; }
 .visit-grid { grid-template-columns: 1fr; gap: 34px; }
 .visit-image { aspect-ratio: 4/3; }
 .visit-step h3 { font-size: 33px; margin-top: 28px; }
 .visit-step>p { font-size: 14px; max-width: none; }
 .salon-grid { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 var(--gutter) 14px 0; margin-right: calc(-1 * var(--gutter)); scrollbar-width: thin; scrollbar-color: #829780 transparent; }
 .gallery-hint { display: block; font-size: 12px; color: var(--muted); margin: -8px 0 18px; }
 .salon-photo,.salon-photo:nth-child(n+4) { flex: 0 0 88%; aspect-ratio: 3/4; scroll-snap-align: start; }
 .photo-caption { font-size: 13px; padding-inline: 18px; }
 .atmosphere .film-grid { gap: 18px; }
 .atmosphere .film-image { aspect-ratio: 3/4; }
 .gift { padding-bottom: 65px; }
 .gift-copy { padding: 34px 25px; }
 .gift-copy h2 { font-size: 45px; }
 .gift-copy>p:not(.eyebrow) { font-size: 14px; }
 .gift-copy .button { font-size: 12px; padding: 16px 18px; gap: 15px; }
 .gift-image { height: 250px; }
 .faq-chat { margin-top: 25px; }
 .contact-main h2 { font-size: 55px; }
 .contact-main .button { font-size: 13px; padding: 17px 21px; }
 .contact-photo>.facade-photo { height: auto; aspect-ratio: 4/5; }
 .entrance-note { gap: 14px; padding: 16px 0 0; }
 .entrance-note>a { width: 60px; height: 76px; }
 .entrance-note strong { font-size: 13px; }
 .entrance-note p { font-size: 12px; }
 .photo-dialog { max-width: calc(100% - 16px); }
 .photo-dialog-image { height: 64svh; }
 .photo-dialog-top { padding-left: 18px; }
 .photo-dialog-top h2 { font-size: 12px; }
 .photo-dialog-controls { padding: 12px 18px; }
}
@media (max-width: 360px) {
 .intro-main h2 { font-size: 42px; }
 .hero { min-height: 635px; }
 .hero-eyebrow { font-size: 8px; }
 .moment-tabs button { font-size: 13px; }
 .moment-copy h3 { font-size: 37px; }
 .gift-copy { padding-inline: 20px; }
 .gift-copy h2 { font-size: 39px; }
 .selection-help { padding: 22px; }
 .contact-main h2 { font-size: 49px; }
 .contact-details { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .ritual-photo img,.salon-photo img { transition: none; } }

@media (max-width: 800px) {
 .header { height: 92px; padding-inline: var(--gutter); }
 .menu-toggle span { transition: transform .2s; }
 .menu-toggle[aria-expanded=true] span:first-child { transform: translateY(3.5px) rotate(45deg); }
 .menu-toggle[aria-expanded=true] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
 .section-space { padding-block: 72px; }
 .first-visit { padding-top: 0; }
 .signature-copy { padding: 45px 28px; }
 .signature-copy h2 { font-size: 54px; }
 .signature-media { min-height: 600px; }
 .service-layout { gap: 32px; }
 .location-strip { font-size: 12px; }
}
@media (max-width: 560px) {
 .header { height: 85px; }
 .section-space { padding-block: 60px; }
 .first-visit { padding-top: 0; }
 .hero-actions .button { font-size: 14px; }
 .hero-price-link { font-size: 13px; }
 .section-heading>.text-link { margin-top: 22px; }
 .signature-copy { padding: 44px var(--gutter); }
 .signature-copy h2 { font-size: clamp(55px, 17.4vw, 68px); }
 .signature-media { min-height: 0; aspect-ratio: 3/4; }
 .row-book { width: 44px; height: 44px; }
 .catalog-note { font-size: 11px; }
 .contact-details { gap: 22px; }
 .contact-details p { font-size: 13px; }
 .contact-details span { font-size: 11px; }
 .phone-link { font-family: var(--sans); font-size: 16px; }
}
