@layer sections {
#contact { padding: var(--space-1) var(--space-2) clamp(40px, 5vw, 72px); }
#contact .ct-panel { position: relative; max-width: 1280px; margin: 0 auto; padding: clamp(150px, 16vw, 230px) clamp(20px, 5vw, 72px) clamp(40px, 5vw, 72px); background: var(--color-5); color: var(--color-2); border-radius: 50% 50% var(--radius-1) var(--radius-1) / 300px 300px var(--radius-1) var(--radius-1); }
#contact .ct-head { display: grid; justify-items: center; gap: 18px; text-align: center; margin-bottom: clamp(40px, 5vw, 64px); }
#contact .ct-head .m-text { max-width: 46ch; }
#contact .ct-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(28px, 4vw, 64px); align-items: start; }
#contact .ct-photo { aspect-ratio: 16 / 10; overflow: hidden; border-radius: 999px 999px var(--radius-3) var(--radius-3); background: var(--color-3); }
#contact .ct-photo img { width: 100%; height: 100%; object-fit: cover; }
#contact .ct-facts { display: grid; gap: 0; margin-top: 24px; }
#contact .ct-fact { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-top: 1.5px solid var(--color-2); }
#contact .ct-fact dt { font-weight: 500; }
#contact .ct-hours { display: grid; grid-template-columns: auto auto; gap: 2px 16px; justify-content: start; }
#contact .ct-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: clamp(20px, 3vw, 36px); border-radius: var(--radius-1); background: var(--color-1); }
#contact .ct-form .ct-wide { grid-column: 1 / -1; }
#contact .ct-form .m-text-4 { grid-column: 1 / -1; }
#contact .ct-form .m-btn-3 { justify-self: start; }
#contact .ct-status { grid-column: 1 / -1; padding: 14px 16px; border-radius: var(--radius-3); background: var(--color-3); }
@media (max-width: 900px) {
  #contact .ct-panel { padding-top: 120px; border-radius: 50% 50% var(--radius-3) var(--radius-3) / 150px 150px var(--radius-3) var(--radius-3); }
  #contact .ct-grid { grid-template-columns: 1fr; }
  #contact .ct-form { grid-template-columns: 1fr; padding: 18px; }
  #contact .ct-fact { grid-template-columns: 1fr; gap: 4px; }
}
}
@layer sections {
#contact .ct-status--error { background: var(--color-2); color: var(--color-1); }
#contact .ct-status:focus { outline: none; }
#contact .ct-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
#contact .ct-req { color: var(--color-4); font-weight: 400; }
#contact .ct-privacy { grid-column: 1 / -1; }
#contact .ct-form .m-btn-3 { white-space: nowrap; }
#contact .ct-form .m-btn-3[disabled] { opacity: .7; cursor: progress; }
}
