/* Actual public page compositions. Components and tokens remain shared. */
.mc-home-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .95fr); align-items: center; gap: 3rem; padding-block: 3rem; }
.mc-home-intro { display: grid; gap: 1.5rem; min-width: 0; }
.mc-home-intro h1 { font-size: clamp(2.5rem, 5vw, 3.5rem); max-width: 12ch; }
.mc-home-intro .mc-private-note { margin: 0; max-width: 41ch; }
.mc-home-hero .mc-media-frame { aspect-ratio: 1; }
.mc-home-discovery { padding-block: 2.75rem 3rem; border-top: 1px solid var(--mc-line); }
.mc-home-paths { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr); gap: 2rem; margin-top: 1.75rem; align-items: center; }
.mc-home-directory, .mc-home-request { display: grid; justify-items: start; gap: 1rem; }
.mc-home-directory > .mc-icon { width: 1.5rem; height: 1.5rem; color: var(--mc-muted); }
.mc-home-paths h3 { font: 550 var(--mc-text-title)/1.25 var(--mc-font-reading); letter-spacing: -.025em; }
.mc-home-paths p { font-family: var(--mc-font-reading); color: var(--mc-muted); max-width: 48ch; }
.mc-home-request { padding: 1.5rem; }
.mc-home-request .mc-button { margin-left: -.5rem; }
.mc-home-process { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 3rem; border-top: 1px solid var(--mc-line); padding-block: 3rem 4rem; }
.mc-home-process .mc-service-list { margin-top: 0; }
.mc-directory { padding-bottom: 4rem; }
.mc-directory .mc-profile-heading { padding-top: 2rem; }
.mc-directory-intro { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding-bottom: 2.5rem; }
.mc-directory-intro .mc-profile-heading { padding-bottom: 0; }
.mc-directory-intro > .mc-button { flex-shrink: 0; }
.mc-directory-label { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--mc-line); padding-block: 1rem; color: var(--mc-muted); font-size: var(--mc-text-caption); }
.mc-directory .mc-card { height: 100%; }
.mc-directory .mc-card-body { height: 100%; grid-template-rows: auto auto 1fr auto; gap: .75rem; }
.mc-directory .mc-card-description { white-space: pre-wrap; }
.mc-directory-help { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--mc-line); display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; color: var(--mc-muted); }
.mc-public-profile { padding-bottom: 3rem; overflow-wrap: anywhere; }
.mc-public-profile > .mc-profile-heading { padding-bottom: 2rem; border-bottom: 1px solid var(--mc-line); }
.mc-public-profile .mc-profile-content { padding-block: 2rem; }
.mc-profile-sections { display: grid; align-content: start; gap: 2rem; min-width: 0; }
.mc-profile-section h2, .mc-profile-section h3 { font-family: var(--mc-font-reading); font-weight: 550; letter-spacing: -.025em; line-height: 1.25; }
.mc-profile-section h2 { font-size: var(--mc-text-section); margin-bottom: 1rem; }
.mc-profile-section h3 { font-size: var(--mc-text-title); margin-block: 1.5rem .75rem; }
.mc-profile-section p { font-family: var(--mc-font-reading); font-size: var(--mc-text-body); color: var(--mc-muted); line-height: 1.75; margin-bottom: .75rem; white-space: pre-wrap; }
.mc-profile-section p:last-child { margin-bottom: 0; }
.mc-profile-section .intro { max-width: none; }
.mc-profile-section + .mc-profile-section { border-top: 1px solid var(--mc-line); padding-top: 1.75rem; }
.mc-profile-section .mc-facts { margin-block: 1.25rem; }
.mc-profile-section .mc-facts > div { grid-template-columns: minmax(0, .7fr) minmax(0, 1fr); }
.mc-source-facts { margin-block: 1.25rem 0; }
.mc-source-facts > div { display: grid; gap: .25rem; border-top: 1px solid var(--mc-line); padding-block: .75rem; }
.mc-source-facts dt, .mc-source-facts dd { font-size: .75rem; }
.mc-source-facts dd { color: var(--mc-muted); }
.mc-contact-list { display: grid; gap: .75rem; }
.mc-contact-list p { margin: 0; }
.mc-contact-list .mc-button { width: 100%; justify-content: space-between; }
.mc-contact-list .mc-caption { display: block; margin-top: .375rem; }
.mc-contact-list [role="status"] { font-size: .75rem; }
.mc-contact-list [role="status"]:empty { display: none; }
.mc-profile-sidebar { display: grid; align-content: start; gap: 1.5rem; min-width: 0; }
.mc-profile-sidebar .mc-caption { overflow-wrap: anywhere; }
.mc-enquiry-draft { display: grid; gap: 1rem; }
.mc-enquiry-draft h2 { margin: 0; }
.mc-enquiry-draft > .mc-button { justify-self: start; }
.mc-listing-notes { border-top: 1px solid var(--mc-line); padding-top: 1.75rem; display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 2.5rem; }
.mc-listing-notes .mc-profile-section { border: 0; padding: 0; }
.mc-listing-notes h2 { font-size: var(--mc-text-title); }
.mc-listing-notes p, .mc-listing-notes dt, .mc-listing-notes dd { font-size: .75rem; }
.mc-form-page { padding-bottom: 3rem; }
.mc-form-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: start; gap: 0 3rem; grid-template-areas: "intro form" "guidance form"; grid-template-rows: auto 1fr; padding-block: 1.25rem 2rem; }
.mc-form-intro { grid-area: intro; }
.mc-form-layout > .mc-panel { grid-area: form; }
.mc-form-guidance { grid-area: guidance; }
.mc-form-intro .mc-profile-heading { padding-top: 0; }
.mc-form-guidance .mc-service-list { margin-top: 0; }
.mc-form-intro .mc-private-note { margin-top: 1.5rem; }
.mc-form-email { border-top: 1px solid var(--mc-line); margin-top: 1.5rem; padding-top: 1.25rem; font-size: .75rem; color: var(--mc-muted); overflow-wrap: anywhere; }
.mc-intake-form { display: grid; gap: 1.5rem; margin: 0; }
.mc-intake-form .mc-field { gap: .625rem; }
.mc-intake-form .mc-field > label { margin: 0; font-size: var(--mc-text-title); letter-spacing: -.025em; }
.mc-intake-form .mc-field-hint p { margin: 0; }
.mc-intake-form .mc-control { font-size: 1rem; }
.mc-intake-form textarea[name="message"] { min-height: 12rem; }
.mc-intake-form .mc-check { margin: 0; padding: 0; font-weight: 400; }
.mc-reply-fields { display: grid; gap: 1rem; border: 0; border-top: 1px solid var(--mc-line); padding: 1.25rem 0 0; margin: 0; min-width: 0; }
.mc-reply-fields legend { float: left; width: 100%; font-size: var(--mc-text-small); font-weight: 550; padding: 0; }
.mc-reply-fields .mc-field > label { font-size: var(--mc-text-small); letter-spacing: normal; }
.mc-form-consent { display: grid; gap: 1rem; }
.mc-form-context { margin-bottom: 1.5rem; }
.mc-form-context h2 { font-size: var(--mc-text-title); margin-bottom: .5rem; }
.mc-form-context p + p { margin-top: .5rem; }
.mc-intake-form > .mc-button { justify-self: stretch; }
.mc-intake-form .mc-private-note { margin-top: 0; }
.mc-intake-form #form-status { margin: 0; padding: 1rem; border: 0; border-radius: var(--mc-radius-inner); background: var(--mc-soft); font-size: var(--mc-text-small); }
.mc-intake-form #form-status.success { background: var(--mc-success-bg); color: var(--mc-success); }
.mc-intake-form #form-status.error { background: var(--mc-error-bg); color: var(--mc-error); }
.mc-intake-form #form-status:focus { outline: 3px solid var(--mc-accent); outline-offset: 4px; }
@media (max-width: 800px) {
  .mc-home-hero, .mc-home-process, .mc-form-layout { gap: 1.75rem; }
  .mc-directory-intro { align-items: start; flex-direction: column; gap: 1rem; }
}
@media (max-width: 720px) {
  .mc-home-hero, .mc-home-process, .mc-home-paths, .mc-form-layout, .mc-listing-notes { grid-template-columns: minmax(0, 1fr); }
  .mc-home-hero { padding-block: 2rem; }
  .mc-home-intro h1 { max-width: 15ch; font-size: 2.5rem; }
  .mc-home-hero .mc-media-frame { aspect-ratio: 1.4; }
  .mc-home-request { padding: 0; }
  .mc-home-process { padding-block: 2rem 3rem; }
  .mc-home-discovery { padding-block: 2rem; }
  .mc-directory-help { align-items: start; flex-direction: column; gap: 1rem; }
  .mc-form-guidance .mc-service-list { margin-bottom: .5rem; }
  .mc-form-layout { gap: 1.5rem; grid-template-areas: "intro" "form" "guidance"; grid-template-rows: auto; }
  .mc-form-intro .mc-profile-heading { padding-bottom: 0; }
  .mc-listing-notes { gap: 1.75rem; }
}
@media (max-width: 400px) {
  .mc-profile-section .mc-facts > div { grid-template-columns: minmax(0, 1fr); gap: .375rem; }
  .mc-form-layout > .mc-panel { padding: 1.25rem; }
}

/* Private introduction attachments share the form's controls and media frame. */
.mc-intake-photos { display: grid; gap: 1rem; min-width: 0; margin: 0; padding: 1.25rem 0 0; border: 0; border-top: 1px solid var(--mc-line); }
.mc-intake-photos legend { float: left; width: 100%; font-weight: 550; }
.mc-intake-photos legend span { font-weight: 400; margin-left: .5rem; }
.mc-intake-photos p { margin: 0; }
.mc-intake-photos [hidden] { display: none; }
#photo-items { display: grid; gap: 1.5rem; }
.mc-intake-photo { display: grid; gap: .875rem; min-width: 0; padding-top: 1.25rem; border-top: 1px solid var(--mc-line); }
.mc-intake-photo h3 { font-size: var(--mc-text-small); overflow-wrap: anywhere; margin: 0; }
.mc-intake-photo .mc-media-frame { aspect-ratio: 1.6; }
.mc-intake-photo .mc-field > label { font-size: var(--mc-text-small); letter-spacing: normal; }
.mc-intake-photo textarea { min-height: 4rem; }
.mc-intake-photo > .mc-button { justify-self: start; }
.mc-intake-photos input[type=file] { max-width: 100%; min-width: 0; }

/* Private operator review, composed from shared task controls. */
.mc-operator-listing section { margin-block: 3rem; }
.mc-operator-listing fieldset { min-width: 0; border: 1px solid var(--mc-line); border-radius: var(--mc-radius-panel, 16px); padding: 1.25rem; margin: 0; }
.mc-operator-listing legend { font-weight: 600; padding-inline: .4rem; }
.mc-operator-listing .operator-edit-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; align-items: end; margin-block: 1rem; }
.mc-operator-listing .operator-edit-row button { justify-self: start; }
.mc-operator-listing .operator-photo-choice { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.mc-operator-listing .operator-photo-choice figure { grid-row: span 4; }
.mc-operator-listing .operator-exact-review { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; font-size: .94rem; padding: 1.25rem; border: 1px solid var(--mc-line); border-radius: 16px; }
.mc-operator-listing details { margin-block: 2rem; }
.mc-operator-listing [role=status] { overflow-wrap: anywhere; }
@media(max-width:620px) { .mc-operator-listing .operator-edit-row, .mc-operator-listing .operator-photo-choice { grid-template-columns: minmax(0,1fr); } .mc-operator-listing fieldset { padding: .875rem; } }
