.smart-contact-page { background: #fff; }
.smart-contact-page .section-frame { position: relative; border-top: 1px solid rgba(66, 0, 112, .075); }
.smart-contact-page .section-frame::before { content: ""; position: absolute; inset-block: 0; left: 50%; width: min(var(--frame-max), calc(100% - (var(--frame-gutter) * 2))); border-inline: 1px solid rgba(66, 0, 112, .075); transform: translateX(-50%); pointer-events: none; }
.smart-contact-page .container { position: relative; z-index: 1; }
.smart-contact-hero { background: var(--mist); }
.smart-contact-hero .container { padding-block: clamp(48px, 7vw, 92px); }
.contact-eyebrow { margin: 0 0 12px; color: var(--purple-light); font-size: .95rem; font-weight: 700; }
.smart-contact-hero h1 { max-width: 850px; margin: 0; color: var(--ink); font-size: clamp(2.5rem, 5vw, 4.5rem); font-weight: 600; line-height: 1.02; letter-spacing: -.055em; }
.smart-contact-hero p:not(.contact-eyebrow) { max-width: 690px; margin: 16px 0 0; color: var(--slate); font-size: 1.15rem; line-height: 1.55; }
.smart-contact-content { padding-block: clamp(40px, 6vw, 80px) clamp(64px, 8vw, 110px); }
.smart-contact-notice { margin: 0 0 28px; padding: 16px 18px; border: 1px solid var(--line); border-left: 4px solid var(--purple); background: #fff; color: var(--ink); }
.smart-contact-notice.is-error { border-left-color: #b42318; }
.smart-contact-routes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); border-top: 4px solid var(--purple); }
.smart-contact-routes article { min-width: 0; padding: clamp(26px, 4vw, 44px); }
.smart-contact-routes article + article { border-left: 1px solid var(--line); }
.contact-route-number { margin: 0 0 30px; color: var(--purple-light); font-size: .84rem; font-weight: 700; }
.smart-contact-routes h2,
.smart-contact-form-intro h2 { margin: 0 0 12px; color: var(--ink); font-size: clamp(1.6rem, 2.5vw, 2.25rem); line-height: 1.12; letter-spacing: -.035em; }
.smart-contact-routes article > p:not(.contact-route-number),
.smart-contact-form-intro > p:not(.contact-eyebrow) { max-width: 570px; margin: 0 0 22px; color: var(--slate); font-size: 1rem; line-height: 1.6; }
.smart-contact-routes .button { width: auto; }
.smart-contact-chat-status { display: block; margin-top: 10px; color: var(--slate); font-size: .9rem; }
.smart-contact-form-layout { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(40px, 7vw, 92px); align-items: start; margin-top: clamp(52px, 7vw, 88px); padding-top: clamp(42px, 6vw, 72px); border-top: 1px solid var(--line); }
.smart-contact-form-intro a { color: var(--purple); font-weight: 700; }
.smart-contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.smart-contact-form p { margin: 0; }
.smart-contact-form .is-full { grid-column: 1 / -1; }
.smart-contact-form label { display: block; margin: 0 0 8px; color: var(--ink); font-weight: 600; }
.smart-contact-form label span { color: #b42318; }
.smart-contact-form input,
.smart-contact-form textarea { box-sizing: border-box; width: 100%; border: 1px solid #aebaca; border-radius: 4px; background: #fff; color: var(--ink); font: inherit; font-size: 1rem; }
.smart-contact-form input { min-height: 48px; padding: 10px 13px; }
.smart-contact-form textarea { min-height: 170px; padding: 13px; resize: vertical; }
.smart-contact-form input:focus,
.smart-contact-form textarea:focus { border-color: var(--purple); outline: 3px solid rgba(80, 0, 127, .14); outline-offset: 1px; }
.smart-contact-form > .button { margin-top: 22px; }
.smart-contact-honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 760px) {
  .smart-contact-routes,
  .smart-contact-form-layout { grid-template-columns: 1fr; }
  .smart-contact-routes article + article { border-top: 1px solid var(--line); border-left: 0; }
  .smart-contact-fields { grid-template-columns: 1fr; }
  .smart-contact-form .is-full { grid-column: auto; }
}
