/*
Theme Name: Infographic Website (Bricks)
Theme URI: https://infographicsite.com
Description: Child theme of Bricks for infographicsite.com. Brand tokens, self-hosted fonts and component styles for the native Bricks build. Presentation only: logic lives in the Infographic Site Connector plugin. No tracking code.
Author: Infographic Website
Template: bricks
Version: 1.1.0
Text Domain: infographicsite-bricks
*/

/* =====================================================================
   Tokens. Bricks sets html{font-size:62.5%}: every size here is in px.
   Brand: the logo red stays the action colour; mustard is an accent used on
   dark surfaces only; maroon carries the creator panels; warm paper and
   blush tints replace the flat pink of the old site.
   ===================================================================== */
:root {
	--ig-red: #e60023;          /* logo red: buttons, marks (white text 4.8:1) */
	--ig-red-d: #c4001e;        /* links and red text on tinted surfaces (6:1) */
	--ig-red-dd: #a3001a;
	--ig-mustard: #e6be32;      /* accent on dark only */
	--ig-mustard-l: #f6e7b0;
	--ig-maroon: #4e0d1a;
	--ig-maroon-2: #6b1424;
	--ig-ink: #1b1a1e;
	--ig-ink-2: #34323a;
	--ig-muted: #5b5751;        /* 7:1 on white, 6.4:1 on paper */
	--ig-line: #e7e1d8;
	--ig-line-2: #d8d0c4;
	--ig-paper: #fbf8f3;
	--ig-tint: #f3eee6;         /* thumbnail stage */
	--ig-blush: #fcefef;
	--ig-white: #fff;
	--ig-radius: 14px;
	--ig-radius-sm: 10px;
	--ig-radius-xs: 7px;
	--ig-shadow: 0 1px 2px rgba(27, 26, 30, .06), 0 6px 20px rgba(27, 26, 30, .06);
	--ig-shadow-lg: 0 2px 6px rgba(27, 26, 30, .08), 0 22px 48px rgba(27, 26, 30, .14);
	--ig-head: "Bricolage Grotesque", "Inter", system-ui, sans-serif;
	--ig-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
	--ig-gutter: 28px;
	--ig-sec: 88px;
	--ig-hdr-h: 76px;
	--ig-wrap: 1240px;
}
@media (max-width: 767px) {
	:root { --ig-gutter: 18px; --ig-sec: 56px; --ig-hdr-h: 64px; }
}

/* =====================================================================
   Base
   ===================================================================== */
html { scroll-padding-top: calc(var(--ig-hdr-h) + 16px); }
body.ig {
	font-family: var(--ig-body);
	font-size: 17px;
	line-height: 1.65;
	color: var(--ig-ink);
	background: var(--ig-white);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}
body.ig h1, body.ig h2, body.ig h3, body.ig h4, body.ig h5, body.ig h6 {
	font-family: var(--ig-head);
	color: var(--ig-ink);
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.12;
	margin: 0;
	text-wrap: balance;
	font-variation-settings: "opsz" 48;
}
body.ig h1 { font-size: clamp(36px, 4.6vw, 62px); font-weight: 800; letter-spacing: -0.035em; line-height: 1.04; }
body.ig h2 { font-size: clamp(27px, 2.7vw, 38px); }
body.ig h3 { font-size: 21px; line-height: 1.25; letter-spacing: -0.015em; }
body.ig h4 { font-size: 18px; line-height: 1.3; }
body.ig p { margin: 0; }
body.ig a { color: var(--ig-red-d); text-underline-offset: 3px; text-decoration-thickness: 1px; }
body.ig a:hover { color: var(--ig-red-dd); }
body.ig :focus-visible { outline: 3px solid var(--ig-mustard); outline-offset: 2px; border-radius: 4px; }
body.ig ::selection { background: var(--ig-mustard-l); color: var(--ig-ink); }
body.ig img { max-width: 100%; height: auto; }
.ig [hidden] { display: none !important; }
.ig .screen-reader-text, .ig .sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.ig-skip { position: absolute; left: 12px; top: -60px; z-index: 10001; background: var(--ig-ink); color: #fff !important; padding: 10px 16px; border-radius: 8px; font-weight: 600; }
.ig-skip:focus { top: 12px; }

/* Bricks wrappers: our containers set the measure; Bricks' own defaults would stack rows. */
:where(.ig) .brxe-section { padding: 0; }
.ig .brxe-container.ig-wrap, .ig .ig-wrap {
	width: 100%;
	max-width: calc(var(--ig-wrap) + 2 * var(--ig-gutter));
	margin-inline: auto;
	padding-inline: var(--ig-gutter);
}
.ig .ig-wrap--narrow { max-width: calc(860px + 2 * var(--ig-gutter)); }
.ig .ig-wrap--mid { max-width: calc(1040px + 2 * var(--ig-gutter)); }
.ig .ig-sec { padding-block: var(--ig-sec); }
.ig .ig-sec--tight { padding-block: calc(var(--ig-sec) * .6); }
.ig .ig-sec--top0 { padding-top: 0; }
.ig .ig-sec--paper { background: var(--ig-paper); }
.ig .ig-sec--tint { background: var(--ig-tint); }
.ig .ig-sec--blush { background: var(--ig-blush); }
.ig .ig-sec--line { border-top: 1px solid var(--ig-line); }
.ig .ig-sec--dark { background: var(--ig-ink); color: #ece9e4; }
.ig .ig-sec--maroon { background: var(--ig-maroon); color: #f6ece9; }
body.ig .ig-sec--dark :is(h1,h2,h3,h4), body.ig .ig-sec--maroon :is(h1,h2,h3,h4), body.ig .ig-cta :is(h2,h3), body.ig .ig-box--dark :is(h2,h3) { color: #fff; }

/* Grid paper: the one decorative device, used on the home hero and page heads. */
.ig .ig-grid-paper {
	background-color: var(--ig-paper);
	background-image:
		linear-gradient(rgba(27, 26, 30, .045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(27, 26, 30, .045) 1px, transparent 1px);
	background-size: 32px 32px;
	background-position: -1px -1px;
}

/* =====================================================================
   Type helpers
   ===================================================================== */
.ig .ig-eyebrow {
	font-family: var(--ig-body);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--ig-red-d);
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
}
.ig .ig-eyebrow::before { content: ""; width: 18px; height: 3px; background: currentColor; border-radius: 2px; }
.ig .ig-sec--dark .ig-eyebrow, .ig .ig-sec--maroon .ig-eyebrow { color: var(--ig-mustard); }
.ig .ig-lead { font-size: 19px; line-height: 1.6; color: var(--ig-ink-2); max-width: 64ch; }
.ig .ig-sec--dark .ig-lead, .ig .ig-sec--maroon .ig-lead { color: #e9e2df; }
.ig .ig-small { font-size: 14px; color: var(--ig-muted); }
.ig .ig-muted { color: var(--ig-muted); }

.ig .ig-head { display: flex; flex-direction: column; gap: 14px; margin-bottom: 36px; max-width: 760px; }
.ig .ig-head--center { margin-inline: auto; text-align: center; align-items: center; }
.ig .ig-head--row {
	max-width: none;
	flex-direction: row;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}
.ig .ig-head--row > .brxe-block { gap: 12px; width: auto; max-width: 720px; }
.ig .ig-head--row .ig-lead { font-size: 17px; }

/* =====================================================================
   Buttons: one system. Primary red, secondary ghost, light for dark bands.
   ===================================================================== */
.ig .ig-btn, .ig .brxe-button.ig-btn {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 12px 24px;
	border-radius: 999px;
	border: 2px solid var(--ig-red);
	background: var(--ig-red);
	color: #fff;
	font-family: var(--ig-body);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -.005em;
	text-decoration: none;
	white-space: nowrap;
	transition: background .15s, border-color .15s, color .15s, transform .15s;
}
.ig .ig-btn:hover { background: var(--ig-red-dd); border-color: var(--ig-red-dd); color: #fff; }
.ig .ig-btn:active { transform: translateY(1px); }
.ig .ig-btn.ig-btn--ghost { background: transparent; color: var(--ig-ink); border-color: var(--ig-ink); }
.ig .ig-btn.ig-btn--ghost:hover { background: var(--ig-ink); color: #fff; border-color: var(--ig-ink); }
.ig .ig-btn.ig-btn--light { background: #fff; color: var(--ig-ink); border-color: #fff; }
.ig .ig-btn.ig-btn--light:hover { background: var(--ig-mustard); border-color: var(--ig-mustard); color: var(--ig-ink); }
.ig .ig-btn.ig-btn--line-light { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .55); }
.ig .ig-btn.ig-btn--line-light:hover { background: #fff; color: var(--ig-ink); border-color: #fff; }
.ig .ig-btn.ig-btn--sm { min-height: 44px; padding: 8px 18px; font-size: 15px; }
.ig .ig-btn.ig-btn--lg { min-height: 56px; padding: 14px 30px; font-size: 17px; }
.ig .ig-btn i, .ig .ig-btn svg { font-size: 14px; width: 14px; height: 14px; }
.ig .ig-btns { display: flex; flex-direction: row; flex-wrap: wrap; gap: 12px; align-items: center; }

.ig .ig-more {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	font-weight: 700;
	font-size: 16px;
	color: var(--ig-ink);
	text-decoration: none;
	border-bottom: 2px solid var(--ig-red);
	padding-bottom: 2px;
	line-height: 1.3;
	white-space: nowrap;
}
.ig .ig-more::after { content: "\2192"; color: var(--ig-red); transition: transform .15s; }
.ig .ig-more:hover { color: var(--ig-red-d); }
.ig .ig-more:hover::after { transform: translateX(3px); }
.ig .ig-sec--dark .ig-more, .ig .ig-sec--maroon .ig-more { color: #fff; border-color: var(--ig-mustard); }
.ig .ig-sec--dark .ig-more::after, .ig .ig-sec--maroon .ig-more::after { color: var(--ig-mustard); }

/* Chips (topic filters, sort, jump links) */
.ig .ig-chips { display: flex; flex-direction: row; flex-wrap: wrap; gap: 8px; }
.ig .ig-chips--scroll { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; padding-bottom: 6px; -webkit-overflow-scrolling: touch; }
.ig .ig-chips > .brxe-block { width: auto; }
.ig .ig-chip {
	width: auto;
	flex: none;
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 8px 16px;
	border: 1px solid var(--ig-line-2);
	border-radius: 999px;
	background: #fff;
	color: var(--ig-ink);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	transition: border-color .15s, background .15s;
}
.ig .ig-chip:hover { border-color: var(--ig-ink); color: var(--ig-ink); }
.ig .ig-chip[aria-current="true"], .ig .ig-chip[aria-current="page"] { background: var(--ig-ink); border-color: var(--ig-ink); color: #fff; }
.ig .ig-chip__n { font-weight: 500; color: var(--ig-muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.ig .ig-chip[aria-current="true"] .ig-chip__n, .ig .ig-chip[aria-current="page"] .ig-chip__n { color: #d9d5cf; }
.ig .ig-chip--x::after { content: "\00d7"; font-size: 18px; line-height: 1; margin-left: 2px; }

/* Placeholder for an open commercial decision: deliberately loud, staging only until Tom rules. */
.ig .ig-ph {
	border: 2px dashed #b7791f;
	background: #fff8e6;
	color: #6b4400;
	border-radius: var(--ig-radius-sm);
	padding: 12px 14px;
	font-size: 14px;
	line-height: 1.45;
	font-weight: 600;
}

/* =====================================================================
   Card: the one card component (infographics, articles, search results)
   Thumbnail rule: 4:5 frame; tall graphics anchored to the top so their own
   title stays in view; wide graphics shown whole on the tinted stage.
   ===================================================================== */
.ig .ig-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px 24px; }
.ig .ig-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ig .ig-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1100px) { .ig .ig-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 820px) { .ig .ig-grid, .ig .ig-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; } }
@media (max-width: 560px) { .ig .ig-grid--2 { grid-template-columns: minmax(0, 1fr); } }

.ig .ig-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
}
.ig .ig-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	width: 100%;
	overflow: hidden;
	border-radius: var(--ig-radius-sm);
	background: var(--ig-tint);
	box-shadow: inset 0 0 0 1px rgba(27, 26, 30, .06);
	transition: box-shadow .2s, transform .2s;
}
.ig .ig-card__media .brxe-image, .ig .ig-card__media figure, .ig .ig-card__media picture { display: block; width: 100%; height: 100%; margin: 0; }
.ig .ig-card__media img {
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	object-position: center top;
	transition: transform .35s ease;
}
.ig .ig-card__media[data-shape="wide"] img { object-fit: contain; object-position: center; padding: 10px; }
.ig .ig-card:hover .ig-card__media { box-shadow: inset 0 0 0 1px rgba(27, 26, 30, .1), var(--ig-shadow-lg); transform: translateY(-3px); }
.ig .ig-card:hover .ig-card__media img { transform: scale(1.025); }
.ig .ig-card__body { display: flex; flex-direction: column; gap: 6px; }
.ig .ig-card__kicker {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--ig-red-d);
	line-height: 1.3;
}
.ig .ig-card__title {
	font-family: var(--ig-head);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -.012em;
	text-wrap: pretty;
}
.ig .ig-card__title a { color: var(--ig-ink); text-decoration: none; }
.ig .ig-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: var(--ig-radius-sm); }
.ig .ig-card__title a:hover { color: var(--ig-red-d); }
.ig .ig-card__title a:focus-visible { outline: none; }
.ig .ig-card__title a:focus-visible::after { outline: 3px solid var(--ig-mustard); outline-offset: 4px; }
.ig .ig-card__meta { font-size: 14px; color: var(--ig-muted); line-height: 1.4; }
.ig .ig-card__sum { font-size: 15px; line-height: 1.5; color: var(--ig-ink-2); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 560px) {
	.ig .ig-card__title { font-size: 16px; }
	.ig .ig-card__meta { font-size: 13px; }
	.ig .ig-card__kicker { font-size: 13px; }
	.ig .ig-card { gap: 10px; }
}
/* Article cards: 3:2 frame (featured images are photos and diagrams, not tall graphics) */
.ig .ig-card--article .ig-card__media { aspect-ratio: 3 / 2; }
.ig .ig-card--article .ig-card__media img { object-fit: contain; object-position: center; }
.ig .ig-card__media--brand { display: flex; align-items: center; justify-content: center; background: var(--ig-blush); }
.ig .ig-card__media--brand img { width: 64px !important; height: 64px !important; object-fit: contain; }

/* Empty-state text Bricks prints when a loop finds nothing */
.ig .bricks-posts-nothing-found, .ig .ig-empty { grid-column: 1 / -1; padding: 40px; border: 1px dashed var(--ig-line-2); border-radius: var(--ig-radius); background: var(--ig-paper); text-align: center; color: var(--ig-ink-2); }

/* =====================================================================
   Header
   ===================================================================== */
#brx-header { position: sticky; top: 0; z-index: 999; }
.admin-bar #brx-header { top: 32px; }
@media (max-width: 782px) { .admin-bar #brx-header { top: 0; } }
.ig .ig-hdr { background: rgba(255, 255, 255, .97); border-bottom: 1px solid var(--ig-line); backdrop-filter: saturate(1.4) blur(8px); }
.ig .ig-hdr__bar {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 28px;
	min-height: var(--ig-hdr-h);
	position: relative;
}
.ig .ig-logo { flex: none; width: auto; line-height: 0; display: inline-flex; align-items: center; min-height: 44px; }
.ig .ig-logo img { width: 214px; height: auto; display: block; }
.ig .ig-nav { flex: 1 1 auto; width: auto; }
.ig .ig-nav .brx-nav-nested-items { display: flex; flex-direction: row; align-items: center; gap: 4px; }
.ig .ig-nav .brx-nav-nested-items > li > a,
.ig .ig-nav .brx-nav-nested-items > li > .brx-submenu-toggle > *:first-child,
.ig .ig-nav .ig-nav__link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 8px 12px;
	border-radius: 8px;
	color: var(--ig-ink);
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}
.ig .ig-nav .brx-submenu-toggle { display: flex; flex-direction: row; align-items: center; gap: 0; border-radius: 8px; }
.ig .ig-nav .brx-submenu-toggle button { min-height: 44px; min-width: 28px; padding: 0 8px 0 0; color: var(--ig-ink); }
.ig .ig-nav .brx-nav-nested-items > li > a:hover,
.ig .ig-nav .brx-submenu-toggle:hover { background: var(--ig-paper); color: var(--ig-ink); }
.ig .ig-nav [aria-current="page"] { color: var(--ig-red-d); }
.ig .ig-nav__mobile-only { display: none !important; }
.ig .ig-hdr__actions { display: flex; flex-direction: row; align-items: center; gap: 12px; flex: none; width: auto; margin-left: auto; }

/* Search field in the header */
.ig .ig-search { width: 100%; }
.ig .ig-search form, .ig .ig-search .bricks-search-form { position: relative; display: flex; flex-direction: row; align-items: center; width: 100%; }
.ig .ig-search input[type="search"] {
	width: 100%;
	min-height: 46px;
	padding: 10px 52px 10px 18px;
	border: 1.5px solid var(--ig-line-2);
	border-radius: 999px;
	background: #fff;
	font: 500 16px/1.2 var(--ig-body);
	color: var(--ig-ink);
}
.ig .ig-search input[type="search"]::placeholder { color: #77716a; }
.ig .ig-search input[type="search"]:focus { outline: none; border-color: var(--ig-ink); box-shadow: 0 0 0 3px var(--ig-mustard-l); }
.ig .ig-search button {
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	width: 40px !important;
	height: 40px;
	min-width: 40px;
	border-radius: 999px;
	background: var(--ig-ink);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	padding: 0;
	border: 0;
	cursor: pointer;
}
.ig .ig-search button:hover { background: var(--ig-red); }
.ig .ig-hdr .ig-search { width: 250px; flex: none; }
.ig .ig-hdr .ig-search input[type="search"] { min-height: 44px; font-size: 15px; background: var(--ig-paper); }
.ig .ig-search--hero input[type="search"] { min-height: 62px; font-size: 18px; padding-left: 24px; padding-right: 66px; border-color: var(--ig-ink); box-shadow: 0 10px 30px rgba(27, 26, 30, .08); }
.ig .ig-search--hero button { width: 52px !important; height: 52px; right: 5px; background: var(--ig-red); font-size: 18px; }
.ig .ig-search--hero button:hover { background: var(--ig-red-dd); }

/* Mega panel: every topic with its live count */
.ig .ig-nav .brxe-dropdown.brx-has-megamenu > .brx-dropdown-content {
	padding: 0;
	border: 1px solid var(--ig-line);
	border-top: 0;
	border-radius: 0 0 var(--ig-radius) var(--ig-radius);
	box-shadow: var(--ig-shadow-lg);
	background: #fff;
}
.ig .ig-mega { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 0; width: 100%; }
.ig .ig-mega__intro { background: var(--ig-paper); padding: 30px 28px; gap: 14px; border-right: 1px solid var(--ig-line); border-bottom-left-radius: var(--ig-radius); }
.ig .ig-mega__intro h2 { font-size: 22px; }
.ig .ig-mega__intro p { font-size: 15px; color: var(--ig-ink-2); line-height: 1.55; }
.ig .ig-mega__links { display: flex; flex-direction: column; gap: 2px; margin-top: 6px; }
.ig .ig-mega__topics { padding: 22px 24px 26px; }
.ig .ig-mega__h { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ig-muted); margin: 0 0 10px 10px; }
.ig .ig-mega__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px 12px; }
.ig .ig-mega__item {
	width: auto;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 44px;
	padding: 8px 10px;
	border-radius: 8px;
	color: var(--ig-ink);
	text-decoration: none;
	font-size: 16px;
	font-weight: 600;
}
.ig .ig-mega__item:hover { background: var(--ig-blush); color: var(--ig-red-d); }
.ig .ig-mega__n { font-size: 13px; font-weight: 600; color: var(--ig-muted); font-variant-numeric: tabular-nums; background: var(--ig-paper); border-radius: 999px; padding: 2px 9px; }

/* Header responsive (A4, 2 Nov): one row at every desktop width, never wrapping.
   The nav keeps its natural width (items never wrap or shrink); the actions group absorbs any squeeze: the search
   field narrows (250px down to 180px), then becomes an icon at 1200px and below; the burger takes over at 1080px and
   below, the widest width where logo + nav + icon + Submit no longer fit (measured by build/A-qa/navcheck.cjs).
   The button reads "Submit an infographic" only where the bar has no search field (home, browse, search results). */
.ig .ig-nav .brx-nav-nested-items { flex-wrap: nowrap; }
.ig .ig-nav .brx-nav-nested-items > li { flex: none; }
@media (min-width: 1081px) {
	.ig .ig-nav { flex: none; }
	.ig .ig-hdr__actions { flex: 1 1 auto; min-width: 0; justify-content: flex-end; }
	.ig .ig-hdr .ig-search--desk { width: auto; flex: 0 1 250px; min-width: 180px; }
}
.ig .ig-hdr__submit { flex: none; white-space: nowrap; }
.ig .ig-hdr__submit-long { display: none; }
body.home.ig .ig-hdr__submit-long, body.page-id-578.ig .ig-hdr__submit-long, body.search.ig .ig-hdr__submit-long { display: inline; }
@media (max-width: 1240px) {
	.ig .ig-hdr__bar { gap: 18px; }
	.ig .ig-nav .brx-nav-nested-items { gap: 0; }
}
@media (max-width: 1200px) {
	.ig .ig-hdr .ig-search--desk { display: none; }
	.ig .ig-hdr__searchbtn { display: inline-flex; width: 44px; height: 44px; flex: none; border-radius: 999px; border: 1.5px solid var(--ig-line-2); align-items: center; justify-content: center; color: var(--ig-ink); text-decoration: none; }
	.ig .ig-hdr__searchbtn svg, .ig .ig-hdr__searchbtn i { width: 17px; height: 17px; font-size: 17px; }
}
@media (max-width: 1100px) {
	.ig .ig-hdr__submit-long, body.home.ig .ig-hdr__submit-long, body.page-id-578.ig .ig-hdr__submit-long, body.search.ig .ig-hdr__submit-long { display: none; }
}
@media (max-width: 1080px) {
	.ig .ig-logo img { width: 190px; }
	.ig .ig-nav { flex: none; order: 3; }
	.ig .ig-hdr__actions { order: 2; }
	.ig .ig-nav.brx-open .brx-nav-nested-items {
		background: #fff;
		top: var(--ig-hdr-h);
		padding: 18px var(--ig-gutter) 40px;
		gap: 2px;
		align-items: stretch;
		justify-content: flex-start;
		overflow-y: auto;
		flex-wrap: nowrap;
	}
	.ig .ig-nav.brx-open .brx-nav-nested-items > li { width: 100%; border-bottom: 1px solid var(--ig-line); }
	.ig .ig-nav.brx-open .brx-nav-nested-items > li > a,
	.ig .ig-nav.brx-open .brx-submenu-toggle > *:first-child { font-size: 19px; min-height: 56px; padding: 12px 4px; width: 100%; }
	.ig .ig-nav.brx-open .brx-submenu-toggle { justify-content: space-between; width: 100%; }
	.ig .ig-nav.brx-open .ig-mega { grid-template-columns: minmax(0, 1fr); }
	.ig .ig-nav.brx-open .ig-mega__intro { display: none; }
	.ig .ig-nav.brx-open .ig-mega__topics { padding: 6px 0 14px; }
	.ig .ig-nav.brx-open .ig-mega__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ig .ig-nav.brx-open .brx-dropdown-content { box-shadow: none; border: 0; }
	.ig .ig-nav.brx-open .ig-nav__mobile-only { display: flex !important; }
	.ig .ig-nav .brxe-toggle { min-width: 48px; min-height: 48px; color: var(--ig-ink); }
	.ig .ig-nav .brx-toggle-div { display: none; }
}
@media (max-width: 1180px) { .ig .ig-ftr a, .ig .ig-ftr__link { min-height: 44px; } }
.ig .ig-btn.ig-hdr__submit { gap: 0; }
.ig .ig-hdr__submit-long { padding-left: .28em; }
@media (max-width: 560px) {
	.ig .ig-logo img { width: 158px; }
	.ig .ig-hdr__bar { gap: 8px; }
	.ig .ig-hdr__actions { gap: 6px; }
	.ig .ig-hdr__actions .ig-btn.ig-btn { padding: 8px 14px; font-size: 15px; }
}
.ig .ig-hdr__searchbtn { display: none; }
@media (max-width: 1200px) { .ig .ig-hdr__searchbtn { display: inline-flex; } }

/* =====================================================================
   Breadcrumbs (connector markup) and page heads
   ===================================================================== */
.ig .igs-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; font-size: 14px; color: var(--ig-muted); line-height: 1.4; }
.ig .igs-crumbs li { display: inline-flex; align-items: center; }
.ig .igs-crumbs li + li::before { content: "/"; margin: 0 9px; color: #a69e94; }
.ig .igs-crumbs a { color: var(--ig-ink-2); text-decoration: none; display: inline-flex; align-items: center; min-height: 32px; }
.ig .igs-crumbs a:hover { color: var(--ig-red-d); text-decoration: underline; }
.ig .igs-crumbs [aria-current="page"] { color: var(--ig-muted); max-width: 46ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: inline-block; }

.ig .ig-phead { padding-block: 44px 52px; border-bottom: 1px solid var(--ig-line); }
.ig .ig-phead .ig-wrap { display: flex; flex-direction: column; gap: 18px; }
.ig .ig-phead--center .ig-wrap { align-items: center; text-align: center; }
.ig .ig-phead .ig-lead { max-width: 70ch; }
.ig .ig-phead__row { display: flex; flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 36px; flex-wrap: wrap; }
.ig .ig-phead__row > .brxe-block { width: auto; flex: 1 1 520px; gap: 16px; }

/* Stats line */
.ig .ig-stats { display: flex; flex-direction: row; flex-wrap: wrap; gap: 8px 26px; font-size: 15px; color: var(--ig-ink-2); }
.ig .ig-stat { display: inline-flex; flex-direction: row; align-items: baseline; gap: 7px; width: auto; }
.ig .ig-stat b, .ig .ig-stat strong { font-family: var(--ig-head); font-size: 22px; font-weight: 800; color: var(--ig-ink); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.ig .ig-sec--dark .ig-stat b, .ig .ig-sec--maroon .ig-stat b { color: var(--ig-mustard); }
.ig .ig-sec--dark .ig-stats, .ig .ig-sec--maroon .ig-stats { color: #eadfdc; }

/* =====================================================================
   Home
   ===================================================================== */
.ig .ig-hero { padding-block: 72px 84px; border-bottom: 1px solid var(--ig-line); overflow: hidden; }
.ig .ig-hero__in { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 56px; align-items: center; }
.ig .ig-hero__copy { gap: 24px; }
.ig .ig-hero__copy h1 { max-width: 13ch; }
.ig .ig-hero__copy h1 em { font-style: normal; color: var(--ig-red); }
.ig .ig-hero__copy .ig-lead { font-size: 20px; max-width: 54ch; }
.ig .ig-hero__search { max-width: 600px; width: 100%; margin-top: 6px; }
.ig .ig-hero__popular { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; color: var(--ig-muted); }
.ig .ig-hero__popular .ig-chip { min-height: 38px; padding: 6px 13px; font-size: 14px; }
@media (max-width: 767px) { .ig .ig-hero__popular .ig-chip { min-height: 44px; } }
/* Fan of the newest graphics */
.ig .ig-fan { position: relative; height: 520px; width: 100%; }
.ig .ig-fan > .brxe-block { position: absolute; top: 50%; left: 50%; width: 46%; transform-origin: 50% 100%; }
.ig .ig-fan .ig-fan__card { background: #fff; padding: 10px 10px 14px; border-radius: 14px; box-shadow: var(--ig-shadow-lg); display: flex; flex-direction: column; gap: 10px; text-decoration: none; transition: transform .25s ease; }
.ig .ig-fan .ig-fan__card .ig-card__media { border-radius: 8px; aspect-ratio: 4 / 5; }
.ig .ig-fan > .brxe-block:not(:nth-child(2)) .ig-fan__t { visibility: hidden; }
.ig .ig-fan .ig-fan__t { font-size: 14px; font-weight: 700; color: var(--ig-ink); line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; padding: 0 4px; font-family: var(--ig-head); }
.ig .ig-fan > .brxe-block:nth-child(1) { transform: translate(-108%, -52%) rotate(-7deg); z-index: 1; }
.ig .ig-fan > .brxe-block:nth-child(2) { transform: translate(-50%, -56%) rotate(0deg); z-index: 3; width: 50%; }
.ig .ig-fan > .brxe-block:nth-child(3) { transform: translate(8%, -50%) rotate(7deg); z-index: 2; }
.ig .ig-fan > .brxe-block:hover { z-index: 4; }
.ig .ig-fan__label { position: absolute; bottom: 4px; left: 50%; transform: translateX(-50%); z-index: 5; background: var(--ig-ink); color: #fff; font-size: 13px; font-weight: 700; padding: 7px 14px; border-radius: 999px; white-space: nowrap; letter-spacing: .02em; }
@media (max-width: 1000px) {
	.ig .ig-hero__in { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.ig .ig-fan { height: 360px; max-width: 560px; margin: 0 auto; }
	.ig .ig-hero__copy h1 { max-width: 16ch; }
}
@media (max-width: 560px) {
	.ig .ig-hero { padding-block: 36px 48px; }
	.ig .ig-hero__copy { gap: 18px; }
	.ig .ig-hero__copy .ig-lead { font-size: 18px; }
	.ig .ig-fan { height: 280px; }
	.ig .ig-fan .ig-fan__t { display: none; }
	.ig .ig-fan .ig-fan__card { padding: 7px; }
	.ig .ig-search--hero input[type="search"] { min-height: 56px; font-size: 16px; }
	.ig .ig-search--hero button { width: 46px !important; height: 46px; }
}

/* Featured infographic */
.ig .ig-feat { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 0; background: #fff; border: 1px solid var(--ig-line); border-radius: 22px; overflow: hidden; box-shadow: var(--ig-shadow); position: relative; }
.ig .ig-feat__media { align-self: stretch; background: var(--ig-tint); padding: 36px; display: flex; align-items: flex-start; justify-content: center; max-height: 620px; overflow: hidden; position: relative; }
.ig .ig-feat__media::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 90px; background: linear-gradient(rgba(243, 238, 230, 0), var(--ig-tint)); pointer-events: none; }
.ig .ig-feat__media .brxe-image, .ig .ig-feat__media figure { width: 100%; margin: 0; }
.ig .ig-feat__media img { width: 100%; height: auto; border-radius: 6px; box-shadow: var(--ig-shadow); }
.ig .ig-feat__body { padding: 52px 52px 48px; gap: 18px; justify-content: center; }
.ig .ig-feat__body h2, .ig .ig-feat__body h3 { font-size: clamp(26px, 2.6vw, 36px); }
.ig .ig-feat__body h3 a { color: var(--ig-ink); text-decoration: none; }
.ig .ig-feat__body h3 a:hover { color: var(--ig-red-d); }
.ig .ig-feat__sum { font-size: 18px; color: var(--ig-ink-2); line-height: 1.6; }
.ig .ig-feat__credit { font-size: 15px; color: var(--ig-muted); }
.ig .ig-feat__credit strong { color: var(--ig-ink); }
@media (max-width: 900px) {
	.ig .ig-feat { grid-template-columns: minmax(0, 1fr); }
	.ig .ig-feat__media { max-height: 380px; padding: 20px 20px 0; }
	.ig .ig-feat__body { padding: 26px 22px 30px; }
}

/* Topic tiles */
.ig .ig-topics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 1100px) { .ig .ig-topics { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 820px) { .ig .ig-topics { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px) { .ig .ig-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }
.ig .ig-topic {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--ig-line);
	border-radius: var(--ig-radius);
	overflow: hidden;
	text-decoration: none;
	color: var(--ig-ink);
	transition: border-color .15s, box-shadow .2s, transform .2s;
}
.ig .ig-topic:hover { border-color: var(--ig-ink); box-shadow: var(--ig-shadow-lg); transform: translateY(-2px); color: var(--ig-ink); }
.ig .ig-topic__media { aspect-ratio: 16 / 10; background: var(--ig-tint); overflow: hidden; width: 100%; }
.ig .ig-topic__media .brxe-image, .ig .ig-topic__media figure { width: 100%; height: 100%; margin: 0; }
.ig .ig-topic__media img { width: 100%; height: 100% !important; object-fit: cover; object-position: center top; display: block; }
.ig .ig-topic__body { padding: 12px 14px 14px; gap: 2px; }
.ig .ig-topic__name { font-family: var(--ig-head); font-size: 16px; font-weight: 700; line-height: 1.22; letter-spacing: -.01em; }
.ig .ig-topic__n { font-size: 14px; color: var(--ig-muted); font-variant-numeric: tabular-nums; }
.ig .ig-topic[aria-current="page"] { border-color: var(--ig-red); box-shadow: inset 0 0 0 1px var(--ig-red); }
.ig .ig-topics--sm { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.ig .ig-topics--sm .ig-topic__media { aspect-ratio: 16 / 9; }
.ig .ig-topics--sm .ig-topic__name { font-size: 15px; }
@media (max-width: 1100px) { .ig .ig-topics--sm { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 560px) { .ig .ig-topics--sm { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Anatomy of a listing page */
.ig .ig-anat { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 64px; align-items: center; }
.ig .ig-anat__shot { position: relative; background: #fff; border-radius: 18px; border: 1px solid var(--ig-line); box-shadow: var(--ig-shadow-lg); padding: 22px; gap: 14px; }
.ig .ig-anat__bar { display: flex; flex-direction: row; gap: 6px; flex-wrap: wrap; }
.ig .ig-anat__bar span { font-size: 13px; font-weight: 600; border: 1px solid var(--ig-line-2); border-radius: 999px; padding: 4px 10px; color: var(--ig-ink-2); }
.ig .ig-anat__img { aspect-ratio: 16 / 10; overflow: hidden; border-radius: 10px; background: var(--ig-tint); }
.ig .ig-anat__img .brxe-image, .ig .ig-anat__img figure { width: 100%; height: 100%; margin: 0; }
.ig .ig-anat__img img { width: 100%; height: 100% !important; object-fit: cover; object-position: top; }
.ig .ig-anat__lines { gap: 8px; }
.ig .ig-anat__line { height: 9px; border-radius: 6px; background: var(--ig-tint); }
.ig .ig-anat__line:nth-child(2) { width: 86%; }
.ig .ig-anat__line:nth-child(3) { width: 64%; }
.ig .ig-anat__row { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 14px; align-items: center; }
.ig .ig-anat__n { width: 30px; height: 30px; border-radius: 999px; background: var(--ig-red); color: #fff; font: 800 14px/30px var(--ig-head); text-align: center; }
.ig .ig-anat__k { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ig-muted); margin-bottom: 6px; }
.ig .ig-anat__credit { font-size: 13px; color: var(--ig-ink-2); }
.ig .ig-anat__code { font: 12px/1.4 ui-monospace, Menlo, monospace; background: var(--ig-paper); border: 1px solid var(--ig-line); border-radius: 8px; padding: 8px 10px; color: var(--ig-ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ig .ig-anat__list { counter-reset: anat; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 32px; }
.ig .ig-anat__item { counter-increment: anat; position: relative; padding-left: 50px; gap: 6px; }
.ig .ig-anat__item::before { content: counter(anat); position: absolute; left: 0; top: -2px; width: 34px; height: 34px; border-radius: 999px; background: var(--ig-red); color: #fff; font: 800 15px/34px var(--ig-head); text-align: center; }
.ig .ig-anat__item h3 { font-size: 18px; }
.ig .ig-anat__item p { font-size: 16px; color: var(--ig-ink-2); line-height: 1.55; }
@media (max-width: 1000px) {
	.ig .ig-anat { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.ig .ig-anat__shot { max-width: 520px; margin: 0 auto; width: calc(100% - 20px); }
}
@media (max-width: 560px) { .ig .ig-anat__list { grid-template-columns: minmax(0, 1fr); gap: 20px; } }

/* Steps (how it works) */
.ig .ig-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; counter-reset: step; }
.ig .ig-steps--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ig .ig-steps--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ig .ig-step { counter-increment: step; position: relative; height: 100%; gap: 10px; padding: 28px 26px 26px; border-radius: var(--ig-radius); background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14); }
.ig .ig-step::before { content: counter(step, decimal-leading-zero); font: 800 15px/1 var(--ig-head); color: var(--ig-mustard); letter-spacing: .04em; margin-bottom: 6px; }
.ig .ig-step h3 { font-size: 20px; }
.ig .ig-step p { font-size: 16px; line-height: 1.6; color: #e6dcd9; }
.ig .ig-sec:not(.ig-sec--dark):not(.ig-sec--maroon) .ig-step { background: #fff; border-color: var(--ig-line); }
.ig .ig-sec:not(.ig-sec--dark):not(.ig-sec--maroon) .ig-step::before { color: var(--ig-red-d); }
.ig .ig-sec:not(.ig-sec--dark):not(.ig-sec--maroon) .ig-step p { color: var(--ig-ink-2); }
@media (max-width: 1000px) { .ig .ig-steps--4, .ig .ig-steps--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .ig .ig-steps, .ig .ig-steps--4, .ig .ig-steps--5 { grid-template-columns: minmax(0, 1fr); gap: 12px; } .ig .ig-step { padding: 22px 20px; } }

/* Creator panel (maroon) */
.ig .ig-creators { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.6fr); gap: 56px; align-items: start; }
.ig .ig-creators__copy { gap: 20px; position: sticky; top: calc(var(--ig-hdr-h) + 24px); }
.ig .ig-creators .ig-steps--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 720px) { .ig .ig-creators .ig-steps--4 { grid-template-columns: minmax(0, 1fr); } }
.ig .ig-creators__price { font-size: 16px; color: #f2e5e1; }
.ig .ig-creators__price strong { font-family: var(--ig-head); font-size: 30px; color: #fff; margin-right: 4px; }
@media (max-width: 1000px) { .ig .ig-creators { grid-template-columns: minmax(0, 1fr); gap: 32px; } .ig .ig-creators__copy { position: static; } }

/* FAQ (Bricks accordion) */
.ig .ig-faq { border-top: 1px solid var(--ig-line); }
.ig .ig-faq .accordion-item { border-bottom: 1px solid var(--ig-line); }
.ig .ig-faq .accordion-title-wrapper { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 20px; min-height: 64px; padding: 16px 4px; cursor: pointer; }
.ig .ig-faq .accordion-title { flex: 1; font-family: var(--ig-head); font-size: 19px; font-weight: 700; letter-spacing: -.01em; line-height: 1.3; color: var(--ig-ink); }
.ig .ig-faq .accordion-title { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 20px; width: 100%; }
.ig .ig-faq .accordion-title .title { font: inherit; margin: 0; color: inherit; flex: 1; }
.ig .ig-faq .icon.expanded, .ig .ig-faq .brx-open .icon:not(.expanded) { display: none; }
.ig .ig-faq .brx-open .icon.expanded { display: block; }
.ig .ig-faq .accordion-title-wrapper .icon { flex: none; width: 34px; height: 34px; line-height: 34px; text-align: center; border-radius: 999px; background: var(--ig-paper); font-size: 13px; color: var(--ig-ink); }
.ig .ig-faq .accordion-content-wrapper { padding: 0 60px 22px 4px; font-size: 16px; color: var(--ig-ink-2); line-height: 1.65; }
.ig .ig-faq .accordion-content-wrapper p + p { margin-top: 10px; }
.ig .ig-faqgrid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: 56px; }
@media (max-width: 900px) { .ig .ig-faqgrid { grid-template-columns: minmax(0, 1fr); gap: 20px; } .ig .ig-faq .accordion-content-wrapper { padding-right: 4px; } .ig .ig-faq .accordion-title { font-size: 18px; } }

/* CTA band */
.ig .ig-cta { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; padding: 44px 48px; border-radius: 22px; background: var(--ig-ink); color: #ece9e4; position: relative; overflow: hidden; }
.ig .ig-cta::before { content: ""; position: absolute; right: -60px; top: -60px; width: 240px; height: 240px; border-radius: 999px; border: 34px solid rgba(230, 0, 35, .9); opacity: .9; }
.ig .ig-cta::after { content: ""; position: absolute; right: 110px; bottom: -70px; width: 140px; height: 140px; background: var(--ig-mustard); border-radius: 999px 0 0 0; opacity: .95; }
.ig .ig-cta > * { position: relative; z-index: 1; }
.ig .ig-cta > .brxe-block { width: auto; gap: 10px; max-width: 640px; }
.ig .ig-cta h2 { color: #fff; font-size: clamp(25px, 2.4vw, 32px); }
.ig .ig-cta p { color: #ddd7d2; }
.ig .ig-cta .ig-btns { margin-right: 150px; }
@media (max-width: 900px) { .ig .ig-cta { padding: 32px 24px 120px; } .ig .ig-cta .ig-btns { margin-right: 0; } .ig .ig-cta::before { width: 160px; height: 160px; border-width: 24px; right: -50px; top: auto; bottom: -60px; } .ig .ig-cta::after { right: 90px; width: 90px; height: 90px; bottom: -40px; } }

/* =====================================================================
   Single infographic
   ===================================================================== */
.ig .ig-lhead { padding-block: 30px 34px; background: var(--ig-paper); border-bottom: 1px solid var(--ig-line); }
.ig .ig-lhead__in { gap: 16px; max-width: calc(1040px + 2 * var(--ig-gutter)); }
.ig .ig-lhead h1 { font-size: clamp(32px, 4vw, 52px); max-width: 24ch; }
.ig .ig-lhead__meta { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 6px 18px; font-size: 16px; color: var(--ig-ink-2); }
.ig .ig-lhead__meta > * { width: auto; }
.ig .ig-lhead__meta strong { color: var(--ig-ink); }
.ig .ig-lhead__meta .igs-byline { margin: 0; color: var(--ig-muted); }
.ig .ig-lhead__meta .igs-byline a { color: var(--ig-ink-2); }
.ig .ig-catchip { display: inline-flex; align-items: center; min-height: 34px; padding: 5px 13px; border-radius: 999px; background: var(--ig-red); color: #fff !important; font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; text-decoration: none; width: auto; align-self: flex-start; }
.ig .ig-catchip:hover { background: var(--ig-red-dd); }
@media (max-width: 767px) { .ig .ig-catchip { min-height: 44px; } }

.ig .ig-stage { background: var(--ig-tint); padding-block: 36px 40px; }
.ig .ig-stage__in { max-width: calc(1040px + 2 * var(--ig-gutter)); }
.ig .ig-figure-wrap { display: flex; flex-direction: column; gap: 22px; }
.ig .ig-figure-wrap .igs-actions { order: -1; }
.ig .igs-figure { margin: 0; background: #fff; border-radius: 14px; padding: 10px; box-shadow: var(--ig-shadow); position: relative; }
.ig .igs-figure > a { display: block; cursor: zoom-in; border-radius: 6px; overflow: hidden; }
.ig .igs-figure img { display: block; width: auto; max-width: 100%; height: auto; margin: 0 auto; border-radius: 4px; }
.ig .igs-figure figcaption { margin-top: 14px; font-size: 15px; color: var(--ig-ink-2); text-align: left; line-height: 1.5; padding: 0 4px; }
.ig .igs-figure figcaption a { color: var(--ig-red-d); font-weight: 600; }
.ig .ig-figure-wrap.is-capped .igs-figure > a { max-height: 1500px; position: relative; }
.ig .ig-figure-wrap.is-capped .igs-figure > a::after { content: ""; position: absolute; inset: auto 0 0 0; height: 160px; background: linear-gradient(rgba(255, 255, 255, 0), #fff 85%); }
.ig .ig-figure-wrap.is-open .igs-figure > a { max-height: none; }
.ig .ig-figure-wrap.is-open .igs-figure > a::after { display: none; }
.ig .ig-figure-more { align-self: center; margin-top: -8px; }
@media (max-width: 767px) {
	.ig .ig-stage { padding-block: 0 24px; }
	.ig .ig-stage__in { padding-inline: 0; }
	.ig .igs-figure { border-radius: 0; padding: 10px; box-shadow: none; }
	.ig .ig-figure-wrap { gap: 12px; }
	.ig .ig-figure-wrap.is-capped .igs-figure > a { max-height: 1100px; }
	.ig .igs-figure figcaption, .ig .igs-lead { padding-inline: var(--ig-gutter); }
}
/* Action bar: Open, Download, Embed, Pin, Facebook, LinkedIn, Original. Sticky under the header on phones. */
.ig .igs-actions { display: flex; flex-direction: row; flex-wrap: wrap; gap: 8px; justify-content: flex-start; margin: 0; }
.ig .igs-act {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 44px;
	padding: 8px 16px;
	border: 1.5px solid var(--ig-line-2);
	border-radius: 999px;
	background: #fff;
	color: var(--ig-ink);
	font-size: 15px;
	font-weight: 650;
	text-decoration: none;
	white-space: nowrap;
	line-height: 1.2;
}
.ig .igs-act:hover { border-color: var(--ig-ink); color: var(--ig-ink); }
.ig .igs-act--open { background: var(--ig-ink); border-color: var(--ig-ink); color: #fff; }
.ig .igs-act--open:hover { background: var(--ig-red); border-color: var(--ig-red); color: #fff; }
.ig .igs-act--open::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 3h7v7h-2V6.41l-9.29 9.3-1.42-1.42L17.59 5H14V3zM5 5h5v2H7v10h10v-3h2v5H5V5z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 3h7v7h-2V6.41l-9.29 9.3-1.42-1.42L17.59 5H14V3zM5 5h5v2H7v10h10v-3h2v5H5V5z'/%3E%3C/svg%3E") center/contain no-repeat; }
.ig .igs-act--download::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 3h2v9.17l3.59-3.58L18 10l-6 6-6-6 1.41-1.41L11 12.17V3zM4 18h16v2H4v-2z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 3h2v9.17l3.59-3.58L18 10l-6 6-6-6 1.41-1.41L11 12.17V3zM4 18h16v2H4v-2z'/%3E%3C/svg%3E") center/contain no-repeat; }
@media (max-width: 767px) {
	.ig .ig-figure-wrap .igs-actions {
		position: sticky;
		top: var(--ig-hdr-h);
		z-index: 20;
		flex-wrap: nowrap;
		overflow-x: auto;
		background: rgba(243, 238, 230, .97);
		padding: 10px var(--ig-gutter);
		margin: 0;
		scrollbar-width: none;
		border-bottom: 1px solid var(--ig-line);
	}
	.ig .ig-figure-wrap .igs-actions::-webkit-scrollbar { display: none; }
	.ig .igs-act { font-size: 15px; padding: 8px 14px; }
}
.ig .igs-lead { font-size: 19px; line-height: 1.6; color: var(--ig-ink); max-width: 76ch; margin: 8px 0 0; font-weight: 450; }

/* Lightbox (theme JS): the graphic at full resolution, tap to zoom, pinch on phones */
.ig-lb { position: fixed; inset: 0; z-index: 100000; background: rgba(20, 18, 22, .94); display: none; }
.ig-lb.is-open { display: block; }
.ig-lb__scroll { position: absolute; inset: 0; overflow: auto; -webkit-overflow-scrolling: touch; display: flex; justify-content: center; align-items: flex-start; padding: 64px 16px 32px; }
.ig-lb__img { max-width: min(100%, 1400px); height: auto; cursor: zoom-in; background: #fff; border-radius: 4px; }
.ig-lb.is-zoom .ig-lb__img { max-width: none; cursor: zoom-out; }
.ig-lb__bar { position: fixed; top: 0; left: 0; right: 0; height: 56px; display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; padding: 0 12px 0 18px; color: #fff; font-size: 14px; background: rgba(20, 18, 22, .9); z-index: 2; }
.ig-lb__bar span { opacity: .85; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ig-lb__btns { display: flex; flex-direction: row; gap: 6px; flex: none; }
.ig-lb__btn { min-width: 44px; min-height: 44px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .35); background: transparent; color: #fff; font: 600 14px/1 var(--ig-body); padding: 0 14px; cursor: pointer; }
.ig-lb__btn:hover { background: #fff; color: var(--ig-ink); }

/* Body + aside */
.ig-lbody { padding-block: 56px 32px; }
.ig .ig-lbody__in { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 64px; align-items: start; max-width: calc(1180px + 2 * var(--ig-gutter)); }
.ig .ig-lbody__main { min-width: 0; gap: 40px; }
.ig .ig-aside { position: sticky; top: calc(var(--ig-hdr-h) + 24px); gap: 18px; }
.ig .ig-box { border: 1px solid var(--ig-line); border-radius: var(--ig-radius); padding: 22px; gap: 10px; background: #fff; }
.ig .ig-box--paper { background: var(--ig-paper); }
.ig .ig-box--dark { background: var(--ig-ink); border-color: var(--ig-ink); color: #e8e3de; }
.ig .ig-box--dark h2, .ig .ig-box--dark h3 { color: #fff; }
.ig .ig-box__k { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ig-muted); }
.ig .ig-box--dark .ig-box__k { color: var(--ig-mustard); }
.ig .ig-box h2, .ig .ig-box h3 { font-size: 20px; }
.ig .ig-box p { font-size: 15px; line-height: 1.55; }
.ig .ig-box .ig-more { font-size: 15px; }
.ig .ig-box .ig-btn { width: 100%; margin-top: 6px; }
@media (max-width: 1000px) {
	.ig .ig-lbody__in { grid-template-columns: minmax(0, 1fr); gap: 36px; }
	.ig .ig-aside { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) { .ig .ig-aside { grid-template-columns: minmax(0, 1fr); } .ig-lbody { padding-top: 36px; } }

/* Long-form text: listing body, articles, policy pages */
.ig .ig-prose { font-size: 18px; line-height: 1.72; color: #26242a; max-width: 74ch; }
.ig .ig-prose > * + * { margin-top: 1.1em; }
.ig .ig-prose h2 { font-size: clamp(25px, 2.3vw, 31px); margin-top: 2.1em; padding-top: .2em; scroll-margin-top: calc(var(--ig-hdr-h) + 20px); }
.ig .ig-prose h3 { font-size: 21px; margin-top: 1.7em; }
.ig .ig-prose h4 { font-size: 18px; margin-top: 1.5em; }
.ig .ig-prose h2 + *, .ig .ig-prose h3 + * { margin-top: .6em; }
.ig .ig-prose > :first-child { margin-top: 0; }
.ig .ig-prose ul, .ig .ig-prose ol { padding-left: 1.3em; }
.ig .ig-prose li + li { margin-top: .45em; }
.ig .ig-prose li::marker { color: var(--ig-red); }
.ig .ig-prose ol li::marker { font-weight: 700; }
.ig .ig-prose blockquote { border-left: 4px solid var(--ig-mustard); padding: 4px 0 4px 20px; color: var(--ig-ink-2); font-size: 19px; }
.ig .ig-prose img { border-radius: 8px; }
.ig .ig-prose figure { margin: 1.6em 0; }
.ig .ig-prose figcaption { font-size: 15px; color: var(--ig-muted); margin-top: 8px; }
.ig .ig-prose a { font-weight: 550; }
.ig .ig-prose sup a, .ig .ig-prose a[href^="#"] { text-decoration: none; }
.ig .ig-prose hr { border: 0; border-top: 1px solid var(--ig-line); margin: 2.4em 0; }
.ig .ig-prose code { background: var(--ig-paper); padding: 1px 6px; border-radius: 5px; font-size: .9em; }
.ig .ig-prose table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.45; margin: 1.5em 0; font-variant-numeric: tabular-nums; }
.ig .ig-prose th, .ig .ig-prose td { padding: 11px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--ig-line); word-break: normal; overflow-wrap: normal; hyphens: none; }
.ig .ig-prose thead th { background: var(--ig-ink); color: #fff; font-weight: 650; font-size: 15px; border-bottom: 0; }
.ig .ig-prose thead th:first-child { border-top-left-radius: 8px; }
.ig .ig-prose thead th:last-child { border-top-right-radius: 8px; }
.ig .ig-prose tbody tr:nth-child(even) td { background: var(--ig-paper); }
.ig .ig-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
/* Under 600px tables become stacked cards; the theme JS copies each column heading into data-label. */
@media (max-width: 600px) {
	.ig .ig-prose { font-size: 17px; }
	.ig .ig-prose table.ig-stack, .ig .ig-prose table.ig-stack tbody, .ig .ig-prose table.ig-stack tr, .ig .ig-prose table.ig-stack td { display: block; width: 100%; }
	.ig .ig-prose table.ig-stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
	.ig .ig-prose table.ig-stack tr { border: 1px solid var(--ig-line); border-radius: 10px; margin-bottom: 12px; overflow: hidden; background: #fff; }
	.ig .ig-prose table.ig-stack tbody tr:nth-child(even) td { background: transparent; }
	.ig .ig-prose table.ig-stack td { display: grid; grid-template-columns: minmax(0, 42%) minmax(0, 1fr); gap: 12px; border-bottom: 1px solid var(--ig-line); padding: 9px 12px; }
	.ig .ig-prose table.ig-stack td:last-child { border-bottom: 0; }
	.ig .ig-prose table.ig-stack td::before { content: attr(data-label); font-weight: 650; color: var(--ig-muted); font-size: 14px; }
	.ig .ig-prose table.ig-stack td:first-child { background: var(--ig-paper); font-weight: 700; }
}

/* Embed box (connector markup) */
.ig .igs-embed { margin: 0; padding: 26px; border: 1px solid var(--ig-line); border-radius: var(--ig-radius); background: var(--ig-paper); }
.ig .igs-embed__title { font-size: 23px; margin: 0 0 8px; }
.ig .igs-embed__note { font-size: 15px; color: var(--ig-ink-2); line-height: 1.55; margin: 0 0 14px; }
.ig .igs-embed__code { width: 100%; min-height: 110px; padding: 12px 14px; border: 1.5px solid var(--ig-line-2); border-radius: 10px; font: 13.5px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--ig-ink); background: #fff; box-sizing: border-box; }
.ig .igs-embed__copy { margin-top: 12px; min-height: 46px; padding: 10px 22px; border-radius: 999px; border: 2px solid var(--ig-ink); background: var(--ig-ink); color: #fff; font: 700 15px/1 var(--ig-body); cursor: pointer; }
.ig .igs-embed__copy:hover { background: var(--ig-red); border-color: var(--ig-red); }
.ig .ig-report { font-size: 15px; color: var(--ig-muted); border-top: 1px solid var(--ig-line); padding-top: 20px; }

/* Prev / next within the topic (Bricks post navigation) */
.ig .ig-postnav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; width: 100%; }
.ig .ig-postnav a { display: flex; flex-direction: column; gap: 4px; padding: 18px 22px; border: 1px solid var(--ig-line); border-radius: var(--ig-radius); color: var(--ig-ink); text-decoration: none; min-height: 84px; justify-content: center; background: #fff; }
.ig .ig-postnav a:hover { border-color: var(--ig-ink); }
.ig .ig-postnav .next-post { text-align: right; grid-column: 2; }
.ig .ig-postnav .label { font-size: 13px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--ig-red-d); }
.ig .ig-postnav .title { font-family: var(--ig-head); font-weight: 700; font-size: 17px; line-height: 1.3; }
.ig .ig-postnav .swiper-button, .ig .ig-postnav img, .ig .ig-postnav .brxe-icon, .ig .ig-postnav svg { display: none; }
.ig .brxe-post-navigation.ig-postnav { display: grid; }
.ig .ig-postnav .prev-post, .ig .ig-postnav .next-post { min-width: 0; }
.ig .ig-postnav .content { display: flex; flex-direction: column; gap: 4px; min-width: 0; width: 100%; }
.ig .ig-postnav .title { white-space: normal; overflow-wrap: anywhere; }
.ig .ig-postnav .next-post .content { align-items: flex-end; }
@media (max-width: 620px) { .ig .ig-postnav { grid-template-columns: minmax(0, 1fr); } .ig .ig-postnav .next-post { grid-column: 1; } }

/* =====================================================================
   Category hub, browse, search
   ===================================================================== */
.ig .ig-hubhead { padding-block: 32px 48px; }
.ig .ig-hubhead__in { gap: 18px; }
.ig .ig-hubhead__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.ig .ig-hubhead__copy { gap: 18px; }
.ig .ig-hubhead__desc { font-size: 17px; line-height: 1.7; color: var(--ig-ink-2); }
.ig .ig-hubhead__desc p + p { margin-top: .8em; }
.ig .ig-hubhead__desc a { font-weight: 600; }
.ig .ig-hubhead__side { gap: 12px; }
.ig .ig-hubhead__side .ig-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ig .ig-hubhead__side .ig-topic__media { aspect-ratio: 16 / 8; }
@media (max-width: 1000px) { .ig .ig-hubhead__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; } }
.ig .ig-subh { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ig-muted); }

.ig .ig-toolbar { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; padding: 14px 0; margin-bottom: 30px; border-bottom: 1px solid var(--ig-line); }
.ig .ig-toolbar > .brxe-block { width: auto; }
.ig .ig-toolbar__count { font-family: var(--ig-head); font-size: 21px; font-weight: 800; letter-spacing: -.015em; }
.ig .ig-toolbar__count .igs-hub-count { margin: 0; }
.ig .ig-toolbar__sort { display: flex; flex-direction: row; align-items: center; gap: 6px; flex-wrap: wrap; }
.ig .ig-toolbar__sort .ig-small { margin-right: 4px; }
.ig .ig-toolbar__sort .ig-chip { min-height: 40px; padding: 6px 14px; font-size: 15px; }
@media (max-width: 767px) { .ig .ig-toolbar__sort .ig-chip { min-height: 44px; } }
.ig .ig-topicsearch { width: 300px; }
@media (max-width: 767px) { .ig .ig-topicsearch { width: 100%; } }

.ig .ig-filters { gap: 18px; padding: 22px 24px; border: 1px solid var(--ig-line); border-radius: var(--ig-radius); background: #fff; box-shadow: var(--ig-shadow); margin-top: -40px; position: relative; z-index: 2; }
.ig .ig-filters__row { display: flex; flex-direction: row; gap: 14px; align-items: flex-start; }
.ig .ig-filters__label { flex: none; width: 74px; padding-top: 12px; font-size: 13px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--ig-muted); }
.ig .ig-filters__row > .ig-chips { flex: 1; min-width: 0; }
@media (max-width: 767px) {
	.ig .ig-filters { margin-top: -28px; padding: 16px; }
	.ig .ig-filters__row { flex-direction: column; gap: 6px; }
	.ig .ig-filters__label { padding-top: 0; width: auto; }
	.ig .ig-filters__row > .ig-chips { flex-wrap: nowrap; overflow-x: auto; width: 100%; padding-bottom: 6px; }
}
.ig .ig-results { display: flex; flex-direction: row; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin: 36px 0 24px; }
.ig .ig-results > * { width: auto; }
.ig .ig-results__t { font-family: var(--ig-head); font-size: 22px; font-weight: 800; letter-spacing: -.015em; }

/* Pagination (Bricks) */
.ig .ig-pagination { margin-top: 52px; display: flex; justify-content: center; width: 100%; }
.ig .ig-pagination .bricks-pagination ul { display: flex; flex-direction: row; flex-wrap: wrap; gap: 6px; justify-content: center; list-style: none; margin: 0; padding: 0; }
.ig .ig-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 46px; min-height: 46px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--ig-line-2); color: var(--ig-ink); text-decoration: none; font-weight: 650; font-variant-numeric: tabular-nums; background: #fff; }
.ig .ig-pagination a.page-numbers:hover { border-color: var(--ig-ink); }
.ig .ig-pagination .page-numbers.current { background: var(--ig-ink); border-color: var(--ig-ink); color: #fff; }
.ig .ig-pagination .page-numbers.dots { border: 0; min-width: 24px; background: transparent; }

/* Hub write-up and FAQ (connector term meta, EVS-56 content) */
.ig .ig-hubafter:empty { display: none; }
.ig .ig-hubafter { gap: 28px; }
.ig .igs-hub-intro { font-size: 18px; line-height: 1.7; color: var(--ig-ink-2); max-width: 74ch; }
.ig .igs-hub-intro p + p { margin-top: .9em; }
.ig .igs-hub-faq { max-width: 74ch; }
.ig .igs-hub-faq h2 { font-size: clamp(25px, 2.3vw, 31px); margin-bottom: 8px; }
.ig .igs-hub-faq h3 { font-size: 19px; margin: 24px 0 6px; }
.ig .igs-hub-faq p { color: var(--ig-ink-2); line-height: 1.65; }
.ig .igs-subhubs { display: none; } /* replaced by the section tiles */

/* =====================================================================
   Submit, order, pricing
   ===================================================================== */
.ig .ig-offerhero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 56px; align-items: start; }
.ig .ig-offerhero__copy { gap: 22px; padding-top: 10px; }
.ig .ig-offerhero__copy h1 { max-width: 14ch; }
@media (max-width: 1000px) { .ig .ig-offerhero { grid-template-columns: minmax(0, 1fr); gap: 32px; } }
.ig .ig-offers { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 18px; width: 100%; }
.ig .ig-offer { position: relative; border: 2px solid var(--ig-ink); border-radius: 20px; background: #fff; padding: 30px 30px 28px; gap: 16px; box-shadow: var(--ig-shadow-lg); }
.ig .ig-offer--alt { border-color: var(--ig-line); box-shadow: var(--ig-shadow); }
.ig .ig-offer__tag { position: absolute; top: -14px; left: 26px; background: var(--ig-red); color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; padding: 6px 12px; border-radius: 999px; }
.ig .ig-offer__name { font-family: var(--ig-head); font-size: 22px; font-weight: 800; }
.ig .ig-price { display: flex; flex-direction: row; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.ig .ig-price__n { font-family: var(--ig-head); font-size: 58px; font-weight: 800; letter-spacing: -.04em; line-height: 1; color: var(--ig-ink); }
.ig .ig-price__u { font-size: 16px; color: var(--ig-ink-2); font-weight: 600; }
.ig .ig-checks ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ig .ig-checks li { position: relative; padding-left: 32px; font-size: 16px; line-height: 1.45; color: var(--ig-ink-2); }
.ig .ig-checks li::before { content: ""; position: absolute; left: 0; top: 1px; width: 21px; height: 21px; border-radius: 999px; background: var(--ig-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/13px no-repeat; }
.ig .ig-checks--x li::before { background: var(--ig-ink-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E") center/12px no-repeat; }
.ig .ig-checks strong { color: var(--ig-ink); }
.ig .ig-offer .ig-btn { width: 100%; }
.ig .ig-offer__fine { font-size: 14px; color: var(--ig-muted); line-height: 1.5; }
.ig .ig-trust { display: flex; flex-direction: row; flex-wrap: wrap; gap: 10px 22px; font-size: 15px; color: var(--ig-ink-2); align-items: center; }
.ig .ig-trust > * { width: auto; display: inline-flex; flex-direction: row; gap: 8px; align-items: center; }
.ig .ig-trust i, .ig .ig-trust svg { color: var(--ig-red); width: 16px; height: 16px; font-size: 15px; }

/* Before and after */
.ig .ig-ba { display: grid; grid-template-columns: minmax(0, .8fr) 64px minmax(0, 1.2fr); gap: 24px; align-items: center; }
.ig .ig-ba__col { gap: 14px; }
.ig .ig-ba__frame { position: relative; border-radius: var(--ig-radius); border: 1px solid var(--ig-line); background: #fff; padding: 16px; box-shadow: var(--ig-shadow); gap: 12px; }
.ig .ig-ba__frame .ig-card__media { aspect-ratio: 4 / 3; }
.ig .ig-ba__arrow { font: 800 40px/1 var(--ig-head); color: var(--ig-red); text-align: center; }
.ig .ig-ba__parts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ig .ig-ba__part { border: 1px solid var(--ig-line); border-radius: 12px; padding: 14px 16px; background: var(--ig-paper); gap: 4px; }
.ig .ig-ba__part h3 { font-size: 16px; }
.ig .ig-ba__part p { font-size: 15px; color: var(--ig-ink-2); line-height: 1.5; }
@media (max-width: 900px) { .ig .ig-ba { grid-template-columns: minmax(0, 1fr); } .ig .ig-ba__arrow { transform: rotate(90deg); } .ig .ig-ba__frame .ig-card__media { aspect-ratio: 4 / 3; } }
@media (max-width: 480px) { .ig .ig-ba__parts { grid-template-columns: minmax(0, 1fr); } }

/* Two-column lists (guidelines) */
.ig .ig-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.ig .ig-cols--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 820px) { .ig .ig-cols, .ig .ig-cols--3 { grid-template-columns: minmax(0, 1fr); } }
.ig .ig-panel { border: 1px solid var(--ig-line); border-radius: var(--ig-radius); padding: 28px; gap: 16px; background: #fff; }
.ig .ig-panel h3 { font-size: 21px; }
.ig .ig-panel p { color: var(--ig-ink-2); font-size: 16px; }
.ig .ig-panel--paper { background: var(--ig-paper); }

/* Form area (Gravity Forms Orbital). Brand overrides need !important: GF prints its
   custom properties on #gform_wrapper_N, which outranks any class selector. */
.ig .ig-formcard { border: 1px solid var(--ig-line); border-radius: 20px; background: #fff; padding: 40px; box-shadow: var(--ig-shadow); gap: 22px; }
@media (max-width: 767px) { .ig .ig-formcard { padding: 22px 18px; border-radius: 16px; } }
.ig .ig-formgrid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, .8fr); gap: 40px; align-items: start; }
.ig .ig-formgrid__side { gap: 16px; position: sticky; top: calc(var(--ig-hdr-h) + 24px); }
@media (max-width: 1000px) { .ig .ig-formgrid { grid-template-columns: minmax(0, 1fr); } .ig .ig-formgrid__side { position: static; } }
.ig .gform_wrapper.gravity-theme, .ig .gform_wrapper.gform-theme {
	--gf-color-primary: #e60023 !important;
	--gf-color-primary-rgb: 230, 0, 35 !important;
	--gf-color-primary-darker: #a3001a !important;
	--gf-color-primary-lighter: #ff4d64 !important;
	--gf-color-primary-contrast: #fff !important;
	--gf-color-in-ctrl-primary: #1b1a1e !important;
	--gf-ctrl-border-color: #cfc6b9 !important;
	--gf-ctrl-radius: 10px !important;
	--gf-ctrl-size: 48px !important;
	--gf-ctrl-font-size: 16px !important;
	--gf-ctrl-label-font-size-primary: 16px !important;
	--gf-ctrl-label-font-weight-primary: 650 !important;
	--gf-ctrl-label-color-primary: #1b1a1e !important;
	--gf-ctrl-desc-font-size: 14px !important;
	--gf-ctrl-desc-color: #5b5751 !important;
	--gf-ctrl-btn-radius: 999px !important;
	--gf-ctrl-btn-font-size: 16px !important;
	--gf-ctrl-btn-font-weight: 700 !important;
	--gf-ctrl-btn-size: 52px !important;
	--gf-ctrl-btn-padding-x: 28px !important;
	--gf-form-gap-y: 26px !important;
	--gf-font-family-base: "Inter", system-ui, sans-serif !important;
	--gf-font-family-primary: "Inter", system-ui, sans-serif !important;
	--gf-font-family-secondary: "Inter", system-ui, sans-serif !important;
	font-family: var(--ig-body);
}
.ig .gform_wrapper .gform_footer, .ig .gform_wrapper .gform_page_footer { margin-top: 10px; }
.ig .gform_wrapper input[type="submit"], .ig .gform_wrapper .gform_button { min-height: 52px; border-radius: 999px !important; font-weight: 700 !important; padding-inline: 30px !important; }
.ig .gform_wrapper .gfield_label { font-weight: 650; }
.ig .gform_confirmation_message { padding: 22px; border-radius: 14px; background: #eef8f0; border: 1px solid #b9dfc2; color: #17492a; font-size: 17px; }

/* Login (WordPress form via [igs_login_form]) */
.ig .igs-login form p { display: flex; flex-direction: column; gap: 6px; margin: 0 0 16px; }
.ig .igs-login label { font-weight: 650; font-size: 16px; }
.ig .igs-login input[type="text"], .ig .igs-login input[type="password"] { min-height: 48px; border: 1px solid #cfc6b9; border-radius: 10px; padding: 10px 14px; font-size: 16px; width: 100%; }
.ig .igs-login .login-remember label { flex-direction: row; display: flex; gap: 8px; align-items: center; font-weight: 500; }
.ig .igs-login input[type="submit"] { min-height: 52px; border-radius: 999px; background: var(--ig-red); color: #fff; font-weight: 700; padding: 0 30px; border: 0; cursor: pointer; font-size: 16px; }
.ig .igs-login input[type="submit"]:hover { background: var(--ig-red-dd); }
.ig .igs-login__lost { font-size: 15px; margin-top: 4px; }

/* =====================================================================
   Directory of creators (connector markup)
   ===================================================================== */

/* Examples, ideas, types */
.ig .ig-jump { position: sticky; top: var(--ig-hdr-h); z-index: 5; background: rgba(251, 248, 243, .97); border-bottom: 1px solid var(--ig-line); padding: 10px 0; }
.ig .ig-type { gap: 26px; scroll-margin-top: calc(var(--ig-hdr-h) + 70px); }
.ig .ig-type + .ig-type { padding-top: 56px; margin-top: 56px; border-top: 1px solid var(--ig-line); }
.ig .ig-type__head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 32px; align-items: end; }
.ig .ig-type__head > .brxe-block { gap: 10px; }
.ig .ig-type__head p { color: var(--ig-ink-2); max-width: 70ch; }
@media (max-width: 767px) { .ig .ig-type__head { grid-template-columns: minmax(0, 1fr); } }
.ig .ig-type__n { font-size: 14px; color: var(--ig-muted); font-weight: 600; }

/* Article */
.ig .ig-ahead { padding-block: 34px 44px; }
.ig .ig-ahead__in { gap: 18px; max-width: calc(980px + 2 * var(--ig-gutter)); }
.ig .ig-ahead h1 { font-size: clamp(34px, 4.2vw, 54px); max-width: 22ch; }
.ig .ig-ameta { display: flex; flex-direction: row; flex-wrap: wrap; gap: 6px 18px; font-size: 15px; color: var(--ig-muted); align-items: center; }
.ig .ig-ameta > * { width: auto; }
.ig .ig-ameta a { color: var(--ig-ink-2); font-weight: 600; }
.ig .ig-ahero { max-width: calc(980px + 2 * var(--ig-gutter)); }
.ig .ig-ahero img { width: 100%; border-radius: 16px; aspect-ratio: 16 / 8; object-fit: cover; }
.ig .ig-abody__in { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 60px; align-items: start; max-width: calc(1100px + 2 * var(--ig-gutter)); }
.ig .ig-toc { position: sticky; top: calc(var(--ig-hdr-h) + 24px); gap: 10px; }
.ig .ig-toc .brxe-post-toc ol, .ig .ig-toc .brxe-post-toc ul { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--ig-line); }
.ig .ig-toc .brxe-post-toc li { margin: 0; }
.ig .ig-toc .brxe-post-toc a { display: block; padding: 7px 0 7px 14px; margin-left: -2px; border-left: 2px solid transparent; color: var(--ig-ink-2); font-size: 15px; line-height: 1.4; text-decoration: none; }
.ig .ig-toc .brxe-post-toc a:hover, .ig .ig-toc .brxe-post-toc .is-active-link { color: var(--ig-red-d); border-left-color: var(--ig-red); }
@media (max-width: 1000px) { .ig .ig-abody__in { grid-template-columns: minmax(0, 1fr); gap: 24px; } .ig .ig-toc { position: static; border: 1px solid var(--ig-line); border-radius: 14px; padding: 18px; background: var(--ig-paper); } }
.ig .ig-author { display: flex; flex-direction: row; gap: 18px; align-items: flex-start; border: 1px solid var(--ig-line); border-radius: var(--ig-radius); padding: 22px 24px; background: var(--ig-paper); max-width: 74ch; }
.ig .ig-author__mark { flex: none; width: 54px; height: 54px; border-radius: 14px; background: var(--ig-ink); display: flex; align-items: center; justify-content: center; }
.ig .ig-author__mark img { width: 34px; height: 34px; }
.ig .ig-author > .brxe-block { gap: 6px; width: auto; flex: 1; }
.ig .ig-author h2 { font-size: 18px; }
.ig .ig-author p { font-size: 15px; color: var(--ig-ink-2); }

/* About / editorial */
.ig .ig-numbers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ig .ig-number { border-radius: var(--ig-radius); background: #fff; border: 1px solid var(--ig-line); padding: 24px; gap: 4px; }
.ig .ig-number__n { font-family: var(--ig-head); font-size: 46px; font-weight: 800; letter-spacing: -.04em; line-height: 1; color: var(--ig-red); font-variant-numeric: tabular-nums; }
.ig .ig-number__l { font-size: 15px; color: var(--ig-ink-2); font-weight: 600; }
@media (max-width: 820px) { .ig .ig-numbers { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ig .ig-number__n { font-size: 36px; } }
.ig .ig-policy { counter-reset: pol; display: flex; flex-direction: column; gap: 14px; }
.ig .ig-policy__item { counter-increment: pol; display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 18px; align-items: start; border: 1px solid var(--ig-line); border-radius: var(--ig-radius); background: #fff; padding: 22px 24px; }
.ig .ig-policy__item::before { content: counter(pol); width: 44px; height: 44px; border-radius: 999px; background: var(--ig-red); color: #fff; font: 800 18px/44px var(--ig-head); text-align: center; }
.ig .ig-policy__item > .brxe-block { gap: 6px; }
.ig .ig-policy__item h3 { font-size: 19px; }
.ig .ig-policy__item p { color: var(--ig-ink-2); font-size: 16px; }

/* Contact routes */
.ig .ig-routes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 820px) { .ig .ig-routes { grid-template-columns: minmax(0, 1fr); } }

/* 404 */
.ig .ig-404 { gap: 22px; align-items: flex-start; }
.ig .ig-404__code { font: 800 120px/0.9 var(--ig-head); letter-spacing: -.06em; color: var(--ig-red); }
@media (max-width: 560px) { .ig .ig-404__code { font-size: 84px; } }

/* =====================================================================
   Footer
   ===================================================================== */
.ig .ig-ftr { background: #141317; color: #cfc9c2; padding-block: 72px 28px; font-size: 15px; }
.ig .ig-ftr__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.75fr) repeat(3, minmax(0, .8fr)); gap: 40px; }
.ig .ig-ftr__brand { gap: 18px; }
.ig .ig-ftr__logo img { width: 210px; height: auto; }
.ig .ig-ftr__blurb { color: #bdb6ae; line-height: 1.6; max-width: 36ch; }
.ig .ig-ftr .ig-stats { color: #bdb6ae; font-size: 14px; gap: 6px 18px; }
.ig .ig-ftr .ig-stat b { color: var(--ig-mustard); font-size: 19px; }
.ig .ig-ftr__h { font-family: var(--ig-body); font-size: 13px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: #fff !important; margin-bottom: 14px; }
.ig .ig-ftr__links { display: flex; flex-direction: column; gap: 0; }
.ig .ig-ftr__links--2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 18px; }
.ig .ig-ftr a, .ig .ig-ftr__link { color: #d9d3cc; text-decoration: none; display: flex; flex-direction: row; justify-content: flex-start; align-items: center; text-align: left; width: auto; min-height: 34px; line-height: 1.35; padding: 3px 0; }
.ig .ig-ftr__links { align-items: flex-start; }
.ig .ig-ftr a:hover { color: #fff; text-decoration: underline; text-decoration-color: var(--ig-red); }
.ig .ig-ftr__bottom { display: flex; flex-direction: row; justify-content: space-between; align-items: center; gap: 12px 24px; flex-wrap: wrap; margin-top: 56px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .12); color: #a49d95; font-size: 14px; }
.ig .ig-ftr__bottom > * { width: auto; }
.ig .ig-ftr__legal { display: flex; flex-direction: row; flex-wrap: wrap; gap: 4px 20px; }
.ig .ig-social { display: flex; flex-direction: row; gap: 8px; }
.ig .ig-social li { list-style: none; }
.ig .ig-social a, .ig .brxe-social-icons.ig-social li a { width: 44px; height: 44px; min-height: 44px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .22); display: inline-flex; align-items: center; justify-content: center; color: #fff; padding: 0; }
.ig .ig-social a:hover { background: var(--ig-red); border-color: var(--ig-red); text-decoration: none; }
.ig .brxe-social-icons.ig-social li { background: transparent; padding: 0; }
.ig .brxe-social-icons.ig-social { gap: 8px; }
@media (max-width: 1100px) { .ig .ig-ftr__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ig .ig-ftr__brand { grid-column: 1 / -1; } }
@media (max-width: 680px) {
	.ig .ig-ftr { padding-block: 52px 24px; }
	.ig .ig-ftr__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; }
	.ig .ig-ftr__topics { grid-column: 1 / -1; }
	.ig .ig-ftr a, .ig .ig-ftr__link { min-height: 44px; }
}
/* The consent notice prints its own "Cookie settings" fallback; the footer has the link. */
.ig .npconn-consent-footer { display: none; }


/* ---------- round 3 phone refinements ---------- */
.ig .ig-trust span { display: inline-flex; flex-direction: row; align-items: center; gap: 8px; }
.ig .ig-offer__fine { font-size: 15px; }
.ig .ig-nav .brxe-toggle { align-items: center; justify-content: center; }
@media (max-width: 767px) {
	.ig .igs-crumbs [aria-current="page"] { display: none; }
	.ig .igs-crumbs li:nth-last-child(2)::after { content: ""; }
	.ig .ig-card__meta { font-size: 14px; }
	.ig .ig-card__kicker { font-size: 13px; }
	.ig .ig-toolbar__sort { flex-wrap: nowrap; overflow-x: auto; width: 100%; }
	.ig .ig-toolbar { gap: 10px; }
	.ig .ig-lhead__meta { font-size: 15px; }
	.ig .ig-figure-wrap .igs-actions { -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
	.ig .ig-hubhead__desc.is-clamped-x { max-height: 11.5em; overflow: hidden; -webkit-mask-image: linear-gradient(#000 70%, transparent); mask-image: linear-gradient(#000 70%, transparent); }
	.ig .ig-readmore { align-self: flex-start; min-height: 44px; padding: 8px 18px; border-radius: 999px; border: 1.5px solid var(--ig-ink); background: #fff; font: 700 15px/1 var(--ig-body); color: var(--ig-ink); cursor: pointer; }
}

/* Full cards (with a takeaway line) read better one per row on phones; compact cards stay two up. */
@media (max-width: 560px) {
	.ig .ig-grid:has(.ig-card__sum) { grid-template-columns: minmax(0, 1fr); gap: 30px; }
	.ig .ig-grid:has(.ig-card__sum) .ig-card__title { font-size: 19px; }
	.ig .ig-fan > .brxe-block { width: 40%; }
	.ig .ig-fan > .brxe-block:nth-child(1) { transform: translate(-102%, -52%) rotate(-6deg); }
	.ig .ig-fan > .brxe-block:nth-child(2) { width: 44%; }
	.ig .ig-fan > .brxe-block:nth-child(3) { transform: translate(2%, -50%) rotate(6deg); }
	.ig .ig-hdr__actions .ig-btn.ig-btn { min-height: 44px; }
}


/* ---------- round 3 desktop refinements ---------- */
.ig .ig-card__media::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(27, 26, 30, .09); pointer-events: none; }
.ig .ig-chips > .ig-chips { display: contents; }
.ig .ig-cols > .brxe-block { gap: 16px; }
.ig .ig-ftr__links--2 { display: block; columns: 2; column-gap: 18px; }
.ig .ig-ftr__links--2 > * { break-inside: avoid; }
.ig .ig-ftr__bottom { width: calc(100% - 2 * var(--ig-gutter)); max-width: var(--ig-wrap); padding-inline: 0; }
.ig .ig-offerhero--stack { grid-template-columns: minmax(0, 1fr); gap: 36px; }
.ig .ig-offerhero--stack .ig-offerhero__copy h1 { max-width: none; }
.ig .ig-offerhero--stack .ig-offers { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 980px; }
@media (max-width: 760px) { .ig .ig-offerhero--stack .ig-offers { grid-template-columns: minmax(0, 1fr); } }
.ig .ig-offer--single { max-width: 520px; }
/* Gravity Forms markup (legacy and Orbital themes): one field style across every form. */
.ig .gform_wrapper .gfield_label, .ig .gform_wrapper legend.gfield_label { font: 650 16px/1.35 var(--ig-body) !important; color: var(--ig-ink) !important; margin-bottom: 8px !important; }
.ig .gform_wrapper .gfield_description, .ig .gform_wrapper .ginput_complex label, .ig .gform_wrapper .gform-field-label--type-sub { font-size: 14px !important; color: var(--ig-muted) !important; }
.ig .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=file]):not([type=hidden]), .ig .gform_wrapper textarea, .ig .gform_wrapper select {
	min-height: 48px !important; padding: 10px 14px !important; border: 1.5px solid #cfc6b9 !important; border-radius: 10px !important; font: 16px/1.4 var(--ig-body) !important; color: var(--ig-ink) !important; background: #fff !important; width: 100% !important; box-shadow: none !important;
}
.ig .gform_wrapper input:focus, .ig .gform_wrapper textarea:focus, .ig .gform_wrapper select:focus { border-color: var(--ig-ink) !important; box-shadow: 0 0 0 3px var(--ig-mustard-l) !important; outline: none !important; }
.ig .gform_wrapper input[type=radio], .ig .gform_wrapper input[type=checkbox] { width: 20px !important; height: 20px !important; accent-color: var(--ig-red); }
.ig .gform_wrapper .gchoice label, .ig .gform_wrapper .gfield_radio label, .ig .gform_wrapper .gfield_checkbox label { font-size: 16px !important; color: var(--ig-ink-2) !important; }
.ig .gform_wrapper .gchoice { display: flex; flex-direction: row; align-items: center; gap: 10px; min-height: 40px; }
.ig .gform_wrapper .gform_footer input[type=submit], .ig .gform_wrapper .gform_footer button, .ig .gform_wrapper .gform_button {
	background: var(--ig-red) !important; border: 2px solid var(--ig-red) !important; color: #fff !important; min-height: 52px !important; padding: 12px 30px !important; border-radius: 999px !important; font: 700 16px/1 var(--ig-body) !important; cursor: pointer; width: auto !important;
}
.ig .gform_wrapper .gform_footer input[type=submit]:hover, .ig .gform_wrapper .gform_button:hover { background: var(--ig-red-dd) !important; border-color: var(--ig-red-dd) !important; }
.ig .gform_wrapper .gform_footer { padding-top: 6px !important; margin-top: 8px !important; }
.ig .gform_wrapper .ginput_total, .ig .gform_wrapper .ginput_product_price { font: 800 22px/1.2 var(--ig-head) !important; color: var(--ig-ink) !important; }
.ig .igs-login input[type="submit"] { text-align: center; width: 100%; }
.ig .ig-search-count { font-family: var(--ig-head); font-size: 21px; font-weight: 800; margin-bottom: 26px; }

.ig .ig-hubhead__desc.is-clamped { max-height: 13.5em; overflow: hidden; -webkit-mask-image: linear-gradient(#000 70%, transparent); mask-image: linear-gradient(#000 70%, transparent); }
.ig .ig-readmore { align-self: flex-start; min-height: 44px; padding: 8px 18px; border-radius: 999px; border: 1.5px solid var(--ig-ink); background: #fff; font: 700 15px/1 var(--ig-body); color: var(--ig-ink); cursor: pointer; }
.ig .ig-readmore:hover { background: var(--ig-ink); color: #fff; }
.ig .ig-toolbar__sort .ig-small { white-space: nowrap; }
.ig .ig-hubhead__side .ig-topics > :last-child:nth-child(odd) { grid-column: 1 / -1; }
.ig .ig-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 1.5em 0; border-radius: 8px; }
.ig .ig-table-scroll table { margin: 0; min-width: 620px; }
.ig .ig-table-scroll td, .ig .ig-table-scroll th { white-space: nowrap; }
.ig .ig-table-scroll th:first-child, .ig .ig-table-scroll td:first-child { position: sticky; left: 0; z-index: 1; background: #fff; box-shadow: 1px 0 0 var(--ig-line); }
.ig .ig-table-scroll thead th:first-child { background: var(--ig-ink); }
.ig .ig-table-scroll tbody tr:nth-child(even) td:first-child { background: var(--ig-paper); }
@media (max-width: 767px) {
	.ig .ig-chips--scroll, .ig .ig-filters__row > .ig-chips, .ig .ig-toolbar__sort, .ig .ig-table-scroll { -webkit-mask-image: linear-gradient(90deg, #000 86%, transparent); mask-image: linear-gradient(90deg, #000 86%, transparent); }
	.ig .ig-table-scroll.is-end, .ig .is-end { -webkit-mask-image: none; mask-image: none; }
}
/* Print */
@media print { #brx-header, #brx-footer, .igs-actions, .igs-embed, .ig .ig-aside, .ig .ig-cta { display: none !important; } }

@media (prefers-reduced-motion: reduce) { .ig *, .ig *::before, .ig *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }


/* =====================================================================
   A2 polish (EVS-57, 31 Oct 2026). One thumbnail rule, one rhythm, balanced
   cards, readable forms. Overrides earlier rounds; keep this block last.
   ===================================================================== */

/* ---------- one thumbnail rule: the whole graphic, contained on a tinted card ----------
   Graphics carry their own titles and labels, so a crop always cuts words. Every infographic
   thumbnail (cards, topic tiles, hero, featured, previews) shows the whole image at a fixed
   frame, centred on the stage tint with an even inset. Nothing is cropped, faded or masked. */
.ig .ig-card__media { aspect-ratio: 4 / 5; background: var(--ig-tint); }
.ig .ig-card__media img,
.ig .ig-card__media[data-shape="wide"] img,
.ig .ig-topic__media img,
.ig .ig-anat__img img,
.ig .ig-preview__media img,
.ig .ig-fan .ig-card__media img {
	width: 100%; height: 100% !important; object-fit: contain !important; object-position: center !important;
	padding: 12px; box-sizing: border-box; filter: drop-shadow(0 1px 2px rgba(27, 26, 30, .12));
}
.ig .ig-card:hover .ig-card__media img { transform: none; }
.ig .ig-card--article .ig-card__media { aspect-ratio: 9 / 5; }
.ig .ig-card--article .ig-card__media img { padding: 0; filter: none; object-fit: cover !important; }
.ig .ig-topic__media { aspect-ratio: 4 / 3; }
.ig .ig-topic__media img { padding: 10px; }
.ig .ig-hubhead__side .ig-topic__media { aspect-ratio: 16 / 9; }

/* ---------- cards: titles clamp to two lines and reserve them, so meta lines align ---------- */
.ig .ig-card { gap: 12px; }
.ig .ig-card__body { gap: 4px; }
.ig .ig-card__title { font-size: 17px; line-height: 1.3; }
.ig .ig-card__title, .ig .ig-card__title a {
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: calc(2 * 1.3em);
}
.ig .ig-card__title a { min-height: 0; }
.ig .ig-card__meta { font-size: 14px; color: var(--ig-muted); display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.ig .ig-card__kicker { font-size: 13px; letter-spacing: .06em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ig .ig-topic__name { font-size: 16px; line-height: 1.25; min-height: calc(2 * 1.25em); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ig .ig-topic__n { font-size: 14px; }
@media (max-width: 560px) {
	.ig .ig-card__title { font-size: 16px; }
	.ig .ig-card__kicker { font-size: 13px; }
	.ig .ig-card__meta { font-size: 14px; }
	.ig .ig-topic__name { font-size: 15px; }
}

/* ---------- one vertical rhythm, equal gutters ---------- */
.ig .ig-grid { gap: 40px 24px; }
.ig .ig-topics { gap: 24px; }
.ig .ig-head, .ig .ig-head--row { margin-bottom: 32px; }
.ig .ig-sec--tight { padding-block: var(--ig-sec); }
@media (max-width: 820px) { .ig .ig-grid, .ig .ig-grid--3 { gap: 32px 16px; } .ig .ig-topics { gap: 16px; } }
@media (max-width: 560px) { .ig .ig-topics { gap: 12px; } }

/* ---------- header: the home page has its own big search, so no second one in the bar ---------- */
body.home.ig .ig-hdr__actions .ig-search--desk { display: none; }
body.home.ig .ig-hdr__actions .ig-hdr__searchbtn { display: none; }

/* ---------- home hero: two graphics, large and legible ---------- */
.ig .ig-hero { padding-block: 64px 72px; }
.ig .ig-hero__in { align-items: center; }
.ig .ig-hero__copy h1 { max-width: 15ch; }
.ig .ig-hero__popular { flex-wrap: wrap; gap: 8px; }
.ig .ig-hero__popular > span { flex: 0 0 100%; font-size: 14px; font-weight: 600; color: var(--ig-muted); }
.ig .ig-hero__popular .ig-chips { display: flex; flex-direction: row; flex-wrap: wrap; gap: 8px; }
.ig .ig-fan { height: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; align-items: center; padding: 12px 0 20px; }
.ig .ig-fan > .brxe-block { position: relative; top: auto; left: auto; width: auto; transform: none; }
.ig .ig-fan { padding-inline: 18px; }
.ig .ig-fan > .brxe-block:nth-child(1) { transform: rotate(-3deg) translateX(26px); z-index: 1; }
.ig .ig-fan > .brxe-block:nth-child(2) { transform: rotate(3deg) translate(-26px, 32px); z-index: 2; width: auto; }
.ig .ig-fan > .brxe-block:nth-child(3) { display: none; }
.ig .ig-fan > .brxe-block:not(:nth-child(2)) .ig-fan__t { visibility: visible; }
.ig .ig-fan .ig-fan__card { padding: 10px 10px 14px; gap: 10px; }
.ig .ig-fan .ig-fan__card .ig-card__media { aspect-ratio: 4 / 5; }
.ig .ig-fan .ig-fan__t { font-size: 14px; }
.ig .ig-fan__label { display: none; }
@media (max-width: 1000px) { .ig .ig-fan { max-width: 560px; height: auto; } }
@media (max-width: 767px) {
	.ig .ig-hero { padding-block: 36px 44px; }
	.ig .ig-fan { height: auto; padding-bottom: 28px; }
	.ig .ig-fan .ig-fan__t { display: -webkit-box; font-size: 13px; }
	.ig .ig-fan .ig-fan__card { padding: 7px 7px 10px; }
}
@media (max-width: 560px) {
	.ig .ig-fan > .brxe-block, .ig .ig-fan > .brxe-block:nth-child(2) { width: auto; }
	.ig .ig-fan > .brxe-block:nth-child(1) { transform: rotate(-3deg) translateX(6px); }
	.ig .ig-fan > .brxe-block:nth-child(2) { transform: rotate(3deg) translate(-6px, 20px); }
}

/* ---------- featured: the whole graphic beside what you will learn ---------- */
.ig .ig-feat { align-items: stretch; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.ig .ig-feat__media { max-height: none; padding: 28px; align-items: center; display: flex; }
.ig .ig-feat__media::after { content: none; display: none; }
.ig .ig-feat__media img { width: 100%; max-height: 560px; object-fit: contain; box-shadow: none; filter: drop-shadow(0 2px 8px rgba(27, 26, 30, .14)); }
.ig .ig-feat__body { padding: 44px 48px; gap: 16px; justify-content: center; }
.ig .ig-feat__body h2 a { color: var(--ig-ink); text-decoration: none; }
.ig .ig-feat__body h2 a:hover { color: var(--ig-red-d); }
.ig .ig-feat__k { font-size: 14px; font-weight: 700; color: var(--ig-ink); }
.ig .ig-feat__learn { gap: 8px; }
.ig .igs-points { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.ig .igs-points li { position: relative; padding-left: 22px; font-size: 16px; line-height: 1.55; color: var(--ig-ink-2); }
.ig .igs-points li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 8px; height: 8px; border-radius: 2px; background: var(--ig-red); }
.ig .ig-feat__credit { font-size: 15px; }
@media (max-width: 900px) {
	.ig .ig-feat { grid-template-columns: minmax(0, 1fr); }
	.ig .ig-feat__media { max-height: none; padding: 20px; }
	.ig .ig-feat__media img { max-height: 420px; }
	.ig .ig-feat__body { padding: 26px 22px 30px; }
}

/* ---------- "Everything you need": a real listing, three numbered outcomes ---------- */
.ig .ig-anat { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.ig .ig-anat__shot { padding: 24px; gap: 18px; display: flex; flex-direction: column; }
.ig .ig-anat__row { align-items: start; }
.ig .ig-anat__n { margin-top: 2px; }
.ig .ig-anat__part { gap: 10px; min-width: 0; }
.ig .ig-anat__title { font-family: var(--ig-head); font-size: 17px; font-weight: 700; line-height: 1.3; }
.ig .ig-anat__img { aspect-ratio: 4 / 3; }
.ig .ig-anat__k { font-size: 13px; color: var(--ig-muted); margin-bottom: 0; }
.ig .ig-anat__points .igs-points li, .ig .ig-preview__points .igs-points li { font-size: 14px; line-height: 1.5; }
.ig .ig-anat__credit { font-size: 14px; color: var(--ig-ink-2); }
.ig .ig-anat__code { font-size: 13px; color: var(--ig-ink-2); }
.ig .ig-anat__list { grid-template-columns: minmax(0, 1fr); gap: 24px; }
.ig .ig-anat__item h3 { font-size: 19px; }
.ig .ig-anat__item p { font-size: 16px; }
@media (max-width: 1000px) { .ig .ig-anat { grid-template-columns: minmax(0, 1fr); gap: 36px; } .ig .ig-anat__shot { max-width: 560px; width: 100%; } }

/* ---------- maroon creator band: balanced cards, readable text ---------- */
.ig .ig-creators { align-items: center; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); }
.ig .ig-creators__copy { position: static; }
.ig .ig-creators .ig-steps--4 { grid-auto-rows: 1fr; }
.ig .ig-sec--maroon .ig-step p { color: #f1e6e3; font-size: 16px; }
.ig .ig-sec--maroon .ig-lead { color: #f6ecea; }
.ig .ig-creators__price { color: #f6ecea; }
.ig .ig-step p { font-size: 16px; }

/* ---------- FAQ: on the page grid (1 of 4 columns for the heading, 3 for the answers) ---------- */
.ig .ig-faqgrid { grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); gap: 24px; }
.ig .ig-faqgrid > .ig-head { margin-bottom: 0; padding-right: 24px; }
.ig .ig-faq .accordion-title { font-size: 18px; }
.ig .ig-faq .accordion-content-wrapper { font-size: 16px; }
@media (max-width: 900px) { .ig .ig-faqgrid { grid-template-columns: minmax(0, 1fr); gap: 16px; } }

/* ---------- submit: the offer beside a real listing ---------- */
.ig .ig-offerhero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.ig .ig-offerhero__copy h1 { max-width: none; }
.ig .ig-offer--single { max-width: 560px; }
.ig .ig-offer__fine { font-size: 14px; color: var(--ig-muted); }
.ig .ig-preview-wrap { gap: 10px; position: sticky; top: calc(var(--ig-hdr-h) + 24px); }
.ig .ig-preview__label { font-size: 14px; font-weight: 600; color: var(--ig-muted); }
.ig .ig-preview { background: #fff; border: 1px solid var(--ig-line); border-radius: 18px; box-shadow: var(--ig-shadow-lg); overflow: hidden; }
.ig .ig-preview__media { aspect-ratio: 4 / 3; background: var(--ig-tint); }
.ig .ig-preview__media .brxe-image, .ig .ig-preview__media figure { width: 100%; height: 100%; margin: 0; }
.ig .ig-preview__body { padding: 22px 24px 24px; gap: 10px; }
.ig .ig-preview__title { font-size: 21px; }
.ig .ig-preview__title a { color: var(--ig-ink); text-decoration: none; }
.ig .ig-preview__credit { font-size: 15px; color: var(--ig-ink-2); }
@media (max-width: 1000px) { .ig .ig-offerhero { grid-template-columns: minmax(0, 1fr); gap: 32px; } .ig .ig-preview-wrap { position: static; max-width: 560px; } }

/* ---------- forms: one column, full width, one card (no card in a card) ---------- */
.ig .ig-wrap--form { max-width: calc(680px + 2 * var(--ig-gutter)); }
.ig .ig-stack { display: flex; flex-direction: column; gap: 24px; }
.ig .ig-formgrid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.ig .gform_wrapper .gform_fields { grid-template-columns: minmax(0, 1fr) !important; row-gap: 22px !important; }
.ig .gform_wrapper .gfield { grid-column: 1 / -1 !important; max-width: none !important; }
.ig .gform_wrapper .ginput_complex, .ig .gform_wrapper .ginput_container--name { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 14px !important; }
.ig .gform_wrapper .ginput_complex > span, .ig .gform_wrapper .ginput_complex > div { width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
.ig .gform_wrapper .gfield_label, .ig .gform_wrapper legend.gfield_label { font-size: 16px !important; }
.ig .gform_wrapper .gfield_description, .ig .gform_wrapper .ginput_complex label, .ig .gform_wrapper .gform-field-label--type-sub { font-size: 14px !important; color: var(--ig-muted) !important; }
.ig .ig-formcard .gform_wrapper, .ig .ig-formcard .gform-theme--framework, .ig .ig-formcard .ig-formcard, .ig .ig-formcard .ig-panel { border: 0 !important; box-shadow: none !important; background: transparent !important; padding: 0 !important; }
.ig .ig-formcard .ig-cols--plain { gap: 32px; }
.ig .ig-formcard__intro { font-size: 16px; color: var(--ig-ink-2); }
/* WordPress log-in form ([igs_login_form]): the same field size as every other form */
.ig #loginform p, .ig .igs-login p { margin: 0 0 18px; display: flex; flex-direction: column; gap: 8px; }
.ig #loginform label, .ig .igs-login label { font: 650 16px/1.35 var(--ig-body); color: var(--ig-ink); }
.ig #loginform input[type="text"], .ig #loginform input[type="password"], .ig .igs-login input[type="text"], .ig .igs-login input[type="password"] {
	width: 100%; height: 48px; min-height: 48px; padding: 10px 14px; border: 1.5px solid #cfc6b9; border-radius: 10px; font: 16px/1.4 var(--ig-body); color: var(--ig-ink); background: #fff; box-sizing: border-box;
}
.ig #loginform .login-remember label { display: flex; flex-direction: row; align-items: center; gap: 10px; font-weight: 500; }
.ig #loginform input[type="submit"], .ig .igs-login input[type="submit"] { min-height: 52px; padding: 12px 30px; border-radius: 999px; border: 0; background: var(--ig-red); color: #fff; font: 700 16px/1 var(--ig-body); cursor: pointer; }
@media (max-width: 767px) { .ig .ig-formcard { padding: 22px 18px; } }

/* ---------- footer: legal links once (bottom row), topics in two even columns ---------- */
.ig .ig-ftr__grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, 2fr) repeat(3, minmax(0, 1fr)); gap: 40px 32px; }
.ig .ig-ftr__links--2 { display: grid !important; columns: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
@media (max-width: 1100px) { .ig .ig-ftr__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ig .ig-ftr__brand, .ig .ig-ftr__topics { grid-column: 1 / -1; } }
@media (max-width: 767px) { .ig .ig-ftr__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- WCAG AA for small grey text ---------- */
.ig .ig-ftr__bottom { color: #b8b1a9; }
.ig .ig-small, .ig .ig-toolbar__sort .ig-small { color: var(--ig-muted); font-size: 14px; }

/* ---------- A2 round 2 ---------- */
:root { --ig-sec: 76px; }
@media (max-width: 767px) { :root { --ig-sec: 52px; } }
.ig .brxe-container.ig-wrap--form { max-width: calc(640px + 2 * var(--ig-gutter)); }
@media (max-width: 900px) { .ig .ig-formgrid { grid-template-columns: minmax(0, 1fr); } }

/* cards: a missing creator keeps its line, so rows stay aligned */
.ig .ig-card__meta--empty { min-height: calc(14px * 1.4); }

/* hero pair: side by side, no overlap, inside the column */
.ig .ig-fan { gap: 20px; padding: 8px 0 32px; }
.ig .ig-fan > .brxe-block:nth-child(1) { transform: rotate(-2deg); }
.ig .ig-fan > .brxe-block:nth-child(2) { transform: rotate(2deg) translateY(24px); }
.ig .ig-fan .ig-fan__t { -webkit-line-clamp: 2; }
@media (max-width: 560px) {
	.ig .ig-fan { gap: 14px; padding-inline: 4px; }
	.ig .ig-fan > .brxe-block:nth-child(1) { transform: rotate(-1.5deg); }
	.ig .ig-fan > .brxe-block:nth-child(2) { transform: rotate(1.5deg) translateY(16px); }
}
/* chips: popular topics on one line where they fit, a tidy scroll row on phones */
@media (max-width: 767px) {
	.ig .ig-hero__popular .ig-chips { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(-1 * var(--ig-gutter)); padding-inline: var(--ig-gutter); scrollbar-width: none; }
	.ig .ig-hero__popular .ig-chips > * { flex: 0 0 auto; }
}

/* hub head: compact section list beside the write-up (no dead zone) */
.ig .ig-hubhead__side .ig-topics { grid-template-columns: minmax(0, 1fr); gap: 8px; }
.ig .ig-hubhead__side .ig-topics > :last-child:nth-child(odd) { grid-column: auto; }
.ig .ig-hubhead__side .ig-topic { flex-direction: row; align-items: center; }
.ig .ig-hubhead__side .ig-topic__media { aspect-ratio: 1 / 1; width: 72px; flex: 0 0 72px; border-radius: 8px; }
.ig .ig-hubhead__side .ig-topic__media img { padding: 4px; }
.ig .ig-hubhead__side .ig-topic__body { padding: 10px 14px; flex-direction: row; justify-content: space-between; align-items: baseline; gap: 12px; flex: 1 1 auto; }
.ig .ig-hubhead__side .ig-topic__name { min-height: 0; -webkit-line-clamp: 1; }
.ig .ig-hubhead__side .ig-topic__n { white-space: nowrap; }
.ig .ig-subh { font-size: 14px; font-weight: 700; color: var(--ig-ink); letter-spacing: 0; text-transform: none; }

/* submit: accept / decline sits beside the form; the header's own Submit button is not needed here */
body.page-id-45.ig .ig-hdr__submit { display: none; }
.ig .ig-formgrid__side .ig-checks li { font-size: 15px; }
.ig .ig-formgrid__side { gap: 16px; }
.ig .gform_wrapper input[type=file] { width: 100% !important; min-height: 64px; padding: 16px !important; border: 1.5px dashed #b9b0a3 !important; border-radius: 10px !important; background: var(--ig-paper) !important; font: 15px/1.4 var(--ig-body) !important; color: var(--ig-ink-2) !important; box-sizing: border-box; }
.ig .gform_wrapper input[type=file]::file-selector-button { margin-right: 14px; padding: 9px 16px; border: 1.5px solid var(--ig-ink); border-radius: 999px; background: #fff; font: 700 14px/1 var(--ig-body); color: var(--ig-ink); cursor: pointer; }
.ig .gform_wrapper .ginput_complex, .ig .gform_wrapper .ginput_container--name { margin: 0 !important; width: 100% !important; }
.ig .gform_wrapper .gform_footer input[type=submit], .ig .gform_wrapper .gform_footer button, .ig .gform_wrapper .gform_button { width: 100% !important; }
.ig .igs-login input[type="submit"], .ig #loginform input[type="submit"] { width: 100%; }
.ig .gform_wrapper .gform_required_legend { font-size: 14px; color: var(--ig-muted); margin-bottom: 4px; }

/* footer topics: rows line up even when a name wraps */
.ig .ig-ftr__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 2.2fr) repeat(3, minmax(0, 1fr)); }
.ig .ig-ftr__links--2 { align-items: start; }
.ig .ig-ftr__links--2 > * { align-self: start; }
.ig .ig-social a, .ig .brxe-social-icons.ig-social li a { border-color: rgba(255, 255, 255, .45); }

/* ---------- A2 round 3: "Everything you need" as three rows, each part of a real page beside its outcome ---------- */
.ig .ig-anat.ig-anat--rows { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 64px; row-gap: 0; align-items: stretch; }
.ig .ig-anat--rows .ig-anat__row { display: contents; }
.ig .ig-anat--rows .ig-anat__part {
	display: flex; flex-direction: column; gap: 10px; background: #fff; border-inline: 1px solid var(--ig-line); padding: 18px 24px; min-width: 0;
	box-shadow: 0 22px 48px -30px rgba(27, 26, 30, .35);
}
.ig .ig-anat--rows .ig-anat__part + .ig-anat__item { align-self: center; }
.ig .ig-anat--rows .ig-anat__part--top { border-top: 1px solid var(--ig-line); border-radius: 18px 18px 0 0; padding-top: 24px; }
.ig .ig-anat--rows .ig-anat__part--end { border-bottom: 1px solid var(--ig-line); border-radius: 0 0 18px 18px; padding-bottom: 24px; }
.ig .ig-anat--rows .ig-anat__part:not(.ig-anat__part--end) { border-bottom: 1px dashed var(--ig-line-2); }
.ig .ig-anat--rows .ig-anat__img { aspect-ratio: 4 / 3; border-radius: 10px; background: var(--ig-tint); }
.ig .ig-anat--rows .ig-anat__img img { object-fit: contain !important; padding: 10px; }
.ig .ig-anat--rows .ig-anat__item { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 16px; padding: 20px 0; counter-increment: none; }
.ig .ig-anat--rows .ig-anat__item::before { content: none; display: none; }
.ig .ig-anat--rows .ig-anat__n { width: 36px; height: 36px; font: 800 16px/36px var(--ig-head); margin-top: 0; }
.ig .ig-anat--rows .ig-anat__item h3 { font-size: 21px; margin-bottom: 6px; }
.ig .ig-anat--rows .ig-anat__item p { font-size: 16px; color: var(--ig-ink-2); line-height: 1.6; max-width: 46ch; }
.ig .ig-anat__k { font-size: 13px; }
.ig .ig-anat__code { font-size: 13px; white-space: normal; }
@media (max-width: 900px) {
	.ig .ig-anat.ig-anat--rows { grid-template-columns: minmax(0, 1fr); }
	.ig .ig-anat--rows .ig-anat__part { border: 1px solid var(--ig-line); border-radius: 14px; }
	.ig .ig-anat--rows .ig-anat__item { padding: 14px 0 26px; }
}

/* maroon band: clearer cards and secondary button */
.ig .ig-sec--maroon .ig-step { background: rgba(255, 255, 255, .07); border-color: rgba(255, 255, 255, .2); }
.ig .ig-sec--maroon .ig-btn--line-light { border-color: rgba(255, 255, 255, .85); }
.ig .ig-creators .ig-steps--4 { grid-auto-rows: auto; align-items: stretch; }

/* FAQ heading takes one card column, answers the other two (same grid as the 3-up cards) */
.ig .ig-faqgrid { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); column-gap: 24px; }

/* ---------- A2 round 4 ---------- */
.ig .ig-offer--single { border: 1px solid var(--ig-line-2); box-shadow: var(--ig-shadow-lg); }
.ig .ig-formgrid__side { position: sticky; top: calc(var(--ig-hdr-h) + 24px); align-self: start; }
@media (max-width: 900px) { .ig .ig-formgrid__side { position: static; } }
.ig .ig-rules h3 { font-size: 18px; margin-bottom: 4px; }
.ig .ig-rules h3 + .ig-checks { margin-bottom: 0; }
.ig .ig-rules .ig-checks + h3 { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--ig-line); }
.ig .ig-rules__ask { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--ig-line); font-size: 15px; }
.ig .ig-preview__media { aspect-ratio: auto; display: flex; justify-content: center; padding: 18px; }
.ig .ig-preview__media img { width: auto !important; max-width: 100%; height: auto !important; max-height: 340px; padding: 0; }
.ig .ig-anat--rows .ig-anat__img { aspect-ratio: auto; display: flex; justify-content: center; padding: 14px; }
.ig .ig-anat--rows .ig-anat__img img { width: auto !important; max-width: 100%; height: auto !important; max-height: 340px; padding: 0; }
.ig .ig-preview__points .igs-points li, .ig .ig-anat__points .igs-points li { font-size: 15px; }
.ig .ig-creators__copy { align-self: center; }

/* ---------- A2 round 5 ---------- */
.ig .ig-anat--rows .ig-anat__part + .ig-anat__item { align-self: start; padding-top: 24px; }
.ig .ig-anat--rows .ig-anat__part--top + .ig-anat__item { padding-top: 64px; }
.ig .ig-anat__img .brxe-image, .ig .ig-preview__media .brxe-image { display: flex; justify-content: center; align-items: center; width: 100%; height: auto; }
.ig .ig-offer--single { max-width: none; }
.ig .ig-preview { box-shadow: var(--ig-shadow); }
.ig .ig-rules__ask a { text-decoration: underline; }
@media (max-width: 900px) { .ig .ig-formgrid__side { order: -1; } }

/* ---------- A2 round 6 ---------- */
@media (max-width: 767px) {
	.ig .ig-hero__popular .ig-chips { flex-wrap: wrap; overflow: visible; margin-inline: 0; padding-inline: 0; }
}
@media (max-width: 560px) { .ig .ig-fan .ig-fan__t { display: none; } .ig .ig-fan { padding-bottom: 20px; } }
.ig .ig-stack { gap: 40px; }
/* form field edges at 3:1 against white (WCAG 1.4.11) */
.ig .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=file]):not([type=hidden]), .ig .gform_wrapper textarea, .ig .gform_wrapper select,
.ig #loginform input[type="text"], .ig #loginform input[type="password"] { border-color: #8f877c !important; }
.ig .gform_wrapper.gravity-theme, .ig .gform_wrapper.gform-theme { --gf-ctrl-border-color: #8f877c !important; }
.ig #loginform input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--ig-red); }

/* ---------- A2 round 7 ---------- */
.ig .ig-card__media { aspect-ratio: 1 / 1; }
body.page-id-578.ig .ig-hdr__actions .ig-search--desk, body.search.ig .ig-hdr__actions .ig-search--desk,
body.page-id-578.ig .ig-hdr__actions .ig-hdr__searchbtn, body.search.ig .ig-hdr__actions .ig-hdr__searchbtn { display: none; }
.ig .ig-cols > .ig-panel, .ig .ig-cards3 > * { display: flex; flex-direction: column; }
.ig .ig-panel > .ig-more:last-child { margin-top: auto; padding-top: 8px; }

/* ---------- A2 round 8 ---------- */
/* Bricks prints the image element as a bare <img class="brxe-image">: size it to the graphic, centred in its well */
.ig .ig-anat--rows .ig-anat__img > img.brxe-image, .ig .ig-preview__media > img.brxe-image {
	display: block; width: auto !important; max-width: 100%; height: auto !important; max-height: 340px; margin-inline: auto;
}
.ig .ig-anat--rows .ig-anat__img, .ig .ig-preview__media { align-items: center; justify-content: center; }

/* ---------- A2 round 9 ---------- */
.ig .ig-head--sticky { position: sticky; top: calc(var(--ig-hdr-h) + 24px); align-self: start; }
@media (max-width: 900px) { .ig .ig-head--sticky { position: static; } }

/* ---------- A2 round 10 ---------- */
.ig .ig-fan > .brxe-block:nth-child(1) { transform: rotate(-1.5deg); }
.ig .ig-fan > .brxe-block:nth-child(2) { transform: rotate(1.5deg) translateY(24px); }
.ig .ig-fan { padding-inline: 12px; }
.ig .ig-rules h3 { display: block; width: 100%; }
.ig .ig-card__sub, .ig .ig-preview__credit strong { white-space: normal; }

/* =====================================================================================================
   A3 (EVS-57 final polish)
   ===================================================================================================== */

/* ---------- one thumbnail rule, every frame: whole graphic, or (when it would be a sliver) full width from the top.
   The connector decides per graphic ({igs_fit:<frame>}); only one of the two image elements is rendered. ---------- */
.ig .ig-card__media img.ig-thumb--top, .ig .ig-topic__media img.ig-thumb--top, .ig .ig-anat__img img.ig-thumb--top,
.ig .ig-preview__media img.ig-thumb--top, .ig .ig-fan .ig-card__media img.ig-thumb--top {
	display: block; width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important;
	object-fit: cover !important; object-position: center top !important; padding: 0 !important; filter: none !important; margin: 0 !important;
}
.ig [data-fit="cover"] { background: #fff; }

/* hero pair: the whole title, up to three short lines, same height on both cards */
.ig .ig-fan .ig-fan__t { display: -webkit-box !important; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; min-height: calc(2 * 1.3em); line-height: 1.3; }

/* card bylines: one clean line, the creator's own name */
.ig .ig-card__meta { -webkit-line-clamp: 2; }

/* ---------- "Everything you need": one compact listing card beside three evenly spaced outcomes ---------- */
.ig .ig-anat--a3 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.ig .ig-anat__card { background: #fff; border: 1px solid var(--ig-line); border-radius: 18px; box-shadow: var(--ig-shadow-lg); padding: 22px; gap: 0; max-width: 560px; width: 100%; justify-self: end; }
.ig .ig-anat--a3 .ig-anat__part { position: relative; gap: 10px; padding: 18px 0 18px 44px; min-width: 0; }
.ig .ig-anat--a3 .ig-anat__part--top { padding-top: 4px; }
.ig .ig-anat--a3 .ig-anat__part--end { padding-bottom: 2px; }
.ig .ig-anat--a3 .ig-anat__part + .ig-anat__part { border-top: 1px dashed var(--ig-line-2); }
.ig .ig-anat__pin { position: absolute; left: 0; top: 18px; width: 28px; height: 28px; border-radius: 999px; background: var(--ig-red); color: #fff; font: 800 13px/28px var(--ig-head); text-align: center; }
.ig .ig-anat--a3 .ig-anat__part--top .ig-anat__pin { top: 4px; }
.ig .ig-anat--a3 .ig-anat__img { aspect-ratio: 5 / 3; width: 100%; border-radius: 10px; overflow: hidden; background: var(--ig-tint); padding: 0; display: block; border: 1px solid var(--ig-line); }
.ig .ig-anat--a3 .ig-anat__img img { width: 100% !important; height: 100% !important; max-height: none !important; }
.ig .ig-anat--a3 .ig-anat__title { font-size: 17px; }
.ig .ig-anat__steps { display: flex; flex-direction: column; gap: 36px; max-width: 480px; }
.ig .ig-anat--a3 .ig-anat__item { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 16px; padding: 0; counter-increment: none; }
.ig .ig-anat--a3 .ig-anat__item::before { content: none; display: none; }
.ig .ig-anat--a3 .ig-anat__n { width: 36px; height: 36px; font: 800 16px/36px var(--ig-head); margin: 0; }
.ig .ig-anat--a3 .ig-anat__item h3 { font-size: 21px; margin-bottom: 6px; }
.ig .ig-anat--a3 .ig-anat__item p { font-size: 16px; color: var(--ig-ink-2); line-height: 1.6; }
@media (max-width: 900px) {
	.ig .ig-anat--a3 { grid-template-columns: minmax(0, 1fr); gap: 36px; }
	.ig .ig-anat__card { justify-self: stretch; max-width: none; padding: 18px; }
	.ig .ig-anat__steps { gap: 24px; max-width: none; }
}

/* ---------- submit page preview: same rule, 4:3 frame ---------- */
.ig .ig-preview__media { aspect-ratio: 4 / 3; padding: 0; display: block; overflow: hidden; }
.ig .ig-preview__media > img.brxe-image.ig-thumb--whole { width: 100% !important; height: 100% !important; max-height: none !important; object-fit: contain !important; padding: 14px !important; }

/* ---------- listing page ---------- */
/* the graphic sits straight on the stage: no white card around its own background */
.ig .igs-figure { background: transparent; padding: 0; box-shadow: none; border-radius: 0; }
.ig .igs-figure > a { border-radius: 8px; box-shadow: 0 0 0 1px rgba(27, 26, 30, .08), var(--ig-shadow); background: #fff; }
.ig .igs-figure img { border-radius: 0; }
.ig .ig-figure-wrap.is-capped .igs-figure > a::after { background: linear-gradient(rgba(255, 255, 255, 0), #fff 85%); }
.ig .igs-figure figcaption { margin-top: 12px; padding: 0; }
/* actions: Download first, then full size and embed; sharing apart, with the networks' own marks */
.ig .igs-actions { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; margin: 22px 0 0; position: static; }
.ig .igs-actions__main, .ig .igs-actions__share { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 10px; }
.ig .igs-act::before { content: none !important; display: none !important; }
.ig .igs-act { gap: 8px; }
.ig .igs-act .igs-ico { width: 18px; height: 18px; flex: 0 0 auto; }
.ig .igs-act--download { background: var(--ig-red); border-color: var(--ig-red); color: #fff; padding-inline: 20px; }
.ig .igs-act--download:hover, .ig .igs-act--download:focus-visible { background: var(--ig-red-dd); border-color: var(--ig-red-dd); color: #fff; }
.ig .igs-act--open { background: #fff; border-color: var(--ig-line-2); color: var(--ig-ink); }
.ig .igs-act--open:hover { background: #fff; border-color: var(--ig-ink); color: var(--ig-ink); }
.ig .igs-actions__label { font-size: 14px; font-weight: 650; color: var(--ig-muted); margin-right: 2px; }
.ig .igs-share { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 999px; border: 1.5px solid var(--ig-line-2); background: #fff; text-decoration: none; transition: border-color .15s ease, transform .15s ease; }
.ig .igs-share .igs-ico { width: 20px; height: 20px; }
.ig .igs-share--pinterest { color: #e60023; }
.ig .igs-share--facebook { color: #1877f2; }
.ig .igs-share--linkedin { color: #0a66c2; }
.ig .igs-share:hover, .ig .igs-share:focus-visible { border-color: currentColor; transform: translateY(-1px); }
.ig .igs-lead { margin-top: 28px; }
@media (max-width: 767px) {
	.ig .ig-figure-wrap .igs-actions { position: static; flex-wrap: wrap; overflow: visible; background: none; border: 0; padding: 0 var(--ig-gutter); margin: 18px 0 0; -webkit-mask-image: none; mask-image: none; }
	.ig .igs-actions__main { gap: 8px; }
	.ig .igs-act { padding: 8px 14px; }
	.ig .igs-lead { margin-top: 22px; }
}
/* who made the graphic, and who wrote the page, on separate lines */
.ig .ig-lhead__meta { flex-direction: column; align-items: flex-start; gap: 4px; }
.ig .ig-lhead__credit { margin: 0; color: var(--ig-ink-2); }
/* breadcrumb: the current page is shortened only when the line runs out of room */
@media (min-width: 768px) {
	.ig .igs-crumbs ol { flex-wrap: nowrap; min-width: 0; }
	.ig .igs-crumbs li { flex: 0 0 auto; }
	.ig .igs-crumbs [aria-current="page"] { flex: 0 1 auto; min-width: 0; max-width: none; display: block; }
}
/* the text column's first heading lines up with the top of the sidebar */
.ig .ig-lbody__main .ig-prose > :first-child, .ig .ig-lbody__main .ig-prose > input[type=hidden]:first-child + *,
.ig .ig-lbody__main .ig-prose > :is(input, br, style, script):first-child ~ h2:first-of-type { margin-top: 0 !important; }

/* ---------- forms 3 and 4 ---------- */
.ig .gform_wrapper .gform_required_legend { font-size: 14px; color: var(--ig-muted); margin: 0 0 4px; }
.ig .gform_wrapper .gform-field-label--type-sub { margin: 0 0 6px !important; display: block; }
/* Total: a line of text, not an input */
.ig .gform_wrapper .gfield--type-total { display: flex; flex-direction: row; align-items: baseline; gap: 10px; padding: 16px 0 4px; border-top: 1px solid var(--ig-line); }
.ig .gform_wrapper .gfield--type-total .gfield_label { margin: 0 !important; font-size: 18px !important; }
.ig .gform_wrapper .gfield--type-total .ginput_container_total { margin: 0; }
.ig .gform_wrapper .gfield--type-total input.ginput_total:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=file]):not([type=hidden]):not([type=email]) { all: unset; font: 800 22px/1.2 var(--ig-head) !important; color: var(--ig-ink) !important; width: auto !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; pointer-events: none; }
.ig .gform_wrapper .gfield--type-total.ig-total-ready input.ginput_total:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=file]):not([type=hidden]):not([type=email]) { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ig .ig-total__v { font: 800 22px/1.2 var(--ig-head); color: var(--ig-ink); }
/* country: a real dropdown */
.ig .gform_wrapper select { -webkit-appearance: none; appearance: none; padding-right: 44px !important; cursor: pointer;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231b1a1e' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 16px center / 12px 8px !important; }
.ig .gform_wrapper .gfield--type-address .gform-field-label--type-sub { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* file: one drop area, the rules in the field's own description */
.ig .gform_wrapper input[type=file] { min-height: 88px; padding: 22px 18px !important; cursor: pointer; }
.ig .gform_wrapper input[type=file]:hover { border-color: var(--ig-ink) !important; }
.ig .gform_wrapper input[type=file]::file-selector-button { padding: 11px 18px; background: var(--ig-ink); color: #fff; border-color: var(--ig-ink); }
.ig .gform_wrapper .gfield--type-post_image .gform_fileupload_rules, .ig .gform_wrapper .gfield--type-fileupload .gform_fileupload_rules { display: none !important; }
/* Stripe card field: same box as the other inputs */
.ig .gform_wrapper .ginput_container_creditcard .StripeElement, .ig .gform_wrapper .ginput_stripe_creditcard .gform-theme-field-control {
	min-height: 48px; padding: 14px !important; border: 1.5px solid #8f877c !important; border-radius: 10px !important; background: #fff !important; box-sizing: border-box; }
.ig .gform_wrapper .ginput_stripe_creditcard .StripeElement--focus { border-color: var(--ig-ink) !important; box-shadow: 0 0 0 3px var(--ig-mustard-l) !important; }
/* the review note sits right above the button */
.ig .gform_wrapper .ig-form-note-field { margin: 0 !important; }
.ig .gform_wrapper .ig-form-note { margin: 4px 0 0; padding: 14px 16px; border-radius: 10px; background: var(--ig-paper); border: 1px solid var(--ig-line); font-size: 15px; line-height: 1.5; color: var(--ig-ink-2); }
.ig .gform_wrapper .gform_required_legend { margin-bottom: 14px; }
.ig .gform_wrapper input[type=file] { line-height: 42px !important; }
.ig .gform_wrapper input[type=file]::file-selector-button { vertical-align: middle; line-height: 1; }
/* legacy-markup forms (order form): the total is a span; product lines read as text, the price on the right */
.ig .gform_wrapper .gfield--type-total.ig-total-ready span.ginput_total { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ig .gform_wrapper .gfield--input-type-singleproduct { display: flex; flex-direction: row; align-items: baseline; justify-content: space-between; gap: 16px; }
.ig .gform_wrapper .gfield--input-type-singleproduct .gfield_label { margin: 0 !important; font-weight: 600 !important; }
.ig .gform_wrapper .ginput_container_singleproduct { margin: 0 !important; }
.ig .gform_wrapper .ginput_container_singleproduct .ginput_product_price_label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ig .gform_wrapper .ginput_container_singleproduct input.ginput_product_price:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=file]):not([type=hidden]):not([type=email]) {
	all: unset; font: 700 17px/1.3 var(--ig-body) !important; color: var(--ig-ink) !important; text-align: right; width: 8ch !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; pointer-events: none; }
.ig .gform_wrapper .gfield--type-total .ginput_container_total { display: flex; align-items: baseline; }
/* A3 phone pass */
@media (max-width: 767px) {
	.ig .igs-figure figcaption, .ig .igs-lead, .ig .ig-figure-wrap .igs-actions { padding-inline: 0 !important; }
	.ig .igs-actions__main { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
	.ig .igs-actions__main .igs-act { justify-content: center; }
	.ig .igs-actions__main .igs-act--download { grid-column: 1 / -1; }
	.ig .ig-fan .ig-fan__t { -webkit-line-clamp: 5; font-size: 13px; }
}
@media (max-width: 560px) {
	.ig .ig-anat--a3 .ig-anat__part { padding-left: 0; }
	.ig .ig-anat__pin { position: static; width: 24px; height: 24px; font-size: 12px; line-height: 24px; }
	.ig .ig-anat__card { padding: 16px; }
}
/* hub sections on phones: thumbnail beside its name, not above it */
.ig .ig-hubhead__side .ig-topic { flex-wrap: nowrap; }
.ig .ig-hubhead__side .ig-topic__body { width: auto; min-width: 0; }

/* ---------- Lane F (EVS-57) ---------- */
/* currency stated once where money is committed: smaller "USD" beside the big figure */
.ig .ig-price__cur { font-size: .38em; font-weight: 700; letter-spacing: .02em; color: var(--ig-ink-2); margin-left: .15em; }
/* about: the three "who it is for" cards share one height, their links on one line */
.ig .ig-cols > .ig-panel { align-self: stretch; height: auto; }
.ig .ig-cols--3 { align-items: stretch; }
/* about: the text across the top, the two panels side by side under it at one height */
@media (min-width: 821px) {
	.ig .ig-cols--why { align-items: stretch; row-gap: 28px; }
	.ig .ig-cols--why > :first-child { grid-column: 1 / -1; max-width: 760px; }
}
/* card topic labels: whole on phones (two short lines instead of an ellipsis) */
@media (max-width: 767px) {
	.ig .ig-card__kicker { white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.3; letter-spacing: .04em; font-size: 12px; text-wrap: balance; }
}
/* legacy-markup order form: fields run the full width, so the pay button and the inputs line up */
.ig .gform_legacy_markup_wrapper ul.gform_fields li.gfield { padding-right: 0 !important; }
.ig .gform_legacy_markup_wrapper .ginput_container input:not([type=radio]):not([type=checkbox]):not([type=file]), .ig .gform_legacy_markup_wrapper .ginput_container textarea, .ig .gform_legacy_markup_wrapper .ginput_container select { width: 100% !important; }
/* product lines: the price as text, in the same format as the Total ("$395", not "$395.00") */
.ig .gform_wrapper .ginput_container_singleproduct.ig-price-ready input.ginput_product_price:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=file]):not([type=hidden]):not([type=email]) { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ig .gform_wrapper .ig-price-v { font: 700 17px/1.3 var(--ig-body); color: var(--ig-ink); text-align: right; }
/* order form: the Total figure sits in the same right-hand column as the product line prices */
.ig .gform_legacy_markup_wrapper .gfield--type-total { justify-content: space-between; }
.ig .ig-cols--why > .ig-panel--paper { background: #fff; }
.ig .ig-cols--why > .ig-panel > .ig-more:last-child { margin-top: 0; padding-top: 0; }
.ig .gform_legacy_markup_wrapper .gform_footer .gform_button { text-align: center; justify-content: center; }
/* Lane F: later desktop overrides (footer grid, FAQ grid) had no breakpoint and won on phones: footer link columns squeezed
   to 35-78px with words spilling into the next column, FAQ heading squeezed beside the questions. Restore the phone layouts. */
@media (max-width: 900px) { .ig .ig-faqgrid { grid-template-columns: minmax(0, 1fr); row-gap: 16px; } .ig .ig-faqgrid > .ig-head { padding-right: 0; } }
@media (max-width: 1100px) { .ig .ig-ftr__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ig .ig-ftr__brand, .ig .ig-ftr__topics { grid-column: 1 / -1; } }
@media (max-width: 767px) { .ig .ig-ftr__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; } }

/* ---------- A4: infographic sites directory (/infographic-directory/, connector IGS_Sites) ---------- */
.ig .ig-sd-wrap { width: 100%; }
.ig .igs-sd { display: flex; flex-direction: column; gap: 18px; width: 100%; }
.ig .igs-sd__bar { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; }
.ig .igs-sd__filters { display: flex; flex-direction: row; flex-wrap: wrap; gap: 8px; }
.ig .igs-sd__f { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 16px; border-radius: 999px; border: 1.5px solid var(--ig-line-2, #d6cfc4); background: #fff; font: 600 15px/1 var(--ig-body); color: var(--ig-ink); cursor: pointer; }
.ig .igs-sd__f span { font-size: 13px; font-weight: 700; color: var(--ig-muted); background: var(--ig-paper); border-radius: 999px; padding: 3px 8px; font-variant-numeric: tabular-nums; }
.ig .igs-sd__fx { font-style: normal; }
.ig .igs-sd__f:hover { border-color: var(--ig-ink); }
.ig .igs-sd__f[aria-pressed="true"] { background: var(--ig-ink); border-color: var(--ig-ink); color: #fff; }
.ig .igs-sd__f[aria-pressed="true"] span { background: rgba(255, 255, 255, .16); color: #fff; }
.ig .igs-sd__sort { display: inline-flex; flex-direction: row; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; color: var(--ig-ink-2); white-space: nowrap; }
.ig .igs-sd__sort select { -webkit-appearance: none; appearance: none; min-height: 44px; padding: 8px 40px 8px 14px; border: 1.5px solid var(--ig-line-2, #d6cfc4); border-radius: 10px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231b1a1e' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center; font: 600 15px/1.2 var(--ig-body); color: var(--ig-ink); cursor: pointer; }
.ig .igs-sd__scroll { width: 100%; border: 1px solid var(--ig-line); border-radius: var(--ig-radius); background: #fff; box-shadow: var(--ig-shadow); overflow: clip; }
.ig .igs-sd__table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 15px; line-height: 1.45; }
.ig .igs-sd__table thead th { position: sticky; top: var(--ig-hdr-h); z-index: 2; background: var(--ig-paper); text-align: left; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ig-muted); padding: 14px 16px; border-bottom: 1px solid var(--ig-line); }
.ig .igs-sd__table thead th:nth-child(1) { width: 19%; }
.ig .igs-sd__table thead th:nth-child(2) { width: 22%; }
.ig .igs-sd__table thead th:nth-child(3) { width: 16%; }
.ig .igs-sd__table thead th:nth-child(4) { width: 12%; }
.ig .igs-sd__table thead th:nth-child(5) { width: 11%; }
.ig .igs-sd__table tbody th, .ig .igs-sd__table tbody td { padding: 18px 16px; vertical-align: top; text-align: left; border-bottom: 1px solid var(--ig-line); color: var(--ig-ink-2); font-weight: 400; }
.ig .igs-sd__table tbody tr:last-child > * { border-bottom: 0; }
.ig .igs-sd__row[hidden] { display: none; }
.ig .igs-sd__row--self > * { background: var(--ig-blush); border-bottom: 0; }
.ig .igs-sd__sep td { padding: 12px 16px; background: var(--ig-paper); border-top: 1px solid var(--ig-line); border-bottom: 1px solid var(--ig-line); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ig-muted); }
.ig .igs-sd__site { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.ig .igs-sd__name { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.ig .igs-sd__name a, .ig .igs-sd__name strong { font: 700 17px/1.3 var(--ig-head); color: var(--ig-ink); text-decoration: none; }
.ig .igs-sd__name a:hover { color: var(--ig-red-d); text-decoration: underline; }
.ig .igs-sd__us { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #fff; background: var(--ig-red); border-radius: 999px; padding: 3px 9px; }
.ig .igs-sd__accepts { font-size: 14px; color: var(--ig-muted); }
.ig .igs-sd__sub { font-size: 14px; font-weight: 500; color: var(--ig-ink-2); text-decoration: underline; text-decoration-color: var(--ig-line-2, #d6cfc4); text-underline-offset: 3px; min-height: 32px; display: inline-flex; align-items: center; }
.ig .igs-sd__sub:hover { color: var(--ig-red-d); text-decoration-color: currentColor; }
.ig .igs-sd__sub::after { content: "\2197"; margin-left: 4px; font-size: 12px; }
.ig .igs-sd__row--self .igs-sd__sub::after { content: "\2192"; }
.ig .igs-sd__freeline { display: flex; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin-bottom: 8px; }
.ig .igs-sd__freeline small { font-size: 14px; color: var(--ig-muted); }
.ig .igs-sd__free { display: inline-block; font-weight: 700; color: #0f6b38; background: #e6f4ec; border-radius: 6px; padding: 2px 8px; }
.ig .igs-sd__tiers { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.ig .igs-sd__tiers li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 0 10px; }
.ig .igs-sd__tiers b { color: var(--ig-ink); font-variant-numeric: tabular-nums; text-align: right; }
.ig .igs-sd__tiers small { grid-column: 1 / -1; font-size: 13px; color: var(--ig-muted); line-height: 1.35; }
.ig .igs-sd__yes { font-weight: 700; color: #0f6b38; }
.ig .igs-sd__muted { color: var(--ig-muted); }
.ig .igs-sd__table time { white-space: nowrap; font-variant-numeric: tabular-nums; }
.ig .igs-sd__note { display: block; margin-top: 6px; font-size: 14px; color: var(--ig-muted); }
.ig .igs-sd__warn { display: block; margin-top: 8px; font-size: 14px; line-height: 1.4; color: #7a4a00; background: #fff4dc; border-left: 3px solid #e6a100; border-radius: 4px; padding: 6px 9px; }
.ig .igs-sd__quiet { display: block; margin-top: 4px; font-size: 13px; font-weight: 600; color: #7a4a00; }
.ig .igs-sd__none { color: var(--ig-muted); }
.ig .igs-sd__lists { display: flex; flex-direction: column; gap: 36px; margin-top: 36px; }
.ig .igs-sd__list h3 { font-size: 21px; margin: 0 0 8px; }
.ig .igs-sd__list p { font-size: 16px; color: var(--ig-ink-2); margin: 0 0 16px; max-width: 70ch; }
.ig .igs-sd__ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 28px; font-size: 15px; border-top: 1px solid var(--ig-line); }
.ig .igs-sd__ul li { display: flex; flex-direction: column; gap: 2px; padding: 12px 0; border-bottom: 1px solid var(--ig-line); }
.ig .igs-sd__ul li > :first-child { font-weight: 700; color: var(--ig-ink); }
.ig .igs-sd__ul li span { color: var(--ig-muted); line-height: 1.4; }
.ig .igs-sd__ul a { text-decoration: underline; text-decoration-color: var(--ig-line-2, #d6cfc4); text-underline-offset: 3px; }
/* how we compared: four short points */
.ig .ig-sdhow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; width: 100%; }
.ig .ig-sdhow__item { gap: 8px; border-top: 3px solid var(--ig-red); padding: 18px 20px 22px; background: #fff; border-radius: 0 0 var(--ig-radius-sm) var(--ig-radius-sm); }
.ig .ig-sdhow__item h3 { font-size: 19px; }
.ig .ig-sdhow__item p { font-size: 16px; color: var(--ig-ink-2); line-height: 1.55; }
/* FAQ rendered by the connector (details/summary), styled like the accordions */
.ig .igs-faq { display: flex; flex-direction: column; border-top: 1px solid var(--ig-line); width: 100%; }
.ig .igs-faq__item { border-bottom: 1px solid var(--ig-line); }
.ig .igs-faq__item summary { list-style: none; cursor: pointer; display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding: 14px 0; }
.ig .igs-faq__item summary::-webkit-details-marker { display: none; }
.ig .igs-faq__item summary h3 { font-size: 18px; margin: 0; }
.ig .igs-faq__item summary::after { content: "+"; flex: none; font: 600 24px/1 var(--ig-body); color: var(--ig-red); }
.ig .igs-faq__item[open] summary::after { content: "\2212"; }
.ig .igs-faq__a { padding: 0 0 18px; font-size: 16px; line-height: 1.65; color: var(--ig-ink-2); max-width: 70ch; }
.ig .igs-faq__a p { margin: 0 0 10px; }
.ig .igs-faq__a a { color: var(--ig-red-d); }
@media (max-width: 1100px) {
	.ig .ig-sdhow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* phones and small tablets: each site becomes a card, labels beside the values */
@media (max-width: 900px) {
	.ig .igs-sd__scroll { border: 0; box-shadow: none; background: none; overflow: visible; }
	.ig .igs-sd__table, .ig .igs-sd__table tbody, .ig .igs-sd__table tr, .ig .igs-sd__table th, .ig .igs-sd__table td { display: block; width: 100%; }
	.ig .igs-sd__table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.ig .igs-sd__table tbody { display: flex; flex-direction: column; gap: 14px; }
	.ig .igs-sd__row { border: 1px solid var(--ig-line); border-radius: var(--ig-radius); background: #fff; box-shadow: var(--ig-shadow); overflow: hidden; }
	.ig .igs-sd__row--self { border-color: var(--ig-red); }
	.ig .igs-sd__table thead th { position: static; }
	.ig .igs-sd__table .igs-sd__sep td { display: block; border: 0; background: none; padding: 10px 0 0; }
	.ig .igs-sd__table .igs-sd__sep td::before { content: none; }
	.ig .igs-sd__sub { min-height: 44px; }
	.ig .igs-sd__f { padding: 8px 12px; font-size: 14px; gap: 6px; }
	.ig .igs-sd__self { margin-bottom: 14px; }
	.ig .igs-sd__rest { gap: 14px; }
	.ig .igs-sd__table tbody th { padding: 16px 18px 10px; border-bottom: 0; }
	.ig .igs-sd__table tbody td { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 12px; padding: 8px 18px; border-bottom: 0; }
	.ig .igs-sd__table tbody td:last-child { padding-bottom: 18px; }
	.ig .igs-sd__table tbody td::before { content: attr(data-label); font-size: 13px; font-weight: 700; color: var(--ig-muted); line-height: 1.45; }
	.ig .igs-sd__ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ig .igs-sd__bar { align-items: stretch; }
}
@media (max-width: 560px) {
	.ig .igs-sd__ul { grid-template-columns: minmax(0, 1fr); }
	.ig .ig-sdhow { grid-template-columns: minmax(0, 1fr); }
	.ig .igs-sd__fx { display: none; }
	.ig .igs-sd__sort { width: 100%; justify-content: space-between; }
	.ig .igs-sd__sort select { flex: 1; }
}
/* A4: previews of listings without key points show the summary instead (same size as the points it replaces) */
.ig .ig-preview__sum, .ig .ig-anat__sum { font-size: 15px; line-height: 1.55; color: var(--ig-ink-2); }
/* A4 review: the four "how we compared" cards share one height; the short "not taking submissions" list uses two columns */
.ig .ig-sdhow { align-items: stretch; }
.ig .ig-sdhow > .ig-sdhow__item { align-self: stretch; height: auto; }
@media (min-width: 901px) { .ig .igs-sd__list:not(.igs-sd__list--gone) .igs-sd__ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
