/* Phone-first consultation and readable mobile layouts, 2026-10-20. */
.luxe-description{font-size:16px;line-height:1.8}
.luxe-call small{font-size:13px}
.inquiry-section{background:#f7f4ee;color:#2c2926;padding:46px 0 50px;border-bottom:1px solid #d6cdbb}
.inquiry-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}
.inquiry-heading .eyebrow{color:#8a6a43;margin-bottom:12px}
.inquiry-heading h2{font:400 clamp(25px,2.6vw,38px)/1.5 var(--serif);letter-spacing:-.05em;margin:0 0 12px}
.inquiry-heading p:last-child{font-size:15px;line-height:1.8;color:#625b53;margin:0;word-break:keep-all}
.inquiry-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.inquiry-options button{padding:12px 8px;min-height:48px;border:1px solid #c6c8ba;background:transparent;color:#2c2926;font:500 15px var(--sans);cursor:pointer}
.inquiry-options button[aria-pressed=true]{background:#2c2926;color:#fff7e7;border-color:#2c2926;box-shadow:inset 0 -3px #c9ae7d}
.inquiry-detail{margin-top:20px}
.inquiry-type{display:flex;align-items:center;gap:14px;font-size:14px;color:#625b53}
.inquiry-type select{font:16px var(--sans);min-height:46px;background:#fffdf8;color:#2c2926;border:1px solid #c4b9aa;padding:10px 36px 10px 12px;flex:1;min-width:0}
.inquiry-prompt{font-size:16px;line-height:1.7;margin:17px 0 5px;color:#2c2926;word-break:keep-all}
.inquiry-detail #inquiryHelp{font-size:14px;line-height:1.7;color:#625b53;margin:0 0 17px}
.inquiry-call{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:#2c2926;color:#fff4da;min-height:58px;font-size:16px}
.inquiry-call strong{font:22px/1.4 var(--sans);white-space:nowrap}
.inquiry-text-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:#625b53;text-decoration:underline;text-underline-offset:4px;margin-top:6px}
.inquiry-fallback{font-size:14px;line-height:1.8}
.inquiry-enhanced[hidden]{display:none}
.reservation-form .form-extra{margin:15px 0 20px;border-block:1px solid #d8d1c2;padding:0 0 16px}
.form-extra summary{padding:15px 0;min-height:48px;cursor:pointer;font-size:15px;color:#2c2926}
.form-extra .form-grid{margin-top:8px}
.consultation-choices{display:none}
.guide-price-actions .guide-text-inquiry{color:#625b53;font-size:14px;text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
.guide-price-actions .button{background:#2c2926;color:#fff4da}
body.modal-open .call-dock,body.modal-open .back-top{display:none}
@media(max-width:900px){
 :root{--dock-height:82px}
 body{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}
 .site-header{min-height:72px;padding:12px 20px}
 .site-header .menu-button{width:44px;min-width:44px;height:44px;padding:12px}
 .site-header .header-phone-mobile{font-size:12px;display:flex;align-items:center;min-height:44px}
 #top.signature-luxe .luxe-viewport{padding-top:100px}
 .luxe-grid{grid-template-columns:1fr;gap:26px}
 .luxe-copy{max-width:600px;width:100%;margin:auto}
 .luxe-eyebrow{font-size:9px;white-space:normal;line-height:1.6;letter-spacing:.1em;margin-bottom:12px}
 .luxe-intro{font:14px/1.6 var(--sans);margin-bottom:8px}
 #top.signature-luxe h1{font-size:clamp(29px,6.2vw,43px);line-height:1.35}
 #top.signature-luxe h1 em{font-size:1.38em;line-height:1.35}
 .luxe-description{font-size:16px;margin:15px 0 18px;line-height:1.75}
 .luxe-actions{display:flex;gap:7px;flex-direction:column;align-items:stretch}
 .luxe-call{min-height:76px;padding:13px 18px;gap:14px}
 .luxe-call small{font-size:12px}
 .luxe-call strong{font-family:var(--sans);font-size:28px;font-weight:650;line-height:1.45}
 .luxe-phone-icon{flex:none}
 .luxe-price{font-size:14px;min-height:44px;width:fit-content}
 .luxe-advisor{position:static;margin:7px 0 0;gap:10px}
 .luxe-advisor>span:nth-child(2)>strong{font-size:14px}
 .luxe-advisor strong small{font-size:12px}
 .luxe-advisor>span:nth-child(2)>span{font-size:12px}
 .luxe-advisor-mark{width:34px;height:34px;font-size:14px}
 .luxe-stage{padding:0;margin:0 auto;max-width:600px;width:100%;perspective:none}
 .luxe-stage-label,.luxe-detail-frame,.luxe-seal{display:none}
 .luxe-film-frame{transform:none;padding:5px}
 .luxe-film-caption{padding:10px 6px}
 .luxe-film-caption b{font-size:9px}
 .luxe-film-caption small{font-size:11px;line-height:1.6}
 #top.signature-luxe .luxe-film-controls{position:static;margin-top:6px;justify-content:space-between}
 #top.signature-luxe .luxe-film-controls button{min-height:44px;font-size:12px;padding:8px 10px}
 .luxe-credit{position:static;transform:none;text-align:left;padding:0;font-size:11px;line-height:1.7;margin:8px 0 0;color:#625b53}
 .luxe-facts span{font-size:12px}
 .luxe-facts>a small{font-size:11px}
 .luxe-facts>a strong{font-size:14px}
 .luxe-trust{grid-template-columns:1fr;gap:18px}
 .luxe-trust strong{font-size:14px}
 .luxe-trust small{font-size:12px;line-height:1.6}
 .inquiry-section{padding:35px 0}
 .inquiry-layout{grid-template-columns:1fr;gap:22px}
 .inquiry-heading h2{font-size:28px}
 .inquiry-heading p:last-child{font-size:15px}
 .inquiry-call{align-items:flex-start;flex-direction:column;gap:4px;padding:14px 18px}
 .inquiry-call strong{font-size:24px}
 .inquiry-options button{font-size:14px}
 .inquiry-type{font-size:14px}
 .chapter-nav{grid-template-columns:repeat(6,minmax(0,1fr));padding-inline:8px}
 .chapter-nav a{font-size:12px;min-height:48px;white-space:normal;text-align:center}
 .guide-family-tabs button,.guide-type-tabs button,.subtypes button{min-height:44px}
 .guide-price-choice select{font-size:16px;min-height:48px}
 .guide-price-caption,.guide-payment-label,.guide-source-line,.guide-caveat{font-size:13px;line-height:1.8}
 .guide-deposit{font-size:15px;line-height:1.85}
 .call-dock{height:calc(82px + env(safe-area-inset-bottom,0px));padding:9px 12px calc(9px + env(safe-area-inset-bottom,0px))}
 .call-dock .dock-primary{min-height:62px}
 .call-dock .dock-primary small{font-size:12px;line-height:1.4}
 .call-dock .dock-primary strong{font:650 clamp(20px,5.8vw,25px)/1.3 var(--sans)}
 .call-dock .dock-message{font-size:13px;flex-basis:84px;width:84px;min-height:62px}
 .back-top{bottom:calc(96px + env(safe-area-inset-bottom,0px))}
 .reservation-form input,.reservation-form select,.reservation-form textarea{font-size:16px}
 .reservation-form input,.reservation-form select,.reservation-form textarea{scroll-margin-block:100px 180px}
 .form-extra summary{font-size:15px}
 .mobile-menu{max-height:calc(100svh - 170px);overflow-y:auto}
 body:has(input:not([type=date]):focus,textarea:focus) .call-dock{visibility:hidden;pointer-events:none}
}
@media(max-width:359px){
 .site-header{padding-inline:14px;gap:6px}
 .site-header .brand-en{font-size:15px}
 #top.signature-luxe .luxe-viewport{padding-inline:18px}
 .luxe-call{padding-inline:12px;gap:10px}
 .luxe-call strong{font-size:24px}
 .luxe-call small{font-size:11px}
 .inquiry-options{gap:5px}
 .inquiry-options button{font-size:13px;padding-inline:3px}
 .call-dock{gap:7px;padding-inline:8px}
 .call-dock .dock-primary small{font-size:11px}
 .call-dock .dock-message{flex-basis:72px;width:72px}
 .chapter-nav a{font-size:11px}
 .guide-price-choice{display:grid;grid-template-columns:1fr}
 .guide-price-choice label br{display:none}
 .guide-payment-summary{grid-template-columns:1fr}
 .guide-payment-summary>div{display:flex;align-items:center;justify-content:space-between;gap:12px}
}
