/* Salon experience refinements: visible choices and a continuous path to consultation. */
:root { --warm-white:#faf6eb; --leaf-light:#dfdfb5; }
body { text-wrap:pretty; }
br.mobile-line { display:none; }
.section-kicker, .section-kicker span:first-child { font-family:var(--sans); font-size:11px; letter-spacing:.09em; }
.eyebrow { letter-spacing:.06em; }
.section-kicker { margin-bottom:42px; }
.section-pad { padding-top:85px; padding-bottom:85px; }
.desktop-nav a { font-size:13px; }
.header-book, .sound-toggle { font-size:12px; }
.brand-ja { font-size:11px; }
.site-header { background:linear-gradient(180deg,#112c27a6,#112c2710); }
.site-header.scrolled { background:#f5f2ebf7; }

/* The whole opening is one photograph. Letter movement follows its arrival. */
.hero { height:auto; min-height:100svh; max-height:none; }
.hero-content { max-width:970px; padding:clamp(148px,11.2vw,182px) 8.2vw 145px; }
.hero-image { inset:0; transform:scale(1.065); transition:transform 2.25s cubic-bezier(.16,.68,.2,1); }
.hero-image img { object-position:53% 47%; filter:brightness(.96) saturate(.91); }
.hero-shade { background:linear-gradient(90deg,#102f29e8 0%,#14342aca 24%,#17392b4a 52%,#1933290c 78%),linear-gradient(0deg,#122e29d1,transparent 38%,#19342d4a); }
.hero-grain { opacity:.08; }
.hero-light { background:linear-gradient(112deg,transparent 37%,#f8e9c419 47%,#fff6d532 50%,transparent 62%); opacity:.18; }
.hero.is-ready .hero-light { animation:handLight 2.05s .08s ease-out both; }
.hero h1 { font-size:clamp(55px,5.25vw,80px); line-height:1.4; letter-spacing:.025em; text-shadow:0 3px 28px #07281d50; }
.hero.is-ready h1 span { animation:handLetter 1.3s .08s cubic-bezier(.14,.7,.18,1) both; }
.hero.is-ready h1 span:nth-child(2) { animation-delay:.22s; }
.hero.is-ready h1 span:nth-child(3) { animation-delay:.36s; }
.hero h1 em { color:#f0d5a2; text-shadow:0 0 38px #ead49b45; }
.hero-eyebrow { font-size:12px; letter-spacing:.12em; color:#f2ead5; margin-bottom:26px; }
.hero-copy { font-size:15px; line-height:1.95; color:#fffdf1; margin-top:25px; text-shadow:0 2px 12px #123429; }
.hero-cta { font-size:13px; min-height:66px; margin-top:27px; }
.hero-secondary { font-size:13px; min-height:44px; margin-top:20px; }
.hero-side { display:none; }
.hero-bottom { bottom:29px; left:8.2vw; right:5vw; }
.hero-bottom>span, .hero-bottom b { font-size:12px; }
.hero-index { display:none; }
.scroll-cue>span:not(.tap-ripple):not(.tap-petal) { font-size:11px; letter-spacing:.09em; }
.welcome-strip { padding-top:25px; padding-bottom:25px; font-size:13px; }

/* Real people and hands remain visible in the original salon photographs. */
.philosophy-grid { grid-template-columns:1.1fr 1fr; align-items:center; gap:8%; }
.philosophy-photo { height:auto; aspect-ratio:1.28; margin-right:15px; }
.philosophy-photo img { object-position:74% 45%; filter:saturate(.87); }
.philosophy-photo::before { inset:18px -18px -18px 18px; }
.philosophy-copy { padding-top:0; }
.philosophy-copy h2 { font-size:clamp(29px,2.7vw,42px); margin:15px 0 22px; }
.philosophy-copy>p:not(.eyebrow) { font-size:14px; line-height:2; letter-spacing:.01em; margin-bottom:17px; }
.philosophy-copy .philosophy-sign { margin-top:22px!important; font-size:20px!important; }
.photo-caption { font-size:12px; line-height:1.8; bottom:22px; left:23px; right:18px; text-shadow:0 2px 10px #14382a; }
.photo-number { font-size:76px; bottom:68px; }
.signature-section { padding-top:32px; padding-bottom:72px; background:radial-gradient(ellipse at 90% 45%,#d9dfc280,transparent 63%),linear-gradient(180deg,#f5f2eb,#ececde); }
.signature-heading { margin-bottom:33px; gap:35px; }
.signature-heading h2 { font-size:clamp(30px,3vw,43px); }
.signature-heading>p { font-size:14px; max-width:340px; }
.ritual-story { gap:6%; align-items:start; }
.ritual-panel:nth-child(2) { padding-top:65px; }
.ritual-hands .ritual-picture { aspect-ratio:1.23; }
.ritual-hands .ritual-picture img { object-position:50% 47%; }
.ritual-oil .ritual-picture { aspect-ratio:1.08; max-width:500px; }
.ritual-oil .ritual-picture img { object-position:58% 35%; }
.ritual-picture img { filter:saturate(.88); }
.ritual-text h3 { font-size:32px; margin:10px 0 13px; }
.ritual-text>p:not(.eyebrow) { font-size:14px; line-height:1.95; }
.ritual-text>.text-link, .ritual-price small, .ritual-price>span { font-size:12px; }
.ritual-step { font-size:12px; }
.signature-choice { position:relative; margin-top:30px; padding:28px 30px; border:1px solid #a9b79b; background:linear-gradient(115deg,#fcf9eff5,#e1e7d4f0); box-shadow:0 8px 24px #213b2d08; }
.signature-choice-title>span { display:block; font:12px/1.7 var(--sans); color:#526c44; margin-bottom:8px; }
.signature-choice-title h3 { font-size:25px; font-weight:400; }
.signature-choice-title { font-family:var(--serif); font-size:24px; line-height:1.7; margin-bottom:20px; }
.signature-choice-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.signature-choice-item { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:8px; text-align:left; padding:18px 15px; min-width:0; border:1px solid #afbca0; border-radius:2px 17px 2px 17px; background:linear-gradient(135deg,#ffffffbc,#eef0e1); box-shadow:0 3px 0 #acb798; overflow:hidden; line-height:1.65; }
.choice-price i { position:absolute; right:13px; bottom:12px; color:#5d744d; font-size:19px; font-style:normal; }
.signature-choice-item strong { font-family:var(--serif); font-weight:400; font-size:20px; line-height:1.55; }
.choice-concern { font-size:12px; color:#435b3c; }
.choice-price { font-size:12px; margin-top:auto; padding-top:6px; padding-right:18px; }
.signature-choice-note { font-size:11px; line-height:1.85; margin-top:18px; color:#52644b; }
.ritual-bridge { margin-top:28px; padding-top:25px; }
.ritual-bridge p { font-size:13px; }
.ritual-bridge strong { font-size:23px; }

/* Priority changes the recommendation; feedback stays beside the selected concern. */
.care-grid { gap:6%; grid-template-columns:1fr 1.12fr; }
.care-intro h2 { font-size:clamp(32px,3.2vw,46px); }
.care-intro>p { font-size:14px; line-height:1.9; }
.care-intro .micro-copy { font-size:12px!important; }
.care-scene-caption>span { font:12px/1.6 var(--sans); letter-spacing:.07em; }
.care-scene-caption h3 { font-size:29px; }
.care-scene-foot>p { font-size:13px; line-height:1.85; }
.care-scene-photo { aspect-ratio:1.08; }
.care-stage[data-scene=head] .care-scene-photo img { object-position:50% 45%; }
.care-stage[data-scene=hair] .care-scene-photo img { object-position:50% 70%; }
.check-item { display:grid; grid-template-columns:25px minmax(0,1fr) 30px; gap:0 15px; padding:22px 8px; align-items:center; }
.check-item.selected { padding-left:12px; padding-right:12px; }
.check-text { font-size:14px; line-height:1.85; }
.check-top { font-size:12px; }
.check-reaction { display:none; grid-column:2/4; margin-top:15px; pointer-events:none; position:relative; z-index:2; }
.selected .check-reaction { display:flex; align-items:center; gap:12px; border-top:1px solid #e2dfb835; padding-top:14px; animation:choiceReveal .55s ease-out both; }
.check-reaction>img { width:70px; height:64px; flex:none; object-fit:cover; border:1px solid #dadabb80; border-radius:2px 12px 2px 12px; }
.check-reaction-copy { display:block; }
.check-reaction-copy strong { display:block; font-family:var(--serif); font-weight:400; font-size:19px; line-height:1.6; color:#fff3cd; }
.check-reaction-copy small { display:block; font-size:11px; line-height:1.75; color:#e4ecd8; margin-top:3px; }
.check-item[data-care=hair] .check-reaction>img { object-position:50% 70%; }
.check-item.is-recent.selected { box-shadow:inset 3px 0 0 #e0c792; }
.check-item.is-recent .check-mark { box-shadow:0 0 0 5px #e0c7921a,0 0 24px #e0c79238; }
#care-priority { min-width:0; margin:27px 0 7px; padding:21px; border:1px solid #b5c19270; background:radial-gradient(ellipse at 90% 0,#a6b87727,transparent 70%),linear-gradient(125deg,#314f3e,#233f34); }
#care-priority legend { padding:0 9px; color:#f0e1b8; font-family:var(--serif); font-size:23px; line-height:1.6; }
#priority-hint { font-size:12px; line-height:1.85; color:#dbe5cd; margin:0 0 17px; }
#priority-options { display:flex; flex-wrap:wrap; gap:10px; }
.priority-option { cursor:pointer; position:relative; min-height:44px; display:flex; align-items:center; border:1px solid #829772; border-radius:2px 17px 2px 17px; background:linear-gradient(120deg,#48604770,#274639); overflow:hidden; }
.priority-option input { position:absolute; inset:0; margin:0; opacity:0; width:100%; height:100%; cursor:pointer; }
.priority-option-label { position:relative; padding:12px 14px 12px 35px; font-size:12px; line-height:1.6; pointer-events:none; }
.priority-option-label::before { content:''; position:absolute; width:11px; height:11px; border:1px solid #b7c69f; border-radius:50%; top:50%; left:13px; translate:0 -50%; }
.priority-option.selected { border-color:#e3cfa2; background:linear-gradient(135deg,#efdfb4,#bdad77); color:#203b2c; box-shadow:0 3px 0 #96835c,0 0 25px #d1c99212; }
.priority-option.selected .priority-option-label::before { background:#345336; border-color:#345336; box-shadow:inset 0 0 0 2px #e9dbae; }
.priority-option:has(input:focus-visible) { outline:2px solid #f1dc9d; outline-offset:4px; }
.priority-option:active { scale:.975; }
.care-recommendation { position:relative; grid-template-columns:120px minmax(0,1fr); border-color:#b5bfa1; }
.care-recommendation.is-priority { border-color:#e2c48d; box-shadow:0 0 0 2px #e2c48d35,0 12px 30px #14291e4a; }
.care-recommendation.is-recent:not(.is-priority) { border-color:#bbcc99; }
.rec-badges { display:flex; gap:5px; flex-wrap:wrap; margin-bottom:9px; }
.rec-badge { display:inline-block; padding:4px 7px; border:1px solid #adbc99; color:#344d2f; font-size:10px; line-height:1.5; }
.rec-badge.is-priority { background:linear-gradient(120deg,#eee0bb,#d4be87); border-color:#bba471; }
.rec-badge.is-recent { background:#e4ead6; }
.rec-copy h4 { font-size:23px; }
.rec-copy .eyebrow, .rec-reason, .rec-price { font-size:12px; }
.rec-details { font-size:12px; min-height:44px; }
.care-summary>h3 { font-size:27px; }
.care-summary label, .summary-choice { font-size:12px; }
.summary-choice.is-priority { background:#e2d5aa; border-color:#aa9358; }
.check-complete small { font-size:12px; }
.check-complete p { font-size:27px; }
.check-complete>.eyebrow { font-size:11px; }

/* Each treatment tells visitors its purpose without requiring another click. */
.section-title-row p { font-size:14px; line-height:1.95; }
.treatment-content>p:not(.eyebrow), .menu-row p { font-size:14px; line-height:1.9; }
.treatment-image { height:auto; aspect-ratio:1.52; }
.treatment-head .treatment-image img { object-position:80% 48%; }
.treatment-skin .treatment-image img { object-position:58% 48%; }
.treatment-tag { font-family:var(--sans); font-size:11px; letter-spacing:.1em; }
.menu-purpose { display:flex; gap:11px; align-items:baseline; border-left:2px solid #8d9e6d; padding:7px 0 7px 13px; margin-top:15px; color:#3c5838; background:linear-gradient(90deg,#dce3c97a,transparent); }
.menu-purpose>span { flex:none; font:11px/1.7 var(--sans); color:#566d49; }
.menu-purpose>strong { font:400 17px/1.7 var(--serif); }
.treatment-content>.menu-purpose, .menu-row .menu-purpose { font-size:13px; line-height:1.85; }
.price-note { font-size:13px; }
.other-menus { margin-top:30px; }
.menu-row { gap:25px; padding:26px 0; }
.menu-row img { width:180px; height:147px; }
.menu-row .eyebrow { font-size:11px; }
.menu-row h3 { font-size:27px; }
.menu-row .menu-purpose { margin-top:12px; }
#menu-hair>img { object-position:50% 70%; }
#menu-body>img { object-position:60% 50%; }
#menu-hairremoval>img { object-position:57% 47%; }
.menu-footnote { font-size:12px; }
.breath-section { min-height:410px; padding-top:60px; padding-bottom:60px; }
.breath-copy p:not(.eyebrow) { font-size:14px; }
.voice-grid { gap:30px; }
.voice-photo { aspect-ratio:1.6; }
.voice:nth-child(1) .voice-photo img { object-position:57% 37%; }
.voice:nth-child(2) .voice-photo img { object-position:60% 44%; }
.voice:nth-child(3) .voice-photo img { object-position:50% 72%; }
.voice-photo>span { font-size:11px; letter-spacing:.05em; }
.voice-concern { font-size:13px; line-height:1.85; }
.voice figcaption, .voice-source, .voice-disclaimer { font-size:11px; }
.voice blockquote { font-size:23px; }
.voice .text-link { font-size:13px; }
.owner-image { border-radius:32% 32% 0 0; }
.owner-image::before, .owner-image img { border-radius:32% 32% 0 0; }
.owner-image img { object-position:78% 38%; filter:saturate(.83); }
.owner-copy>p:not(.eyebrow) { font-size:14px; }
.faq-list summary { font-size:14px; }
.faq-list details p { font-size:14px; }
.faq-photo { object-position:50% 82%; }
.faq-intro>p:not(.eyebrow), .salon-heading p { font-size:14px; }
.salon-gallery { margin-bottom:40px; }
.salon-gallery figure:first-child img { object-position:67% 50%; }
.salon-gallery figure:nth-child(2) img { object-position:48% 50%; }
.salon-gallery figure:nth-child(3) img { object-position:72% 48%; }
.salon-gallery figcaption, .visit-steps p { font-size:12px; }
.visit-steps { gap:30px; }
.access-invitation>p, .access-details dd { font-size:14px; }
.access-details dt { font-size:12px; }
.access-links .text-link, .footer>span, .back-top { font-size:12px; }
.dialog-body>p, .price-table { font-size:14px; }
.dialog-note, .dialog-source { font-size:12px!important; }
.dialog-photo { object-position:50% 37%; }
.photo-neck-detail { object-position:74% 47%; }
#dialog-hair .dialog-photo, .care-recommendation[data-care=hair]>img { object-position:50% 70%; }
.care-aim>span { font-size:12px; }

/* One strong entry, quiet everyday feedback, a richer completion. */
.control-pending { opacity:.75; }
.button, .circle-button, .header-book, .signature-choice-item { will-change:auto; }
.button-light { background:linear-gradient(128deg,#fffbed 0%,#eee6ce 55%,#ded3b9 100%); box-shadow:0 5px 0 #afa184,0 13px 32px #08281d55,inset 0 1px 0 #fffbed; }
.button-gold { background:linear-gradient(118deg,#f0e0b7 0%,#dcc294 55%,#c3a26b 100%); box-shadow:0 5px 0 #947745,0 12px 28px #102d2540,inset 0 1px 0 #fff5cfaa; }
.nav-toggle>span:nth-child(-n+2) { display:block; height:1px; margin:7px 0; }
.nav-toggle>.tap-petal { margin:0; }
.nav-toggle>.tap-ripple { margin:0; }
.js-motion .philosophy-photo.in-view img, .js-motion .ritual-panel.in-view .ritual-picture img, .js-motion .treatment.in-view .treatment-image img { animation:photoUnfold 1.4s cubic-bezier(.13,.7,.21,1) both; }
.js-motion .ritual-panel.in-view .ritual-text { animation:photoCaption .9s .16s both; }
.js-motion .salon-gallery .reveal.in-view:nth-child(2) { transition-delay:.1s; }
.js-motion .salon-gallery .reveal.in-view:nth-child(3) { transition-delay:.2s; }
@keyframes handLetter { from { opacity:.72; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
@keyframes handLight { from { transform:translateX(-26%); opacity:0; } 42% { opacity:.45; } to { transform:translateX(24%); opacity:0; } }
@keyframes photoUnfold { from { transform:scale(1.07); filter:saturate(.4); } to { transform:scale(1); filter:saturate(.88); } }
@keyframes photoCaption { from { opacity:.5; translate:0 15px; } to { opacity:1; translate:0 0; } }
@keyframes choiceReveal { from { opacity:.25; translate:0 8px; } to { opacity:1; translate:0 0; } }

/* Round three: selected courses stay recognisable through the consultation. */
.hero.is-ready .hero-copy { animation:copyArrival 1s .32s both; }
.hero.is-ready .hero-cta>span:not(.tap-ripple):not(.tap-petal),
.hero.is-ready .hero-cta>svg { animation:copyArrival 1s .48s both; }
.philosophy-photo img, .ritual-picture img, .treatment-image img,
.voice-photo img, .salon-gallery img { filter:saturate(.88) contrast(1.015); }
.philosophy-photo::after { content:''; position:absolute; inset:60% 0 0; background:linear-gradient(0deg,#19352c99,transparent); pointer-events:none; }
.photo-caption, .photo-number { z-index:1; }
.priority-option, .priority-option.selected { padding:0; min-width:0; max-width:100%; flex:0 1 auto; }
.priority-option-label { min-width:0; white-space:normal; }
.rec-details { display:flex; width:100%; justify-content:space-between; gap:10px; min-height:46px; padding:11px 12px; border:1px solid #789064; border-radius:2px 12px 2px 12px; background:linear-gradient(125deg,#faf9ed,#dce4c8); box-shadow:0 2px 0 #a6b58f; }
.check-actions { gap:10px; padding-top:20px; border-top:1px solid #d9c49266; }
.check-actions .check-reset { align-self:center; color:#d5dfc9; }
.menu-voice-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; margin-top:8px; font-size:12px; color:#415b36; border-bottom:1px solid #9aad87; overflow:hidden; }
.menu-voice-link::after { content:'↗'; font-size:16px; }
.voice .text-link { background:transparent; text-align:left; padding-left:0; padding-right:0; }
.voice[id] { scroll-margin-top:115px; }
.voice:target .voice-photo { outline:2px solid #b49a61; outline-offset:5px; }
.voice:target blockquote { text-decoration:underline; text-decoration-color:#cbb789; text-decoration-thickness:1px; text-underline-offset:6px; }
.breath-next .breath-next-actions { display:flex; flex-wrap:wrap; gap:15px 22px; align-items:center; margin-top:18px; }
.breath-next-actions .button { width:auto; min-height:56px; padding:17px 23px; font-size:13px; }
.breath-next-actions .text-link { min-height:44px; margin:0; }
#head-course-context { position:relative; margin:21px 0 24px; padding:24px; border:1px solid #b49a65; border-radius:2px 22px 2px 22px; background:radial-gradient(ellipse at 100% 0,#e9d7a377,transparent 70%),linear-gradient(125deg,#fdf9ed,#e6e9d7); box-shadow:0 6px 22px #233e2412; }
#head-course-context>.eyebrow { color:#57703d; font-size:12px; }
#head-course-name { font-size:29px; line-height:1.55; margin:10px 0 8px; }
#head-course-price { font-size:14px; line-height:1.85; color:#425838; }
#head-course-consult { width:100%; max-width:100%; justify-content:center; white-space:normal; text-align:center; min-height:59px; font-size:14px; line-height:1.7; margin-top:20px; padding:18px; }
.price-table tr[data-course-row].highlight { background:linear-gradient(100deg,#e7dbb7,#f4efd9); outline:1px solid #b5995b; outline-offset:-1px; }
.price-table tr[data-course-row].highlight th { box-shadow:inset 3px 0 0 #a48442; padding-left:13px; }
.price-table tr[data-course-row].highlight th, .price-table tr[data-course-row].highlight td { color:#25402f; font-weight:600; }
#dialog-head[data-course=shirodhara] #head-course-photo { object-position:58% 32%; }
#dialog-head[data-course] .dialog-body>h2 { margin-bottom:0; }

@media (max-width:1100px) {
  .care-grid { grid-template-columns:.9fr 1.1fr; gap:4%; }
  .care-scene-caption { left:20px; right:17px; }
  .care-scene-caption h3 { font-size:25px; }
  .signature-choice-grid { grid-template-columns:repeat(2,1fr); }
  .signature-choice-item { padding:18px 20px; }
  .philosophy-copy>p:not(.eyebrow) { font-size:13px; }
  .philosophy-grid { gap:6%; }
  .menu-purpose { display:block; }
  .menu-purpose>span { display:block; margin-bottom:4px; }
  .care-recommendation { grid-template-columns:90px minmax(0,1fr); }
  .rec-copy { padding:15px; }
  .rec-copy h4 { font-size:21px; }
  .voice blockquote { font-size:21px; }
}
@media (max-width:980px) {
  .section-pad { padding-top:65px; padding-bottom:65px; }
  .hero-content { padding:146px 7vw 136px; }
  .hero h1 { font-size:61px; }
  .hero-copy { font-size:14px; }
  .hero-bottom { left:7vw; right:7vw; }
  .philosophy-grid { align-items:start; }
  .philosophy-photo { aspect-ratio:1.1; margin-top:20px; }
  .philosophy-copy h2 { font-size:31px; }
  .signature-section { padding-top:25px; }
  .signature-heading>p { max-width:none; }
  .ritual-panel:nth-child(2) { padding-top:45px; }
  .ritual-text h3 { font-size:29px; }
  .care-intro h2 { font-size:34px; }
  .care-intro>p { font-size:13px; }
  .check-item { gap:0 10px; grid-template-columns:21px minmax(0,1fr) 28px; }
  .check-text { font-size:13px; }
  .check-text br { display:none; }
  .check-reaction { grid-column:1/4; }
  .check-reaction-copy strong { font-size:18px; }
  #care-priority { padding:18px 15px; }
  #care-priority legend { font-size:22px; }
  .menu-row { gap:20px; }
  .menu-row img { width:140px; height:145px; }
  .menu-row h3 { font-size:24px; }
  .menu-row p { font-size:13px; }
  .voice-grid { gap:23px; }
  .salon-gallery figcaption { font-size:11px; }
  .access-details dt { font-size:11px; }
}
@media (max-width:680px) {
  br.mobile-line { display:initial; }
  .priority-option, .priority-option.selected { padding:0; }
  .rec-details { width:100%; min-height:46px; padding:11px 12px; }
  .check-actions { padding-top:18px; gap:10px; }
  .menu-voice-link { font-size:12px; line-height:1.7; gap:7px; }
  .breath-next-actions { align-items:stretch; }
  .breath-next .breath-next-actions .button { width:100%; margin:0; font-size:13px; }
  .breath-next-actions .text-link { width:fit-content; }
  #head-course-context { padding:19px 16px; margin-top:18px; }
  #head-course-name { font-size:25px; margin-top:8px; }
  #head-course-price { font-size:13px; }
  #head-course-consult { font-size:12px; line-height:1.8; padding:16px 12px; margin-top:16px; }
  .price-table tr[data-course-row].highlight th { padding-left:10px; }
  .section-pad { padding:52px 6.5vw; }
  .section-kicker { gap:16px; align-items:baseline; margin-bottom:28px; padding-bottom:15px; }
  .section-kicker, .section-kicker span:first-child { font-size:11px; line-height:1.7; letter-spacing:.02em; }
  .section-kicker span:first-child { flex:none; }
  .section-kicker span:last-child { text-align:right; }
  .eyebrow { font-size:11px; line-height:1.75; }
  .brand-ja { font-size:10px; }
  .sound-toggle { font-size:11px; min-height:44px; }
  .nav-toggle { width:38px; min-width:38px; height:44px; }
  .site-header { padding:20px; gap:8px; }
  .site-header.scrolled { padding:12px 20px; }
  .hero { min-height:100svh; height:auto; max-height:none; }
  .hero-content { padding:130px 6.8vw 122px; }
  .hero h1 { font-size:clamp(38px,10.3vw,60px); line-height:1.47; letter-spacing:.02em; }
  .hero-eyebrow { font-size:11px; line-height:1.8; letter-spacing:.075em; margin-bottom:23px; gap:9px; }
  .hero-image img { object-position:61% 45%; filter:brightness(.94) saturate(.88); }
  .hero-shade { background:linear-gradient(90deg,#14362ade,#14392a79 70%,#102f2940),linear-gradient(0deg,#102f29e8,transparent 54%,#14362a66); }
  .hero-copy { font-size:13px; max-width:310px; line-height:1.95; letter-spacing:.01em; margin-top:23px; }
  .hero-cta { font-size:12px; min-height:64px; width:min(100%,350px); padding:19px 21px; gap:17px; margin-top:25px; }
  .hero-secondary { font-size:12px; min-height:44px; margin-top:18px; }
  .hero-bottom { left:6.8vw; right:6.8vw; bottom:25px; }
  .hero-bottom>span, .hero-bottom b { font-size:10px; }
  .scroll-cue>span:not(.tap-ripple):not(.tap-petal) { font-size:10px; letter-spacing:.01em; }
  .welcome-strip { padding:22px 6vw; font-size:11px; gap:12px; }
  .welcome-strip span:first-child { font-size:18px; margin-bottom:4px; }
  .philosophy-grid { gap:30px; grid-template-columns:1fr; }
  .philosophy-photo { aspect-ratio:1.3; height:auto; margin:0 15px 12px 0; }
  .philosophy-photo img { object-position:73% 46%; }
  .philosophy-photo::before { inset:12px -13px -13px 13px; }
  .philosophy-copy h2 { font-size:32px; margin:13px 0 20px; line-height:1.6; }
  .philosophy-copy>p:not(.eyebrow) { font-size:14px; max-width:none; line-height:1.95; margin-bottom:16px; }
  .philosophy-copy .philosophy-sign { font-size:18px!important; }
  .photo-caption { font-size:11px; bottom:16px; left:17px; max-width:none; }
  .photo-number { font-size:53px; bottom:56px; }
  .signature-section { padding-top:22px; }
  .signature-section .section-kicker { font-size:11px; }
  .signature-heading { margin-bottom:26px; }
  .signature-heading h2 { font-size:30px; }
  .signature-heading>p { font-size:13px; line-height:1.9; margin-top:16px; }
  .signature-heading .eyebrow { font-size:11px; }
  .ritual-story { gap:30px; }
  .ritual-panel:nth-child(2) { padding-top:0; }
  .ritual-hands .ritual-picture { aspect-ratio:1.3; }
  .ritual-oil .ritual-picture { aspect-ratio:1.08; }
  .ritual-step { font-size:11px; padding:7px 9px; }
  .ritual-text { padding-top:19px; }
  .ritual-text h3 { font-size:clamp(23px,7vw,28px); margin:10px 0 12px; }
  .ritual-text>p:not(.eyebrow) { font-size:14px; line-height:1.9; }
  .ritual-text>.text-link { font-size:13px; min-height:44px; margin-top:8px; }
  .ritual-price { margin-top:13px; }
  .signature-choice { margin-top:28px; padding:22px 17px; }
  .signature-choice-title { font-size:22px; line-height:1.6; margin-bottom:17px; }
  .signature-choice-grid { gap:12px 10px; }
  .signature-choice-item { padding:15px 12px; gap:8px; }
  .signature-choice-item strong { font-size:18px; line-height:1.65; }
  .choice-concern { font-size:11px; }
  .choice-price { font-size:11px; line-height:1.7; padding-right:10px; }
  .choice-price i { font-size:16px; right:8px; bottom:12px; }
  .signature-choice-note { font-size:11px; margin-top:15px; }
  .ritual-bridge { gap:17px; padding-top:23px; margin-top:25px; }
  .ritual-bridge p { font-size:12px; }
  .ritual-bridge strong { font-size:19px; line-height:1.7; }
  .care-grid { grid-template-columns:1fr; gap:18px; }
  .care-intro { position:relative; top:auto; }
  .care-intro h2 { font-size:35px; line-height:1.6; margin-bottom:15px; }
  .care-intro>p { font-size:13px; max-width:none; }
  .care-stage { margin:22px 0 15px; }
  .care-scene-photo { aspect-ratio:1.6; }
  .care-scene-caption { left:20px; bottom:18px; right:15px; }
  .care-scene-caption h3 { font-size:23px; }
  .care-scene-caption>span { font-size:11px; }
  .care-scene-foot { padding:12px 10px 8px; }
  .care-scene-foot>p { font-size:12px; }
  .stage-dots { margin-top:15px; gap:15px; }
  .care-intro .micro-copy { font-size:11px!important; }
  .check-item { grid-template-columns:24px minmax(0,1fr) 29px; gap:0 11px; padding:22px 5px; }
  .check-item.selected { padding:20px 10px; }
  .check-text { font-size:14px; line-height:1.85; }
  .check-text br { display:none; }
  .check-reaction { grid-column:2/4; }
  .selected .check-reaction { margin-top:13px; padding-top:13px; gap:10px; }
  .check-reaction>img { width:62px; height:62px; }
  .check-reaction-copy strong { font-size:18px; line-height:1.5; }
  .check-reaction-copy small { font-size:11px; line-height:1.75; }
  #care-priority { margin-top:25px; padding:19px 14px; }
  #care-priority legend { font-size:23px; padding:0 7px; }
  #priority-hint { font-size:12px; margin-bottom:15px; }
  #priority-options { gap:10px; }
  .priority-option-label { font-size:12px; padding:12px 13px 12px 33px; }
  .check-feedback { padding-top:23px; }
  .check-feedback>p { font-size:22px; }
  .care-recommendation { min-width:min(88%,320px); max-width:320px; flex-basis:88%; }
  .care-recommendation>img { height:175px; }
  .care-recommendation.is-priority { box-shadow:inset 0 0 0 1px #e2c48d; }
  .rec-copy { padding:18px; }
  .rec-copy h4 { font-size:24px; margin-top:7px; }
  .rec-copy .eyebrow { font-size:11px; }
  .rec-reason { font-size:13px; }
  .rec-price { font-size:12px; }
  .rec-details { min-height:46px; font-size:13px; margin-top:10px; }
  .rec-badge { font-size:11px; }
  .result-note { font-size:12px; }
  .check-actions .button { font-size:12px; padding:19px 17px; }
  .check-actions .check-reset { font-size:12px; min-height:44px; }
  .care-summary { padding:27px 18px 22px; }
  .care-summary>h3 { font-size:25px; }
  .care-summary label { font-size:12px; }
  .summary-choice { font-size:11px; }
  .check-complete p { font-size:25px; }
  .check-complete small { font-size:12px; }
  .check-complete>.eyebrow { font-size:11px; }
  .section-title-row h2 { font-size:31px; }
  .section-title-row p { font-size:13px; }
  .treatment-image { height:auto; aspect-ratio:1.32; }
  .treatment-content { padding:20px 0 8px; }
  .treatment-content>p:not(.eyebrow) { font-size:14px; }
  .treatment-content h3 { font-size:28px; }
  .treatment-tag { font-size:11px; }
  .treatment-bottom { gap:12px; }
  .price-note { font-size:12px; line-height:1.75; }
  .menu-purpose { padding:8px 0 8px 12px; margin-top:12px; }
  .menu-purpose>strong { font-size:18px; }
  .other-menus { margin-top:26px; }
  .menu-row { display:grid; grid-template-columns:92px minmax(0,1fr); gap:14px; align-items:start; padding:25px 0; }
  .menu-row .row-number { position:absolute; top:32px; left:8px; z-index:2; font-size:13px; padding:4px 5px; color:#fff; text-shadow:0 1px 5px #14362a; background:#14362a80; }
  .menu-row img { width:100%; height:155px; }
  .menu-row>div { width:auto; min-width:0; padding-right:0; }
  .menu-row h3 { font-size:21px; line-height:1.55; margin:6px 0 10px; }
  .menu-row p { font-size:13px; line-height:1.85; }
  .menu-row .eyebrow { font-size:11px; }
  .menu-row .menu-purpose { grid-column:1/-1; font-size:12px; }
  .menu-row .menu-purpose>strong { font-size:17px; }
  .menu-row .circle-button { position:relative; inset:auto; transform:none; grid-column:2; justify-self:end; width:46px; height:46px; margin:0; }
  .menu-row .circle-button.is-pressed { animation:tactilePress .45s!important; }
  .menu-footnote { font-size:12px; }
  .breath-section { padding:45px 7vw; gap:25px; min-height:0; }
  .breath-copy h2 { font-size:clamp(24px,6.8vw,30px); letter-spacing:.025em; }
  .breath-copy p:not(.eyebrow) { font-size:13px; }
  .breath-next p { font-size:13px!important; }
  .breath-next .text-link { font-size:12px; }
  .voice-grid { gap:27px; }
  .voice { padding-bottom:27px; }
  .voice-photo { aspect-ratio:1.7; }
  .voice-concern { font-size:13px; }
  .voice-body { padding-top:17px; }
  .voice blockquote { font-size:23px; line-height:1.8; }
  .voice figcaption { margin-top:12px; }
  .voice .text-link { font-size:13px; margin-top:16px; }
  .voice-disclaimer { font-size:11px; line-height:1.9; }
  .owner-section { gap:28px; }
  .owner-image { height:auto; aspect-ratio:1.02; border-radius:25% 25% 0 0; }
  .owner-image img, .owner-image::before { border-radius:25% 25% 0 0; }
  .owner-image img { object-position:78% 38%; filter:saturate(.83); }
  .owner-copy h2 { font-size:31px; }
  .owner-copy>p:not(.eyebrow) { font-size:14px; }
  .owner-sign>span { font-size:11px; }
  .faq-intro { grid-template-columns:1fr .43fr; gap:0 12px; }
  .faq-photo { object-position:50% 58%; }
  .faq-intro>.eyebrow { font-size:11px; }
  .faq-intro h2 { font-size:28px; letter-spacing:.025em; }
  .faq-intro>p:not(.eyebrow) { font-size:13px; }
  .faq-list summary { font-size:14px; padding-top:19px; padding-bottom:19px; }
  .faq-list details p { font-size:13px; line-height:1.95; padding-left:0; }
  .salon-heading h2 { font-size:32px; }
  .salon-heading p { font-size:13px; }
  .salon-gallery { gap:12px; margin-bottom:30px; }
  .salon-gallery figure:first-child { height:auto; aspect-ratio:1.7; }
  .salon-gallery figure:nth-child(2), .salon-gallery figure:nth-child(3) { height:225px; }
  .salon-gallery figure:nth-child(3) img { object-position:76% 48%; }
  .salon-gallery figcaption { font-size:11px; left:8px; right:8px; padding:7px; }
  .visit-steps { gap:23px 18px; }
  .visit-steps h3 { font-size:19px; }
  .visit-steps p { font-size:12px; line-height:1.85; }
  .access-invitation h2 { font-size:clamp(26px,7.7vw,33px); letter-spacing:.025em; }
  .access-invitation>p, .access-details dd { font-size:13px; }
  .access-details dt { font-size:11px; width:65px; }
  .access-links .text-link { font-size:13px; }
  .footer>span, .back-top { font-size:11px; }
  .book-large small { font-size:11px; }
  .dialog-body>p { font-size:14px; }
  .price-table { font-size:13px; }
  .price-table td:not(:first-child), .price-table thead { font-size:12px; }
  .dialog-note, .dialog-source { font-size:12px!important; }
  .dialog-body { padding:22px 18px 28px; }
  .dialog-body .button { font-size:13px; padding:17px; gap:12px; }
  .mobile-book a { font-size:13px; padding-top:18px; padding-bottom:18px; }
}
@media (min-width:371px) and (max-width:410px) {
  .signature-choice-item strong { font-size:16px; letter-spacing:0; }
}
@media (max-width:370px) {
  .site-header { padding-left:16px; padding-right:16px; }
  .hero-content { padding-top:124px; padding-bottom:125px; }
  .hero h1 { font-size:37px; letter-spacing:.01em; }
  .hero-eyebrow { font-size:10px; }
  .hero-copy { font-size:13px; }
  .hero-cta { font-size:11px; padding:19px 16px; }
  .hero-bottom>span, .hero-bottom b, .scroll-cue>span:not(.tap-ripple):not(.tap-petal) { font-size:9px; }
  .check-item { grid-template-columns:20px minmax(0,1fr) 25px; gap:0 8px; }
  .check-text { font-size:13px; }
  .check-reaction { grid-column:1/4; }
  .check-reaction-copy strong { font-size:18px; }
  .signature-choice { padding:19px 13px; }
  .signature-choice-grid { grid-template-columns:1fr; }
  .signature-choice-item { min-height:112px; }
  .signature-choice-item strong { font-size:20px; }
  .choice-concern, .choice-price { font-size:12px; }
  .menu-row { grid-template-columns:80px minmax(0,1fr); gap:12px; }
  .menu-row h3 { font-size:20px; }
  .menu-row p { font-size:12px; }
  .faq-intro h2 { font-size:24px; }
  .hero-bottom .scroll-cue { gap:7px; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation:none!important; transition:none!important; }
  .hero-image, .hero h1 span, .ritual-picture img, .philosophy-photo img, .treatment-image img { transform:none!important; }
  .hero h1 span, .hero-copy, .check-reaction { opacity:1!important; }
  .hero-light { display:none; }
  .priority-option:active { scale:1; }
  .control-pending { opacity:1; }
}
