/* GENERATED by scripts/work/oct8/resp/r1/build_v2_mobile.py from v2-mobile.src.css: every [style] selector also
   has a CSSOM-normalised twin (`prop: value;`). Edit the source file and rebuild; do not edit this file. */
/* =============================================================================
   v2-mobile.css: phone / small-tablet layout for the converted v2 pages
   (.pg-v2-root content on the plain page template: legal, glossary, FAQs,
   pricing, about-us pages, 7-step, comparisons, media, media kit, white
   papers, case studies, contact, buyer's guides, the /industries/ and
   /services/ hubs and their 13 group hubs).

   Porthia's v2 files are desktop-only: every layout grid is an INLINE
   grid-template-columns, so it never collapses. This file supplies the phone
   layout from the theme (the converters regenerate post_content, so a content
   fix would be lost). Enqueued by piton2026_enqueue_v2_mobile() in
   functions.php only on is_page() + default template + pg-v2-root in content,
   never on the front page, industry or service pages.

   Rules:
   - Desktop is untouched: every rule sits inside a max-width media query.
   - Inline styles only lose to !important, so every override carries it.
   - Generic rules are wrapped in :where() (specificity 0). The special-case
     rules further down use normal specificity, so they always beat them.
   - Elements that already carry the page's own responsive hooks
     (data-cols*, data-gd-*, data-tier-row, data-hero-grid) are excluded, and
     data-keep-cols opts any element out.
   - Selectors are written against the converter's inline style text
     (`prop:value;`). Theme JS sometimes rewrites a style through CSSOM and
     Chrome re-serialises it as `prop: value;`, so build_v2_mobile.py emits a
     normalised twin of every [style] selector.
   ============================================================================= */

/* -----------------------------------------------------------------------------
   Tablet and below (<= 900px): wide tables scroll inside their own box.
   ----------------------------------------------------------------------------- */
@media (max-width: 900px) {
	.pg-v2-root [style*="overflow:hidden"]:has(> table),
	.pg-v2-root [style*="overflow: hidden"]:has(> table) {
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
	}

	/* Pricing calculator: the MONTHLY / ANNUAL result boxes wrap onto two rows
	   when the result panel is too narrow for both 24px figures. */
	.pg-v2-root [style*="display:flex; gap:14px; margin-bottom:28px"],
	.pg-v2-root [style*="display: flex; gap: 14px; margin-bottom: 28px"] {
		flex-wrap: wrap !important;
	}
	.pg-v2-root [style*="display:flex; gap:14px; margin-bottom:28px"] > [style*="flex:1"],
	.pg-v2-root [style*="display: flex; gap: 14px; margin-bottom: 28px"] > [style*="flex: 1"] {
		flex: 1 1 150px !important;
	}
}

/* -----------------------------------------------------------------------------
   Tablet portrait (701px - 900px): the few desktop grids whose columns cannot
   hold their content at 768-900px. Below 701px the phone tier covers them.
   ----------------------------------------------------------------------------- */
@media (min-width: 701px) and (max-width: 900px) {

	/* Hero splits (comparisons, white papers) and the case-study record
	   cards (1fr 320px) stack; the right-hand panel was cut at the edge. */
	.pg-v2-root :is([style*="grid-template-columns:1.08fr 0.92fr"], [style*="grid-template-columns:1fr 320px"]):not([data-hero-grid], [data-keep-cols]),
	.pg-v2-root :is([style*="grid-template-columns: 1.08fr 0.92fr"], [style*="grid-template-columns: 1fr 320px"]):not([data-hero-grid], [data-keep-cols]) {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	/* Philippines vs India SWOT: one country card per row. */
	.pg-v2-root [data-stagger][style*="grid-template-columns:1fr 1fr; gap:24px"],
	.pg-v2-root [data-stagger][style*="grid-template-columns: 1fr 1fr; gap: 24px"] {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	/* Pricing: the three destination cards (each holds a 2-column facts
	   grid) stack. */
	.pg-v2-root [style*="grid-template-columns:repeat(3,1fr)"]:has(> * [style*="grid-template-columns:1fr 1fr; gap:13px 18px"]),
	.pg-v2-root [style*="grid-template-columns: repeat(3, 1fr)"]:has(> * [style*="grid-template-columns: 1fr 1fr; gap: 13px 18px"]) {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	/* Media kit fact sheet and the white-paper library: two across. */
	.pg-v2-root :is([style*="grid-template-columns:repeat(4,1fr); gap:1px"], [data-stagger][style*="grid-template-columns:repeat(4,1fr); gap:16px"]),
	.pg-v2-root :is([style*="grid-template-columns: repeat(4, 1fr); gap: 1px"], [data-stagger][style*="grid-template-columns: repeat(4, 1fr); gap: 16px"]) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

/* -----------------------------------------------------------------------------
   Phones and small tablets (<= 700px)
   ----------------------------------------------------------------------------- */
@media (max-width: 700px) {

	/* 1. 20px side gutters on the 64px section wrappers
	      (`padding:72px 64px`, `padding:0 64px 104px`, ...). Normal
	      specificity (0,3,0) on purpose: it must beat the sitewide <=560px
	      30px rule in responsive-type.css, div[style*="padding:"][style*="px 64px"]
	      (0,2,1), on these pages. */
	.pg-v2-root :is([style*="px 64px"]:not([style*="background-size"]), [style*="padding:0 64px"]),
	.pg-v2-root :is([style*="px 64px"]:not([style*="background-size"]), [style*="padding: 0px 64px"]) {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	/* 2. Two-column grids with a small gap hold short stat / input / chip
	      pairs: they keep two columns, but as minmax(0,1fr) so they shrink. */
	:where(.pg-v2-root :is([style*="grid-template-columns:1fr 1fr;"], [style$="grid-template-columns:1fr 1fr"], [style*="grid-template-columns:repeat(2,"]):not([data-cols], [data-cols-3], [data-cols-4], [data-gd-cols], [data-gd-3], [data-tier-row], [data-hero-grid], [data-keep-cols])),
	:where(.pg-v2-root :is([style*="grid-template-columns: 1fr 1fr;"], [style*="grid-template-columns: 1fr 1fr;"], [style*="grid-template-columns: repeat(2, "]):not([data-cols], [data-cols-3], [data-cols-4], [data-gd-cols], [data-gd-3], [data-tier-row], [data-hero-grid], [data-keep-cols])) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	/* 3. Layout splits and 3-column card grids stack to one column:
	      fractional splits (1.2fr 0.8fr, 0.82fr 1.18fr, minmax(0,1.25fr) ...),
	      fixed sidebars (248px 1fr, 300px 1fr, 1fr 320px ...), repeat(3, ...),
	      `auto 1fr` numeral rows, and 1fr 1fr / repeat(2,...) splits whose gap
	      is 16px or more (a layout gap, not a stat-pair gap). */
	:where(.pg-v2-root :is(
		[style*="grid-template-columns:1."],
		[style*="grid-template-columns:0."],
		[style*="grid-template-columns:minmax(0,1."],
		[style*="grid-template-columns:minmax(0,1fr) minmax(0,1"],
		[style*="grid-template-columns:200px "],
		[style*="grid-template-columns:248px "],
		[style*="grid-template-columns:260px "],
		[style*="grid-template-columns:300px "],
		[style*="grid-template-columns:minmax(0,240px) "],
		[style*="grid-template-columns:1fr 320px"],
		[style*="grid-template-columns:repeat(3,"],
		[style*="grid-template-columns:1fr 1fr 1fr"],
		[style*="grid-template-columns:auto 1fr"]
	):not([data-cols], [data-cols-3], [data-cols-4], [data-gd-cols], [data-gd-3], [data-tier-row], [data-hero-grid], [data-keep-cols])),
	:where(.pg-v2-root :is(
		[style*="grid-template-columns: 1."],
		[style*="grid-template-columns: 0."],
		[style*="grid-template-columns: minmax(0px, 1."],
		[style*="grid-template-columns: minmax(0px, 1fr) minmax(0px, 1"],
		[style*="grid-template-columns: 200px "],
		[style*="grid-template-columns: 248px "],
		[style*="grid-template-columns: 260px "],
		[style*="grid-template-columns: 300px "],
		[style*="grid-template-columns: minmax(0px, 240px) "],
		[style*="grid-template-columns: 1fr 320px"],
		[style*="grid-template-columns: repeat(3, "],
		[style*="grid-template-columns: 1fr 1fr 1fr"],
		[style*="grid-template-columns: auto 1fr"]
	):not([data-cols], [data-cols-3], [data-cols-4], [data-gd-cols], [data-gd-3], [data-tier-row], [data-hero-grid], [data-keep-cols])),
	:where(.pg-v2-root :is([style*="grid-template-columns:1fr 1fr;"], [style$="grid-template-columns:1fr 1fr"], [style*="grid-template-columns:repeat(2,"]):is([style*="gap:16px"], [style*="gap:18px"], [style*="gap:20px"], [style*="gap:22px"], [style*="gap:24px"], [style*="gap:26px"], [style*="gap:14px 40px"]):not([data-cols], [data-cols-3], [data-cols-4], [data-gd-cols], [data-gd-3], [data-tier-row], [data-hero-grid], [data-keep-cols])),
	:where(.pg-v2-root :is([style*="grid-template-columns: 1fr 1fr;"], [style*="grid-template-columns: 1fr 1fr;"], [style*="grid-template-columns: repeat(2, "]):is([style*="gap: 16px"], [style*="gap: 18px"], [style*="gap: 20px"], [style*="gap: 22px"], [style*="gap: 24px"], [style*="gap: 26px"], [style*="gap: 14px 40px"]):not([data-cols], [data-cols-3], [data-cols-4], [data-gd-cols], [data-gd-3], [data-tier-row], [data-hero-grid], [data-keep-cols])) {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	/* 4. 4-, 5- and 7-column grids become two columns. */
	:where(.pg-v2-root :is([style*="grid-template-columns:repeat(4,"], [style*="grid-template-columns:repeat(5,"], [style*="grid-template-columns:repeat(7,"]):not([data-cols], [data-cols-3], [data-cols-4], [data-gd-cols], [data-gd-3], [data-tier-row], [data-hero-grid], [data-keep-cols])),
	:where(.pg-v2-root :is([style*="grid-template-columns: repeat(4, "], [style*="grid-template-columns: repeat(5, "], [style*="grid-template-columns: repeat(7, "]):not([data-cols], [data-cols-3], [data-cols-4], [data-gd-cols], [data-gd-3], [data-tier-row], [data-hero-grid], [data-keep-cols])) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	/* 5. Sticky asides become static (the page sub-nav bar stays sticky). */
	:where(.pg-v2-root [style*="position:sticky"]:not(nav)),
	:where(.pg-v2-root [style*="position: sticky"]:not(nav)) {
		position: static !important;
	}

	/* 6. Fixed text minimums that force rows wider than a phone. */
	:where(.pg-v2-root :is([style*="min-width:280px"], [style*="min-width: 280px"])),
	:where(.pg-v2-root :is([style*="min-width: 280px"], [style*="min-width: 280px"])) {
		min-width: 0 !important;
	}

	/* 7. Two-column text flows (FAQ lists) become one column. */
	:where(.pg-v2-root :is([style*="column-count:2"], [style*="column-count:3"])),
	:where(.pg-v2-root :is([style*="column-count: 2"], [style*="column-count: 3"])) {
		column-count: 1 !important;
	}

	/* 8. Button rows (two links side by side) and inline trust rows wrap. */
	:where(.pg-v2-root [style*="display:flex"]:has(> a + a):not(nav *)),
	:where(.pg-v2-root [style*="display: flex"]:has(> a + a):not(nav *)),
	:where(.pg-v2-root :is([style*="display:flex; align-items:center; gap:22px"], [style*="display: flex; align-items: center; gap: 22px"])),
	:where(.pg-v2-root :is([style*="display: flex; align-items: center; gap: 22px"], [style*="display: flex; align-items: center; gap: 22px"])) {
		flex-wrap: wrap !important;
		row-gap: 10px !important;
	}

	/* ---- special cases (normal specificity: beat the generic rules) ---- */

	/* Leadership page sub-nav: one scrollable strip instead of a cut-off row. */
	.pg-v2-root nav[style*="position:sticky"] > div,
	.pg-v2-root nav[style*="position: sticky"] > div {
		overflow-x: auto !important;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}
	.pg-v2-root nav[style*="position:sticky"] > div::-webkit-scrollbar,
	.pg-v2-root nav[style*="position: sticky"] > div::-webkit-scrollbar { display: none; }
	.pg-v2-root nav[style*="position:sticky"] > div > *,
	.pg-v2-root nav[style*="position: sticky"] > div > * { flex-shrink: 0 !important; }

	/* Leadership hero: the portrait pair is drawn at scale(1.2) and shifted
	   up on desktop; on a phone that pushes both portraits past the edge. */
	.pg-v2-root [style*="transform:scale(1.2) translate("],
	.pg-v2-root [style*="transform: scale(1.2) translate("] {
		transform: none !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	/* Glossary: term above its definition, close together. */
	.pg-v2-root [style*="grid-template-columns:300px 1fr"],
	.pg-v2-root [style*="grid-template-columns: 300px 1fr"] {
		row-gap: 8px !important;
	}

	/* Contact: regional numbers table keeps its three columns, tighter. */
	.pg-v2-root [style*="grid-template-columns:1.25fr 1.35fr 1fr"],
	.pg-v2-root [style*="grid-template-columns: 1.25fr 1.35fr 1fr"] {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.35fr) minmax(0, 1fr) !important;
		column-gap: 10px !important;
	}

	/* Leadership: CEO / CSO comparison table. The row label spans the full
	   width, the two principals sit side by side underneath. */
	.pg-v2-root [style*="grid-template-columns:1fr 1.3fr 1.3fr"],
	.pg-v2-root [style*="grid-template-columns: 1fr 1.3fr 1.3fr"] {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
	.pg-v2-root [style*="grid-template-columns:1fr 1.3fr 1.3fr"] > :first-child,
	.pg-v2-root [style*="grid-template-columns: 1fr 1.3fr 1.3fr"] > :first-child { grid-column: 1 / -1 !important; }
	.pg-v2-root [style*="grid-template-columns:1fr 1.3fr 1.3fr"] > :empty,
	.pg-v2-root [style*="grid-template-columns: 1fr 1.3fr 1.3fr"] > :empty { display: none !important; }
	.pg-v2-root [style*="grid-template-columns:1fr 1.3fr 1.3fr"] > *,
	.pg-v2-root [style*="grid-template-columns: 1fr 1.3fr 1.3fr"] > * { padding: 14px 16px !important; }
	.pg-v2-root [style*="grid-template-columns:1fr 1.3fr 1.3fr"] > :nth-child(2),
	.pg-v2-root [style*="grid-template-columns: 1fr 1.3fr 1.3fr"] > :nth-child(2) { border-left: 0 !important; }

	/* Leadership: "Two careers" timeline. Dot rail on the left, the year
	   label above its card. */
	.pg-v2-root [style*="grid-template-columns:160px 28px 1fr"],
	.pg-v2-root [style*="grid-template-columns: 160px 28px 1fr"] {
		grid-template-columns: 20px minmax(0, 1fr) !important;
		column-gap: 14px !important;
	}
	.pg-v2-root [style*="grid-template-columns:160px 28px 1fr"] > :nth-child(1),
	.pg-v2-root [style*="grid-template-columns: 160px 28px 1fr"] > :nth-child(1) {
		grid-column: 2 !important;
		grid-row: 1 !important;
		align-items: flex-start !important;
		text-align: left !important;
		padding: 0 0 10px !important;
	}
	.pg-v2-root [style*="grid-template-columns:160px 28px 1fr"] > :nth-child(1) > *,
	.pg-v2-root [style*="grid-template-columns: 160px 28px 1fr"] > :nth-child(1) > * { text-align: left !important; }
	.pg-v2-root [style*="grid-template-columns:160px 28px 1fr"] > :nth-child(2),
	.pg-v2-root [style*="grid-template-columns: 160px 28px 1fr"] > :nth-child(2) {
		grid-column: 1 !important;
		grid-row: 1 / span 2 !important;
	}
	.pg-v2-root [style*="grid-template-columns:160px 28px 1fr"] > :nth-child(3),
	.pg-v2-root [style*="grid-template-columns: 160px 28px 1fr"] > :nth-child(3) {
		grid-column: 2 !important;
		grid-row: 2 !important;
	}

	/* Philippines vs India: 8-dimension scorecard rows. Dimension on top,
	   the two country cells side by side, the verdict pill underneath. */
	.pg-v2-root [style*="grid-template-columns:1fr 1.55fr 1.55fr 130px"],
	.pg-v2-root [style*="grid-template-columns: 1fr 1.55fr 1.55fr 130px"] {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px 16px !important;
		padding-left: 18px !important;
		padding-right: 18px !important;
	}
	.pg-v2-root [style*="grid-template-columns:1fr 1.55fr 1.55fr 130px"] > :first-child,
	.pg-v2-root [style*="grid-template-columns: 1fr 1.55fr 1.55fr 130px"] > :first-child,
	.pg-v2-root [style*="grid-template-columns:1fr 1.55fr 1.55fr 130px"] > :nth-child(4),
	.pg-v2-root [style*="grid-template-columns: 1fr 1.55fr 1.55fr 130px"] > :nth-child(4) {
		grid-column: 1 / -1 !important;
		justify-self: start !important;
	}

	/* Philippines vs India: hourly-rate table. Function name on top, the three
	   rates in three columns, the note underneath; the header keeps only the
	   three country labels so they sit above their rates. */
	.pg-v2-root [style*="grid-template-columns:1.5fr 1fr 1fr 1fr 1.4fr"],
	.pg-v2-root [style*="grid-template-columns: 1.5fr 1fr 1fr 1fr 1.4fr"] {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 8px 12px !important;
		padding-left: 18px !important;
		padding-right: 18px !important;
	}
	.pg-v2-root [style*="grid-template-columns:1.5fr 1fr 1fr 1fr 1.4fr"] > :first-child,
	.pg-v2-root [style*="grid-template-columns: 1.5fr 1fr 1fr 1fr 1.4fr"] > :first-child,
	.pg-v2-root [style*="grid-template-columns:1.5fr 1fr 1fr 1fr 1.4fr"] > :nth-child(5),
	.pg-v2-root [style*="grid-template-columns: 1.5fr 1fr 1fr 1fr 1.4fr"] > :nth-child(5) { grid-column: 1 / -1 !important; }
	.pg-v2-root [style*="grid-template-columns:1.5fr 1fr 1fr 1fr 1.4fr"]:not([style*="align-items:center"]) > :first-child,
	.pg-v2-root [style*="grid-template-columns: 1.5fr 1fr 1fr 1fr 1.4fr"]:not([style*="align-items: center"]) > :first-child,
	.pg-v2-root [style*="grid-template-columns:1.5fr 1fr 1fr 1fr 1.4fr"]:not([style*="align-items:center"]) > :nth-child(5),
	.pg-v2-root [style*="grid-template-columns: 1.5fr 1fr 1fr 1fr 1.4fr"]:not([style*="align-items: center"]) > :nth-child(5) { display: none !important; }

	/* Privacy policy: the US state-rights table stacks its two cells. */
	.pg-v2-root .cyn-rights-table,
	.pg-v2-root .cyn-rights-table tbody,
	.pg-v2-root .cyn-rights-table tr,
	.pg-v2-root .cyn-rights-table td { display: block !important; width: auto !important; }
	.pg-v2-root .cyn-rights-table td + td { border-top: 0 !important; }
}

/* -----------------------------------------------------------------------------
   Small phones (<= 440px)
   ----------------------------------------------------------------------------- */
@media (max-width: 440px) {

	/* Card grids (4 / 5 across, staggered cards) go to one column; stat
	   strips (gap:0) and photo / swatch grids keep two. */
	:where(.pg-v2-root [data-stagger]:is([style*="grid-template-columns:repeat(4,"], [style*="grid-template-columns:repeat(5,"]):not([style*="gap:0"], [data-cols], [data-cols-3], [data-cols-4], [data-gd-cols], [data-gd-3], [data-tier-row], [data-hero-grid], [data-keep-cols])),
	:where(.pg-v2-root [data-stagger]:is([style*="grid-template-columns: repeat(4, "], [style*="grid-template-columns: repeat(5, "]):not([style*="gap: 0px"], [data-cols], [data-cols-3], [data-cols-4], [data-gd-cols], [data-gd-3], [data-tier-row], [data-hero-grid], [data-keep-cols])) {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	/* auto-fit / auto-fill grids whose minimum track is wider than a small
	   phone (minmax(340px,1fr) ...) go to one column. */
	:where(.pg-v2-root :is([style*="grid-template-columns:repeat(auto-fit,minmax("], [style*="grid-template-columns:repeat(auto-fill,minmax("]):not([style*="min(100%"], [data-cols], [data-cols-3], [data-cols-4], [data-gd-cols], [data-gd-3], [data-tier-row], [data-hero-grid], [data-keep-cols])),
	:where(.pg-v2-root :is([style*="grid-template-columns: repeat(auto-fit, minmax("], [style*="grid-template-columns: repeat(auto-fill, minmax("]):not([style*="min(100%"], [data-cols], [data-cols-3], [data-cols-4], [data-gd-cols], [data-gd-3], [data-tier-row], [data-hero-grid], [data-keep-cols])) {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	/* Figure + text rows and "A -> B" rows stack. */
	:where(.pg-v2-root :is([style*="grid-template-columns:auto minmax(0,1fr)"], [style*="grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)"], [style*="grid-template-columns:1fr auto 1fr"]):not([data-cols], [data-cols-3], [data-cols-4], [data-gd-cols], [data-gd-3], [data-tier-row], [data-hero-grid], [data-keep-cols])),
	:where(.pg-v2-root :is([style*="grid-template-columns: auto minmax(0px, 1fr)"], [style*="grid-template-columns: minmax(0px, 1fr) auto minmax(0px, 1fr)"], [style*="grid-template-columns: 1fr auto 1fr"]):not([data-cols], [data-cols-3], [data-cols-4], [data-gd-cols], [data-gd-3], [data-tier-row], [data-hero-grid], [data-keep-cols])) {
		grid-template-columns: minmax(0, 1fr) !important;
	}
	.pg-v2-root :is([style*="grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)"], [style*="grid-template-columns:1fr auto 1fr"]) > :nth-child(2),
	.pg-v2-root :is([style*="grid-template-columns: minmax(0px, 1fr) auto minmax(0px, 1fr)"], [style*="grid-template-columns: 1fr auto 1fr"]) > :nth-child(2) {
		justify-self: start !important;
		transform: rotate(90deg);
	}

	/* Philippines vs India SWOT cards: the four quadrants inside each country
	   card stack (two columns of ~90px cannot hold their lists). */
	.pg-v2-root [data-stagger][style*="grid-template-columns:1fr 1fr; gap:24px"] [style*="grid-template-columns:1fr 1fr; gap:14px"],
	.pg-v2-root [data-stagger][style*="grid-template-columns: 1fr 1fr; gap: 24px"] [style*="grid-template-columns: 1fr 1fr; gap: 14px"] {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	/* Leadership timeline filter (All / John Maczynski / Ralf Ellspermann)
	   wraps instead of running 4-24px past the edge. */
	.pg-v2-root [style*="display:flex; gap:8px; background:rgba(255,255,255,.06)"],
	.pg-v2-root [style*="display: flex; gap: 8px; background: rgba(255, 255, 255, 0.06)"] {
		flex-wrap: wrap !important;
	}

	/* Pricing calculator result panel: slimmer padding, and the
	   flag / destination / OFFSHORE badge row may wrap. */
	.pg-v2-root [style*="padding:36px 38px"],
	.pg-v2-root [style*="padding: 36px 38px"] {
		padding-left: 22px !important;
		padding-right: 22px !important;
	}
	.pg-v2-root [style*="display:flex; align-items:center; gap:11px; margin-bottom:30px"],
	.pg-v2-root [style*="display: flex; align-items: center; gap: 11px; margin-bottom: 30px"] {
		flex-wrap: wrap !important;
		row-gap: 8px !important;
	}

	/* Contact testimonial: "SCOTT KELLER - Executive Advisor ..." was squeezed
	   to 12-82px beside the TaxAct logo pill; the logo moves under the name. */
	.pg-v2-root [style*="display:flex; align-items:center; gap:12px"]:has(> [style*="min-width:0; flex:1"] + [style*="flex-shrink:0; background:#fff; border-radius:6px"]),
	.pg-v2-root [style*="display: flex; align-items: center; gap: 12px"]:has(> [style*="min-width: 0px; flex: 1"] + [style*="flex-shrink: 0px; background: #fff; border-radius: 6px"]) {
		flex-wrap: wrap !important;
		row-gap: 10px !important;
	}
	.pg-v2-root [style*="display:flex; align-items:center; gap:12px"] > [style*="min-width:0; flex:1"]:has(+ [style*="flex-shrink:0; background:#fff; border-radius:6px"]),
	.pg-v2-root [style*="display: flex; align-items: center; gap: 12px"] > [style*="min-width: 0px; flex: 1"]:has(+ [style*="flex-shrink: 0px; background: #fff; border-radius: 6px"]) {
		flex: 1 1 calc(100% - 36px) !important;
	}
	.pg-v2-root [style*="display:flex; align-items:center; gap:12px"] > [style*="min-width:0; flex:1"] + [style*="flex-shrink:0; background:#fff; border-radius:6px"],
	.pg-v2-root [style*="display: flex; align-items: center; gap: 12px"] > [style*="min-width: 0px; flex: 1"] + [style*="flex-shrink: 0px; background: #fff; border-radius: 6px"] {
		margin-left: 36px !important;
	}

	/* Stat strips (4 across on desktop, 2 x 2 here): tighter cell padding and
	   a figure size that follows the viewport, so 46px figures such as
	   "US$1B+" fit their cell at 320px. */
	.pg-v2-root [style*="grid-template-columns:repeat(4,1fr); gap:0"] > *,
	.pg-v2-root [style*="grid-template-columns: repeat(4, 1fr); gap: 0px"] > * {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
	.pg-v2-root [style*="grid-template-columns:repeat(4,1fr); gap:0"] [style*="font:800 46px"],
	.pg-v2-root [style*="grid-template-columns: repeat(4, 1fr); gap: 0px"] [style*="font: 800 46px"] {
		font-size: clamp(30px, 10vw, 46px) !important;
	}

	/* No-wrap labels, stat lines and buttons may wrap rather than run past
	   the screen edge (only takes effect when the text does not fit). */
	:where(.pg-v2-root [style*="white-space:nowrap"]),
	:where(.pg-v2-root [style*="white-space: nowrap"]) {
		white-space: normal !important;
	}
}

/* -----------------------------------------------------------------------------
   Phones (<= 560px), added by R2 polish (Oct-9): Authorship & verification cards
   (buyer's guides). The reviewer note and "View full bio" link keep a 74px left
   indent meant to sit beside the 58px photo; with the photo stacked on phones that
   left a 70-110px italic column. Same rule as industry-page.css / service-page.css.
   ----------------------------------------------------------------------------- */
@media (max-width: 560px) {
	.pg-v2-root p[style*="margin:0 0 20px 74px"],
	.pg-v2-root p[style*="margin: 0px 0px 20px 74px"] { margin-left: 0 !important; }
	.pg-v2-root a[style*="margin-left:74px"],
	.pg-v2-root a[style*="margin-left: 74px"] { margin-left: 0 !important; }
	.pg-v2-root div[style*="padding:34px 40px 36px"],
	.pg-v2-root div[style*="padding: 34px 40px 36px"] { padding: 26px 20px 28px !important; }
	.pg-v2-root div[style*="padding:34px 40px 36px"] > div[style*="display:flex"]:has(> img),
	.pg-v2-root div[style*="padding: 34px 40px 36px"] > div[style*="display: flex"]:has(> img) { padding: 0 !important; }
}
