/* Direction 2a request and booking pages: editorial openings, generous
   paper space, warm utility panels, and simple form controls. */
.request-page {
  --request-gutter: clamp(1.25rem, 4.5vw, 4rem);
  --request-section-gap: clamp(2rem, 3.5vw, 3.25rem);
  --request-content-gap: clamp(0.8rem, 1.4vw, 1.1rem);
  --request-panel-padding: clamp(1.25rem, 2.5vw, 2.25rem);
  --request-warm-paper: color-mix(in srgb, var(--linen) 32%, var(--paper));
  --request-light-sand: color-mix(in srgb, var(--straw) 38%, var(--paper));
  --request-muted-sage: color-mix(in srgb, var(--sage) 52%, var(--paper));
  --request-pale-clay: color-mix(in srgb, var(--clay) 7%, var(--paper));
  background: var(--paper);
  color: var(--ink);
  overflow: clip;
}

.request-page h1,
.request-page h2,
.request-page h3 {
  color: var(--moss);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: -0.025em;
}

.request-page h1 { font-size: clamp(2.7rem, 5.2vw, 4.8rem); line-height: 1.02; margin: 0; text-wrap: balance; }
.request-page h2 { font-size: clamp(1.65rem, 2.5vw, 2.35rem); line-height: 1.12; margin: 0; }
.request-page h3 { font-size: 1.35rem; margin: 0; }
.request-page p { max-width: none; }

.request-kicker {
  color: var(--clay);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  margin: 0 0 0.9rem;
  text-transform: uppercase;
}

.request-editorial-intro {
  align-items: end;
  background: var(--paper);
  display: grid;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  grid-template-columns: minmax(0, 1.45fr) minmax(17rem, 0.8fr);
  margin-inline: auto;
  max-width: 90rem;
  padding: clamp(2.5rem, 4.5vw, 4.5rem) var(--request-gutter) var(--request-section-gap);
}
.request-editorial-intro > * { min-width: 0; }
.request-heading-group { display: grid; gap: 0.6rem; }
.request-heading-group .request-kicker { margin: 0; }
.request-intro-details { display: grid; gap: var(--request-content-gap); }
.request-intro-details > * { margin: 0; }
.request-intro-details .request-call-details { margin-top: 0.2rem; }
.request-booking-lead { display: none; margin: 0; overflow: hidden; }
.request-booking-lead-image { display: block; height: 100%; object-fit: cover; width: 100%; }

.request-intro-copy {
  color: color-mix(in srgb, var(--ink) 88%, var(--moss));
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.15rem, 1.6vw, 1.45rem);
  line-height: 1.45;
  margin: 0;
}

.request-action,
.request-form-actions button {
  align-items: center;
  background: var(--garden) !important;
  border: 1px solid var(--garden);
  border-radius: 0.2rem !important;
  color: #fff;
  display: inline-flex;
  font-family: inherit;
  font-size: 0.74rem;
  font-weight: 700;
  justify-content: center;
  letter-spacing: 0.09em;
  min-height: 3rem;
  padding: 0.75rem 1.25rem;
  text-decoration: none;
  text-transform: uppercase;
}

.request-action:hover,
.request-action:focus-visible,
.request-form-actions button:hover:not(:disabled),
.request-form-actions button:focus-visible:not(:disabled) { background: var(--clay) !important; border-color: var(--clay); color: #fff; }
.request-action-small { min-height: 2.75rem; }

.request-call-details {
  border-top: 1px solid color-mix(in srgb, var(--moss) 32%, transparent);
  display: grid;
  gap: 0.45rem 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 1.5rem 0 0;
  padding-top: 1rem;
}
.request-call-details div { display: grid; gap: 0.15rem; }
.request-call-details dt { color: var(--muted); font-size: 0.76rem; }
.request-call-details dd { font-size: 0.92rem; margin: 0; }
.request-route-link { font-size: 0.86rem; margin: 1rem 0 0; }

.request-booking-guidance {
  display: grid;
  gap: 0.8rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 auto;
  max-width: 90rem;
  padding: 0 var(--request-gutter);
}
.request-guidance-card { min-height: 9rem; padding: clamp(1.15rem, 2vw, 1.7rem); }
.request-guidance-sage { background: var(--request-muted-sage); }
.request-guidance-straw { background: var(--request-light-sand); }
.request-guidance-card p:last-child { font-size: 0.93rem; line-height: 1.55; margin-bottom: 0; }
.request-guidance-card p a { display: inline-block; margin: 0.3rem 1.25rem 0.3rem 0; }

.request-calendar-panel {
  background: var(--paper);
  margin: var(--request-section-gap) auto 0;
  max-width: 90rem;
  padding: 0 var(--request-gutter);
}
.request-calendar-panel:last-child { margin-bottom: var(--request-section-gap); }
.request-calendar-heading { align-items: end; display: flex; flex-wrap: wrap; gap: 1rem 2rem; justify-content: space-between; margin-bottom: 1.25rem; }
.request-booking-frame-wrap { background: var(--paper); border: 1px solid color-mix(in srgb, var(--moss) 25%, transparent); min-height: 37.5rem; padding: clamp(0.6rem, 1.25vw, 1rem); }
.request-booking-frame { background: #fff; border: 0; border-radius: 0; display: block; min-height: 37.5rem; width: 100%; }
.request-booking-fallback { color: var(--muted); font-size: 0.85rem; margin: 1rem 0 0; }

.request-flow-preview { background: var(--request-warm-paper); border: 1px solid color-mix(in srgb, var(--moss) 25%, transparent); }
.request-flow-preview > summary,
.request-state-reference > summary { cursor: pointer; font-weight: 700; padding: 1.1rem 1.25rem; }
.request-flow-preview-body { border-top: 1px solid color-mix(in srgb, var(--moss) 20%, transparent); padding: clamp(1rem, 2vw, 1.6rem); }
.request-booking-provider-preview { background: var(--request-light-sand); border-left: 0.25rem solid var(--clay); margin-top: 0.75rem; padding: clamp(1rem, 2vw, 1.5rem); }
.request-booking-provider-preview h2 { margin-bottom: 0.7rem; }
.request-action-disabled { background: var(--muted) !important; border-color: var(--muted); cursor: not-allowed; opacity: 0.75; }

.request-service-feature {
  align-items: stretch;
  background: var(--request-light-sand);
  display: grid;
  grid-template-columns: minmax(16rem, 0.85fr) minmax(20rem, 1.15fr);
  margin: 0 auto var(--request-section-gap);
  max-width: 90rem;
}
.request-service-copy { align-content: center; display: grid; justify-items: start; padding: clamp(1.5rem, 3.5vw, 3.25rem); }
.request-service-copy h2 { margin-bottom: 0.75rem; }
.request-service-copy p:not(.request-kicker) { margin: 0 0 1.35rem; }
.request-service-image-link { display: block; min-height: 20rem; }
.request-service-image { height: 100%; object-fit: cover; width: 100%; }

.request-support-layout {
  align-items: start;
  background: var(--request-muted-sage);
  display: grid;
  gap: clamp(1.25rem, 2.5vw, 2.5rem);
  grid-template-columns: minmax(0, 1.7fr) minmax(16rem, 0.7fr);
  margin: 0 auto var(--request-section-gap);
  max-width: 90rem;
  padding: 0 var(--request-gutter);
}
.request-support-panel { background: var(--request-warm-paper); border: 1px solid color-mix(in srgb, var(--moss) 27%, transparent); padding: var(--request-panel-padding); }
.request-support-panel > h2 { margin-bottom: 0.75rem; }
.request-support-panel > p:not(.request-kicker) { line-height: 1.55; margin: 0; }
.request-support-panel > .request-kicker { margin-bottom: 0.65rem; }
.request-support-rail { display: grid; gap: 0.9rem; }
.request-support-rail > div { background: var(--request-pale-clay); border: 1px solid color-mix(in srgb, var(--moss) 26%, transparent); padding: 1.1rem; }
.request-support-rail > div p:last-child { font-size: 0.9rem; line-height: 1.55; margin-bottom: 0; }
.request-support-rail .request-support-tip { background: var(--request-light-sand); border: 0; }
.request-support-image { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.request-pending-note { background: color-mix(in srgb, var(--clay) 13%, var(--cream)); border-left: 0.25rem solid var(--clay); line-height: 1.5; margin: 1rem 0; padding: 0.85rem 1rem; }

.request-field-grid { display: grid; gap: 0.9rem 1.1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 1.25rem 0; }
.request-form { display: grid; gap: 1.1rem; margin-top: 1.25rem; }
.request-form .request-field-grid { margin: 0; }
.request-support-panel > .request-field-grid { margin-bottom: 1.15rem; }
.request-field-grid label { align-items: baseline; column-gap: 0.35rem; display: grid; font-size: 0.83rem; font-weight: 700; grid-template-columns: max-content minmax(0, 1fr); row-gap: 0.45rem; }
.request-field-grid > label > span { color: var(--clay); font-size: 0.73rem; font-weight: 400; }
.request-field-wide { grid-column: 1 / -1; }
.request-field-grid input,
.request-field-grid select,
.request-field-grid textarea { background: #fff; border: 1px solid color-mix(in srgb, var(--moss) 48%, transparent); border-radius: 0.2rem; color: var(--ink); font: inherit; grid-column: 1 / -1; min-height: 2.9rem; padding: 0.7rem 0.75rem; }
.request-field-grid textarea { min-height: 7rem; resize: vertical; }
.request-field-grid input:focus,
.request-field-grid select:focus,
.request-field-grid textarea:focus { background: #fff; border-color: var(--ink); outline: 2px solid var(--ink); outline-offset: 2px; }
.request-field-grid input:disabled,
.request-field-grid select:disabled,
.request-field-grid textarea:disabled { background: var(--linen); color: var(--muted); }

.request-category-fieldset { border: 0; grid-column: 1 / -1; margin: 0; min-inline-size: 0; padding: 0; }
.request-category-fieldset legend { font-size: 0.83rem; font-weight: 700; margin-bottom: 0.2rem; padding: 0; }
.request-category-fieldset legend span { color: var(--clay); font-size: 0.73rem; font-weight: 400; }
.request-category-hint { color: var(--muted); font-size: 0.8rem; line-height: 1.4; margin: 0 0 0.55rem; }
.request-category-grid { display: grid; gap: 0.45rem; grid-template-columns: minmax(0, 1fr); max-width: 48rem; }
.request-category-card { align-items: center; background: #fff; border: 1px solid color-mix(in srgb, var(--moss) 40%, transparent); cursor: pointer; display: grid; gap: 0.75rem; grid-template-columns: 1.2rem minmax(0, 1fr); min-height: 0; padding: 0.7rem 0.85rem; }
.request-category-card:hover:not(:has(input:disabled)):not(:has(input:checked)) { background: color-mix(in srgb, var(--sage) 48%, #fff); border-color: var(--moss); }
.request-category-card:has(input:checked) { background: var(--sage); border: 2px solid var(--moss); padding: calc(0.7rem - 1px) calc(0.85rem - 1px); }
.request-category-card:has(input:focus-visible) { outline: 0.2rem solid var(--focus); outline-offset: 0.2rem; }
.request-category-card:has(input[aria-invalid="true"]) { border-color: #7a2e1d; }
.request-category-card:has(input:disabled) { cursor: wait; opacity: 0.68; }
.request-category-card input.request-category-radio { accent-color: var(--moss); appearance: auto; background: initial; border: initial; border-radius: 50%; block-size: 1.1rem; color: initial; font: initial; inline-size: 1.1rem; margin: 0; min-height: 0; padding: 0; }
.request-category-card input.request-category-radio:focus { background: initial; border: initial; outline: 0; }
.request-category-copy { color: var(--ink); display: grid; gap: 0.1rem; min-width: 0; }
.request-category-card-title { color: var(--ink); font-size: 0.9rem; font-weight: 700; }
.request-category-card-description { color: var(--muted); font-size: 0.78rem; font-weight: 400; line-height: 1.35; }
.request-field-error { color: #7a2e1d; font-size: 0.8rem; font-weight: 400; grid-column: 1 / -1; margin-top: 0.25rem; }
.request-form-status { border-top: 1px solid color-mix(in srgb, var(--moss) 22%, transparent); color: var(--muted); font-size: 0.86rem; margin: 0; padding-top: 0.75rem; }
.request-form-status p { margin: 0; }
.request-form-status[data-state="ready"] { border: 0; clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; padding: 0; position: absolute; white-space: nowrap; width: 1px; }
.request-form-status[data-state="error"] { color: #7a2e1d; }
.request-form-actions { display: flex; flex-wrap: wrap; gap: 0.85rem; margin: 0; }
.request-form-actions button:disabled { cursor: wait; opacity: 0.65; }
.request-secondary-action { background: transparent !important; border-color: var(--clay) !important; color: var(--clay) !important; }
.request-form [hidden] { display: none !important; }
.request-form-success { background: var(--request-muted-sage); display: grid; gap: 0.75rem; margin: 0; padding: var(--request-panel-padding); }
.request-form-success p { margin: 0; }
.request-check { align-items: center; background: var(--garden); border-radius: 50%; display: inline-flex; height: 2.7rem; justify-content: center; margin: 0; position: relative; width: 2.7rem; }
.request-check::after { border-bottom: 0.18rem solid #fff; border-right: 0.18rem solid #fff; content: ""; height: 0.78rem; margin-top: -0.16rem; transform: rotate(45deg); width: 0.4rem; }

.request-state-reference { border-top: 1px solid color-mix(in srgb, var(--moss) 22%, transparent); margin-top: 1.25rem; }
.request-state-grid { display: grid; gap: 0.75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0 0 1rem; }
.request-state-grid section { background: var(--paper); padding: 1rem; }
.request-state-grid h3 { font-family: inherit; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.08em; margin-bottom: 0.35rem; text-transform: uppercase; }
.request-state-grid p { font-size: 0.8rem; margin: 0; }

.request-next-steps { background: var(--request-muted-sage); margin-top: var(--request-section-gap); padding: clamp(1.75rem, 3.5vw, 3rem) max(var(--request-gutter), calc((100vw - 80rem) / 2)); }
.request-next-steps > h2 { margin-bottom: 1rem; }
.request-next-steps ol { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.request-next-steps li { background: var(--cream); border: 1px solid color-mix(in srgb, var(--garden) 38%, transparent); line-height: 1.5; padding: 0.95rem; }
.request-next-steps li span { color: var(--clay); display: inline; font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; margin-right: 0.35rem; }

.request-contact-details { background: var(--request-pale-clay); border-top: 1px solid color-mix(in srgb, var(--moss) 22%, transparent); margin: var(--request-section-gap) auto; max-width: 90rem; padding: 1.35rem var(--request-gutter) 0; }
.request-contact-details h2 { font-size: 1.6rem; margin-bottom: 0.75rem; }

.request-result-layout { align-items: start; display: grid; gap: clamp(1.5rem, 4vw, 3.5rem); grid-template-columns: minmax(0, 1.4fr) minmax(16rem, 0.6fr); margin: 0 auto; max-width: 80rem; padding: clamp(2.75rem, 5vw, 4.5rem) var(--request-gutter); }
.request-result-page { background: var(--request-light-sand); }
.request-result-copy { display: grid; gap: var(--request-content-gap); max-width: 42rem; }
.request-result-layout h1 { margin: 0; }
.request-result-copy > p:not(.request-kicker) { line-height: 1.6; margin: 0; }
.request-result-copy .request-kicker { margin: 0; }
.request-result-copy .request-action { justify-self: start; margin-top: 0.35rem; }
.request-result-layout > aside { background: var(--request-muted-sage); display: grid; gap: 0.85rem; padding: var(--request-panel-padding); }
.request-result-layout > aside p { margin: 0; }

@media (max-width: 50rem) {
  .request-editorial-intro,
  .request-support-layout,
  .request-service-feature,
  .request-result-layout { grid-template-columns: 1fr; }
  .request-service-image-link { min-height: 17rem; order: -1; }
  .request-support-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .request-support-image { grid-column: 1 / -1; max-height: 22rem; }
}

@media (max-width: 38rem) {
  .request-page {
    --request-section-gap: 2rem;
    --request-panel-padding: 1.2rem;
  }
  .request-editorial-intro { gap: 1.15rem; padding-block: 2.4rem 2rem; }
  .request-page h1 { font-size: clamp(2.4rem, 12vw, 3.25rem); }
  .request-booking-lead { aspect-ratio: 2 / 1; display: block; max-height: 10rem; width: 100%; }
  .request-booking-guidance,
  .request-field-grid,
  .request-category-grid,
  .request-next-steps ol,
  .request-state-grid,
  .request-support-rail { grid-template-columns: 1fr; }
  .request-field-grid .request-category-card {
    grid-template-columns: 1.2rem minmax(0, 1fr);
    min-inline-size: 0;
    width: 100%;
  }
  .request-field-grid .request-category-card input.request-category-radio { grid-column: auto; }
  .request-field-wide { grid-column: 1; }
  .request-calendar-heading { align-items: start; flex-direction: column; }
  .request-calendar-heading .request-action { width: 100%; }
  .request-booking-frame-wrap,
  .request-booking-frame { min-height: 32rem; }
  .request-call-details { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .request-page *, .request-page *::before, .request-page *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}

/* Booking introductions share the core opening rhythm. */
.request-call-page .request-editorial-intro,
.request-service-list .request-editorial-intro,
.request-booking-page .request-editorial-intro { align-items: start; padding-block: clamp(1.5rem, 2.5vw, 2.5rem); }

/* Ask page: compact introduction keeps the question form close at hand. */
.request-ask-hero { padding:clamp(1.5rem, 3vw, 3rem) var(--v2-section-x, clamp(1.125rem, 4vw, 4rem)) 0; display:grid; grid-template-columns:minmax(0, 1.35fr) minmax(0, .65fr); gap:clamp(1.5rem, 4vw, 4rem); align-items:center; margin-bottom:clamp(1.5rem, 3vw, 3rem); }
.request-ask-intro h1 { margin:.35rem 0 1rem; font-size:clamp(2.5rem, 5vw, 4.75rem); line-height:1.05; }
.request-ask-intro .request-intro-copy { max-width:38rem; }
.request-ask-call { font-size:.95rem; margin:1rem 0 0; }
.request-ask-media { margin:0; overflow:hidden; border-radius:1rem; aspect-ratio:1.65; }
.request-ask-image { display:block; width:100%; height:100%; object-fit:cover; object-position:center 45%; }
.request-prospect .request-support-panel > h2 { margin-top:0; }
.request-confirmation-next { margin-top:1rem; }
@media(max-width:767px) {
 .request-ask-hero { grid-template-columns:minmax(0, 1fr); gap:1.25rem; }
 .request-ask-media { aspect-ratio:3; max-height:9rem; }
 .request-ask-intro h1 { font-size:clamp(2.4rem, 9vw, 3.5rem); }
}

/* Candidate: shared Ask and resident form surfaces. No markup or behavior changes. */
.request-unified .request-ask-hero,
.request-unified .request-support-intro { max-width: 80rem; margin-inline: auto; padding-inline: var(--request-gutter); }
.request-unified { --request-panel-padding: clamp(1.25rem, 3vw, 2.5rem); }
.request-unified .request-support-layout { background: transparent; grid-template-columns: minmax(0, 48rem) minmax(15rem, 1fr); max-width: 80rem; gap: clamp(1.5rem, 4vw, 4rem); }
.request-unified .request-support-panel { background: var(--cream); border: 1px solid var(--line); border-radius: 1.25rem; box-shadow: 0 8px 28px rgb(40 52 34 / 4%); }
.request-unified .request-support-panel > h2 { font-size: clamp(1.7rem, 2.8vw, 2.2rem); margin-bottom: .55rem; }
.request-unified .request-support-panel > p:not(.request-kicker) { color: var(--moss); font-size: .95rem; }
.request-unified .request-form { margin-top: 1.65rem; gap: 1.35rem; }
.request-unified .request-field-grid { gap: 1.15rem 1.25rem; }
.request-unified .request-field-grid > label { font-size: .875rem; row-gap: .55rem; }
.request-unified .request-field-grid > label > span { color: var(--muted); font-size: .75rem; }
.request-unified .request-field-grid > label > input,
.request-unified .request-field-grid > label > select,
.request-unified .request-field-grid > label > textarea { border: 1px solid var(--garden); border-radius: .6rem; min-width: 0; width: 100%; min-height: 3rem; padding: .7rem .85rem; font-size: 1rem; line-height: 1.45; box-shadow: 0 1px 2px rgb(40 52 34 / 3%); }
.request-unified .request-field-grid > label > textarea { min-height: 8rem; }
.request-unified .request-category-fieldset { padding-bottom: 1.35rem; border-bottom: 1px solid var(--line); margin-bottom: .15rem; }
.request-unified .request-category-fieldset legend { font-size: .875rem; }
.request-unified .request-category-hint { margin: .25rem 0 .75rem; color: var(--muted); }
.request-unified .request-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.request-unified .request-field-grid label.request-category-card { display: grid; grid-template-columns: 1.1rem minmax(0, 1fr); align-items: start; gap: .55rem; min-height: 5.5rem; min-width: 0; padding: .85rem .7rem; border: 1px solid var(--garden); border-radius: .75rem; background: var(--cream); }
.request-unified .request-field-grid .request-category-card input.request-category-radio { grid-column: 1; width: 1.1rem; height: 1.1rem; min-height: 0; margin: .1rem 0 0; padding: 0; }
.request-unified .request-category-copy { grid-column: 2; gap: .25rem; }
.request-unified .request-category-card-title { font-size: .9rem; line-height: 1.35; }
.request-unified .request-category-card-description { color: var(--muted); font-size: .775rem; line-height: 1.4; }
.request-unified .request-field-grid label.request-category-card:has(input:checked) { background: var(--sage); border-color: var(--garden); box-shadow: inset 0 0 0 1px var(--garden); }
.request-unified .request-field-grid label.request-category-card:hover:not(:has(input:disabled)) { border-color: var(--garden); }
.request-unified .request-field-grid label.request-category-card:has(input:focus-visible) { outline: 3px solid var(--focus); outline-offset: 3px; }
.request-unified .request-field-grid label.request-category-card:has(input[aria-invalid="true"]) { border-color: var(--clay); }
.request-unified .request-form-actions button { border-radius: .6rem; min-height: 3rem; padding: .85rem 1.4rem; }
.request-unified .request-support-rail { padding-top: 1.4rem; gap: 1.5rem; }
.request-unified .request-support-rail > div { border: 0; border-radius: .75rem; background: transparent; padding: 0; }
.request-unified .request-support-rail > .request-support-tip { background: color-mix(in srgb, var(--clay) 10%, var(--cream)); padding: 1.2rem; }
.request-unified .request-support-image { border-radius: 1rem; }
.request-unified .request-form-success { border-radius: .9rem; }
@media (max-width: 58rem) {
 .request-unified .request-support-layout { grid-template-columns: minmax(0, 1fr); max-width: 52rem; }
 .request-unified .request-support-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-top: 0; }
}
@media (max-width: 38rem) {
 .request-unified .request-support-layout { padding-inline: 1rem; gap: 1.5rem; }
 .request-unified .request-support-panel { padding: 1.25rem 1rem; border-radius: 1rem; }
 .request-unified .request-category-grid { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
 .request-unified .request-field-grid label.request-category-card { min-height: 3.5rem; align-items: center; padding: .7rem .8rem; }
 .request-unified .request-category-copy { gap: .1rem; }
 .request-unified .request-form-actions > button { width: 100%; }
 .request-unified .request-support-rail { grid-template-columns: minmax(0, 1fr); }
}

/* Existing Terra accent palette: garden selection, clay action/focus, sage relief. */
.request-unified .request-support-panel { box-shadow: inset 0 3px 0 var(--garden), var(--shadow); }
.request-unified .request-category-fieldset legend,
.request-unified .request-category-card-title { color: var(--moss); }
.request-unified .request-field-grid > label > span,
.request-unified .request-category-fieldset legend > span { color: var(--clay); }
.request-unified .request-field-grid label.request-category-card:has(input:checked) .request-category-card-title { color: var(--moss); }
.request-unified .request-category-radio { accent-color: var(--garden); }
.request-unified .request-field-grid > label > input:focus,
.request-unified .request-field-grid > label > select:focus,
.request-unified .request-field-grid > label > textarea:focus { border-color: var(--focus); outline: 2px solid var(--focus); outline-offset: 2px; }
.request-unified .request-form-actions [data-request-submit] { background: var(--garden) !important; border-color: var(--garden); color: #fff; }
.request-unified .request-form-actions [data-request-submit]:hover:not(:disabled) { background: var(--moss) !important; border-color: var(--moss); }
.request-unified .request-form-actions button:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.request-unified .request-support-rail > .request-support-tip { box-shadow: inset 3px 0 0 var(--clay); }
.request-unified .request-support-rail > div:not(.request-support-tip) { color: var(--moss); }
.request-unified .request-form-success { background: var(--sage); box-shadow: inset 3px 0 0 var(--garden); }

/* Refined corner system: controls 4px, surfaces and imagery 6px. */
.request-unified { --request-radius-control: 4px; --request-radius-panel: 6px; }
.request-unified .request-support-panel,
.request-unified .request-support-rail > div,
.request-unified .request-form-success,
.request-unified .request-ask-media,
.request-unified .request-support-image { border-radius: var(--request-radius-panel); }
.request-unified .request-field-grid label.request-category-card,
.request-unified .request-field-grid > label > input,
.request-unified .request-field-grid > label > select,
.request-unified .request-field-grid > label > textarea,
.request-unified .request-form-actions button { border-radius: var(--request-radius-control); }

.request-unified .request-form-actions button { border-radius: var(--request-radius-control) !important; }

.request-unified .request-form-actions [data-request-submit]:focus-visible:not(:disabled) { background: var(--garden) !important; border-color: var(--garden); color: #fff; }
