/* PNW Passport / mobile overflow guard / screenshot QA 2026-11-12
   Prevent intrinsically wide links and horizontal story rails from expanding
   the hero's grid item beyond the viewport. Intentional carousels still scroll.
*/
@media (max-width: 820px) {
 .quest-v2 {
   max-width: 100%;
   overflow-x: clip;
 }
 .quest-v2 .quest-intro-inner {
   display: grid !important;
   grid-template-columns: minmax(0, 1fr) !important;
   width: min(calc(100% - 34px), var(--max)) !important;
   max-width: calc(100% - 34px) !important;
   min-width: 0 !important;
   margin-inline: auto !important;
   gap: clamp(16px, 4vw, 24px) !important;
 }
 .quest-v2 .quest-intro-inner > *,
 .quest-v2 .quest-copy,
 .quest-v2 .quest-casefile {
   min-width: 0 !important;
   width: 100% !important;
   max-width: 100% !important;
   box-sizing: border-box !important;
 }
 .quest-v2 .quest-deck,
 .quest-v2 .quest-headline,
 .quest-v2 .quest-v2-promise,
 .quest-v2 .pnw-editorial-proof,
 .quest-v2 .quest-case-caption,
 .quest-v2 .quest-case-caption p {
   min-width: 0 !important;
   max-width: 100% !important;
   overflow-wrap: break-word;
 }
 .quest-v2 .quest-v2-links {
   box-sizing: border-box;
   display: flex !important;
   flex-wrap: nowrap !important;
   min-width: 0 !important;
   width: 100% !important;
   max-width: 100% !important;
   overflow-x: auto !important;
   overflow-y: hidden !important;
   -webkit-overflow-scrolling: touch;
   overscroll-behavior-x: contain;
 }
 .quest-v2 .quest-v2-links > a { min-width: max-content; }
 .quest-v2 .quest-v2-kicker {
   display: flex;
   flex-wrap: wrap !important;
   align-items: center;
   column-gap: 8px;
   row-gap: 4px;
   width: 100%;
   max-width: 100%;
   min-width: 0;
   overflow-wrap: break-word;
   line-height: 1.25;
 }
 .quest-v2 .quest-v2-kicker small {
   display: block;
   flex-basis: 100%;
   min-width: 0;
   margin-left: 0;
   font-size: .59rem;
   white-space: normal;
   overflow-wrap: anywhere;
 }
 .quest-v2 .quest-casefile {
   margin: 0 auto !important;
   transform: none !important;
 }
 .quest-v2 .quest-case-photo {
   width: 100% !important;
   max-width: 100% !important;
   min-width: 0 !important;
 }
 .quest-v2 .quest-case-tabs {
   display: grid !important;
   grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
   width: 100%;
   min-width: 0;
   max-width: 100%;
   box-sizing: border-box;
 }
 .quest-v2 .quest-case-tabs button {
   min-width: 0 !important;
   max-width: 100%;
   white-space: normal !important;
   overflow-wrap: anywhere;
   text-align: center;
 }
 .quest-v2 .quest-case-caption h2 { overflow-wrap: break-word; }
}
@media (max-width: 430px) {
 .quest-v2 .quest-intro-inner {
   width: calc(100% - 30px) !important;
   max-width: calc(100% - 30px) !important;
 }
 .quest-v2 .quest-case-tabs { padding: 7px !important; gap: 5px !important; }
 .quest-v2 .quest-case-tabs button { font-size: .52rem !important; line-height: 1.18; padding-inline: 3px; }
 .quest-v2 .quest-case-top { padding-inline: 9px; }
 .quest-v2 .quest-case-caption { padding-inline: 12px; }
}