/* pn-pitchready-fit-20260927.css — CEO 2026-09-27 (launch day, urgent): "this module still cuts
   off bottom button" — the PITCH READY set-piece (DECK LOCKED strip → CASE FILE card → 03|PRESENT
   → copy → "Pitch it" / "Tweak it"). At 1440x900 the outer rounded frame around the whole set-piece
   ends just below "Pitch it", and "Tweak it" hangs out of it, sliced by the frame's own bottom edge.

   ── ROOT CAUSE (measured with ?qa=ready, getBoundingClientRect(), not guessed) ─────────────────
   `.pn-ready-inner` IS the rounded frame the CEO is looking at — it gets its border/radius/shadow
   from a rule in style-01.css meant for a completely different set of fixed-size surfaces:
     style-01.css L12473 — `.pn-ready-inner, .onb-wrap > .card, .pnpay-win, #__cfoView > *,
       .crisis-letter{ border-radius:16px !important; border:1px solid rgba(255,255,255,.14)
       !important; box-shadow:0 40px 96px rgba(0,0,0,.6) !important; overflow:hidden !important }`
   Those other surfaces are fixed-height windows that are SUPPOSED to clip. `.pn-ready-inner` was
   only ever meant to share their look (the 2026-08-20 "one window" ruling), never their sizing —
   but it also inherited `max-height:100%` from style-01.css L5682, uncontested since. `100%`
   resolves against `#pn-ready`'s own content-box height (viewport minus its ~63px/96px top/bottom
   padding — 741px at 1440x900), and the actual stack (deck card + "03 | PRESENT" line + copy +
   BOTH buttons, `pn-pitch-flow-20260919.css`'s own `gap:clamp(22px,3.4vh,40px)` +
   `padding:clamp(24px,5vh,56px) 20px`) runs taller than that cap at every viewport tested
   (1440x900, 1280x800, 1024x768, 390x844). `overflow:hidden` then hard-clips the excess — visually
   printing "Tweak it" outside the frame, sliced by the frame's own border. `#pn-ready` itself
   already scrolls (`overflow-y:auto`, pn-pitch-flow-20260919.css / pn-pitchflow-20260926.css), so
   the outer viewport was never short of a scroll mechanism — the INNER card's own `overflow:hidden`
   was clipping before that scroll could ever engage, because the card's reported height never
   exceeded its own capped box.

   ── FIX AT THE CAUSE ────────────────────────────────────────────────────────────────────────────
   `.pn-ready-inner` stops being height-capped and stops clipping its own children. Its box now
   sizes to its real (intrinsic) content — every child, both buttons, full padding — at every
   viewport. When that content is taller than the screen, `#pn-ready`'s existing outer scroll
   reveals the rest of the frame; nothing is ever cropped. The border/radius/shadow "window" look
   from the shared rule is kept untouched — only the sizing that silently ate its own footer is
   removed. Scoped to `.pn-ready .pn-ready-inner` (2 classes) to out-specify the shared selector's
   plain `.pn-ready-inner` (1 class) at equal !important weight, and loaded after style-01.css so
   it also wins on source order for any tied specificity. */
html body .pn-ready .pn-ready-inner{
  max-height:none !important;
  overflow:visible !important;
}

/* Belt-and-braces: some earlier viewport/theme combination could still hand this card a stray
   fixed/percentage height from a rule this file didn't have to touch to fix the bug above — height
   is unset here too so the box is always exactly as tall as its content, never shorter. */
html body .pn-ready .pn-ready-inner{
  height:auto !important;
}

/* Both CTAs stay comfortably inside the now-correctly-sized frame with real air under the last
   one, on the 8pt grid, instead of sitting flush on the frame's rounded corner. */
html body .pn-ready .pnr-cta{
  padding-bottom:16px !important;
}
@media (max-width:480px){
  html body .pn-ready .pnr-cta{ padding-bottom:24px !important; }
}
