.suneng-contact-page { color: #082f5c; }
.suneng-contact-page .suneng-page-hero { height: clamp(320px, 27.5vw, 520px); min-height: 0; }
.suneng-contact-page .suneng-page-hero-shade { display: block; }
.suneng-contact-page .suneng-page-hero-content { justify-content: center; }
.suneng-contact-section { padding-block: clamp(64px, 5.5vw, 104px); }
.suneng-contact-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 5%; align-items: start; }
.suneng-contact-page h2 { margin: 0 0 26px; font-family: var(--font-sans); font-size: var(--type-heading); font-weight: 600; line-height: 1.16; letter-spacing: -.018em; }
.suneng-contact-page p, .suneng-contact-page dd { font-size: var(--type-body); line-height: 1.65; }
.suneng-contact-lead { max-width: 58ch; margin: 0; color: #4e6e89; }
.suneng-contact-channels { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px 28px; margin: 40px 0; }
.suneng-contact-channels > div { min-width: 0; }
.suneng-contact-channels dt { margin: 0 0 12px; font-size: clamp(22px, 1.65vw, 28px); font-weight: 600; line-height: 1.3; }
.suneng-contact-channels dd { margin: 0; color: #4e6e89; overflow-wrap: anywhere; }
.suneng-contact-channels a { display: block; width: fit-content; max-width: 100%; color: inherit; text-decoration: none; }
.suneng-contact-channels a:hover { color: #005e9e; text-decoration: underline; text-underline-offset: 4px; }
.suneng-contact-channels .suneng-contact-secondary { margin-top: 8px; font-size: 16px; }
.suneng-contact-note { max-width: 58ch; margin: 0; color: #4e6e89; }
.suneng-contact-panel { min-width: 0; scroll-margin-top: calc(var(--header-height, 104px) + 40px); }
.suneng-contact-page .suneng-contact-form-title { margin-bottom: 16px; font-size: clamp(24px, 2vw, 32px); }
.suneng-contact-form-intro { margin: 0 0 28px; color: #4e6e89; }
.suneng-contact-form { display: grid; gap: 22px; }
.suneng-contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 20px; }
.suneng-contact-form label { display: grid; gap: 8px; min-width: 0; font-size: 15px; font-weight: 500; line-height: 1.5; }
.suneng-contact-form input:not([type=file]):not([type=hidden]), .suneng-contact-form textarea { display: block; width: 100%; min-width: 0; border: 1px solid transparent; border-radius: 0; padding: 15px 18px; background: #f4f6f8; color: #082f5c; font: 400 16px/1.6 var(--font-sans); box-sizing: border-box; }
.suneng-contact-form input:not([type=file]):not([type=hidden]) { min-height: 56px; }
.suneng-contact-form textarea { min-height: 164px; resize: vertical; }
.suneng-contact-form input::placeholder, .suneng-contact-form textarea::placeholder { color: #52677b; opacity: 1; }
.suneng-contact-form input:focus-visible, .suneng-contact-form textarea:focus-visible { outline: 2px solid #087fc2; outline-offset: 2px; background: #fff; }
.suneng-contact-form .suneng-contact-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.suneng-contact-form .suneng-contact-upload { justify-content: flex-start; gap: 18px; padding: 18px 20px; border: 1px dashed #7a9bb2; background: #f5fbfe; text-align: left; }
.suneng-contact-upload svg { width: 28px; height: 28px; flex: 0 0 28px; color: #005e9e; }
.suneng-contact-upload input[type=file] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.suneng-contact-upload b { font-size: 15px; font-weight: 500; }
.suneng-contact-upload small { margin-top: 3px; color: #4e6e89; font-size: 13px; line-height: 1.5; }
.suneng-contact-upload:focus-within { outline: 2px solid #087fc2; outline-offset: 4px; }
.suneng-contact-upload[hidden], .suneng-contact-files[hidden] { display: none !important; }
.suneng-contact-page .suneng-contact-files { margin: 0; color: #4e6e89; font-size: 14px; overflow-wrap: anywhere; }
.suneng-contact-form-bottom { display: flex; align-items: center; gap: 24px; }
.suneng-contact-form-bottom button, .suneng-contact-visit .jk-button { display: inline-flex; align-items: center; justify-content: center; min-height: 56px; border: 0; border-radius: 0; padding: 16px 30px; background: #e8a52d; color: #082f5c; font: 600 16px/1.5 var(--font-sans); text-decoration: none; cursor: pointer; }
.suneng-contact-form-bottom button { flex-shrink: 0; min-width: 168px; }
.suneng-contact-form-bottom button:hover, .suneng-contact-visit .jk-button:hover { background: #f1b94f; }
.suneng-contact-form-bottom button:disabled { cursor: wait; opacity: .65; }
.suneng-contact-page .suneng-contact-form-bottom p { margin: 0; color: #4e6e89; font-size: 13px; line-height: 1.6; }
.suneng-contact-form-bottom p a { color: #005e9e; text-underline-offset: 3px; }
.suneng-contact-page .suneng-contact-status { margin: 0; color: #17663c; font-size: 15px; }
.suneng-contact-status:empty { display: none; }
.suneng-contact-page .suneng-contact-status.is-error { color: #9e2630; }
.suneng-contact-support { margin-top: 56px; border-top: 1px solid #c5dce9; border-bottom: 1px solid #c5dce9; scroll-margin-top: calc(var(--header-height, 104px) + 32px); }
.suneng-contact-page .suneng-contact-support > h2 { margin: 0; padding-block: 24px; font-size: 20px; font-weight: 500; line-height: 1.4; }
.suneng-contact-support > div { padding-bottom: 28px; max-width: 80ch; }
.suneng-contact-support p { margin: 0 0 18px; color: #4e6e89; }
.suneng-contact-support ul { padding-left: 22px; color: #4e6e89; font-size: 17px; line-height: 1.7; }
.suneng-contact-support li + li { margin-top: 12px; }
.suneng-contact-support a { color: #005e9e; text-underline-offset: 4px; }
.suneng-contact-visit { position: relative; isolation: isolate; display: grid; align-items: center; min-height: 600px; padding-block: clamp(72px, 7vw, 132px); overflow: hidden; background: #082f5c; }
.suneng-contact-visit > img, .suneng-contact-visit-shade { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; }
.suneng-contact-visit > img { object-fit: cover; object-position: center 54%; }
.suneng-contact-visit-shade { background: rgba(4, 22, 41, .62); }
.suneng-contact-visit-content { text-align: center; }
.suneng-contact-visit h2 { margin-inline: auto; max-width: 950px; color: #fff; font-size: clamp(40px, 4vw, 68px); line-height: 1.16; }
.suneng-contact-visit-content > p { max-width: 850px; margin: 0 auto 20px; color: #fff; }
.suneng-contact-visit-content > .suneng-contact-visit-note { max-width: 820px; color: #e0edf6; font-size: clamp(16px, 1.2vw, 18px); }
.suneng-contact-visit .jk-button { margin-top: 12px; }
.suneng-contact-page a:focus-visible, .suneng-contact-page button:focus-visible { outline: 2px solid #087fc2; outline-offset: 4px; }
.suneng-contact-visit a:focus-visible { outline-color: #fff; }
@media (max-width: 1040px) {
  .suneng-contact-layout { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  .suneng-contact-lead, .suneng-contact-note { max-width: 70ch; }
  .suneng-contact-channels { margin-block: 32px; }
  .suneng-contact-visit { min-height: 540px; }
}
@media (max-width: 760px) {
  .suneng-contact-page .suneng-page-hero { height: 260px; }
  .suneng-contact-section { padding-block: 48px; }
  .suneng-contact-page h2 { font-size: 34px; }
  .suneng-contact-page .suneng-contact-form-title { font-size: 26px; }
  .suneng-contact-channels { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .suneng-contact-channels dt { font-size: 22px; margin-bottom: 8px; }
  .suneng-contact-fields { grid-template-columns: minmax(0, 1fr); }
  .suneng-contact-form-bottom { flex-direction: column; align-items: stretch; gap: 14px; }
  .suneng-contact-form-bottom button { width: 100%; }
  .suneng-contact-form .suneng-contact-upload { padding: 18px 16px; gap: 14px; }
  .suneng-contact-upload b { font-size: 14px; }
  .suneng-contact-support { margin-top: 40px; }
  .suneng-contact-support summary { font-size: 18px; }
  .suneng-contact-visit { min-height: 0; padding-block: 64px; }
  .suneng-contact-visit h2 { font-size: 40px; }
  .suneng-contact-visit .jk-button { width: 100%; }
}
