/* =====================================================================
   PAEDZ v2 0.5 / 0.5.1 — refinement layer (loaded last; remove this file to roll back visuals)
   - quiet hover/focus system (no red underlines)
   - bordered hero cards, calmer type scale, 3-line headline previews
   - one news feed, consistent card/panel radii
   ===================================================================== */
:root {
  --card-bd: rgba(255,255,255,.085);
  --card-bd-h: rgba(255,255,255,.2);
  --card-bg: rgba(13,15,16,.78);
  --card-bg-h: rgba(20,23,25,.92);
  --r-card: 12px;
  /* 0.5.1: titles no longer turn salmon/red on hover — they brighten slightly, the surface reacts */
  --title-h: #ffffff;
  --title-h-paper: #000000;
  /* 0.5.1 colour tokens — dark sections (ratios on #000 / panel #101314) */
  --d-head: #f2f1ed;            /* headings 17.8:1 / 16.4:1 */
  --d-text: #c4c8c7;            /* summaries 12.3:1 / 11.3:1 */
  --d-meta: #9ca2a1;            /* dates, metadata 7.7:1 / 7.1:1 */
  --d-accent: #f03422;          /* rules, dots, bars (non-text) */
  --d-accent-text: #ff6b5b;     /* small red text 7.2:1 / 6.6:1 */
  --d-border: rgba(255,255,255,.1);
  --d-border-h: rgba(255,255,255,.24);
  --d-control: rgba(255,255,255,.34);   /* button/pill outlines: 3.3:1 on #000 */
  /* light "paper" sections (ratios on #e7e9e3 / card #f6f7f3) */
  --p-surface: #f6f7f3;
  --p-head: #101212;            /* 15.6:1 / 17.6:1 */
  --p-text: #3d4242;            /* 8.6:1 / 9.7:1 */
  --p-meta: #545a5a;            /* 5.9:1 / 6.6:1 */
  --p-accent: #b0280f;          /* deeper red: rules, active marks — 5.4:1 */
  --p-review: #7a4a05;          /* "مراجعة" label 6.0:1 / 6.8:1 */
  --p-border: #c9cdc5;
  --p-border-h: #8c928b;
  --p-control: #6b706b;         /* outline buttons on paper: 3.9:1 */
}

/* ---------- 1. Interaction: colour + surface, never an underline ---------- */
:is(.rc, .ncard, .nrow, .story, .latest-item, .tlist li, .rail li, .lang-item, .timeline li, .offer-more li) a:hover :is(.rc-title, .h-xl, .h-l, .h-m, .h-s, .h-xs, .tl-name),
.rc > a:hover .rc-title, .paper .rc > a:hover .rc-title,
.story a:hover :is(.h-xl, .h-l, .h-m, .h-s, .h-xs),
.ncard a:hover .h-m, .nrow a:hover .h-xs, .latest-item a:hover .h-xs, .rail li a:hover .h-xs, .cov-card:hover .h-m {
  text-decoration: none !important;
}
:is(.rc-title, .ncard .h-m, .nrow .h-xs, .story .h-s, .story .h-xs, .tlist .h-xs, .lang-item .h-xs, .tl-name, .rail .h-xs) { transition: color .15s ease; }
:is(.rc, .ncard, .nrow, .story, .tlist li, .rail li, .lang-item, .timeline li) a:hover :is(.rc-title, .h-m, .h-s, .h-xs, .tl-name),
a.h-xs:hover { color: var(--title-h); }
.paper :is(.rc, .story) a:hover :is(.rc-title, .h-s, .h-xs) { color: var(--title-h-paper); }
.rc > a:hover .rc-media img { transform: scale(1.02); }
.author-link { background-image: none; }
.author-link:hover, .author-link:focus-visible { color: var(--title-h); }
.pill-link { transition: border-color .15s, color .15s, background-color .15s; }
.pill-link:hover { border-color: var(--card-bd-h); color: var(--fg); background: rgba(255,255,255,.04); }
.nav a { transition: color .15s, background-color .15s; }
/* keyboard focus: one visible ring on whole cards */
:is(.rc, .ncard, .nrow, .story, .tlist li) > a:focus-visible { outline: 2px solid var(--amber); outline-offset: 3px; border-radius: var(--r-card); }
.prose a:hover { text-decoration-color: var(--fg-2); }

/* ---------- 2. Featured stories: framed cards ---------- */
.lz { padding-block: 24px 40px; }
.lz-bg { opacity: .28; }
.lz-grid { grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr); gap: 20px; align-items: stretch; }
.lz-grid.no-side { grid-template-columns: minmax(0, 1fr); }
.lz .rc { border: 1px solid var(--card-bd); border-radius: var(--r-card); background: var(--card-bg); overflow: hidden; transition: border-color .15s ease, background-color .15s ease; }
.lz .rc:hover, .lz .rc:focus-within { border-color: var(--card-bd-h); background: var(--card-bg-h); }
.lz .rc > a { display: flex; flex-direction: column; gap: 0; height: 100%; }
.lz .rc-media { border-radius: 0; box-shadow: none; }
.lz .rc-media::after { inset: 55% 0 0; background: linear-gradient(0deg, rgba(0,0,0,.55), transparent); }
.lz .rc-body { padding: 14px 16px 16px; gap: 6px; }
.lz-lead .rc-media { aspect-ratio: 16 / 9; }
.lz-lead .rc-body { padding: 18px 22px 22px; gap: 8px; }
.lz-side { display: grid; grid-template-rows: 1fr 1fr; gap: 20px; }
.lz-side .rc-media { flex: 1 1 auto; aspect-ratio: auto; min-height: 150px; }
.lz-side .rc-media img { position: absolute; inset: 0; }
.lz .sbadge { inset-inline-start: 12px; bottom: 12px; }
.lz-lead .sbadge .n { font-size: 2.4rem; min-width: 62px; }

/* ---------- 3. Calmer type scale; previews ≤3 lines (stored titles untouched) ---------- */
.rc-title, .ncard .h-m, .nrow .h-xs, .feat-side .h-s, .tlist .h-xs, .related-grid .rc-title {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; text-wrap: pretty;
}
.rc-title { font-weight: 800; font-size: 1.05rem; line-height: 1.55; }
.rc-lg .rc-title { font-size: clamp(1.4rem, 1.05rem + .95vw, 2rem); line-height: 1.38; font-weight: 800; }
.rc-md .rc-title { font-size: 1.12rem; line-height: 1.55; }
.rc-sm .rc-title { font-size: 1rem; }
.lz-side .rc-title { font-size: 1.06rem; }
.rc-sum { font-size: var(--t-15); line-height: 1.75; }
.ncard .h-m { font-size: 1.15rem; line-height: 1.55; font-weight: 800; }
.nrow .h-xs { font-size: .98rem; line-height: 1.65; font-weight: 700; }
.shead h2 { font-size: clamp(1.35rem, 1.15rem + .6vw, 1.75rem); font-weight: 900; }
.h-xl { font-weight: 800; }
.art-head .h-xl, .rv-head .h-xl { font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.65rem); line-height: 1.35; }
.meta, .rc-kick { font-size: .84rem; }
bdi { unicode-bidi: isolate; }

/* ---------- 4. Sections: consistent rhythm ---------- */
.home-sec { padding-block: 48px; }
.paper.home-sec { padding-block: 56px; }
.home .band:first-of-type::before { display: none; }
.rv-grid { gap: 28px 20px; }

/* ---------- 5. One news feed ---------- */
.feed-top { gap: 20px; }
.ncard a { gap: 10px; }
.ncard .media { border-radius: 10px; }
.nrow a { transition: background-color .15s ease; }
.nrow a:hover { background: rgba(255,255,255,.035); }
.feed-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; }
.feed-foot .btn[hidden] { display: none; }
.feed-foot .btn[aria-busy="true"] { opacity: .6; cursor: progress; }
.btn-ghost { background: none; }
.btn { transition: background-color .15s, border-color .15s; }

/* ---------- 6. Articles band with the shared card ---------- */
.feat2 { align-items: start; gap: 24px; }
.feat2 .feat-lead { border: 1px solid var(--card-bd); border-radius: var(--r-card); background: var(--card-bg); overflow: hidden; }
.feat2 .feat-lead > a { gap: 0; }
.feat2 .feat-lead .rc-media { border-radius: 0; aspect-ratio: 16 / 9; }
.feat2 .feat-lead .rc-body { padding: 16px 20px 20px; }
.feat2 .feat-lead:hover { border-color: var(--card-bd-h); }

/* ---------- 7. Review/news cards elsewhere: same surface language ---------- */
.ap-reviews .rc-media, .related-grid .rc-media, .archive-grid .rc-media, .rv-grid .rc-media { border-radius: 10px; }

/* ---------- 8. Responsive ---------- */
@media (max-width: 1180px) {
  .lz-grid { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
}
@media (max-width: 900px) {
  .lz-grid { grid-template-columns: minmax(0, 1fr); }
  .lz-side { grid-template-rows: none; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .lz-side .rc-media { aspect-ratio: 16 / 9; flex: none; min-height: 0; }
}
@media (max-width: 640px) {
  .lz { padding-block: 12px 28px; }
  .lz-lead .rc-media { margin: 0; aspect-ratio: 16 / 10; }
  .lz-lead .rc-body { padding: 14px 16px 16px; }
  .lz-side { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .lz-side .rc > a { flex-direction: row; align-items: stretch; }
  .lz-side .rc-media { width: 40%; flex: none; aspect-ratio: 4 / 3; }
  .lz-side .rc-media img { position: absolute; }
  .lz-side .rc-body { padding: 10px 12px; flex: 1; min-width: 0; }
  .lz-side .sbadge .n { min-width: 36px; font-size: 1.4rem; padding: 3px 6px 1px; }
  .lz-side .sbadge .w { font-size: 12px; padding-inline: 6px; }
  .lz-side .plats { display: none; }
  .lz-side .rc-title { font-size: 1rem; }
  .home-sec { padding-block: 36px; }
  .paper.home-sec { padding-block: 40px; }
  .rc-lg .rc-title { font-size: 1.35rem; }
}
@media (prefers-reduced-motion: reduce) {
  .lz .rc, .rc-title, .nrow a, .pill-link, .btn { transition: none; }
  .rc > a:hover .rc-media img { transform: none; }
}

/* ---------- Editorial team directory ---------- */
.team-head .wrap { display: grid; gap: 10px; }
.team-intro { color: var(--fg-2); max-width: 70ch; }
.team-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.team-card { display: grid; gap: 14px; align-content: start; padding: 20px; border: 1px solid var(--card-bd); border-radius: var(--r-card); background: var(--card-bg); transition: border-color .15s; }
.team-card:hover, .team-card:focus-within { border-color: var(--card-bd-h); }
.team-link { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px; align-items: center; }
.team-avatar { --s: 72px !important; width: 72px; height: 72px; border-radius: 50%; background: var(--s2); display: grid; place-items: center; font-family: var(--f-head); font-weight: 900; font-size: 1.8rem; color: var(--fg-2); box-shadow: 0 0 0 1px var(--card-bd); }
.team-who { display: grid; gap: 2px; }
.team-name { margin: 0; font-family: var(--f-head); font-weight: 800; font-size: 1.2rem; line-height: 1.4; transition: color .15s; }
.team-link:hover .team-name { color: var(--title-h); }
.team-bio { margin: 0; color: var(--fg-2); font-size: var(--t-15); line-height: 1.8; }
.team-stats { display: flex; gap: 22px; margin: 0; padding-top: 12px; border-top: 1px solid var(--line); }
.team-stats div { display: grid; gap: 0; }
.team-stats dt { font-size: var(--t-12); color: var(--fg-3); font-weight: 700; order: 2; }
.team-stats dd { margin: 0; font-size: 1.7rem; color: var(--fg); }
.team-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.team-foot .ap-socials { margin: 0; }
@media (max-width: 1180px) { .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .team-grid { grid-template-columns: minmax(0, 1fr); } .team-card { padding: 16px; } }
.db3 { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
main:is(.paedz-game-page, .paedz-hub-page, .paedz-entity-page) ~ .foot { margin-top: 0; }
/* logged-in toolbar: keep the sticky header below it (public visitors unaffected) */
@media (min-width: 783px) { .admin-bar .mast { top: 32px; } }
@media (max-width: 782px) and (min-width: 601px) { .admin-bar .mast { top: 46px; } }
.team-foot .ap-socials .socx-side, .ap-socials .socx-side { display: flex; flex-wrap: wrap; gap: 8px; }
.team-foot .ap-socials .sx { width: 40px; min-height: 40px; }
.lang-item a.h-xs { display: inline-block; padding-block: 4px; }

/* =====================================================================
   0.5.1 — visual polish: colour tokens, contrast, compact featured review,
   unified cards, spacing, header. Same structure and section order as 0.5.0.
   ===================================================================== */

/* ---------- P0. Text colours by surface ---------- */
.rc-title, .ncard .h-m, .nrow .h-xs, .tlist .h-xs, .story :is(.h-s, .h-xs, .h-m), .shead h2 { color: var(--d-head); }
.rc-sum, .ncard p, .feat-side p { color: var(--d-text); }
.meta, .rc-kick, .shead .sub, .rail-day, .latest-when { color: var(--d-meta); }
.meta time, .rc-kick time { font-weight: 600; }
.cat-news { color: var(--d-accent-text); }
.shead h2::after { background: var(--d-accent); }
/* paper (light) section */
.paper { color: var(--p-head); }
.paper :is(.rc-title, .h-s, .h-xs, .h-m, .shead h2) { color: var(--p-head); }
.paper :is(.rc-sum, .dek) { color: var(--p-text); }
.paper :is(.meta, .rc-kick, .shead .sub) { color: var(--p-meta); }
.paper .cat-review { color: var(--p-review); }
.paper .cat-news { color: var(--p-accent); }
.paper .shead h2::after { background: var(--p-accent); }
.paper .shead .rule { background: var(--p-border); }
.paper .plat { border-color: var(--p-border); color: var(--p-text); background: rgba(255,255,255,.5); }
.paper .rc-facts { color: var(--p-head); }
.paper .rc-facts small { color: var(--p-meta); }

/* ---------- P0. Controls: readable outlines on both surfaces ---------- */
.btn, .pill-link { border-color: var(--d-control); color: var(--d-head); }
.pill-link { font-weight: 800; }
.btn:hover, .pill-link:hover { border-color: var(--d-head); background: rgba(255,255,255,.08); color: #fff; }
.feed-foot [data-load-more] { background: var(--d-head); border-color: var(--d-head); color: #000; }
.feed-foot [data-load-more]:hover { background: #fff; border-color: #fff; color: #000; }
.paper :is(.btn, .pill-link) { border-color: var(--p-control); color: var(--p-head); background: rgba(255,255,255,.55); }
.paper :is(.btn, .pill-link):hover { border-color: var(--p-head); background: var(--p-head); color: #fff; }
.paper :where(a, button):focus-visible { outline-color: var(--p-head); }

/* ---------- P0. Hover: surfaces react, titles only brighten ---------- */
.lz .rc:hover .rc-title, .lz .rc:focus-within .rc-title { color: #fff; }
.paper .rc > a:hover .rc-title { color: var(--p-head); }
.nrow a:hover, .tlist li a:hover, .feat-side .story a:hover { background: rgba(255,255,255,.045); }
.rc > a:hover .rc-media img, .ncard a:hover .media img { transform: scale(1.015); }
.ncard .media img, .tlist .media img, .nrow .media img { transition: transform .3s ease; }

/* ---------- P1. Reviews: compact featured review + framed supporting cards ---------- */
.paper.home-sec { padding-block: 44px 48px; }
.rv-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: auto auto; gap: 18px; align-items: stretch; }
.rv-grid .rc { background: var(--p-surface); border: 1px solid var(--p-border); border-radius: var(--r-card); overflow: hidden; transition: border-color .15s ease, box-shadow .15s ease; }
.rv-grid .rc:hover, .rv-grid .rc:focus-within { border-color: var(--p-border-h); box-shadow: 0 14px 28px -22px rgba(0,0,0,.55); }
.rv-grid .rc > a { display: flex; flex-direction: column; gap: 0; height: 100%; }
.rv-grid .rc-media { border-radius: 0; box-shadow: none; }
.rv-grid .rc-sm .rc-body { padding: 12px 14px 14px; gap: 6px; }
.rv-grid .rc-sm .rc-title { font-size: 1.02rem; line-height: 1.5; }
.rv-grid .rc-sm .rc-kick { gap: 4px 8px; font-size: .8125rem; }
/* featured review: artwork fills what the four cards leave, never taller than they are */
.rv-feat { grid-column: span 2; grid-row: span 2; }
.rv-grid .rv-feat .rc-media { flex: 4 1 auto; aspect-ratio: auto; min-height: 220px; max-height: 360px; }
.rv-grid .rv-feat .rc-media img { position: absolute; inset: 0; }
/* supporting cards: category + date on one line, platforms on the next */
.rv-grid .rc-sm .rc-kick .plats { order: 3; flex-basis: 100%; }
.rv-feat .rc-media::after { display: none; }
.rvf-body { display: flex; flex-direction: column; gap: 8px; padding: 16px 20px 18px; flex: 0 1 auto; }
@media (min-width: 1181px) { .rv-grid .rv-feat .rc-sum { -webkit-line-clamp: 3; } }
.rv-feat .rc-title { font-size: clamp(1.35rem, 1.05rem + .7vw, 1.75rem); line-height: 1.35; font-weight: 900; -webkit-line-clamp: 2; }
.rv-feat .rc-sum { -webkit-line-clamp: 2; font-size: .95rem; line-height: 1.8; max-width: none; }
.rvf-foot { display: flex; align-items: center; gap: 16px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--p-border); }
.rvf-score { position: relative; display: inline-flex; align-items: center; gap: 12px; flex: none; padding: 8px 14px 11px; border-radius: 10px; background: var(--p-head); color: #fff; overflow: hidden; }
.rvf-num { display: inline-flex; align-items: baseline; gap: 3px; direction: ltr; font-family: var(--f-num); line-height: 1; }
.rvf-num .n { font-size: 2.6rem; }
.rvf-num .of { font-size: 1.05rem; color: #b9bdbd; }
.rvf-score .w { font-family: var(--f-head); font-weight: 800; font-size: 1rem; white-space: nowrap; }
.rvf-score .bar { position: absolute; inset: auto 0 0 0; height: 3px; background: var(--brand-ramp); }
.rvf-score .bar i { position: absolute; inset: 0 0 0 calc(var(--v) * 1%); background: rgba(0,0,0,.8); }
.rvf-info { display: grid; gap: 8px; min-width: 0; }
.rvf-info .rc-facts { margin: 0; gap: 4px 18px; font-size: .875rem; }

/* ---------- P2. Articles band: lead and list share one height, no empty area ---------- */
.feat2 { align-items: stretch; }
.feat2 .feat-lead > a { display: flex; flex-direction: column; height: 100%; }
.feat2 .feat-lead .rc-media { flex: 1 1 auto; aspect-ratio: auto; min-height: clamp(220px, 24vw, 380px); }
.feat2 .feat-lead .rc-media img { position: absolute; inset: 0; }
.feat2 .feat-lead .rc-body { flex: none; }
.feat-side.panel-f { display: grid; grid-auto-rows: 1fr; align-content: stretch; padding: 0; overflow: hidden; }
.feat-side .story a { height: 100%; padding: 14px 16px; align-items: center; border-bottom: 1px solid var(--panel-line); transition: background-color .15s; }
.feat-side .story:last-child a { border-bottom: 0; }
.feat-side .media { border-radius: 8px; overflow: hidden; }
.feat-side .h-s { font-size: 1rem; line-height: 1.6; font-weight: 800; }

/* ---------- P2. Rhythm: equal section spacing, no trailing gap before the footer ---------- */
.home-sec { padding-block: 44px; }
.shead { margin-bottom: 20px; }
.shead h2 { padding-bottom: 8px; }
.foot { margin-top: 48px; }
.home .foot, main > .home-sec:last-child + .foot { margin-top: 0; }
.home main > .home-sec:last-child { padding-bottom: 56px; }
.foot li a { gap: .3em; }

/* ---------- P2. News feed + technology list: scanability ---------- */
.feed-top { padding: 18px; gap: 18px; }
.ncard .h-m { font-size: 1.12rem; line-height: 1.55; }
.ncard p { font-size: .9375rem; -webkit-line-clamp: 2; }
.nrow a { padding: 14px 18px; gap: 4px 14px; grid-template-rows: auto 1fr; }
.nrow .h-xs { font-size: .975rem; line-height: 1.65; font-weight: 700; -webkit-line-clamp: 2; }
.nrow .meta { font-size: .8125rem; align-self: end; }
.nrow .media { width: 100%; }
.side2 .panel-f > .ph { padding: 14px 18px; }
.side2 .panel-f > .ph h2 { margin: 0; font-family: var(--f-head); font-weight: 900; font-size: 1.125rem; color: var(--d-head); }
.side2 .panel-f > .pb { padding: 6px 18px 14px; }
.tlist li a { grid-template-columns: minmax(0, 1fr) 72px; gap: 4px 12px; padding-block: 12px; border-radius: 0; }
.tlist li:first-child a { padding-top: 12px; }
.tlist li:last-child a { padding-bottom: 6px; }
.tlist .h-xs { font-size: .9375rem; line-height: 1.6; font-weight: 700; -webkit-line-clamp: 2; }
.tlist .meta { font-size: .8125rem; }

/* panel headers: the generic image-placeholder rule (.ph) must not stripe or dim them */
.panel-f > .ph { background: none; color: var(--d-head); text-align: start; font-size: inherit; place-items: initial; }
.panel-f > .ph :is(h2, h3) { margin: 0; font-family: var(--f-head); font-weight: 900; font-size: 1.125rem; color: var(--d-head); }

/* ---------- Unified card language ---------- */
.lz .rc-kick, .rv-grid .rc-kick { font-size: .8125rem; }
.lz-lead .rc-title { font-size: clamp(1.4rem, 1.05rem + .9vw, 1.95rem); line-height: 1.38; }
.lz-lead .rc-sum { color: var(--d-text); }
.img-ph { background: linear-gradient(135deg, #15181a, #0d0f10); }

/* ---------- P3. Header: one baseline for logo, navigation and search ---------- */
.mast-in { gap: 20px; }
.mast .logo { width: 98px; }
.mast .logo.logo-frame { width: 98px; }
.nav { align-self: stretch; align-items: center; margin-inline-start: 8px; }
.nav a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 12px; font-size: .975rem; color: var(--d-text); }
.nav a:hover { color: #fff; background: rgba(255,255,255,.06); }
.nav a[aria-current="page"] { color: #fff; box-shadow: inset 0 -2px 0 var(--d-accent); border-radius: 0; background: none; }
.mast-tools { margin-inline-start: auto; display: flex; align-items: center; gap: 8px; }
.search-box { height: 40px; width: 240px; border-color: rgba(255,255,255,.14); background: #0e1011; color: var(--d-meta); transition: border-color .15s; }
.search-box:focus-within { border-color: var(--d-control); }
.search-box input { min-width: 0; }
.search-box input::placeholder { color: var(--d-meta); opacity: 1; }
.logo-text { display: none; } /* old typed fallback is no longer used */

/* ---------- Responsive ---------- */
@media (max-width: 1180px) {
  .rv-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .rv-feat { grid-column: 1 / -1; grid-row: auto; }
  .rv-grid .rv-feat > a { flex-direction: row; align-items: stretch; }
  .rv-grid .rv-feat .rc-media { flex: none; width: 50%; aspect-ratio: 16 / 9; min-height: 0; max-height: none; }
  .rvf-body { justify-content: center; padding: 18px 22px; }
  .rvf-foot { margin-top: 8px; }
  .search-box { width: 200px; }
}
@media (max-width: 1000px) {
  .rv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav a { padding-inline: 9px; font-size: .9375rem; }
}
@media (max-width: 900px) {
  .feat2 .feat-lead .rc-media { flex: none; aspect-ratio: 16 / 9; min-height: 0; }
  .feat-side.panel-f { grid-auto-rows: auto; }
}
@media (max-width: 760px) {
  .rv-grid .rv-feat > a { flex-direction: column; }
  .rv-grid .rv-feat .rc-media { width: 100%; }
  .rvf-body { padding: 14px 16px 16px; }
}
@media (max-width: 640px) {
  .home-sec { padding-block: 32px; }
  .paper.home-sec { padding-block: 32px 36px; }
  .home main > .home-sec:last-child { padding-bottom: 40px; }
  .rv-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .rv-grid .rc-sm > a { display: grid; grid-template-columns: 40% minmax(0, 1fr); gap: 0; align-items: stretch; }
  .rv-grid .rc-sm .rc-media { aspect-ratio: auto; min-height: 100%; height: 100%; }
  .rv-grid .rc-sm .rc-media img { position: absolute; inset: 0; }
  .rv-grid .rc-sm .rc-body { padding: 10px 12px; align-content: center; }
  .rv-grid .rc-sm .plats { display: none; }
  .rv-grid .rc-sm .rc-title { margin-top: 2px; font-size: .975rem; }
  .rvf-foot { flex-wrap: wrap; gap: 12px; }
  .rvf-num .n { font-size: 2.2rem; }
  .rv-feat .rc-title { font-size: 1.3rem; }
  .feat-side .story a { padding: 12px 14px; }
  .nrow a { padding: 12px 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .rv-grid .rc, .ncard .media img, .tlist .media img, .nrow .media img, .search-box { transition: none; }
  .ncard a:hover .media img { transform: none; }
}
