.request-hero {
  min-height: 650px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, .8fr);
  align-items: center;
  gap: clamp(48px, 8vw, 110px);
  padding-block: 76px 88px;
}
.request-hero h1 { max-width: 780px; font-size: clamp(3.5rem, 5.7vw, 6.2rem); }
.request-hero-copy > p:not(.eyebrow, .request-restock-note) { max-width: 680px; margin: 28px 0 0; color: var(--muted); font-size: 1.04rem; }
.request-kit-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 32px; }
.request-kit-summary article { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 12px; min-height: 66px; padding: 11px 14px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.7); }
.request-kit-summary strong { color: var(--deep); font-family: var(--serif); font-size: 2rem; line-height: 1; }
.request-kit-summary span { font-size: .78rem; font-weight: 750; line-height: 1.3; }
.request-restock-note { max-width: 680px; margin: 24px 0 0; padding-left: 17px; border-left: 3px solid var(--coral); color: var(--muted); font-size: .78rem; }
.request-restock-note strong { color: var(--ink); }

.request-material-stack { position: relative; min-height: 510px; }
.request-material { position: absolute; overflow: hidden; margin: 0; border: 1px solid rgba(16,36,43,.13); border-radius: 7px; background: #fff; box-shadow: 0 24px 55px rgba(16,36,43,.16); }
.request-material img { display: block; width: 100%; height: auto; }
.request-guide-image { z-index: 2; left: 0; bottom: 22px; width: 305px; transform: rotate(-4deg); }
.request-handout-image { z-index: 3; top: 26px; right: 10px; width: 236px; transform: rotate(3deg); }
.request-qr-image { z-index: 4; right: -14px; bottom: 2px; width: 230px; transform: rotate(2deg); }
.request-stand-image { z-index: 1; top: 38px; left: 18px; width: 205px; border: 0; background: transparent; box-shadow: none; }
.request-material-stack > div { position: absolute; border: 1px solid rgba(16,36,43,.13); background: #fff; box-shadow: 0 24px 55px rgba(16,36,43,.15); }
.request-handout { z-index: 3; right: 5px; top: 35px; width: 250px; height: 370px; display: grid; justify-items: center; align-content: center; padding: 28px; border-radius: 8px; text-align: center; transform: rotate(3deg); }
.request-handout small { color: var(--teal); font-weight: 800; text-transform: uppercase; }
.request-handout strong { margin-top: 18px; font-family: var(--serif); font-size: 2.15rem; line-height: .92; }
.request-handout b { margin-top: 24px; color: var(--deep); font-family: var(--serif); font-size: 2.65rem; }
.request-handout span { margin-top: 6px; color: var(--muted); font-size: .58rem; font-weight: 700; }
.request-guide { z-index: 2; left: 0; bottom: 15px; width: 290px; height: 205px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 18px; border-radius: 8px; transform: rotate(-4deg); }
.request-guide small { color: var(--teal); font-size: .55rem; font-weight: 800; text-transform: uppercase; }
.request-guide strong { grid-column: 1 / -1; font-size: .85rem; letter-spacing: .08em; }
.request-guide i { height: 46px; border-radius: 5px; background: linear-gradient(#dfecea 18%, #fff 18%); box-shadow: inset 0 0 0 1px var(--line); }
.request-guide span { grid-column: 1 / -1; align-self: end; color: var(--muted); font-size: .55rem; font-weight: 700; }
.request-qr { z-index: 4; right: -15px; bottom: 5px; width: 215px; height: 125px; display: grid; grid-template-columns: 1fr 78px; gap: 8px; align-items: center; padding: 13px; border-radius: 7px; transform: rotate(2deg); }
.request-qr small, .request-qr strong, .request-qr span { grid-column: 1; }
.request-qr small { color: var(--teal); font-size: .5rem; font-weight: 800; }
.request-qr strong { font-size: .7rem; line-height: 1.2; }
.request-qr span { color: var(--muted); font-size: .47rem; }
.request-qr i { grid-column: 2; grid-row: 1 / 4; width: 72px; height: 72px; outline: 1px solid var(--teal); background: repeating-conic-gradient(#12242b 0 25%, #fff 0 50%) 0 0 / 10px 10px; }
.request-stand { z-index: 1; left: 32px; top: 45px; width: 160px; height: 210px; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.request-stand i { display: block; width: 100px; height: 170px; margin: 14px auto 0; border: 3px solid rgba(103,119,121,.45); border-bottom-width: 8px; transform: skewY(-6deg); box-shadow: inset -10px 0 20px rgba(189,205,206,.2), 14px 18px 25px rgba(16,36,43,.08); }

.request-form-section { padding: 95px 0 110px; background: #eff3ef; }
.request-form-layout { display: grid; grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr); align-items: start; gap: clamp(42px, 7vw, 95px); }
.request-form-layout > aside { position: sticky; top: 120px; }
.request-form-layout > aside h2, .material-request-success h2 { font-size: clamp(2.8rem, 4.7vw, 4.8rem); }
.request-form-layout > aside > p:not(.eyebrow) { color: var(--muted); }
.request-form-layout ol { display: grid; gap: 18px; margin: 32px 0 0; padding: 0; list-style: none; }
.request-form-layout li { display: grid; grid-template-columns: 38px 1fr; gap: 14px; align-items: start; }
.request-form-layout li > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; color: #fff; background: var(--deep); font-size: .75rem; font-weight: 800; }
.request-form-layout li div { display: grid; gap: 3px; }
.request-form-layout li strong { font-size: .86rem; }
.request-form-layout li small { color: var(--muted); font-size: .72rem; }

.material-request-form, .material-request-success { padding: clamp(25px, 4vw, 48px); border: 1px solid var(--line); border-radius: 25px; background: #fff; box-shadow: 0 25px 65px rgba(16,36,43,.1); }
.material-request-form { display: grid; gap: 30px; }
.material-request-form fieldset { margin: 0; padding: 0; border: 0; }
.material-request-form legend { width: 100%; margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid var(--line); color: var(--deep); font-family: var(--serif); font-size: 1.6rem; }
.material-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.material-request-form label { display: grid; gap: 7px; color: var(--ink); font-size: .74rem; font-weight: 800; }
.material-request-form label small { color: var(--muted); font-size: .6rem; font-weight: 500; }
.material-request-form input, .material-request-form textarea { width: 100%; min-width: 0; padding: 12px 13px; border: 1px solid #cbd6d3; border-radius: 10px; color: var(--ink); background: #fbfcfa; font: 500 16px/1.35 var(--sans); }
.material-request-form input { min-height: 49px; }
.material-request-form textarea { resize: vertical; }
.material-request-form input:focus, .material-request-form textarea:focus { outline: 3px solid rgba(30,109,115,.16); border-color: var(--teal); }
.material-full { grid-column: 1 / -1; }
.material-request-confirm { grid-template-columns: auto 1fr !important; align-items: start; gap: 11px !important; padding: 16px; border-radius: 12px; background: #edf5f2; font-size: .74rem !important; line-height: 1.5; }
.material-request-confirm input { width: 18px; min-height: 18px; height: 18px; margin-top: 2px; }
.material-submit { width: 100%; border: 0; cursor: pointer; font-family: var(--sans); }
.material-submit:disabled { cursor: wait; opacity: .65; }
.material-form-feedback { margin: -8px 0 0; padding: 12px 14px; border-radius: 9px; font-size: .75rem; }
.material-form-feedback.is-error { color: #8c251d; background: #fff0ed; border: 1px solid #edc6bf; }
.material-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.material-request-success { align-self: stretch; min-height: 510px; align-content: center; }
.material-request-success:focus { outline: none; }
.material-success-mark { display: grid; width: 54px; height: 54px; place-items: center; margin-bottom: 26px; border-radius: 50%; color: #fff; background: var(--teal); font-size: 1.5rem; }
.material-request-success > p:not(.eyebrow) { color: var(--muted); }
.material-request-success dl { display: grid; grid-template-columns: 1fr 1.4fr; margin: 28px 0 32px; border: 1px solid var(--line); border-radius: 12px; }
.material-request-success dl div { padding: 14px; }
.material-request-success dl div + div { border-left: 1px solid var(--line); }
.material-request-success dt { color: var(--muted); font-size: .58rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.material-request-success dd { margin: 4px 0 0; font-size: .78rem; font-weight: 800; }

@media (max-width: 920px) {
  .request-hero { grid-template-columns: 1fr; padding-top: 58px; }
  .request-material-stack { width: min(100%, 540px); min-height: 460px; margin-inline: auto; }
  .request-form-layout { grid-template-columns: 1fr; }
  .request-form-layout > aside { position: static; }
}
@media (max-width: 620px) {
  .request-hero { padding-block: 45px 65px; }
  .request-hero h1 { font-size: clamp(3rem, 15vw, 4.6rem); }
  .request-kit-summary { grid-template-columns: 1fr; }
  .request-material-stack { min-height: 390px; transform: scale(.82); transform-origin: top center; margin-bottom: -65px; }
  .request-form-section { padding-block: 65px; }
  .material-form-grid { grid-template-columns: 1fr; }
  .material-full { grid-column: auto; }
  .material-request-success dl { grid-template-columns: 1fr; }
  .material-request-success dl div + div { border-top: 1px solid var(--line); border-left: 0; }
}
