/* PodControl waitlist modal. Scoped to .pcw- so it cannot touch page styles.
 * Palette copied from the live brand CTA: bg #ED751C, ink #072F47, radius 12px.
 *
 * Visibility is driven by CSS animation on [hidden] removal, never by a JS
 * class. A throttled requestAnimationFrame must not be able to leave the modal
 * present but at opacity 0.
 */

.pcw-root{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:16px}
.pcw-root[hidden]{display:none}

.pcw-backdrop{position:absolute;inset:0;background:rgba(7,20,31,.66);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}

.pcw-modal{position:relative;width:100%;max-width:520px;max-height:calc(100vh - 32px);overflow-y:auto;overscroll-behavior:contain;
  background:#fff;color:#111318;border-radius:16px;box-shadow:0 24px 64px rgba(7,20,31,.38);
  padding:28px 28px 24px;font:400 16px/1.55 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}

/* Motion only. Opacity is never animated: a throttled animation must not be
 * able to hold the modal invisible. Base state is fully opaque. */
.pcw-root:not([hidden]) .pcw-modal{animation:pcw-rise .18s ease both}

@keyframes pcw-rise{from{transform:translateY(10px) scale(.985)}to{transform:none}}

.pcw-x{position:absolute;top:6px;right:6px;width:44px;height:44px;border:0;border-radius:10px;background:transparent;color:#55606e;
  font-size:24px;line-height:1;cursor:pointer}
.pcw-x:hover{background:#eef0f4;color:#072F47}
.pcw-x:focus-visible{outline:2px solid #072F47;outline-offset:2px}

.pcw-kicker{margin:0 0 8px;font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#A8500B;padding-right:40px}
.pcw-h{margin:0 0 14px;font-size:26px;line-height:1.22;font-weight:700;letter-spacing:-.01em;color:#072F47}
.pcw-body p{margin:0 0 12px;color:#2c313b;font-size:15.5px}
.pcw-body p:last-child{margin-bottom:0}

.pcw-form{margin:18px 0 0;display:grid;gap:10px}
.pcw-field{display:grid;gap:6px}
.pcw-field label{font-size:13px;font-weight:600;color:#3a4049}
.pcw-field input{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #d3d7de;border-radius:10px;font-size:16px;
  color:#111318;background:#fff;transition:border-color .12s ease,box-shadow .12s ease}
.pcw-field input:focus{outline:0;border-color:#072F47;box-shadow:0 0 0 3px rgba(7,47,71,.14)}
.pcw-field input[aria-invalid="true"]{border-color:#c62f2f;box-shadow:0 0 0 3px rgba(198,47,47,.12)}

.pcw-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.pcw-submit{width:100%;margin-top:4px;padding:13px 22px;border:0;border-radius:12px;background:#ED751C;color:#072F47;
  font-size:17px;font-weight:650;cursor:pointer;
  box-shadow:0 10px 24px -10px rgba(237,117,28,.7);
  transition:transform .08s ease,filter .12s ease}
.pcw-submit:hover{filter:brightness(1.04)}
.pcw-submit:active{transform:translateY(1px)}
.pcw-submit:disabled{cursor:progress;filter:saturate(.55) brightness(1.02)}
.pcw-submit:focus-visible{outline:2px solid #072F47;outline-offset:2px}

.pcw-micro{margin:10px 0 0;font-size:12.5px;line-height:1.5;color:#5f6673}
.pcw-fine{margin:10px 0 0;padding-top:10px;border-top:1px solid #eceef2;font-size:12px;line-height:1.5;color:#5f6673}
.pcw-donebtn{margin-top:18px}

.pcw-err{margin:2px 0 0;font-size:13px;font-weight:600;color:#c62f2f;min-height:0}

.pcw-done .pcw-h{margin-bottom:10px}
.pcw-done ul{margin:10px 0 14px;padding-left:20px;color:#2c313b;font-size:15.5px}
.pcw-done li{margin:0 0 8px}
.pcw-done .pcw-fine{border-top:1px solid #eceef2}

@media (max-width:520px){
  .pcw-modal{padding:24px 18px 20px;border-radius:14px;max-height:calc(100vh - 20px)}
  .pcw-h{font-size:22px}
  .pcw-body p{font-size:15px}
  .pcw-submit{position:sticky;bottom:0}
}

@media (prefers-reduced-motion:reduce){
  .pcw-root:not([hidden]) .pcw-backdrop,
  .pcw-root:not([hidden]) .pcw-modal{animation:none}
}

html.pcw-lock{overflow:hidden}
