/* B2B introduction and inquiry flow, built on shared input/dialog modules. */
#record .project-body{padding:28px;min-height:270px}
#record .project-body h3{min-height:62px;font-size:24px}
.project-outcome{font-size:20px;font-weight:700;line-height:1.65;color:var(--rc-brand-teal);margin-bottom:28px}
.project-open{display:flex;align-items:center;justify-content:space-between;gap:16px;background:none;border:0;border-top:1px solid var(--rc-border);padding:20px 0 0;margin-top:auto;width:100%;text-align:left;font-size:13px;color:var(--rc-brand-ink);cursor:pointer}
.project-open:hover{color:var(--rc-brand-teal)}
.project-dialog{width:min(720px,calc(100% - 32px));max-height:85dvh;padding:40px;overflow:auto}
.dialog-close{display:block;margin:-16px -16px 12px auto;width:44px;height:44px;font-size:28px;border:0;border-radius:50%;background:var(--rc-surface-subtle);color:var(--rc-brand-ink);cursor:pointer}
.detail-category{color:var(--rc-brand-teal);font-size:12px;font-weight:700;margin-bottom:16px}
.project-dialog h2{font-size:30px;line-height:1.35;letter-spacing:-.04em;word-break:keep-all}
.project-dialog .project-status{background:var(--rc-brand-ink);display:inline-block;margin-top:12px}
.project-detail{display:grid;gap:28px;margin:32px 0}
.project-detail dt{font-size:12px;font-weight:700;color:var(--rc-brand-teal);margin-bottom:10px}
.project-detail dd{margin:0;font-size:16px;line-height:1.85;word-break:keep-all}
.detail-result{background:var(--home-mist);border-radius:16px;padding:24px}
.detail-result dd{font-weight:700;color:var(--rc-brand-ink)}
.detail-consult{display:block;border-top:1px solid var(--rc-border);padding-top:24px;font-size:14px;color:var(--rc-brand-teal)}
body:has(.project-dialog[open]){overflow:hidden}
#contact.consultation{background:var(--rc-brand-ink)}
#contact.consultation::after{display:none}
.consult-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:72px}
#contact .consult-intro h2{font-size:clamp(34px,3.5vw,48px);line-height:1.3;max-width:20ch}
#contact .consult-intro .sub{font-size:15px;color:#c1d8dc}
.consult-expect{margin:40px 0;display:grid;gap:24px}
.consult-expect p{border-left:2px solid var(--rc-brand-teal);padding-left:18px}
.consult-expect strong{display:block;font-size:14px;color:white;margin-bottom:7px}
.consult-expect span{font-size:13px;color:#bcd6dc;line-height:1.8}
.direct-email{font-size:14px;color:var(--rc-brand-signal)}
.consult-panel{background:white;color:var(--rc-brand-ink);border-radius:24px;padding:36px}
.consult-panel h3{font-size:26px;font-weight:700;letter-spacing:-.03em}
.panel-intro{font-size:14px;color:var(--rc-text-muted);margin:10px 0 28px}
#consult-form{display:grid;gap:20px}
.consult-fields{display:grid;grid-template-columns:1fr 1.3fr;gap:16px}
.consult-panel .rc-field{font-size:13px;position:relative}
.consult-panel .rc-input{font:inherit;font-weight:400;font-size:15px;padding:12px;min-height:48px;resize:vertical}
.consult-panel .rc-input:focus-visible{outline:3px solid var(--rc-brand-teal);outline-offset:2px}
.optional{position:absolute;right:0;top:0;font-size:11px;color:var(--rc-text-muted);font-weight:400}
#contact .consult-disclosure{font-size:12px;color:var(--rc-text-muted);line-height:1.75}
#contact .consult-submit{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--rc-brand-teal);border-color:var(--rc-brand-teal);color:white;border-radius:10px;padding:14px 18px;font-size:14px;min-height:48px}
#contact .consult-submit:hover{background:var(--rc-brand-ink);border-color:var(--rc-brand-ink)}
.draft-title{font-size:18px;font-weight:700;margin-bottom:24px}
.draft-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
#draft-status{font-size:12px;color:var(--rc-brand-teal);margin-top:12px}
#consult-form[hidden],#consult-draft[hidden]{display:none}
@media(max-width:900px){.consult-grid{grid-template-columns:1fr;gap:40px}.consult-intro{max-width:600px}.consult-panel{max-width:640px;width:100%}}
@media(max-width:600px){.consult-panel{padding:24px;border-radius:18px}.consult-fields{grid-template-columns:1fr}.project-dialog{padding:28px}.project-dialog h2{font-size:25px}#record .project-body{padding:24px}#record .project-body h3{font-size:22px}.project-outcome{font-size:19px}.consult-expect{margin:28px 0}#contact .consult-intro h2{font-size:34px}}
