/* Contact: purpose first, then the few details needed to reply. */
.contact-page{background:#f7f5f0}
.contact-page::before{display:none}
.contact-section{padding:calc(var(--header-h) + clamp(32px,4vw,56px)) 0 clamp(64px,9vw,128px)}
.contact-heading{padding-bottom:clamp(36px,5vw,64px);border-bottom:1px solid #d6d2ca}
.contact-kicker{font-family:var(--font-en);font-size:12px;line-height:1.5;letter-spacing:.18em;font-weight:500;margin-bottom:20px}
.contact-heading h1{font-family:var(--font-ja);font-weight:500;font-size:clamp(30px,3.6vw,50px);line-height:1.4;letter-spacing:-.04em}
.contact-heading>p:last-child{margin-top:24px;line-height:1.9;color:var(--ink-soft)}
.contact-mobile-break{display:none}
.contact-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.3fr);gap:clamp(36px,6vw,80px);align-items:start;padding-top:clamp(36px,5vw,64px)}
.contact-guide-intro h2{font-size:clamp(23px,2.4vw,30px);font-weight:500;line-height:1.6;letter-spacing:-.03em;margin:14px 0 20px}
.contact-guide-intro>p:last-child{font-size:15px;line-height:2;color:var(--ink-soft);max-width:350px}
.contact-small-label{display:block;font-size:12px;font-weight:500;color:#625e56;letter-spacing:.04em;line-height:1.7}
.contact-diagnosis-link{display:block;border-top:1px solid #d6d2ca;border-bottom:1px solid #d6d2ca;margin-top:36px;padding:25px 0 27px}
.contact-diagnosis-link strong{display:block;font-size:21px;font-weight:500;line-height:1.5;margin-top:10px}
.contact-diagnosis-link>span:nth-of-type(2){display:block;font-size:14px;line-height:1.9;color:var(--ink-soft);margin-top:13px;max-width:350px}
.contact-text-link{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;margin-top:22px}
.contact-text-link>span{font-size:21px;transition:transform .2s ease}
.contact-diagnosis-link:hover .contact-text-link>span{transform:translate(3px,-3px)}
.contact-email-guide{padding-top:26px}
.contact-email-guide a{font-family:var(--font-en);display:inline-flex;gap:28px;align-items:center;border-bottom:1px solid #aaa49a;margin-top:9px;font-size:15px;line-height:2}
.contact-panel{max-width:none;width:100%;padding:clamp(22px,3vw,36px);background:#fff;border:1px solid #d6d2ca;border-radius:0;gap:26px}
.contact-type{border:0;min-width:0;padding:0;margin:0}
.contact-type legend{padding:0;margin:0 0 15px;font-size:14px;font-weight:600}
.contact-type-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.contact-form label.contact-type-option{display:block;position:relative;cursor:pointer;min-width:0}
.contact-type-option input[type=radio]{position:absolute;inset:17px auto auto 14px;width:16px;height:16px;margin:0;accent-color:var(--ink);padding:0;border:0;box-shadow:none;z-index:1}
.contact-choice{display:block;padding:14px 13px 14px 39px;border:1px solid #c9c5bd;min-height:88px;background:#fff;transition:background .15s,border-color .15s}
.contact-choice strong{display:block;font-size:14px;font-weight:600;line-height:1.7}
.contact-choice>span{display:block;color:var(--ink-soft);font-size:11px;font-weight:400;line-height:1.7;margin-top:6px}
.contact-type-option input:checked+.contact-choice{border-color:var(--ink);background:#f5f3ee}
.contact-type-option input:focus-visible+.contact-choice{outline:2px solid var(--ink);outline-offset:3px}
.contact-fields{display:grid;gap:22px;padding-top:25px;border-top:1px solid #e4e0d7}
.contact-name-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form .contact-fields label{gap:8px;font-weight:500;font-size:14px;min-width:0;color:var(--ink)}
.contact-field-label{display:flex;gap:10px;align-items:center}
.contact-required,.contact-optional{font-size:11px;letter-spacing:0;font-weight:400;line-height:1.4;color:#6b655c}
.contact-required{color:var(--ink)}
.contact-form .contact-fields input,.contact-form .contact-fields textarea{border:1px solid #b5b0a7;background:#fff;border-radius:0;min-width:0;width:100%;padding:12px 13px;font-size:16px;line-height:1.6;color:var(--ink)}
.contact-form .contact-fields textarea{min-height:154px;resize:vertical}
.contact-form .contact-fields input:focus,.contact-form .contact-fields textarea:focus{border-color:var(--ink);box-shadow:0 0 0 2px #dedbd3}
.contact-field-hint{font-size:12px;line-height:1.7;font-weight:400;color:#625e56}
.contact-form label.contact-consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;font-weight:400;line-height:1.8;color:var(--ink-soft)}
.contact-consent input[type=checkbox]{flex:0 0 auto;width:17px;height:17px;margin:3px 0 0;padding:0;accent-color:var(--ink);box-shadow:none}
.contact-consent a,.contact-form-alternative a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.contact-submit-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.contact-form .contact-submit-row button{margin:0;min-width:160px;min-height:48px;border-radius:0;background:var(--ink);color:#fff;border:1px solid var(--ink);justify-content:space-between;gap:28px}
.contact-form .contact-submit-row button:hover{background:#43413b;border-color:#43413b}
.contact-submit-note{font-size:11px;color:var(--ink-soft);line-height:1.8}
.contact-panel .form-status{margin:0;color:var(--ink);font-size:14px;line-height:1.8;font-weight:500;min-height:0}
.contact-panel .form-status:empty{display:none}
.contact-form-alternative{font-size:12px;line-height:1.8;color:var(--ink-soft)}
.contact-afterword{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 20px;border-top:1px solid #d6d2ca;margin-top:48px;padding-top:22px;font-size:13px;color:var(--ink-soft)}
.contact-afterword a{color:var(--ink);border-bottom:1px solid #aaa49a}
@media(max-width:900px){.contact-layout{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:30px}.contact-panel{padding:24px}.contact-type-options,.contact-name-row{grid-template-columns:1fr}.contact-choice{min-height:0}.contact-choice>span{font-size:12px}.contact-choice strong{font-size:14px}.contact-type-option input[type=radio]{top:18px}.contact-submit-row{gap:12px}.contact-afterword{justify-content:flex-start}}
@media(max-width:680px){.contact-layout{grid-template-columns:1fr;gap:32px}.contact-heading h1{font-size:32px}.contact-mobile-break{display:block}.contact-desktop-break{display:none}.contact-guide{order:2}.contact-guide-intro{display:none}.contact-diagnosis-link{margin:0;padding:0 0 24px;border-top:0}.contact-diagnosis-link>span:nth-of-type(2){max-width:none}.contact-email-guide{display:none}.contact-panel{padding:23px 20px;gap:24px;order:1}.contact-type-options{grid-template-columns:1fr 1fr}.contact-choice{padding:40px 12px 14px;min-height:138px}.contact-type-option input[type=radio]{top:15px;left:13px}.contact-choice strong{font-size:13px}.contact-choice>span{font-size:12px}.contact-fields{gap:22px}.contact-form .contact-submit-row button{width:100%;justify-self:stretch}.contact-submit-row{gap:10px}.contact-submit-note{width:100%;text-align:center}.contact-afterword{margin-top:32px;font-size:12px}.contact-kicker{margin-bottom:17px}.contact-heading>p:last-child{margin-top:20px;font-size:14px}}
@media(max-width:360px){.contact-heading h1{font-size:29px}.contact-panel{padding:20px 15px}.contact-type-options{grid-template-columns:1fr}.contact-choice{padding:13px 12px 13px 39px;min-height:0}.contact-type-option input[type=radio]{top:18px;left:13px}}
.contact-page .footer-nav,.contact-page .fnav-col,.contact-page .footer-brand{min-width:0}
.contact-page .fnav-col a{max-width:100%;overflow-wrap:anywhere}
@media(max-width:680px){.contact-page .footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 22px}}
@media(max-width:360px){.contact-page .footer-nav{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.contact-text-link>span,.contact-choice{transition:none}}

/* Match the homepage and preserve the existing form behavior. */
.contact-page{background:#fafaf9}.contact-panel{border-color:#e8e6e5;border-radius:10px}.contact-choice{border-radius:6px;border-color:#d6d3d1}.contact-type-option input:checked+.contact-choice{background:#eaf5fd;border-color:#3ba6f1}.contact-type-option input[type=radio],.contact-consent input[type=checkbox]{accent-color:#146da8}.contact-form .contact-fields input,.contact-form .contact-fields textarea{border-color:#d6d3d1;border-radius:6px}.contact-form .contact-fields input:focus,.contact-form .contact-fields textarea:focus{border-color:#3ba6f1;box-shadow:0 0 0 2px #c1e1f7}.contact-form .contact-submit-row button{border-radius:999px;background:#3ba6f1;border-color:#3398e1;color:#0c0a09}.contact-form .contact-submit-row button:hover{background:#84c8f6;border-color:#3398e1}.contact-type-option input:focus-visible+.contact-choice{outline-color:#146da8}
