.irc-main { max-width: 1120px; margin: 0 auto; padding: 44px 0 96px; }
.irc-title { margin: 0; padding-bottom: 28px; border-bottom: 1px solid #161616; color: #161616; font-size: 32px; line-height: 1.5; font-weight: 700; }
.irc-content { max-width: 820px; margin: 56px auto 0; }
.irc-intro { margin-bottom: 36px; font-size: 14px; line-height: 1.9; }
.irc-intro h2 { margin: 0 0 24px; color: #161616; font-size: 20px; }
.irc-intro p { margin: 0 0 12px; }
.irc-intro a, .irc-privacy a { color: inherit; text-underline-offset: 4px; }
.irc-required-note { font-size: 12px; }
.irc-field { display: grid; grid-template-columns: 215px minmax(0, 1fr); gap: 24px; align-items: start; padding: 18px 0; }
.irc-label { padding-top: 12px; color: #161616; font-size: 14px; font-weight: 600; line-height: 1.7; }
.irc-required { display: inline-block; margin-left: 8px; padding: 1px 5px; background: #161616; color: #fff; font-size: 10px; line-height: 1.5; vertical-align: middle; }
.irc-field input, .irc-field textarea { width: 100%; min-width: 0; border: 0; border-bottom: 1px solid #cfcdc6; border-radius: 0; background: #fff; color: #161616; padding: 12px 8px; font: inherit; font-size: 16px; line-height: 1.6; }
.irc-field input::placeholder, .irc-field textarea::placeholder { color: #777d7b; font-size: 13px; }
.irc-field textarea { min-height: 200px; border: 1px solid #cfcdc6; resize: vertical; }
.irc-field input:focus-visible, .irc-field textarea:focus-visible, .irc-form button:focus-visible, .irc-consent input:focus-visible { outline: 2px solid #087d66; outline-offset: 4px; }
.irc-hint { margin: 8px 0 0; font-size: 12px; color: #686e6b; }
.irc-privacy { margin: 28px 0 32px 239px; font-size: 13px; line-height: 1.85; }
.irc-privacy p { margin: 0 0 14px; }
.irc-consent { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; }
.irc-consent input { flex: 0 0 auto; width: 17px; height: 17px; margin: 4px 0 0; accent-color: #087d66; }
.irc-submit, .irc-return { display: flex; justify-content: center; align-items: center; width: 100%; min-height: 60px; border: 1px solid #161616; background: #161616; color: #fff; padding: 16px 24px; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; text-decoration: none; }
.irc-submit:hover, .irc-return:hover { background: #333; }
.irc-submit:disabled { opacity: .6; cursor: wait; }
.irc-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.irc-complete { padding-bottom: 60px; line-height: 1.9; }
.irc-complete .irc-return { max-width: 360px; margin-top: 36px; }
/* The shared confirmation UI uses inline colors; match the IR palette here. */
body > div:has(> [role="dialog"][aria-labelledby="contact-confirm-title"]) { background: rgba(58, 58, 56, .68) !important; }
[role="dialog"][aria-labelledby="contact-confirm-title"],
[role="dialog"][aria-labelledby="contact-confirm-title"] button { color: var(--ir-ink) !important; border-color: var(--ir-ink) !important; }
.irc-form [data-contact-status][style*="color: rgb(25, 38, 57)"] { color: var(--ir-ink) !important; }
@media (max-width: 1216px) { .irc-main { margin: 0 48px; } }
@media (max-width: 768px) {
  .irc-main { margin: 0 20px; padding: 28px 0 64px; }
  .irc-title { font-size: 25px; padding-bottom: 22px; }
  .irc-content { margin-top: 36px; }
  .irc-intro { margin-bottom: 24px; }
  .irc-intro h2 { font-size: 18px; margin-bottom: 20px; }
  .irc-field { grid-template-columns: 1fr; gap: 8px; padding: 14px 0; }
  .irc-label { padding-top: 0; }
  .irc-privacy { margin: 24px 0 28px; }
  .irc-submit { min-height: 56px; }
}
