/* 合作联系：直接邮件联系与合作方向。 */
.direct-contact { background: #f5f4f0; }
.direct-contact-card { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 60px; padding: 58px 60px; color: #fff; background: #0b2945; }
.direct-contact-copy .eyebrow { color: #cbb17c; font-size: 10px; letter-spacing: .18em; }
.direct-contact-copy h2 { margin-top: 18px; color: #fff; font-size: clamp(28px, 3vw, 40px); line-height: 1.5; font-weight: 500; }
.direct-contact-copy > p:not(.eyebrow) { max-width: 30em; margin-top: 18px; color: #c1cdd7; font-size: 15px; line-height: 2; }
.direct-contact-details { min-width: 0; padding-left: 48px; border-left: 1px solid #ffffff30; }
.contact-detail { margin: 0; overflow-wrap: anywhere; }
.contact-detail + .contact-detail { margin-top: 18px; }
.contact-detail-label { display: block; margin-bottom: 12px; color: #cbb17c; font-size: 13px; letter-spacing: .1em; }
.contact-detail a { display: inline-block; padding-block: 5px; color: #fff; font: 500 clamp(18px, 2vw, 27px)/1.6 var(--sans); text-decoration: underline; text-decoration-color: #ffffff50; text-underline-offset: 8px; }
.contact-detail a:hover { color: #e6cd9e; text-decoration-color: currentColor; }
.contact-detail a:focus-visible { outline: 2px solid #cbb17c; outline-offset: 5px; }
.direct-contact-note { margin-top: 15px; color: #afc0ce; font-size: 13px; }
.message-section { padding-top: 20px; background: #f5f4f0; }
.message-layout { display: grid; grid-template-columns: .68fr 1.32fr; gap: clamp(36px, 5vw, 80px); align-items: start; }
.message-intro { padding: 36px 0; }
.message-intro .eyebrow { color: #96703d; font-size: 11px; }
.message-intro h2 { margin-top: 20px; font-size: clamp(32px, 3vw, 42px); line-height: 1.55; font-weight: 500; }
.message-intro > p:not(.eyebrow) { max-width: 23em; margin-top: 24px; color: var(--muted); font-size: 15px; line-height: 2; }
.message-guide { margin-top: 38px; padding-top: 25px; border-top: 1px solid #dcd7cd; }
.message-guide-title { color: #8b6c3d; font-size: 13px; }
.message-guide ul { list-style: none; margin: 8px 0 0; padding: 0; }
.message-guide li { display: flex; gap: 22px; padding: 20px 0; border-bottom: 1px solid #e3ded4; }
.message-guide li > span { padding-top: 2px; color: #a57e44; font: 14px/1.7 Georgia, serif; }
.message-guide h3 { font-size: 20px; font-weight: 500; }
.message-guide li p { margin-top: 9px; color: #627384; font-size: 12px; }
.message-guide-closing { margin-top: 26px; color: #8b6c3d; font: 15px/1.8 var(--serif); }
.message-card { min-width: 0; padding: clamp(28px, 3.3vw, 48px); background: #fffefa; border: 1px solid #e3dfd7; box-shadow: 0 14px 40px #102a3c05; }
.message-card-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-bottom: 24px; margin-bottom: 28px; border-bottom: 1px solid #e3dfd7; }
.message-card-heading h3 { font-size: 28px; font-weight: 500; }
.message-card-heading > span { color: #8a7961; font-size: 12px; }
.message-topic-field { min-width: 0; margin: 0 0 28px; padding: 0; border: 0; }
.message-topic-field legend { margin-bottom: 13px; padding: 0; color: #253e51; font-size: 14px; }
.message-topic-field legend > span { margin-left: 10px; color: #8a7961; font-size: 11px; }
.message-topic-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.message-topic-options label { position: relative; min-width: 0; cursor: pointer; }
.message-topic-options input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.message-topic-options span { display: flex; align-items: center; justify-content: center; min-height: 43px; padding: 8px; color: #60717d; border: 1px solid #dedcd4; font-size: 13px; }
.message-topic-options input:checked + span { color: #fff; border-color: #173a51; background: #173a51; }
.message-topic-options input:checked + span::before { content: '✓'; margin-right: 6px; color: #e0c08b; font-size: 12px; }
.message-topic-options input:focus-visible + span { outline: 2px solid #a57e44; outline-offset: 3px; }
.message-topic-options label:hover span { border-color: #a57e44; }
.message-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 22px; }
.message-field { display: grid; gap: 11px; min-width: 0; }
.message-field-full { grid-column: 1 / -1; }
.message-field label { color: #253e51; font-size: 14px; }
.message-field label > span { margin-left: 7px; color: #8a7961; font-size: 11px; }
.message-field-hint { margin-top: -2px; color: #77838d; font-size: 12px; line-height: 1.8; }
.message-field input, .message-field textarea { display: block; width: 100%; min-width: 0; margin: 0; padding: 13px 15px; color: #19384c; border: 1px solid #dcdcd7; border-radius: 2px; background: #faf9f5; font: 15px/1.75 var(--sans); }
.message-field input { min-height: 50px; }
.message-field textarea { min-height: 180px; resize: vertical; }
.message-field input::placeholder, .message-field textarea::placeholder { color: #7a858c; opacity: 1; }
.message-field input:focus, .message-field textarea:focus { outline: 2px solid #bb9b68; outline-offset: 2px; background: #fff; }
.message-counter { color: #7a858c; text-align: right; font: 12px/1.5 var(--sans); }
.message-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 25px; padding-top: 24px; border-top: 1px solid #e3dfd7; }
.message-form-footer > p { max-width: 18em; color: #77838d; font-size: 12px; line-height: 1.8; }
.message-form-footer .button { flex-shrink: 0; gap: 24px; padding-inline: 24px; color: #fff; border-color: #12324d; background: #12324d; font-size: 16px; font-weight: 400; }
.message-form-footer .button:hover { background: #254b63; }
.message-form-footer .ui-icon { filter: brightness(0) invert(1); }
.message-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.message-status { margin-top: 20px; padding: 12px 16px; color: #8b302d; background: #faf0ed; border-left: 2px solid #a84943; font-size: 14px; overflow-wrap: anywhere; }
.message-success { padding: 30px 10px 40px; text-align: center; }
.message-success-symbol { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin-bottom: 24px; border: 1px solid #c8b18a; border-radius: 50%; color: #8b6c3d; background: #f7f2e9; font-size: 28px; }
.message-success h3 { font-size: 30px; font-weight: 500; }
.message-success > p { margin-top: 18px; color: #627384; font-size: 14px; }
.message-success .message-submitted-topic { margin-top: 22px; color: #8b6c3d; font-size: 13px; }
.message-success .message-receipt { margin-top: 8px; font-size: 12px; overflow-wrap: anywhere; }
.message-success .text-link { margin-top: 30px; color: #14334e; background: transparent; border: 0; border-bottom: 1px solid #bc8a39; }
.message-faq { background: #fffefa; }
.message-faq-layout { display: grid; grid-template-columns: .68fr 1.32fr; gap: clamp(36px, 5vw, 80px); }
.message-faq .eyebrow { color: #96703d; font-size: 11px; }
.message-faq h2 { font-size: 30px; line-height: 1.6; font-weight: 500; }
.message-faq-list { border-top: 1px solid #dcd7cd; }
.message-faq details { border-bottom: 1px solid #dcd7cd; }
.message-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0; color: #244052; list-style: none; cursor: pointer; font: 18px/1.7 var(--serif); }
.message-faq summary::-webkit-details-marker { display: none; }
.message-faq summary > span { color: #a57e44; font: 22px/1 var(--sans); }
.message-faq details[open] summary > span { transform: rotate(45deg); }
.message-faq details > p { padding: 0 34px 24px 0; color: #627384; font-size: 14px; line-height: 2; }
.message-faq details a { color: #94601e; text-decoration: underline; text-underline-offset: 4px; }
.message-faq summary:focus-visible { outline: 2px solid #a57e44; outline-offset: 3px; }
.contact-areas { background: #fff; }
.contact-direction-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-block: 1px solid var(--line); }
.contact-direction-card { display: flex; flex-direction: column; align-items: flex-start; padding: 30px 28px; border-right: 1px solid var(--line); transition: background-color .2s; }
.contact-direction-card:last-child { border-right: 0; }
.contact-direction-card:hover, .contact-direction-card:focus-visible { color: var(--navy); background: #f7f5ef; }
.direction-number { color: var(--gold-dark); font: 15px/1.5 Georgia,serif; }
.contact-direction-card h3 { margin-top: 25px; font-size: 25px; }
.contact-direction-card p { margin-top: 13px; color: var(--muted); font-size: 14px; }
.direction-action { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 29px; color: var(--gold-dark); font-size: 13px; }
.direction-action .ui-icon { width: 18px; height: 18px; }
@media (max-width: 900px) {
  .contact-direction-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .contact-direction-card { border-bottom: 1px solid var(--line); }
  .contact-direction-card:nth-child(2n) { border-right: 0; }
  .contact-direction-card:nth-last-child(-n+2) { border-bottom: 0; }
}
@media (max-width: 600px) {
  .contact-direction-card { padding: 24px 16px; }
  .contact-direction-card h3 { margin-top: 16px; font-size: 22px; }
  .contact-direction-card p { font-size: 13px; }
  .direction-action { font-size: 12px; padding-top: 22px; }
}
@media (max-width: 1000px) {
  .direct-contact-card { gap: 30px; padding: 40px 36px; }
  .direct-contact-details { padding-left: 28px; }
}
@media (max-width: 700px) {
  .direct-contact { padding-block: 36px; }
  .direct-contact-card { grid-template-columns: 1fr; gap: 30px; padding: 32px 24px; }
  .direct-contact-copy h2 { font-size: clamp(24px, 6vw, 32px); }
  .direct-contact-copy > p:not(.eyebrow) { font-size: 14px; }
  .direct-contact-details { padding: 26px 0 0; border-left: 0; border-top: 1px solid #ffffff30; }
  .contact-detail a { font-size: clamp(17px, 4.8vw, 23px); }
  [data-page="contact"] .back-to-top { display: none; }
  .message-section { padding-top: 0; }
  .message-layout { grid-template-columns: 1fr; gap: 24px; }
  .message-intro { padding: 8px 0; }
  .message-intro h2 { margin-top: 10px; font-size: 30px; }
  .message-intro h2 br { display: none; }
  .message-intro > p:not(.eyebrow) { max-width: none; margin-top: 14px; font-size: 14px; }
  .message-guide { display: none; }
  .message-card { padding: 26px 22px; }
  .message-card-heading h3 { font-size: 26px; }
  .message-card-heading > span { font-size: 11px; }
  .message-fields { grid-template-columns: 1fr; gap: 22px; }
  .message-field input, .message-field textarea { font-size: 16px; }
  .message-form-footer { flex-direction: column; align-items: stretch; gap: 16px; }
  .message-form-footer > p { max-width: none; }
  .message-form-footer .button { justify-content: space-between; width: 100%; }
  .message-topic-options { gap: 8px; }
  .message-topic-options span { min-height: 44px; font-size: 12px; }
  .message-faq-layout { grid-template-columns: 1fr; gap: 24px; }
  .message-faq h2 { font-size: 26px; }
  .message-faq h2 br { display: none; }
  .message-faq summary { font-size: 17px; }
}
