/*
 * The Labs | in plain text — Screendesign V2 (Figma w8VOU4X87rgFpy1z6JTNzP)
 * PoC stylesheet. Loaded after OUDS and the legacy page stylesheets.
 *
 * Token values are taken from the Figma variables of Screendesign V2.
 * Accessibility conflicts are NOT silently fixed here: values that fail
 * WCAG 2.2 AA in a given context are marked "A11Y-CONFLICT" together with
 * the smallest proposed adjustment (pending design approval).
 */

:root {
  --v2-orange: #ff7a01;          /* Orange-Orange */
  --v2-grey: #7c7c7c;            /* Light Grey Typo (Figma). Used for borders/separators only: 3.90:1 on #202020 (>= 3:1 non-text) */
  --v2-grey-text: #878787;       /* A11Y-ADJUSTED text grey: Figma #7c7c7c = 3.90:1 on #202020 -> #878787 = 4.54:1 (WCAG 1.4.3) */
  --v2-bg: #202020;              /* Background */
  --v2-black: #000000;           /* Primary/Black */
  --v2-text: #eeeeee;            /* Primary/White */
  --v2-white: #ffffff;           /* Color 2 */
  --v2-band: #a2a2a2;            /* Newsletter band (raw value in Figma, not a variable) */
  --v2-pill-border: #737373;     /* Button_1 border (raw value in Figma) */
  --v2-panel: #333333;           /* INFERRED from screenshot: author/profile card. No Figma variable found */
  --v2-mobile-nav-fill: #767676; /* A11Y-ADJUSTED: Figma #7c7c7c; white text on #7c7c7c = 4.17:1 -> #767676 = 4.54:1 */
  --v2-font: HelvNeueOrange, "Helvetica Neue", Helvetica, Arial, sans-serif; /* provided by OUDS (@font-face, assets.orange.com) */
  --v2-shell: 1270px;
  --v2-gutter: 85px;
  --v2-focus: 2px solid var(--v2-orange);
}

/* ---------- Base ---------- */
html { background: var(--v2-bg); }
body.v2 {
  background: var(--v2-bg);
  color: var(--v2-text);
  font-family: var(--v2-font);
  font-size: 15px;
  line-height: 1.35;
  margin: 0;
}
/* Cascade notes (OUDS ouds-web.min.css loads first):
   - OUDS sets `a { font-weight: 700 }`: reset here so only intended elements are bold.
   - OUDS caps `ul, ol, dl` and `p` with max-width (40-45rem): this pushed the navigation to the
     left and made it wrap. Reset for V2 components.
   - OUDS floats `legend`: reset for the search filters.
   Base rules use :where() so that component rules (single class) win without !important. */
:where(body.v2) a { color: inherit; text-decoration: none; font-weight: inherit; }
:where(body.v2) a:hover { color: inherit; text-decoration: underline; }
body.v2 :focus-visible { outline: var(--v2-focus); outline-offset: 2px; }
:where(body.v2) img { max-width: 100%; height: auto; }
/* body.v2 (0,1,1) is needed to beat OUDS `ul`/`p` (0,0,1); a :where() wrapper has zero specificity and lost. */
body.v2 :where(ul, ol, dl) { max-width: none; }
body.v2 :where(.v2-header, .v2-footer, .v2-letter, .v2-card, .v2-event, .v2-teaser, .v2-profile, .v2-intro) p { max-width: none; }

.v2-shell {
  box-sizing: border-box;
  max-width: calc(var(--v2-shell) + 2 * 24px);
  margin: 0 auto;
  padding: 0 24px;
}
.v2-visually-hidden {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.v2-skip {
  position: absolute; left: 16px; top: -100px; z-index: 1000;
  background: var(--v2-white); color: var(--v2-black) !important; padding: 8px 12px; font-weight: 700;
}
.v2-skip:focus { top: 16px; }
main#main:focus { outline: none; }

/* Section titles: "/top-stories:" style */
.v2-section-title {
  font-size: 20px; font-weight: 400; line-height: 1.2; color: var(--v2-text);
  margin: 0 0 24px;
}
.v2-home-title { font-size: 38px; font-weight: 400; line-height: 1.15; margin: 0 0 20px; color: var(--v2-text); max-width: none; }
.v2-page-title { font-size: 38px; font-weight: 400; line-height: 1.15; margin: 0 0 16px; color: var(--v2-text); }
.v2-rule { border: 0; border-top: 1px dashed var(--v2-grey); margin: 32px 0; }
.v2-intro { font-size: 15px; max-width: 760px; margin: 0 0 32px; }
.v2-muted { color: var(--v2-grey-text); }

/* ---------- Header (Figma Header 1 38:413, frame 1440x208 / Header-variant 360:1558) ---------- */
.v2-header { padding: 16px 0 0; }
.v2-header-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.v2-brand { display: inline-flex; flex-direction: column; color: var(--v2-text); }
.v2-brand:hover { text-decoration: none; }
.v2-brand-row { display: flex; align-items: center; }
/* Figma: logo frame 367x96 incl. clear space (1/4 of the height on each side), so the
   negative margin aligns the orange square with the content edge. Aspect ratio 4340:1134 kept. */
.v2-brand-logo { --v2-logo-w: 367px; display: block; width: var(--v2-logo-w); height: auto; flex: none;
  /* clear space = 283/4340 of the width (= 1/4 of the height) */
  margin: calc(var(--v2-logo-w) * -0.0652); margin-right: calc(var(--v2-logo-w) * -0.0652 + 10px); }
.v2-brand-suffix { color: var(--v2-orange); font-size: 36px; font-weight: 400; line-height: 1; white-space: nowrap; }
.v2-brand-suffix .v2-bar-end { display: none; }
.v2-brand-tagline { color: var(--v2-grey-text); font-size: 15px; font-weight: 400; margin: 2px 0 0; }
.v2-utility { list-style: none; display: flex; gap: 14px; margin: 26px 0 0; padding: 0; font-size: 16px; font-weight: 500; }
.v2-utility a { color: var(--v2-grey-text); }

/* Desktop navigation: one row, right-aligned (Figma: 21px, 55 Roman, white, 2px separators). */
.v2-nav { margin-top: 30px; padding-bottom: 14px; border-bottom: 1px dashed var(--v2-grey); } /* decorative separator (Figma line 196px) */
.v2-nav ul { list-style: none; margin: 0; padding: 0; width: 100%; max-width: none; display: flex; justify-content: flex-end; flex-wrap: nowrap; align-items: center; }
.v2-nav li { display: flex; align-items: center; white-space: nowrap; }
.v2-nav li + li::before { content: ""; display: block; width: 2px; height: 22px; background: var(--v2-text); margin: 0 11px; }
.v2-nav a { color: var(--v2-white); font-size: 21px; font-weight: 400; line-height: 1.2; padding: 2px 0; border-bottom: 2px solid transparent; }
.v2-nav a[aria-current="page"] { border-bottom-color: var(--v2-orange); }
.v2-nav-search a { display: inline-flex; align-items: center; min-width: 24px; min-height: 24px; }
.v2-icon { display: block; width: 24px; height: 24px; }
.v2-nav .v2-nav-mobile, .v2-header-search { display: none; }

/* ---------- Footer (Figma Footer 38:410 / 336:822) ---------- */
.v2-footer { margin-top: 80px; padding: 32px 0 40px; font-size: 13px; }
.v2-footer-grid { display: flex; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.v2-footer h2 { font-size: 13px; font-weight: 700; color: var(--v2-grey-text); margin: 0 0 12px; }
.v2-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; color: var(--v2-grey-text); }
.v2-footer-teams li + li::before { content: ""; display: inline-block; width: 1px; height: 14px; background: var(--v2-grey-text); margin: 0 12px; vertical-align: -2px; }
.v2-footer-legal { gap: 16px; }
.v2-footer-copy { text-align: center; color: var(--v2-orange); font-weight: 700; margin: 40px 0 0; }
.v2-footer .v2-h-mobile { display: none; }

/* ---------- Cards ---------- */
.v2-grid { display: grid; gap: 40px 28px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.v2-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 32px; }
.v2-card { display: flex; flex-direction: column; min-width: 0; }
.v2-card-media { display: block; aspect-ratio: 16 / 9; overflow: hidden; margin-bottom: 16px; background: transparent; }
.v2-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Missing-image state (Figma SRC_image_placeholder 103:463): neutral, decorative */
.v2-media-empty { display: block; width: 100%; height: 100%; min-height: 80px; background: #2c2c2c; border: 1px solid #3a3a3a; box-sizing: border-box; }
.v2-card-cat { font-size: 13px; margin: 0 0 6px; color: var(--v2-text); }
.v2-card-title { font-size: 20px; font-weight: 700; line-height: 1.12; margin: 0 0 14px; color: var(--v2-orange); }
.v2-card-title a { color: var(--v2-orange) !important; }
.v2-card-summary { font-size: 15px; line-height: 1.2; margin: 0 0 14px; color: var(--v2-text); }
.v2-byline { font-size: 11px; color: var(--v2-grey-text); margin: 0; }

/* Featured block: lead + 3 side stories (home top stories, category page) */
.v2-featured { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; } /* Figma: two equal columns */
.v2-card--lead .v2-card-media { aspect-ratio: 379 / 203; }
.v2-card--lead .v2-card-title { font-size: 28px; }
.v2-card--lead .v2-card-summary { font-size: 15px; }
.v2-side { display: flex; flex-direction: column; gap: 28px; }
.v2-card--side { display: grid; grid-template-columns: 50% 1fr; gap: 16px; align-items: start; }
.v2-card--side .v2-card-media { margin: 0; }
.v2-card--side .v2-card-title { font-size: 17px; margin-bottom: 8px; }

/* Tags / pills (Figma Button_1 103:468) */
.v2-pills { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.v2-pill { display: inline-block; border: 1px solid var(--v2-pill-border); border-radius: 999px; padding: 6px 14px; font-size: 14px; color: var(--v2-text) !important; }

/* Category blocks on home */
.v2-block { margin-top: 64px; }
.v2-block-more { display: inline-block; margin-top: 24px; color: var(--v2-orange) !important; font-size: 14px; }

/* Breadcrumb */
.v2-breadcrumb ol { list-style: none; margin: 24px 0 16px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; font-size: 13px; }
.v2-breadcrumb li + li::before { content: ">"; margin-right: 6px; color: var(--v2-text); }
.v2-breadcrumb a { text-decoration: underline; }
.v2-breadcrumb [aria-current="page"] { color: var(--v2-text); }

/* Pagination (Figma 119:1600) */
.v2-pagination { margin-top: 48px; display: flex; justify-content: flex-end; }
.v2-pagination ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 6px; font-size: 13px; }
.v2-pagination a, .v2-pagination span { display: inline-flex; min-width: 24px; min-height: 24px; align-items: center; justify-content: center; padding: 0 4px; box-sizing: border-box; }
.v2-pagination .v2-page-step { border: 1px solid var(--v2-text); }
.v2-pagination [aria-current="page"] { background: var(--v2-mobile-nav-fill); color: var(--v2-white); } /* A11Y-ADJUSTED #7c7c7c -> #767676: white 4.54:1 */

/* ---------- Newsletter PoC (Figma Subscription 1 84:606: band 117px, heading 36/38px, body 20/24px) ---------- */
.v2-letter { background: var(--v2-band); color: var(--v2-black); margin: 64px 0; padding: 28px 0; }
.v2-letter-inner { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 32px; align-items: center; }
.v2-letter h2 { font-size: 36px; line-height: 38px; font-weight: 400; margin: 0 0 6px; color: var(--v2-black); max-width: none; }
.v2-letter h2 strong { font-weight: 700; }
.v2-letter p { margin: 0; color: var(--v2-black); font-size: 20px; line-height: 24px; }
.v2-letter-field { display: flex; flex-wrap: wrap; align-items: center; }
.v2-letter-field label { flex-basis: 100%; font-size: 13px; font-weight: 700; margin-bottom: 4px; }
.v2-letter-control { flex: 1 1 240px; display: flex; align-items: stretch; min-height: 37px; border: 2px solid var(--v2-grey); border-radius: 3px; background: #d9d9d9; box-sizing: border-box; }
.v2-letter-control input { flex: 1; min-width: 0; border: 0; background: transparent; color: var(--v2-black); padding: 0 10px; font: inherit; font-size: 16px; }
/* Decorative envelope (approved email.png); not a button, field and icon are disabled. */
.v2-letter-icon { flex: none; display: flex; align-items: center; justify-content: center; width: 40px; background: var(--v2-mobile-nav-fill); }
.v2-letter-icon img { width: 22px; height: 22px; }
.v2-letter .v2-letter-status { flex-basis: 100%; font-size: 13px; line-height: 1.3; font-weight: 700; margin-top: 6px; }

/* ---------- Article (Figma Blog 4:9 / 336:916) ---------- */
.v2-article-title { font-size: 38px; line-height: 1.15; font-weight: 400; margin: 0 0 12px; }
.v2-article-lead { font-size: 16px; margin: 0 0 12px; }
.v2-article-meta { font-size: 13px; color: var(--v2-grey-text); margin: 0 0 24px; }
.v2-article-meta a { text-decoration: underline; }
.v2-article-hero { margin: 0 0 32px; }
.v2-article-hero img { width: 100%; display: block; }
.v2-article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 56px; align-items: start; }
.v2-article-body { font-size: 15px; line-height: 1.55; }
.v2-article-body h2, .v2-article-body h3 { color: var(--v2-text); font-weight: 700; margin: 1.6em 0 .6em; }
.v2-article-body a { color: var(--v2-orange); text-decoration: underline; }
.v2-article-body img { height: auto; }
.v2-aside > * + * { margin-top: 32px; }
.v2-aside h2 { font-size: 20px; font-weight: 400; margin: 0 0 12px; }
.v2-author-box { background: var(--v2-panel); border-radius: 12px; padding: 20px; }
.v2-author-box img { width: 96px; height: 96px; object-fit: cover; display: block; margin-bottom: 12px; }
.v2-author-box h3 { font-size: 17px; margin: 0 0 6px; color: var(--v2-orange); }
.v2-author-box h3 a { color: var(--v2-orange) !important; }
.v2-author-box p { font-size: 13px; margin: 0; }
.v2-share ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.v2-share a { display: inline-block; border: 1px solid var(--v2-pill-border); border-radius: 999px; padding: 6px 14px; font-size: 14px; }
.v2-note { border-left: 3px solid var(--v2-orange); padding: 8px 12px; margin: 24px 0; font-size: 13px; }
.v2-related { margin-top: 64px; }

/* ---------- Author (Figma 1:5 / 336:1003) & Team (1:3 / 336:952) ---------- */
.v2-profile { background: var(--v2-panel); border-radius: 12px; padding: 32px; margin-top: 32px; }
.v2-profile-grid { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 32px; }
.v2-profile-photo img, .v2-profile-photo .v2-media-empty { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; }
.v2-profile dl { margin: 0; font-size: 13px; }
.v2-profile dt { color: var(--v2-orange); display: inline; }
.v2-profile dd { display: inline; margin: 0; }
.v2-profile dd::after { content: ""; display: block; margin-bottom: 12px; }
.v2-profile dd.v2-dd-block { display: block; margin-top: 12px; }
.v2-profile-social h2 { font-size: 16px; font-weight: 400; margin: 24px 0 8px; }
.v2-team { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; margin-top: 24px; }
.v2-team-media { aspect-ratio: 16 / 9; margin-bottom: 20px; }
.v2-team-media img { width: 100%; height: 100%; object-fit: cover; }
.v2-team-body { font-size: 13px; }
.v2-members { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px 10px; }
.v2-member-photo { aspect-ratio: 1 / 1; margin-bottom: 8px; }
.v2-member-photo img { width: 100%; height: 100%; object-fit: cover; }
.v2-member-name { color: var(--v2-orange); font-weight: 700; font-size: 11px; margin: 0; }
.v2-member-name a { color: var(--v2-orange) !important; }
.v2-member-role { font-size: 11px; margin: 0; }

/* ---------- Search (Figma 391:1214 / 336:1028) ---------- */
.v2-search-form { display: flex; gap: 8px; max-width: 760px; margin: 0 0 16px; }
.v2-search-form input[type="search"] { flex: 1; min-height: 44px; border: 1px solid var(--v2-grey); border-radius: 22px; background: transparent; color: var(--v2-text); padding: 0 18px; font: inherit; }
.v2-btn { min-height: 44px; padding: 0 18px; border: 1px solid var(--v2-text); border-radius: 22px; background: transparent; color: var(--v2-text); font: inherit; cursor: pointer; }
.v2-filters-toggle { margin: 8px 0 16px; }
.v2-filters { border: 1px solid var(--v2-grey); border-radius: 12px; padding: 20px; margin-bottom: 32px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.v2-filters[hidden] { display: none; }
.v2-filters fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.v2-filters legend { float: none; width: auto; font-size: 16px; }
.v2-filters legend, .v2-filters .v2-filter-label { font-size: 16px; margin-bottom: 10px; padding: 0; }
.v2-check-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.v2-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.v2-chip span { display: inline-block; border: 1px solid var(--v2-pill-border); border-radius: 999px; padding: 6px 12px; font-size: 13px; cursor: pointer; }
.v2-chip input:checked + span { background: var(--v2-text); color: var(--v2-black); }
.v2-chip input:checked + span::after { content: " \00d7"; }
.v2-chip input:focus-visible + span { outline: var(--v2-focus); outline-offset: 2px; }
.v2-filters input[type="range"] { width: 100%; accent-color: var(--v2-orange); }
.v2-search-status { font-size: 13px; margin: 0 0 24px; }

/* ---------- Events (home /meet-us:) ---------- */
.v2-events { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.v2-event { display: grid; grid-template-columns: 96px 1fr; gap: 16px; }
.v2-event-logo { width: 96px; height: 96px; }
.v2-event-logo img { width: 100%; height: 100%; object-fit: contain; }
.v2-event h3 { color: var(--v2-orange); font-size: 17px; font-weight: 700; margin: 0 0 6px; }
.v2-event h3 a { color: var(--v2-orange) !important; }
.v2-event p { font-size: 13px; margin: 0 0 6px; }

/* ---------- Sponsor (Figma 309:309; mobile layout INFERRED) ---------- */
.v2-sponsor-top { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 48px; margin-top: 32px; }
.v2-sponsor-logo { display: block; width: 300px; max-width: 100%; height: auto; margin: -20px 0 8px -20px; }
.v2-sponsor-about p { font-size: 13px; margin: 0 0 12px; }
.v2-teasers { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 28px; }
.v2-teaser { display: grid; grid-template-columns: 160px 1fr; gap: 20px; }
.v2-teaser .v2-card-media { margin: 0; }
.v2-teaser-kicker { font-size: 13px; margin: 0 0 4px; }
.v2-teaser h2, .v2-teaser h3 { color: var(--v2-orange); font-size: 21px; font-weight: 700; margin: 0 0 8px; }
.v2-teaser p { font-size: 13px; margin: 0; }
.v2-pending { border: 1px dashed var(--v2-grey); padding: 16px; font-size: 13px; margin: 32px 0; }
.v2-countries { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.v2-countries h3 { color: var(--v2-orange); font-size: 21px; font-weight: 700; margin: 0; }

/* ---------- Responsive ---------- */
@media (max-width: 1199px) {
  .v2-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-countries { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .v2-article-layout { grid-template-columns: minmax(0, 1fr) 260px; gap: 32px; }
  .v2-members { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Mobile: Figma Screendesign V2 Mobile (480px frames) */
/* Header switch: the desktop navigation needs about 850px (logo row + one-row nav), so the
   approved mobile Header-variant (360:1558) takes over below 900px, before anything overlaps. */
@media (max-width: 899px) {
  .v2-header-top { flex-direction: column; gap: 8px; }
  .v2-brand-row { flex-direction: column; align-items: flex-start; }
  .v2-brand-logo { --v2-logo-w: min(500px, calc(100vw - 8px)); margin-right: 0; }
  .v2-brand-suffix { font-size: 28px; }
  .v2-brand-suffix .v2-bar-end { display: inline; }
  .v2-brand-tagline, .v2-utility, .v2-nav .v2-nav-search { display: none; }

  /* Header-variant: 3 category buttons + 1 square button per row */
  .v2-nav { margin-top: 16px; padding-bottom: 0; border-bottom: 0; }
  .v2-nav ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) 48px; gap: 8px; }
  .v2-nav li { white-space: normal; }
  .v2-nav li + li::before { display: none; }
  .v2-nav a { display: flex; align-items: center; justify-content: center; min-height: 44px; border: 2px solid var(--v2-grey); border-radius: 22px; font-weight: 700; font-size: 16px; padding: 0 6px; text-align: center; box-sizing: border-box; width: 100%; }
  .v2-nav a[aria-current="page"] { border-color: var(--v2-orange); text-decoration: underline; } /* not colour alone */
  .v2-nav .v2-nav-mobile { display: flex; }
  .v2-nav-rss { grid-column: 4; grid-row: 1; }
  .v2-nav-letter { grid-column: 4; grid-row: 2; }
  .v2-nav-mobile a { background: var(--v2-mobile-nav-fill); border-color: var(--v2-mobile-nav-fill); border-radius: 8px; font-size: 11px; color: var(--v2-white); }
  .v2-header-search { display: flex; gap: 8px; margin-top: 12px; }
  .v2-header-search input { flex: 1; min-width: 0; min-height: 44px; border: 1px solid var(--v2-grey); border-radius: 22px; background: transparent; color: var(--v2-text); padding: 0 16px; font: inherit; }
  .v2-header-search button { min-height: 44px; display: inline-flex; align-items: center; gap: 6px; }
}

@media (max-width: 767px) {
  body.v2 { font-size: 15px; }
  .v2-shell { padding: 0 11px; }
  .v2-home-title { font-size: 24px; }
  .v2-letter h2 { font-size: clamp(24px, 7.5vw, 36px); line-height: 1.1; }
  .v2-letter p { font-size: 17px; line-height: 1.3; }

  .v2-page-title, .v2-article-title { font-size: 30px; }
  .v2-grid, .v2-grid--2, .v2-featured, .v2-article-layout, .v2-profile-grid, .v2-team,
  .v2-letter-inner, .v2-sponsor-top, .v2-events, .v2-filters { grid-template-columns: minmax(0, 1fr); }
  .v2-countries { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-members { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-card--lead .v2-card-title { font-size: 24px; }
  .v2-profile { padding: 20px; }
  .v2-profile-photo { max-width: 260px; }
  .v2-pagination { justify-content: center; }
  .v2-teaser { grid-template-columns: 120px 1fr; }

  .v2-footer-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .v2-footer ul { flex-direction: column; gap: 6px; }
  .v2-footer-teams li + li::before { display: none; }
  .v2-footer .v2-h-desktop { display: none; }
  .v2-footer .v2-h-mobile { display: inline; }
  .v2-footer-legal-title { position: static !important; width: auto; height: auto; margin: 0 0 12px; clip: auto; overflow: visible; }
}

@media (prefers-reduced-motion: reduce) {
  body.v2 * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Search range value + home first section */
.v2-range-value { font-size: 13px; margin: 6px 0 0; color: var(--v2-text); }
.v2-first { margin-top: 28px; } /* Figma: heading at y=228, separator at y=196 */
.v2-pagination button { min-width: 24px; min-height: 24px; background: transparent; border: 0; color: var(--v2-text); font: inherit; cursor: pointer; text-decoration: underline; }

