/* Scoped request controls; shared typography and buttons remain unchanged. */
.access-request [hidden] { display: none !important; }
.access-request__layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(24px,5vw,72px); align-items: start; }
.access-request form { max-width: 420px; }
.access-request h3 { margin: 0 0 24px; }
.access-request label { display: block; margin-bottom: 8px; }
.access-request input:not([name="website"]) { display: block; box-sizing: border-box; width: 100%; min-height: 44px; padding: 10px 12px; margin-bottom: 20px; border: 1px solid currentColor; border-radius: 6px; color: inherit; background: transparent; font: inherit; }
.access-request button { cursor: pointer; }
.access-request button:disabled { opacity: .6; cursor: wait; }
.access-request :focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.access-request #access-status { max-width: 44ch; }
@media (max-width: 900px) { .access-request__layout { grid-template-columns: minmax(0,1fr); gap: 24px; } }

/* Hero intake only. Original request controls and animation styles stay intact. */
.hero-bench__copy #request-access { pointer-events: auto; margin-top: 20px; max-width: 560px; scroll-margin-top: calc(var(--nav-h) + 16px); }
#request-access .access-request__stage { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
#request-access form { max-width: 560px; }
#request-access .access-request__email-controls { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: center; }
#request-access input:not([name="website"]) { margin-bottom: 0; font-size: 16px; }
#request-access .actions { margin-top: 12px; flex-direction: row; }
#request-access #access-github-hint { margin: 8px 0; font-size: 14px; }
#request-access #access-status:empty { display: none; }
#request-access #access-status { margin: 12px 0; }
#request-access .access-request__privacy { margin-top: 12px; border: 0; font-size: 14px; }
#request-access .access-request__privacy summary { cursor: pointer; }
#request-access .access-request__privacy p { margin: 8px 0; }
#request-access .access-request__how { display: inline-block; margin-top: 12px; font-size: 14px; }
html[data-scope="weave"] .hero-bench__copy { padding-bottom: 32px; }
@media (max-height: 700px) {
  html[data-scope="weave"] .hero-bench__copy { padding-top: calc(var(--nav-h) + 16px); padding-bottom: 20px; }
  html[data-scope="weave"] .hero-bench h1 { font-size: clamp(2.2rem, 5vw, 3.5rem); max-width: 22ch; margin: 12px 0; }
  html[data-scope="weave"] .hero-bench__copy #request-access { margin-top: 12px; }
}

/* Single hero intake reveal; no workbench clocks, pin dimensions or media changes. */
html[data-scope="weave"] .hero-bench__copy > .lede { max-width: 48ch; }
html[data-scope="weave"] .hero-bench__copy { padding-bottom: 76px; }
#request-access .access-request__panel { display: grid; grid-template-rows: 0fr; opacity: 0; transform: translateY(-6px); transition: grid-template-rows 220ms ease, opacity 220ms ease, transform 220ms ease; }
#request-access .access-request__panel.is-open { grid-template-rows: 1fr; opacity: 1; transform: translateY(0); margin-top: 12px; }
#request-access .access-request__panel-inner { min-height: 0; overflow: clip; }
#request-access .access-request__panel.is-ready .access-request__panel-inner { overflow: visible; padding: 4px; }
#request-access input:not([name="website"]) { background: rgba(6,9,11,.82); border: 1px solid rgba(237,240,234,.24); border-radius: 4px; }
#request-access input:focus-visible { outline: 2px solid var(--attention); outline-offset: 2px; }
#request-access .access-request__notice, #request-access .access-request__help { color: #bfc6c0; background: transparent; font-size: 13px; line-height: 1.5; opacity: 1; width: fit-content; padding: 2px 4px; margin: 10px 0 0; }
.access-request__arrow { position: absolute; z-index: 6; left: 50%; bottom: 16px; transform: translateX(-50%); width: 44px; height: 32px; display: grid; place-items: center; color: var(--text); }
.access-request__arrow svg { animation: access-arrow-bob 2.8s ease-in-out infinite; }
@keyframes access-arrow-bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(4px); } }
@media (max-height: 700px) { #request-access label { margin-bottom: 4px; font-size: 14px; line-height: 1.4; } #request-access input:not([name="website"]) { min-height: 44px; padding: 8px 10px; line-height: 1.25; } #request-access [data-access-github-step] .actions { margin-top: 6px; gap: 8px; } #request-access [data-access-github-step] .actions .btn { min-height: 36px; padding: 8px 12px; font-size: 14px; } #request-access #access-github-hint { position: absolute; width: 1px; height: 1px; margin: 0; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; } }
@media (prefers-reduced-motion: reduce) { #request-access .access-request__panel { transition: none; } .access-request__arrow svg { animation: none; } }

/* One forward node: reveal left input while the same button travels right. */
#request-access .access-request__forward-row { display: grid; grid-template-columns: 0fr auto; align-items: end; column-gap: 0; transition: grid-template-columns 220ms ease, column-gap 220ms ease; }
#request-access .access-request__forward-row.is-open { grid-template-columns: 1fr auto; column-gap: 12px; }
#request-access .access-request__forward-row.is-later { grid-template-columns: minmax(0,1fr) 0fr; column-gap: 0; }
#request-access .access-request__forward-row > [data-access-next] { justify-self: start; margin-bottom: 4px; white-space: nowrap; }
#request-access .access-request__forward-row .access-request__panel { min-width: 0; margin-top: 0; }
#request-access .access-request__email-controls { grid-template-columns: minmax(0,1fr); }
#request-access .access-request__notice { max-width: 100%; }
@media (prefers-reduced-motion: reduce) { #request-access .access-request__forward-row { transition: none; } }

/* Revealed intake grows its existing hero owner; the same controls stay in flow. */
html.js .hero-bench:has(.access-request__panel.is-open) { height: auto; }
html.js .hero-bench:has(.access-request__panel.is-open) .hero-bench__pin {
  height: auto; min-height: 100svh; position: relative;
}
