/* Contact form extension for blueheaven.cn. Base layout remains in site.css. */
.wordmark-type strong,
.footer-brand { text-transform: none; }

.contact { grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); }
.contact-copy { display: flex; flex-direction: column; justify-content: center; }
.contact-address { margin-top: 44px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.24); font-style: normal; }
.contact-address span { display: block; margin-bottom: 9px; color: #83e4df; font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.contact-address p { margin: 0; color: rgba(255,255,255,.9); font-size: 15px; line-height: 1.85; }

.contact-form { display: grid; gap: 26px; padding: 64px clamp(30px, 5vw, 84px); background: #092268; }
.form-heading { display: grid; gap: 10px; }
.form-heading .section-kicker { color: #83e4df; }
.form-heading > p:last-child { max-width: 400px; margin: 0; color: rgba(255,255,255,.74); font-size: 14px; line-height: 1.75; }
.form-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 16px; }
.form-fields label { display: grid; gap: 8px; color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.form-fields label:nth-child(4) { grid-column: 1 / -1; }
.form-fields input, .form-fields textarea { width: 100%; border: 1px solid rgba(255,255,255,.28); border-radius: 0; outline: 0; color: #fff; background: rgba(255,255,255,.05); font: inherit; font-size: 15px; letter-spacing: 0; transition: border-color .2s ease, background .2s ease; }
.form-fields input { height: 48px; padding: 0 13px; }
.form-fields textarea { min-height: 126px; padding: 13px; resize: vertical; line-height: 1.65; }
.form-fields input:focus, .form-fields textarea:focus { border-color: #83e4df; background: rgba(255,255,255,.1); }
.form-fields input:user-invalid, .form-fields textarea:user-invalid { border-color: #ffb2b2; }
.form-fields .honeypot { position: absolute; overflow: hidden; width: 1px; height: 1px; clip: rect(0 0 0 0); white-space: nowrap; }
.form-submit { display: flex; align-items: center; gap: 22px; min-height: 54px; }
.form-submit .button { border: 0; cursor: pointer; }
.form-submit .button:disabled { cursor: not-allowed; opacity: .48; transform: none; }
.form-status { margin: 0; color: #d4f3f2; font-size: 13px; line-height: 1.55; }
.form-status[data-state="error"] { color: #ffcbc5; }
.form-status[data-state="success"] { color: #83e4df; }
.contact-entry { align-content: start; }
.contact-entry .section-kicker { color: #83e4df; }
.contact-entry h3 { margin: 22px 0 15px; color: #fff; font-family: "Songti SC", "STSong", "Noto Serif SC", serif; font-size: clamp(31px, 3.6vw, 48px); font-weight: 600; line-height: 1.16; letter-spacing: -.055em; }
.contact-entry > p:not(.section-kicker) { max-width: 430px; margin: 0; color: rgba(255,255,255,.76); font-size: 15px; line-height: 1.8; }
.contact-entry .button { width: max-content; margin-top: 37px; border: 1px solid #83e4df; }

.industry-entry-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.industry-entry { display: grid; min-height: 250px; align-content: start; padding: 30px; border: 1px solid #b7d4f1; background: linear-gradient(135deg, #f7fbff, #e4f2ff); color: #08255e; transition: transform .2s ease, box-shadow .2s ease; }
.industry-entry:hover { box-shadow: 10px 10px 0 #bddaf2; transform: translate(-3px, -3px); }
.industry-entry span { color: #0b64c5; font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.industry-entry strong { max-width: 360px; margin-top: 34px; font-size: clamp(24px, 2.5vw, 35px); line-height: 1.2; letter-spacing: -.055em; }
.industry-entry p { max-width: 470px; margin: 14px 0 25px; color: #48688e; line-height: 1.75; }
.industry-entry b { margin-top: auto; color: #0a56aa; font-size: 13px; }
.industry-entry i { color: #0a9ab5; font-size: 16px; font-style: normal; }

.ai-capabilities { padding: 110px clamp(32px, 8vw, 148px); background: #eff6ff; color: #08255e; }
.ai-capabilities-intro { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(280px, .8fr); column-gap: clamp(40px, 8vw, 150px); align-items: end; }
.ai-capabilities-intro .section-kicker { grid-column: 1 / -1; margin: 0 0 26px; }
.ai-capabilities h2 { margin: 0; font-size: clamp(34px, 4.2vw, 66px); line-height: 1.1; letter-spacing: -.055em; }
.ai-capabilities-intro > p:last-child { margin: 0; max-width: 510px; color: #425f91; font-size: 17px; line-height: 1.85; }
.ai-capability-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 62px; }
.ai-capability-grid article { min-height: 184px; padding: 28px; border: 1px solid #cfe0f5; background: rgba(255,255,255,.8); }
.ai-capability-grid span { color: #0b64c5; font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.ai-capability-grid h3 { margin: 34px 0 11px; font-size: 21px; }
.ai-capability-grid p { margin: 0; color: #51688e; line-height: 1.7; }
.ai-outcomes { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 20px; }
.ai-outcomes p { margin: 0; padding: 24px 28px; border-left: 3px solid #0a68cb; color: #425f91; background: #fff; line-height: 1.75; }
.ai-outcomes b { display: block; margin-bottom: 6px; color: #08255e; }

@media (max-width: 820px) {
  .site-header .header-contact { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; padding: 0 12px; white-space: nowrap; }
  .contact { grid-template-columns: 1fr; }
  .contact-copy, .contact-form { padding: 58px 34px; }
  .ai-capabilities { padding: 72px 30px; }
  .ai-capabilities-intro { grid-template-columns: 1fr; gap: 20px; }
  .ai-capability-grid, .ai-outcomes { grid-template-columns: 1fr; }
  .industry-entry-grid { grid-template-columns: 1fr; }
  .ai-capability-grid { margin-top: 40px; }
}
@media (max-width: 480px) {
  .form-fields { grid-template-columns: 1fr; }
  .form-fields label:nth-child(4) { grid-column: auto; }
  .form-submit { align-items: flex-start; flex-direction: column; }
}
