/* Mobile review: direct consultation, readable validation, contextual case navigation. */
.contact-hero{padding-bottom:24px}.contact-hero h1{margin:12px 0}.contact-jumps{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:8px}
.contact-page .contact-card{min-width:0}.contact-page .inquiry-form{border:0;margin:0;padding:0}.contact-page .inquiry-form>h2{margin-bottom:12px}.contact-page .inquiry-form>p{margin-bottom:20px}
.contact-channels{margin-top:38px;padding-top:30px;border-top:1px solid var(--line);scroll-margin-top:100px}.contact-channels>h2{margin-bottom:12px}.contact-channels>p{margin-bottom:20px}
.optional-fields{border:1px solid #cbbda4;background:#faf7f0;padding:0 16px}.optional-fields summary{font-size:15px;padding:14px 0;min-height:48px}.optional-fields-body{display:grid;gap:20px;padding:0 0 20px}
.inquiry-form .field-error{font:14px/1.7 var(--sans);color:#9a2c1c;text-align:left;display:block}.inquiry-form .form-errors{padding:14px 16px;border-left:3px solid #9a2c1c;background:#fff0ec;color:#812617;font-size:15px}.inquiry-form input,.inquiry-form textarea{scroll-margin-block:125px 110px}.inquiry-form .consent-label{scroll-margin-top:125px}
#form-status:focus{outline:2px solid #795821;outline-offset:5px}#form-reconnect{margin-top:14px}.inquiry-form label>span{color:#585249}.inquiry-form .form-note,.small-print,.article-meta{color:#59554e;font-size:14px}
.case-controls{max-width:1000px;margin:0 auto 28px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px 20px;align-items:center}.case-controls label{font-size:15px}.case-controls select{max-width:100%;min-width:0;border:1px solid #a89573;background:#fffdf8;padding:12px;font:16px/1.5 var(--sans);color:var(--ink);min-height:48px}.case-controls p{font-size:14px;color:#59554e}
.case-gallery{gap:28px}.case-gallery figure{border:1px solid var(--line);background:#fffdf8}.case-gallery figcaption{padding:18px 20px 22px;margin:0}.case-gallery h2{font:22px/1.65 var(--serif);overflow-wrap:anywhere}.case-description{font-size:14px;line-height:1.8;color:#59554e;margin:10px 0 14px}.case-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.case-actions a{font-size:14px}.case-actions .button{white-space:normal;justify-content:center;text-align:center;padding:12px 16px}
#case-lightbox{overscroll-behavior:contain;padding:20px 24px 28px}#case-lightbox h2{font:24px/1.6 var(--serif);margin:0 0 16px}#case-lightbox img{max-height:55dvh}#case-lightbox p{font-size:14px;line-height:1.8;margin:16px 0}body:has(#case-lightbox[open]){overflow:hidden}
.context-note h2{font:22px/1.5 var(--serif);margin:0 0 12px}.context-note .text-link{margin-top:12px}.hero h1{white-space:normal}
@media(max-width:650px){
 .hero-copy{padding:24px 22px}.hero-copy .eyebrow{margin-bottom:12px}.hero h1{line-height:1.6}.hero-english{font-size:19px;margin:8px 0 12px}.hero-description{line-height:1.75;margin-bottom:16px}.hero-note{margin-top:12px;font-size:13px;line-height:1.6}.hero-links{gap:8px 18px}.hero-image{height:340px}.hero-stamp{padding:14px 16px;bottom:46px}.hero-stamp small{font-size:11px}.image-caption{font-size:11px;line-height:1.5;background:#292c28b8}
 .contact-page .breadcrumb{padding-top:15px}.contact-page .contact-hero{padding:18px 0 20px}.contact-hero h1{font-size:27px;line-height:1.55;letter-spacing:0;margin:8px 0}.contact-hero .eyebrow{font-size:11px}.contact-jumps{gap:4px 18px;margin-top:4px}.contact-jumps .text-link{font-size:14px;min-height:42px}.contact-page .contact-card{padding:22px 16px}.contact-page .inquiry-form>h2{font-size:23px}.contact-page .inquiry-form>p{font-size:15px;line-height:1.7;margin-bottom:18px}.contact-page .contact-grid{gap:30px}
 .inquiry-form label{font-size:16px}.optional-fields{padding:0 12px}.optional-fields summary{font-size:14px;line-height:1.7}.inquiry-form .consent-label span{font-size:14px!important}.inquiry-form .form-note{font-size:14px}.form-fallback{padding:16px}
 body:has(.inquiry-form input:focus,.inquiry-form textarea:focus) .mobile-cta{display:none}.mobile-cta{padding-bottom:max(12px,env(safe-area-inset-bottom))}.mobile-cta small{font-size:12px}
 .case-controls{grid-template-columns:1fr;gap:8px;margin-bottom:20px}.case-controls select{width:100%}.case-gallery figcaption{padding:18px}.case-gallery h2{font-size:22px}.case-actions{align-items:stretch;flex-direction:column;gap:12px}.case-actions .text-link{align-self:flex-start}.case-actions .button{width:100%;font-size:15px}.case-description{font-size:15px}
 #case-lightbox{width:calc(100% - 20px);max-height:90dvh;padding:16px}#case-lightbox h2{font-size:22px}#case-lightbox img{max-height:48dvh}.lightbox-close{font-size:15px}.article-meta span{font-size:14px}
}
@media(max-width:360px){.hero-copy{padding:22px 20px}.hero h1{font-size:26px;letter-spacing:0}.hero-description{font-size:16px}.mobile-cta small{font-size:11px;max-width:110px}.contact-page .wrap{padding-left:16px;padding-right:16px}}
@media(max-height:500px) and (orientation:landscape){.mobile-cta{display:none}.site-header{position:static}}
@media(max-width:360px){.contact-hero h1{font-size:25px}.mobile-cta small{max-width:none;min-width:0;flex:1}.mobile-cta .button{flex:none}}
select:focus-visible{outline:2px solid #795821;outline-offset:3px}

/* Keep Japanese heading phrases intact on narrow screens. */
#treatments .heading-phrase{display:inline-block}
