/* Contact-page additions only. Shared typography, colour and sticky-CTA clearance stay in styles.css. */
.contact-page { --page-pad: 24px; }
.contact-page main { overflow-wrap: break-word; }
.contact-page section[id] { scroll-margin-top: 28px; }
.contact-page .contact-back { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; font-size: 11px; color: #c2b6d0; }
.contact-page .contact-back > span { font-size: 18px; color: var(--purple); }
.contact-page .contact-opening { padding-block: 30px 29px; background: #100d16; }
.contact-page .contact-opening-copy .eyebrow { font-size: 9px; margin-bottom: 14px; }
.contact-page .contact-opening h1 { font-size: 34px; line-height: 1.15; }
.contact-page .contact-opening-lead { color: #c3b7cf; font-size: 15px; line-height: 1.65; max-width: 370px; margin-top: 15px; }
.contact-page .contact-opening-cta { min-width: 170px; font-size: 13px; margin-top: 22px; }
.contact-page .contact-studio-photo { margin: 27px 0 0; min-width: 0; }
.contact-page .contact-studio-photo img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; background: #191221; }
.contact-page .contact-studio-photo figcaption { color: #baacc9; font-size: 10px; line-height: 1.5; margin-top: 10px; }
.contact-page .contact-details { padding-block: 39px 42px; }
.contact-page .contact-details .eyebrow { font-size: 9px; margin-bottom: 13px; }
.contact-page .contact-details h2 { font-size: 28px; }
.contact-page .contact-details-content { margin-top: 26px; min-width: 0; }
.contact-page .contact-methods { margin: 0; }
.contact-page .contact-methods > div { padding-block: 16px; border-top: 1px solid #ded6e3; }
.contact-page .contact-methods dt { font-size: 10px; color: #776885; line-height: 1.5; }
.contact-page .contact-methods dd { margin: 2px 0 0; }
.contact-page .contact-methods a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; font-size: 15px; font-weight: 500; line-height: 1.5; overflow-wrap: anywhere; }
.contact-page .contact-methods a > span { flex: 0 0 auto; color: var(--purple-ink); font-size: 20px; }
.contact-page .contact-methods a:hover { color: var(--purple-ink); }
.contact-page .contact-address address { font-style: normal; color: #685d72; font-size: 14px; line-height: 1.75; margin-top: 8px; }
.contact-page .contact-socials { border-top: 1px solid #ded6e3; padding-top: 22px; margin-top: 2px; }
.contact-page .contact-socials h3 { font-size: 16px; line-height: 1.5; letter-spacing: -.025em; }
.contact-page .contact-social-links { display: flex; flex-wrap: wrap; gap: 9px 28px; margin-top: 9px; }
.contact-page .contact-social-links .text-link { font-size: 13px; color: var(--purple-ink); border-bottom-color: #baa3ce; gap: 23px; }
.contact-page .contact-social-links .text-link > span { color: var(--purple-ink); }
.contact-page .contact-enquiry { padding-block: 42px 47px; }
.contact-page .contact-enquiry .eyebrow { font-size: 9px; margin-bottom: 15px; }
.contact-page .contact-enquiry h2 { font-size: 31px; }
.contact-page .contact-enquiry .enquiry-heading > p:not(.eyebrow) { font-size: 14px; line-height: 1.65; margin-top: 16px; max-width: 330px; }
.contact-page .contact-enquiry .preview-label { color: #ad98bf; margin-top: 19px; }
.contact-page .contact-demo { min-width: 0; margin-top: 25px; }
.contact-page .contact-demo-notice { border-left: 2px solid #a881d0; padding: 0 0 0 13px; color: #d1bfdc; font-size: 12px; line-height: 1.75; margin-bottom: 17px; }
.contact-page .contact-required-note { color: #af99c1; font-size: 11px; margin-top: 0; margin-bottom: 17px; }
.contact-page .contact-demo label { font-size: 12px; color: #dfd2e9; }
.contact-page .contact-demo input:not([type=radio]), .contact-page .contact-demo textarea { border-color: #675273; }
.contact-page .contact-demo input::placeholder, .contact-page .contact-demo textarea::placeholder { color: #b09ac2; font-size: 14px; }
.contact-page .contact-demo .optional { font-size: 11px; color: #ae96c0; }
.contact-page .contact-field-row, .contact-page .contact-message-field { margin-top: 21px; }
.contact-page .contact-demo textarea { min-height: 120px; }
.contact-page .contact-check-button { min-height: 48px; margin-top: 22px; font-size: 13px; }
.contact-page .contact-demo .demo-note { color: #af99c1; }
.contact-page .contact-footer-link { display: inline-flex; align-items: center; gap: 15px; min-height: 44px; font-size: 11px; color: #bba8cb; }
.contact-page .contact-footer-link > span { color: var(--purple); }
.contact-page .sticky-copy strong { font-size: 11px; }
@media (min-width: 430px) and (max-width: 767px) {
  .contact-page .contact-opening h1 { font-size: 36px; }
}
@media (min-width: 768px) {
  .contact-page { --page-pad: 40px; }
  .contact-page .contact-back { font-size: 12px; }
  .contact-page .contact-opening { padding-block: 38px; }
  .contact-page .contact-opening-grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 48px; align-items: center; }
  .contact-page .contact-opening-copy { min-width: 0; }
  .contact-page .contact-opening-copy .eyebrow { font-size: 10px; }
  .contact-page .contact-opening h1 { font-size: 44px; }
  .contact-page .contact-opening-lead { font-size: 16px; margin-top: 21px; }
  .contact-page .contact-opening-cta { min-width: 182px; font-size: 14px; margin-top: 25px; }
  .contact-page .contact-studio-photo { margin-top: 0; }
  .contact-page .contact-details { padding-block: 53px 56px; }
  .contact-page .contact-details-grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 48px; }
  .contact-page .contact-details h2 { font-size: 34px; }
  .contact-page .contact-details-content { margin-top: 0; }
  .contact-page .contact-methods > div { padding-block: 14px; }
  .contact-page .contact-methods a { font-size: 16px; }
  .contact-page .contact-enquiry { padding-block: 55px 59px; }
  .contact-page .contact-enquiry-grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 48px; }
  .contact-page .contact-enquiry h2 { font-size: 36px; }
  .contact-page .contact-demo { margin-top: 0; }
  .contact-page .contact-demo .field-row { grid-template-columns: minmax(0, 1fr); }
  .contact-page .contact-demo label { min-width: 0; }
  .contact-page .contact-footer-link { font-size: 12px; }
  .contact-page .sticky-copy strong { font-size: 14px; }
}
@media (min-width: 1184px) {
  .contact-page { --page-pad: 64px; }
  .contact-page .contact-opening { padding-block: 42px; }
  .contact-page .contact-opening-grid, .contact-page .contact-details-grid, .contact-page .contact-enquiry-grid { gap: 90px; }
  .contact-page .contact-opening h1 { font-size: 50px; }
  .contact-page .contact-details h2 { font-size: 38px; }
  .contact-page .contact-enquiry h2 { font-size: 40px; }
  .contact-page .contact-demo .field-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
