/* A scoped extension of the existing paper/green/Songti visual language. */
.consultation{--consult-ink:#24382f;--consult-line:#c5d0c3;--consult-paper:#fbfcfa;--consult-muted:#526052;color:var(--consult-ink);padding-block:50px 56px;border-top:1px solid var(--consult-line)}
.consultation h2{font:400 34px/1.5 "Songti SC","STSong",serif;margin:0 0 14px;text-wrap:balance}
.consultation h3{font:400 24px/1.5 "Songti SC","STSong",serif;margin:0 0 12px}
.consultation p{margin:0;font-size:16px;line-height:1.85}.consult-intro{max-width:42em}.consult-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:30px}
.consult-fields{display:grid;gap:18px;align-content:start}.consult-fields label,.consult-output label{display:grid;gap:8px;font:500 14px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}
.consult-fields label small{font-weight:400;color:var(--consult-muted)}
.consultation input,.consultation select,.consultation textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:48px;padding:12px 14px;border:1px solid var(--consult-line);border-radius:4px;background:var(--consult-paper);color:var(--consult-ink);font:400 16px/1.7 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;caret-color:#85503d}
.consultation textarea{resize:vertical}.consultation input:focus-visible,.consultation select:focus-visible,.consultation textarea:focus-visible,.consultation button:focus-visible{outline:2px solid #85503d;outline-offset:4px}
.consultation button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 20px;border:1px solid #173d2d;border-radius:4px;background:#173d2d;color:#fff;font:500 15px/1.5 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;cursor:pointer}
.consultation button:hover{background:#28543d}.consultation button:active{background:#102a1f}.consultation button:disabled{opacity:.6;cursor:not-allowed}
.consultation button[hidden]{display:none}
.consult-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px}.consult-output textarea{min-height:180px;margin-top:8px}
.consultation .consult-status{font-size:13px;line-height:1.7;margin-top:12px;min-height:23px;color:var(--consult-muted)}
.consultation .consult-privacy{font-size:13px;color:var(--consult-muted);margin-top:20px}
.contact-next{border-top:1px solid var(--consult-line);padding-top:26px;margin-top:28px}.contact-next>a{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;color:#173d2d;text-underline-offset:5px}
.contact-entry{display:grid;grid-template-columns:280px minmax(0,1fr);align-items:center;gap:48px;margin:32px 0 42px;padding:28px;background:#e9eee8}
.contact-qr{display:block;background:white}.contact-qr img{display:block;width:100%;height:auto}.contact-instructions{max-width:650px}.qr-actions{display:flex;gap:24px;flex-wrap:wrap;margin-top:16px}.qr-actions a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:5px;text-decoration:underline;color:#173d2d}
.contact-instructions .contact-boundary{margin-top:18px;font-size:14px;color:#526052}.consult-form-title{padding-top:24px;border-top:1px solid var(--consult-line)}
.treehouse-taste-page #visit{scroll-margin-top:100px}.treehouse-taste-page .th-booking{padding-bottom:60px}.treehouse-taste-page .th-booking-qr{align-self:start}.treehouse-taste-page .th-consultation{margin-top:0;margin-bottom:50px}
.guide-jump{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 26px;margin:22px 0 0;font-size:14px}.guide-jump a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:680px){.consultation{padding-block:32px 36px}.consultation h2{font-size:28px}.consultation h3{font-size:23px}.consult-grid{grid-template-columns:1fr;gap:28px;margin-top:24px}.consultation p{font-size:15px}.consultation button{width:100%}.consult-fields{gap:16px}.consult-actions{gap:8px}.treehouse-taste-page .th-booking-qr{display:none}.treehouse-taste-page .th-booking{padding-bottom:36px}.guide-jump{gap:12px 20px;font-size:13px;margin-top:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:680px){.contact-entry{grid-template-columns:1fr;gap:24px;padding:20px;margin:24px 0 30px}.contact-qr{width:min(280px,100%);margin:auto}.qr-actions{gap:10px 20px;font-size:14px}.contact-next{padding-top:24px}.contact-next>a{font-size:14px}}
