diff --git a/app/components/NewsletterModal.tsx b/app/components/NewsletterModal.tsx index fba723a..a4bbd1d 100644 --- a/app/components/NewsletterModal.tsx +++ b/app/components/NewsletterModal.tsx @@ -144,7 +144,17 @@ export function NewsletterModal({ open, onClose }: { open: boolean; onClose: () animate={{ opacity: 1, y: 0, scale: 1 }} exit={{ opacity: 0, y: 16, scale: 0.97 }} transition={{ duration: 0.3, ease: [0.22, 1, 0.36, 1] }} - className="relative bg-bg-base rounded-md overflow-hidden w-full max-w-[75rem] max-h-[90vh] overflow-y-auto" + // Capped narrower than the Desktop 75rem through the whole + // 640-1023px Tablet band — this dialog is a modal, not a page + // section, so at Tablet it should read as a compact centered + // card, not stretch to near-full-viewport-width once stacked + // single-column (see the flex-col/flex-row split below): + // full-bleed-width + a single stacked photo/text column made + // the photo huge and the text below it look lost/disconnected + // (reported 2026-07-29, after first trying a lg:-gated + // structural stack with no width cap). max-w-[75rem] only + // takes over once the 2-column split itself starts at lg:. + className="relative bg-bg-base rounded-md overflow-hidden w-full max-w-[36rem] lg:max-w-[75rem] max-h-[90vh] overflow-y-auto" > - {/* modal-top: photo + copy/form, stacked below sm (moved down from the old md:) */} -