/* Approved Home v5: one shared foundation, with category/article compositions. */
:root { color-scheme: dark; --bg: var(--wp--preset--color--canvas, #031421); --text: var(--wp--preset--color--text, #f5f7fb); --muted: var(--wp--preset--color--muted, #b7c2d0); --blue: var(--wp--preset--color--blue, #008ff6); --line: var(--wp--preset--color--line, #21364a); --max: var(--wp--style--global--wide-size, 1370px); --radius: 7px; }
* { box-sizing: border-box; }
html { scroll-padding-top: 110px; scrollbar-gutter: stable; }
body, .editor-styles-wrapper { margin: 0; background: radial-gradient(ellipse 72% 35% at 50% 13%, #092338 0%, transparent 84%), var(--bg); color: var(--text); font-family: "Inter Tight", system-ui, -apple-system, "Segoe UI", sans-serif; font-size: 15px; line-height: 1.55; letter-spacing: .012em; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; height: auto; }
button[hidden], [hidden] { display: none !important; }
:where(a, button, input, textarea, select, summary):focus-visible { outline: 3px solid #62baff; outline-offset: 4px; }
:where(h1, h2, h3) { color: var(--text); line-height: 1.15; font-weight: 800; overflow-wrap: anywhere; }
.wp-site-blocks > *, .wp-block-template-part > *, .article-layout > * { margin-block-start: 0; }
.container { width: min(calc(100% - 92px), var(--max)); margin-inline: auto; }
.screen-reader-text:not(:focus), .pagination .screen-reader-text { position: absolute; height: 1px; width: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link { position: absolute; inset-inline-start: 20px; inset-block-start: -100px; padding: 12px; background: #fff; color: #001326; z-index: 100; }
.skip-link:focus { inset-block-start: 10px; }
.site-header { position: sticky; top: 0; z-index: 40; border-block-end: 1px solid #122b3c; background: rgb(4 21 34 / .94); backdrop-filter: blur(16px) saturate(1.16); }
.admin-bar .site-header { top: 32px; }
.site-header.is-scrolled { background: rgb(3 17 28 / .87); border-block-end-color: #244057; box-shadow: 0 9px 26px rgb(0 0 0 / .24); }
.header-inner { height: 94px; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 22px; }
.site-header.is-scrolled .header-inner { height: 75px; }
.brand { width: 246px; max-width: 100%; display: flex; align-items: center; min-height: 44px; }
.brand img { width: 100%; }
.primary-nav { display: flex; align-items: center; gap: 48px; }
.primary-nav > * { display: inline-flex; align-items: center; min-height: 44px; font-size: 16px; font-weight: 800; color: #edf4fb; }
.nav-unavailable { color: #a8b8c8; cursor: default; }
.menu-toggle { justify-self: end; border: 0; background: none; color: #fff; display: grid; place-items: center; width: 48px; height: 48px; padding: 0; }
.menu-bars { width: 27px; height: 23px; display: flex; flex-direction: column; justify-content: space-between; padding: 3px 0; }
.menu-bars span { height: 2px; width: 100%; display: block; background: currentColor; transform-origin: center; }
.menu-toggle[aria-expanded="true"] .menu-bars span:first-child { transform: translateY(7.5px) rotate(45deg); background: #139dff; }
.menu-toggle[aria-expanded="true"] .menu-bars span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-bars span:last-child { transform: translateY(-7.5px) rotate(-45deg); background: #139dff; }
.menu-open { overflow: hidden; }
.menu-panel { position: fixed; inset: 0 0 0 auto; margin: 0; width: min(400px, 95vw); height: 100dvh; max-height: 100dvh; max-width: none; padding: 27px; border: 0; border-inline-start: 1px solid #314b64; color: var(--text); background: #071a2a; box-shadow: -20px 0 70px #0008; overflow-y: auto; overscroll-behavior: contain; }
.menu-panel::backdrop { background: #0009; }
.menu-heading { display: flex; align-items: center; justify-content: space-between; font-size: 20px; gap: 12px; }
.close-button { background: none; border: 0; color: #fff; min-width: 44px; min-height: 44px; font-size: 35px; line-height: 1; }
.menu-panel nav { display: flex; flex-direction: column; margin: 24px 0; }
.menu-panel nav > * { padding: 14px 2px; border-block-end: 1px solid #243c51; font-size: 21px; font-weight: 700; }
.search-form label { display: block; font-size: 13px; font-weight: 700; }
.search-row { display: flex; gap: 8px; margin-block-start: 9px; }
.search-row input { min-width: 0; flex: 1; background: #05111c; border: 1px solid #718599; border-radius: 5px; padding: 11px; color: #fff; }
.search-row button { background: #0575c5; color: #fff; border: 0; border-radius: 5px; min-height: 44px; padding: 12px 15px; font-weight: 800; }
.no-script-menu { padding-block: 16px; }
.no-script-menu nav { display: flex; flex-wrap: wrap; gap: 24px; }
.no-script-menu nav > * { min-height: 44px; display: inline-flex; align-items: center; }
.site-header .primary-nav a.is-current, .site-header .menu-panel nav a.is-current, .site-header .no-script-menu nav a.is-current { color: #fff; text-decoration-line: underline; text-decoration-color: #0895F9; text-decoration-thickness: 2px; text-underline-offset: 8px; text-decoration-skip-ink: none; }
.site-header .menu-panel nav a.is-current { text-underline-offset: 5px; }
.ad-archive-sidebar-top, .ad-search-sidebar-bottom { margin-top: 20px; }

/* Homepage: the approved lead image, four supporting stories and editorial bands. */
.featured-grid { margin-block-start: 24px; display: grid; grid-template-columns: 1.31fr .9fr; gap: 16px; min-height: 480px; }
.hero-card { position: relative; overflow: hidden; border: 1px solid #35506b; border-radius: var(--radius); min-width: 0; background: #13243c; display: grid; align-items: end; min-height: 480px; }
.hero-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 31%; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 25%, rgb(1 12 22 / .1) 40%, #03111fee 100%); }
.hero-copy { position: relative; padding: 34px 32px 34px 35px; }
.hero-copy h2 { font-size: clamp(36px, 3.4vw, 55px); line-height: 1.07; letter-spacing: -.02em; margin: 0 0 14px; font-weight: 800; }
.hero-copy p { max-width: 560px; font-size: clamp(14px, 1.14vw, 18px); line-height: 1.55; font-weight: 500; margin: 0; }
.support-grid { display: grid; grid-auto-rows: minmax(min-content, 1fr); gap: 9px; min-height: 0; }
/* Remove intrinsic image height from row sizing; long headlines can still grow the row. */
.support-card { --support-image: 42%; position: relative; display: grid; grid-template-columns: var(--support-image) minmax(0, 1fr); gap: 17px; border: 1px solid var(--line); background: linear-gradient(115deg, #061b2d, #03121f); border-radius: var(--radius); overflow: hidden; min-height: 0; }
.support-card > img { position: absolute; inset-block: 0; inset-inline-start: 0; width: var(--support-image); height: 100%; object-fit: cover; }
.support-copy { grid-column: 2; align-self: center; padding: 9px 14px 9px 0; min-width: 0; }
.support-copy h2 { font-size: clamp(14px, 1.1vw, 17px); line-height: 1.25; letter-spacing: .01em; margin: 0 0 6px; }
.support-copy p { font-size: clamp(11px, .9vw, 13px); line-height: 1.46; color: #b9c7d5; margin: 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.single-feature { grid-template-columns: 1fr; }
.single-feature .hero-card { max-width: 900px; width: 100%; }
.section-block { margin-block-start: 30px; }
.section-title { font-size: clamp(29px, 2.65vw, 42px); letter-spacing: -.01em; line-height: 1.16; margin: 0 0 13px; }
.three-grid, .four-grid { display: grid; gap: 16px; }
.three-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.four-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.feature-tile, .review-tile { border: 1px solid #243c51; background: linear-gradient(#051928, #041420); border-radius: var(--radius); overflow: hidden; min-width: 0; }
.feature-tile > img { width: 100%; height: 145px; object-fit: cover; }
.review-image { position: relative; height: 143px; }
.review-image > img { width: 100%; height: 100%; object-fit: cover; }
.review-score { position: absolute; inset-inline-end: 8px; inset-block-start: 8px; background: #008ef7; color: #031421; border-radius: 4px; font-size: 14px; font-weight: 800; padding: 6px 9px; box-shadow: 0 2px 12px #0014; }
.review-image.without-art { height: 48px; }
.tile-copy { padding: 15px 16px 18px; }
.tile-copy h3 { font-size: clamp(16px, 1.35vw, 20px); line-height: 1.25; letter-spacing: .01em; margin: 0 0 7px; }
.tile-copy p { font-size: clamp(12px, 1.05vw, 14px); line-height: 1.5; color: #d1d9e3; font-weight: 500; margin: 0; }
.review-tile .tile-copy { padding: 13px 13px 18px; }
.review-tile h3 { font-size: 17px; }
.latest-section { display: grid; grid-template-columns: minmax(0, 1.95fr) minmax(290px, .93fr); gap: 28px; margin-block-start: 30px; }
.latest-section.no-sidebar { grid-template-columns: 1fr; }
.latest-main { min-width: 0; }
.latest-feed { display: grid; gap: 27px; }
.latest-story { display: grid; grid-template-columns: 38% minmax(0, 1fr); gap: 23px; align-items: start; min-width: 0; }
.latest-story > img { width: 100%; height: 148px; object-fit: cover; border: 1px solid #35516b; border-radius: 6px; }
.latest-story h3 { font-size: clamp(18px, 1.36vw, 21px); line-height: 1.32; letter-spacing: .01em; margin: 0 0 6px; }
.latest-story p { font-size: clamp(12px, .93vw, 14px); line-height: 1.55; color: #bac7d7; margin: 0; }
.category-badge { display: inline-block; max-width: 100%; padding: 2px 6px; margin-block-end: 8px; border: 1px solid #078eff; border-radius: 4px; background: transparent; color: #0aa8ff; font-size: 11px; font-weight: 850; letter-spacing: .04em; line-height: 1.4; text-transform: uppercase; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; padding: 10px 15px; border: 1px solid #68809a; border-radius: 5px; color: #eff6fd; background: #061a2b; font-size: 14px; font-weight: 800; }
.button-outline { border-color: #008ffa; }
.load-more { display: table; text-align: center; margin: 24px auto 0; min-width: min(320px, 100%); max-width: 100%; padding: 15px 48px; font-size: 17px; }
.load-more:disabled { cursor: wait; opacity: .65; }
.load-more-status { margin: 26px 0 0; text-align: center; color: var(--muted); font-size: 15px; }
.load-more-status:empty { display: none; }
.latest-sidebar { padding-block-start: 2px; align-self: start; position: sticky; top: 99px; }
.more-panel { border: 1px solid #294157; border-radius: var(--radius); padding: 19px 19px 21px; background: #061928; }
.more-panel h2 { margin: 0 0 15px; font-size: 24px; letter-spacing: -.01em; }
.sidebar-list { display: grid; gap: 7px; }
.sidebar-story { display: grid; grid-template-columns: 93px minmax(0, 1fr); align-items: center; gap: 12px; border: 1px solid #183d54; border-radius: 6px; padding: 6px; min-height: 78px; background: rgb(4 26 44 / .55); }
.sidebar-story > img { width: 93px; height: 66px; object-fit: cover; border-radius: 4px; }
.sidebar-story .story-copy { font-size: 14px; font-weight: 750; line-height: 1.24; }
.more-panel .sidebar-story { grid-template-columns: 88px minmax(0, 1fr); gap: 13px; background: none; border: 0; padding: 0; min-height: 64px; }
.more-panel .sidebar-story > img { width: 88px; height: 64px; }
.more-panel .story-copy { font-size: 13px; font-weight: 700; line-height: 1.35; }
.more-panel .sidebar-list { gap: 11px; }
.no-image:not(.hero-card) { grid-template-columns: 1fr; }
.support-card.no-image .support-copy { grid-column: 1; padding: 16px; }
.hero-card.no-image { min-height: 260px; }
.hero-card.no-image .hero-copy { padding-block-start: 34px; }
.featured-grid:has(> .hero-card.no-image) { min-height: 0; }
/* Gutenberg resets child margins; keep reference spacing inside this composition. */
.homepage { display: flow-root; padding-block-end: 57px; }
.empty-state { padding-block: 38px; color: var(--muted); }
.empty-state h2 { font-size: clamp(28px, 3vw, 38px); margin: 0 0 12px; }
.empty-state p { margin: 0; }

/* All page types use the homepage container and footer alignment. */
.site-footer { border-block-start: 1px solid #1e3447; padding: 25px 0 20px; background: #041522; }
.footer-main { display: grid; grid-template-columns: 2fr .82fr .95fr; gap: 50px; padding-block-end: 19px; }
.footer-brand { width: 260px; max-width: 100%; }
.footer-brand img { width: 231px; }
.site-footer .footer-brand img { filter: brightness(0) invert(1); }
.footer-brand p { width: 231px; max-width: 100%; font-size: 13.25px; color: #c8d4df; text-align: justify; text-align-last: justify; white-space: nowrap; letter-spacing: normal; margin: 2px 0 17px; }
.socials { display: flex; align-items: center; margin-inline-start: -10.5px; }
.socials > * { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; color: #f3f6fa; }
.socials svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.socials .solid { fill: currentColor; stroke: none; }
.footer-column { display: flex; flex-direction: column; align-items: start; gap: 7px; }
.footer-column h2 { font-size: 15px; margin: 0 0 4px; }
.footer-column > a, .footer-column > span { font-size: 14px; color: #d3dce5; padding-block: 3px; }
.footer-bottom { border-block-start: 1px solid #25384b; padding-block-start: 15px; display: flex; justify-content: space-between; gap: 20px; font-size: 14px; color: #a5b7c7; }
.footer-legal { display: flex; gap: 25px; }
.footer-legal .nav-unavailable { color: inherit; }

/* Category composition; topic navigation follows actual child categories. */
.category-hero { min-height: 274px; position: relative; overflow: hidden; border-block-end: 1px solid var(--line); display: flex; align-items: center; }
.category-art { position: absolute; inset: 0; }
.category-art img { width: 100%; height: 100%; object-fit: cover; object-position: center 49%; }
.category-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #041522f7 0%, #041522bd 32%, #0415220d 82%), linear-gradient(0deg, #04152299, transparent 75%); }
.category-intro { position: relative; padding-block: 48px 44px; }
.category-intro h1 { font-size: clamp(39px, 4.6vw, 61px); line-height: 1.02; margin: 7px 0 14px; letter-spacing: -.02em; font-weight: 900; }
.category-intro .category-badge { font-size: 12px; padding: 4px 8px; }
.archive-description { font-size: 19px; line-height: 1.45; max-width: 590px; color: #e5edf6; }
.archive-description p { margin: 0; }
.listing-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 45px; align-items: start; padding-block: 26px 58px; }
.feed, .listing-sidebar { min-width: 0; }
.listing-sidebar { align-self: stretch; }
.filter-tabs { display: flex; gap: 8px; overflow-x: auto; white-space: nowrap; padding: 4px 0 18px; border-block-end: 1px solid var(--line); scrollbar-width: thin; }
.filter-tabs a, .filter-tabs .filter-unavailable { display: flex; align-items: center; min-height: 44px; font-weight: 750; padding: 8px 14px; border-radius: 7px; font-size: 14px; flex-shrink: 0; }
.filter-tabs .filter-unavailable { color: var(--muted); cursor: default; }
.filter-tabs .active { background: #0575c5; color: #fff; }
.featured-news { display: grid; grid-template-columns: 51% 1fr; align-items: center; gap: 20px; padding: 19px 0 22px; border-block-end: 1px solid #204157; }
.featured-news > img { height: 265px; width: 100%; object-fit: cover; border-radius: 5px; border: 1px solid var(--line); }
.featured-copy h2 { font-size: clamp(23px, 2.05vw, 30px); font-weight: 900; line-height: 1.1; letter-spacing: -.012em; margin: 0 0 13px; }
.featured-copy p { font-size: 15px; line-height: 1.44; margin: 0 0 19px; color: #b8c9d9; }
.news-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 25px; }
.news-card { display: grid; grid-template-columns: 42% 1fr; gap: 13px; align-items: start; padding: 18px 0; border-block-end: 1px solid #18394d; min-width: 0; }
.news-card > img { width: 100%; height: 135px; object-fit: cover; border-radius: 5px; border: 1px solid #29475d; }
.news-card h3 { font-size: 17px; line-height: 1.17; font-weight: 850; margin: 0 0 9px; letter-spacing: 0; }
.news-card p { font-size: 12.5px; line-height: 1.45; margin: 0; color: #b8cada; }
.sidebar-section { margin-block: 0 28px; }
.sidebar-section h2 { font-size: 28px; line-height: 1.1; font-weight: 850; letter-spacing: -.015em; margin: 0 0 14px; }
.sidebar-follow { position: sticky; top: 99px; }
.explore-links { display: grid; gap: 7px; }
.explore-links > * { display: flex; align-items: center; min-height: 48px; padding: 8px 12px; border: 1px solid #183d54; border-radius: 6px; background: rgb(4 26 44 / .55); font-weight: 750; }
.pagination .nav-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 31px 0 12px; align-items: center; }
.pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; padding-inline: 10px; min-width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 6px; background: #051a2b; font-weight: 750; }
.pagination .current { background: #0575c5; }

/* Category-only refinements: the approved homepage and other templates retain their rules. */
.category-archive .listing-layout { grid-template-columns: minmax(0, 1fr) 320px; gap: 45px; }
.category-archive .featured-news { grid-template-columns: 51% minmax(0, 1fr); }
.category-archive .news-card { grid-template-columns: 42% minmax(0, 1fr); gap: 13px; }
.category-archive .news-card h3 { font-size: 17px; }
.category-archive .news-card p { font-size: 12.5px; }
.category-archive .listing-sidebar .sidebar-section { margin-block-end: 25px; }
.category-archive .listing-sidebar .sidebar-section h2 { font-size: 27px; }
.category-archive .advertisement .ad-reserved { width: min(100%, 300px); min-height: 250px; }
.category-archive .advertisement > * { max-width: 300px; margin-inline: auto; }
.category-archive .archive-explore > a { display: grid; grid-template-columns: 87px minmax(0, 1fr); gap: 12px; min-height: 78px; padding: 6px; }
.category-archive .archive-explore > .without-art { grid-template-columns: minmax(0, 1fr); }
.category-archive .archive-explore img { width: 87px; height: 66px; object-fit: cover; border-radius: 4px; }
.category-archive .archive-explore span { display: grid; gap: 4px; min-width: 0; }
.category-archive .archive-explore strong { font-size: 14px; line-height: 1.24; }
.category-archive .archive-explore small { color: #c1d0db; font-size: 12px; line-height: 1.35; font-weight: 400; }

/* Gutenberg owns the article body, byline, date, featured image and headings. */
.article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 54px; align-items: start; padding-block: 46px 76px; }
.article-layout:not(:has(.article-sidebar)) { grid-template-columns: minmax(0, 900px); justify-content: center; }
.article { min-width: 0; }
.article .wp-block-post-terms { font-size: 12px; font-weight: 800; margin-block: 0 14px; text-transform: uppercase; }
.article .wp-block-post-terms a { display: inline-block; background: #0575c5; color: #fff; border-radius: 6px; padding: 4px 11px; letter-spacing: .05em; }
.article .wp-block-post-title { font-size: clamp(37px, 4.1vw, 58px); line-height: 1.015; letter-spacing: -.018em; margin: 0 0 19px; font-weight: 900; }
.article .wp-block-post-excerpt { font-size: clamp(18px, 1.9vw, 22px); line-height: 1.35; color: #e0e8f1; margin: 0 0 22px; }
.article .wp-block-post-excerpt p { margin: 0; }
.article-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 18px; color: #d6e2ed; font-size: 14px; margin: 0 0 23px; }
.article-meta > * { margin: 0; }
.article-meta .article-byline { display: flex; flex: 1 1 15rem; flex-wrap: wrap; align-items: center; gap: 8px 18px; min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.article-byline > * { margin: 0; }
.article-byline .wp-block-post-author-name { font-weight: 700; }
.article-meta .wp-block-post-date::before { content: "•"; margin-inline-end: 14px; color: #8baabd; }
.article-meta .share-links { display: flex; flex-shrink: 0; gap: 4px; margin-inline-start: auto; }
.share-links button { display: grid; place-items: center; width: 44px; height: 44px; border: 0; padding: 0; background: transparent; color: #fff; }
.article-meta .share-status { flex-basis: 100%; font-size: 13px; color: #b7d7ee; }
.article-meta .share-status:empty { display: none; }
.copy-fallback { flex-basis: 100%; }
.copy-fallback input { display: block; width: 100%; padding: 10px; border: 1px solid #718599; background: #05111c; color: #fff; }
.article .lead-image { margin: 0 0 25px; }
.article .lead-image figcaption { color: #a0b8ca; font-size: 12px; margin-block-start: 7px; }
.article .lead-image img { width: auto; max-width: 100%; height: auto; border-radius: 6px; border: 1px solid #20415b; }
.article-body { font-size: 18px; line-height: 1.64; color: #dce7f0; }
.article-body :where(p) { margin: 0 0 24px; }
:where(.article-body) h2 { font-size: clamp(25px, 2.45vw, 32px); letter-spacing: -.01em; font-weight: 850; margin: 34px 0 10px; line-height: 1.13; }
:where(.article-body) h3 { font-size: 25px; margin-block: 28px 10px; }
.article-body a { color: #69c0ff; text-decoration: underline; text-underline-offset: .15em; }
.article-body figure { margin-inline: 0; }
.article-body figcaption { color: #a0b8ca; font-size: 12px; margin-block-start: 7px; }
.article-body .wp-block-image img { border-radius: 6px; }
.article-body pre, .article-body .wp-block-table { overflow-x: auto; }
:where(.article .article-body) { overflow-wrap: anywhere; }
:where(.article .article-body) > * { max-width: 100%; }
:where(.article .article-body) :where(h4, h5, h6) { margin-block: 24px 10px; line-height: 1.25; }
:where(.article .article-body) :where(ul, ol) { padding-inline-start: 1.5em; margin-block: 0 24px; }
:where(.article .article-body) li { margin-block: 6px; }
:where(.article .article-body) li > :where(ul, ol) { margin-block-end: 0; }
:where(.article .article-body) :where(blockquote) { margin: 28px 0; padding: 16px 24px; border-inline-start: 3px solid var(--blue); background: #071c2d; }
:where(.article .article-body) :where(blockquote) p:last-of-type { margin-block-end: 10px; }
:where(.article .article-body) cite { font-size: 14px; color: var(--muted); }
:where(.article .article-body) :where(figure) { margin-block: 0 25px; }
:where(.article .article-body) :where(img, video, iframe) { max-width: 100%; }
:where(.article .article-body) :where(img, video) { height: auto; }
:where(.article .article-body) :where(.wp-block-embed, .wp-block-gallery) { min-width: 0; }
:where(.article .article-body) :where(.wp-block-table) { max-width: 100%; }
.article .article-body .wp-block-table:focus-visible { outline: 3px solid #62baff; outline-offset: 4px; }
:where(.article .article-body) :where(table) { width: 100%; border-collapse: collapse; }
:where(.article .article-body) :where(th, td) { padding: 10px 12px; border: 1px solid var(--line); text-align: start; }
.article-sidebar { align-self: stretch; min-width: 0; height: 100%; }
.article-sidebar .sidebar-follow { top: 99px; display: flow-root; }
.admin-bar .article-sidebar .sidebar-follow { top: 131px; }
.article-sidebar .sidebar-follow .sidebar-section { margin-block-end: 0; }
.article-sidebar .advertisement > * { max-width: 300px; margin-inline: auto; }
.article-sidebar .ad-reserved { width: min(100%, 300px); min-height: 250px; }
.article-page { min-width: 0; max-width: 900px; margin-inline: auto; padding-block: 46px 76px; }
.article-page h1 { font-size: clamp(36px, 4vw, 58px); }
/* Search v2: scoped composition on the shared homepage container. */
.search-view .search-hero { min-height: 270px; position: relative; overflow: hidden; border-block-end: 1px solid #17425c; background: #041522; }
.search-view .search-art { position: absolute; inset: 0; }
.search-view .search-art img { width: 100%; height: 100%; object-fit: cover; object-position: center 54%; }
.search-view .search-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #031522e8 0%, #031522a5 35%, #03152210 83%); }
.search-view .search-heading { position: relative; padding-block: 58px 35px; }
.search-view .search-heading h1 { font-size: clamp(38px, 5.3vw, 62px); letter-spacing: -.02em; line-height: 1.04; margin: 0 0 22px; font-weight: 900; }
.search-view .hero-search { display: flex; width: min(630px, 100%); min-height: 52px; border: 1px solid #62849b; border-radius: 10px; background: #071a28; }
.search-view .hero-search:focus-within { outline: 3px solid #62baff; outline-offset: 4px; }
.search-view .hero-search input[name="s"] { flex: 1; width: 0; min-width: 0; border: 0; border-radius: 10px 0 0 10px; background: transparent; color: #fff; padding: 0 18px; font-size: 18px; }
.search-view .hero-search input[name="s"]:focus-visible { outline: none; }
.search-view .clear-search { flex-shrink: 0; min-width: 44px; min-height: 44px; border: 0; background: transparent; color: #d4e5f1; font-size: 29px; font-weight: 300; padding: 0 12px; }
.search-view .submit-search { flex-shrink: 0; width: 57px; min-height: 44px; display: grid; place-items: center; border: 0; border-radius: 0 9px 9px 0; background: #0575c5; color: #fff; }
.search-view .search-layout { display: grid; grid-template-columns: minmax(0, 1fr) 294px; gap: 35px; align-items: start; padding-block: 20px 46px; }
.search-view .results-main { min-width: 0; }
.search-view .search-filter-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 55px; margin-block-end: 13px; }
.search-view .search-filters { display: flex; gap: 9px; min-width: 0; overflow-x: auto; padding: 5px; margin-inline: -5px; scrollbar-width: thin; }
.search-view .search-filters > * { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; min-width: 82px; min-height: 44px; padding: 10px 16px; border: 1px solid #62849b; border-radius: 9px; color: #fff; background: #031725; font-size: 14px; font-weight: 800; }
.search-view .search-filters .selected { background: #0575c5; border-color: #57b9ff; text-underline-offset: 3px; }
.search-view .search-filters [aria-disabled] { color: var(--muted); border-color: var(--line); cursor: default; }
.search-view .search-filter-row p { flex-shrink: 0; margin: 0; color: #c3d3e2; font-size: 13px; }
.search-view .result-list { display: grid; gap: 18px; }
.search-view .result-card { display: grid; grid-template-columns: 40% minmax(0, 1fr); min-height: 154px; border: 1px solid #1d455c; border-radius: 6px; overflow: hidden; background: #031a29; color: #fff; }
.search-view .result-card.no-image { grid-template-columns: minmax(0, 1fr); }
.search-view .result-card > img { width: 100%; height: 100%; min-height: 154px; max-height: 185px; object-fit: cover; outline: 1px solid rgb(255 255 255 / .1); outline-offset: -1px; }
.search-view .result-copy { min-width: 0; align-self: center; display: flex; flex-direction: column; align-items: start; padding: 15px 20px; gap: 8px; }
.search-view .result-copy .category-badge { margin: 0; }
.search-view .result-copy h2 { font-size: clamp(17px, 1.65vw, 21px); line-height: 1.12; font-weight: 850; margin: 0; }
.search-view .result-copy p { color: #c5d4e3; font-size: 14px; line-height: 1.4; margin: 0; overflow-wrap: anywhere; }
.search-view .search-empty { border: 1px solid #28536c; border-radius: 8px; padding: 35px; color: #d2dce7; }
.search-view .search-empty h2 { margin-block-start: 0; font-size: 24px; }
.search-view .search-empty p { margin-block-end: 0; }
.search-view .pagination .nav-links { gap: 10px; margin-block: 20px 0; }
.search-view .search-sidebar { padding-block-start: 46px; min-width: 0; align-self: stretch; }
.search-view .search-sidebar h2 { font-size: 24px; letter-spacing: -.02em; font-weight: 900; line-height: 1.1; margin: 24px 0 12px; }
.search-view .advertisement { min-height: 250px; }
.search-view .advertisement > * { max-width: 300px; margin-inline: auto; }
.search-view .advertisement .ad-reserved { width: min(100%, 300px); min-height: 250px; }
.search-view .search-related a { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 9px 13px; margin-block: 5px; border-radius: 5px; background: #092439; color: #eef5fc; font-size: 13px; overflow-wrap: anywhere; }
.search-view .search-related svg { flex-shrink: 0; }
.search-view .search-sticky-group { position: sticky; top: 99px; display: flow-root; }
.admin-bar .search-view .search-sticky-group { top: 131px; }
.search-view .sidebar-list { gap: 6px; }
.search-view .sidebar-story { grid-template-columns: 83px minmax(0, 1fr); gap: 9px; padding: 0; min-height: 70px; border-color: #1b4258; overflow: hidden; background: transparent; }
.search-view .sidebar-story.no-image { grid-template-columns: minmax(0, 1fr); padding: 12px; }
.search-view .sidebar-story > img { width: 83px; height: 68px; border-radius: 0; object-fit: cover; }
.search-view .sidebar-story .story-copy { padding-inline-end: 7px; font-size: 12px; line-height: 1.3; font-weight: 700; overflow-wrap: anywhere; }
.search-view .search-sticky-group > .wp-block-template-part { margin-block-start: 22px; }
@media (hover: hover) {
	.search-view .search-filters a:hover, .search-view .submit-search:hover { background: #086eb4; color: #fff; }
	.search-view .result-card:hover > img { opacity: .79; }
	.search-view .search-related a:hover { background: #114266; }
}
@media (prefers-reduced-motion: no-preference) {
	.search-view .result-card > img { transition: opacity 150ms ease; }
}
@media (max-width: 1080px) {
	.search-view .search-layout { grid-template-columns: minmax(0, 1fr) 260px; gap: 23px; }
	.search-view .search-filter-row { display: block; }
	.search-view .search-filter-row p { padding-block-start: 8px; }
	.search-view .search-sidebar { padding-block-start: 70px; }
	.search-view .result-copy { padding: 12px 14px; }
	.search-view .result-copy h2 { font-size: 18px; }
}
@media (max-width: 800px) {
	.search-view .search-layout { grid-template-columns: minmax(0, 1fr); }
	.search-view .search-sidebar { padding-block-start: 10px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
	.search-view .search-sidebar h2 { margin-block-start: 0; }
	.search-view .search-sticky-group { position: static; grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 20px; }
	.search-view .search-sticky-group > .wp-block-template-part { margin: 0; }
	.search-view .search-heading { padding-block-start: 48px; }
	.search-view .search-hero { min-height: 245px; }
}
@media (max-width: 560px) {
	.search-view .search-hero { min-height: 230px; }
	.search-view .search-art::after { background: linear-gradient(90deg, #031522e8, #031522b8); }
	.search-view .search-heading { padding-block-start: 42px; }
	.search-view .search-heading h1 { font-size: 38px; }
	.search-view .hero-search { min-height: 49px; }
	.search-view .search-filters > * { min-width: 67px; padding: 9px 12px; }
	.search-view .result-card { grid-template-columns: 38% minmax(0, 1fr); min-height: 127px; }
	.search-view .result-card > img { min-height: 127px; max-height: 180px; }
	.search-view .result-copy { gap: 6px; padding: 10px; }
	.search-view .result-copy h2 { font-size: 16px; }
	.search-view .result-copy p { font-size: 12px; line-height: 1.3; }
	.search-view .search-sidebar, .search-view .search-sticky-group { grid-template-columns: minmax(0, 1fr); gap: 18px; }
	.search-view .pagination .nav-links { gap: 6px; }
}
/* About + Contact v2. Approved artwork is for local review; rights-cleared replacements are required before production. */
.contact-page { background: #041522; color: #f7f9fd; }
.contact-page > *, .contact-page .about-grid > *, .contact-page .about-services > *, .contact-page .about-service > *, .contact-page .about-side > * { margin-block-start: 0; margin-block-end: 0; min-width: 0; }
.contact-page .about-hero { position: relative; display: grid; min-height: 370px; border-block-end: 1px solid #1b4056; isolation: isolate; }
.contact-page .about-hero-art { position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(90deg, #041522f7 0%, #041522bd 37%, #04152210 90%), linear-gradient(0deg, #0415228a, transparent 58%), url('../images/about-hero.jpg'); background-size: cover; background-position: center, right 45% center, center; }
.contact-page .about-hero-inner { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: start; padding-block: 25px; }
.contact-page .about-badge { display: inline-block; padding: 4px 8px; border: 1px solid #078eff; border-radius: 4px; color: #0aa8ff; font-size: 12px; font-weight: 850; letter-spacing: .04em; line-height: 1.4; margin: 0; }
.contact-page .about-title { color: #f7f9fd; font-size: clamp(48px, 5.7vw, 77px); font-weight: 900; line-height: .98; letter-spacing: -.025em; margin: 15px 0 18px; }
.contact-page .about-hero .about-title-accent { color: #0895F9; }
.contact-page .about-intro { max-width: 800px; margin: 0; font-size: 18px; line-height: 1.48; color: #eef4fa; }
.contact-page .about-intro > :first-child { margin-block-start: 0; }
.contact-page .about-intro > :last-child { margin-block-end: 0; }
.contact-page .about-grid { display: grid; grid-template-columns: minmax(0, 1fr) 316px; gap: 34px; padding-block: 42px 36px; }
.contact-page .about-main h2, .contact-page .contact-form-area > h2 { font-size: clamp(31px, 3vw, 39px); line-height: 1.15; letter-spacing: -.018em; font-weight: 900; margin: 0 0 12px; }
.contact-page .about-main > section > p { font-size: 17px; line-height: 1.55; color: #e1eaf3; margin: 0; max-width: 765px; }
.contact-page .about-services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-block-start: 30px; }
.contact-page .about-service { padding-inline: 24px; border-inline-end: 1px solid #204258; }
.contact-page .about-service:first-child { padding-inline-start: 0; }
.contact-page .about-service:last-child { padding-inline-end: 0; border-inline-end: 0; }
.contact-page .about-service svg { width: 43px; height: 43px; display: block; fill: none; stroke: #088ff9; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.contact-page .about-service .about-controller { color: #088ff9; stroke: currentColor; stroke-width: 1.5; }
.contact-page .about-controller circle { fill: currentColor; stroke: none; }
.contact-page .about-service h3 { font-size: 21px; font-weight: 850; margin: 12px 0 6px; }
.contact-page .about-service p { font-size: 16px; line-height: 1.45; color: #e2eaf2; margin: 0; }
.contact-page .about-approach { margin-block-start: 57px; }
.contact-page .about-side { border-inline-start: 1px solid #1b4056; padding-inline-start: 27px; display: grid; gap: 24px; align-content: start; }
.contact-page .about-community { position: relative; display: flex; align-items: end; min-height: 318px; overflow: hidden; border: 1px solid #23455e; border-radius: 8px; background: #041b2e; }
.contact-page .about-community-art { position: absolute; inset: 0; background: url('../images/community.jpg') center / cover; }
.contact-page .about-community::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, #031421f5 0%, #03142147 75%); }
.contact-page .about-community-copy { position: relative; z-index: 1; padding: 23px; }
.contact-page .about-community-copy > span { font-size: 13px; color: #2daaff; font-weight: 800; }
.contact-page .about-community h3 { font-size: 27px; font-weight: 700; line-height: 1.12; margin: 8px 0 20px; }
.contact-page .about-community strong { display: inline-block; padding: 11px 17px; background: #0575c5; border-radius: 5px; font-size: 15px; }
.contact-page .about-follow { border: 1px solid #20475c; border-radius: 7px; padding: 21px; }
.contact-page .about-follow h3 { font-size: 23px; margin: 0 0 7px; font-weight: 850; }
.contact-page .about-follow p { color: #d2dfec; line-height: 1.45; font-size: 15px; margin: 0 0 18px; }
.contact-page .about-socials { display: flex; flex-wrap: wrap; gap: 19px; align-items: center; }
.contact-page .about-socials > span { display: inline-flex; align-items: center; justify-content: center; width: 25px; height: 28px; color: #f5f9ff; }
.contact-page .about-socials svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.contact-page .about-socials .solid { fill: currentColor; stroke: none; }
.contact-page .about-divider { height: 1px; max-width: none; border: 0; background: #28506a; color: #28506a; opacity: 1; margin: 7px 0 38px; }
.contact-page .contact-section { padding-block-end: 48px; }
.contact-page .contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) 316px; gap: 34px; }
.contact-page .contact-grid > *, .contact-page .contact-form-row > * { min-width: 0; margin-block-start: 0; }
.contact-page .contact-default-intro { font-size: 17px; line-height: 1.55; color: #e1eaf3; max-width: 765px; margin: 0 0 23px; }
.contact-page .contact-form-block { margin-block-start: 0; }
.contact-page .contact-form { display: grid; gap: 13px; position: relative; }
.contact-page .contact-form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.contact-page :is(input:not([type="hidden"]), select, textarea) { width: 100%; min-width: 0; border: 1px solid #62849b; background: #082334; color: #f5f8fe; border-radius: 5px; padding: 14px 16px; min-height: 50px; font: inherit; font-size: 17px; line-height: 1.5; }
.contact-page select { color: #cdd9e6; appearance: none; -webkit-appearance: none; padding-inline-end: 44px; background-image: 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 1.5 5 5 5-5' fill='none' stroke='%23cdd9e6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; background-size: 12px 8px; }
.contact-page textarea { resize: vertical; min-height: 126px; }
.contact-page :is(input, textarea)::placeholder { color: #c7d4e2; opacity: 1; }
.contact-page .contact-send { justify-self: start; display: inline-flex; align-items: center; gap: 7px; background: #0575c5; border: 1px solid transparent; color: #fff; padding: 12px 23px; border-radius: 5px; font-size: 17px; line-height: 1.5; font-weight: 850; min-height: 49px; }
.contact-page .contact-send svg { flex-shrink: 0; }
.contact-page .contact-send:disabled { cursor: not-allowed; opacity: .65; }
.contact-page .contact-info { border-inline-start: 1px solid #1b4056; padding-inline-start: 27px; }
.contact-page .contact-info h2 { font-size: 23px; font-weight: 850; margin: 0 0 7px; }
.contact-page .contact-info > p { margin: 0 0 24px; line-height: 1.47; font-size: 15px; color: #cbd9e7; }
.contact-page .contact-route { display: flex; align-items: start; gap: 16px; margin-block-end: 25px; }
.contact-page .contact-route svg { width: 28px; height: 28px; stroke: #ebf4ff; stroke-width: 1.65; fill: none; flex-shrink: 0; }
.contact-page .contact-route strong { display: block; font-size: 15px; font-weight: 750; }
.contact-page .contact-route a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; color: #62baff; overflow-wrap: anywhere; }
.contact-page .contact-route > div { min-width: 0; }
.contact-page .contact-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.contact-page .contact-feedback { border: 1px solid #62849b; padding: 14px 16px; margin: 0 0 20px; color: #c9e8ff; overflow-wrap: anywhere; }
.contact-page .contact-feedback p { margin: 0; }
.contact-page .contact-feedback ul { margin-block-end: 0; }
.contact-page .contact-feedback a { display: inline-flex; align-items: center; min-height: 44px; padding-block: 8px; text-decoration: underline; }
.contact-page .contact-feedback.is-error, .contact-page [aria-invalid="true"] { border-color: #ffb8ae; }
.contact-page .contact-field-error { margin: 6px 0 0; color: #ffb8ae; font-size: 14px; }
@media (hover: hover) and (pointer: fine) {
	.contact-page .about-community:hover strong { background: #0867ab; }
	.contact-page .contact-send:not(:disabled):hover { background: #0867ab; }
	.contact-page .contact-route a:hover { text-decoration: underline; }
}
@media (max-width: 990px) {
	.contact-page .about-grid, .contact-page .contact-grid { grid-template-columns: minmax(0, 1fr) 265px; gap: 24px; }
	.contact-page .about-side, .contact-page .contact-info { padding-inline-start: 22px; }
	.contact-page .about-title { font-size: 62px; }
	.contact-page .about-service { padding-inline: 13px; }
	.contact-page .about-service h3 { font-size: 19px; }
	.contact-page .about-service p { font-size: 14px; }
}
@media (max-width: 760px) {
	.contact-page .about-hero { min-height: 380px; }
	.contact-page .about-title { font-size: 58px; }
	.contact-page .about-intro { font-size: 16px; max-width: 500px; }
	.contact-page .about-grid, .contact-page .contact-grid { grid-template-columns: minmax(0, 1fr); }
	.contact-page .about-side { border-inline-start: 0; padding: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
	.contact-page .about-community { min-height: 255px; }
	.contact-page .about-follow { align-self: stretch; }
	.contact-page .contact-info { border-inline-start: 0; padding-inline-start: 0; border-block-start: 1px solid #1b4056; padding-block-start: 24px; }
}
@media (max-width: 520px) {
	.contact-page .about-hero { min-height: 385px; }
	.contact-page .about-hero-art { background-position: center, center, 62% 50%; }
	.contact-page .about-title { font-size: 51px; }
	.contact-page .about-intro { font-size: 15px; }
	.contact-page .about-grid { padding-block-start: 30px; }
	.contact-page .about-main h2, .contact-page .contact-form-area > h2 { font-size: 31px; }
	.contact-page .about-main > section > p, .contact-page .contact-default-intro { font-size: 16px; }
	.contact-page .about-services { grid-template-columns: minmax(0, 1fr); gap: 20px; margin-block-start: 25px; }
	.contact-page .about-service, .contact-page .about-service:first-child, .contact-page .about-service:last-child { padding: 0 0 17px; border-inline-end: 0; border-block-end: 1px solid #1b4056; }
	.contact-page .about-service:last-child { border-block-end: 0; }
	.contact-page .about-service svg { width: 35px; height: 35px; }
	.contact-page .about-service h3 { margin: 7px 0 3px; }
	.contact-page .about-approach { margin-block-start: 34px; }
	.contact-page .about-side { grid-template-columns: minmax(0, 1fr); }
	.contact-page .about-community { min-height: 250px; }
	.contact-page .contact-form-row { grid-template-columns: minmax(0, 1fr); }
	.contact-page :is(input:not([type="hidden"]), select, textarea) { font-size: 16px; }
}
@media (forced-colors: active) {
	.contact-page select { appearance: auto; -webkit-appearance: auto; background-image: none; padding-inline-end: 16px; }
	.contact-page .about-hero-art, .contact-page .about-community-art, .contact-page .about-community::after { display: none; }
	.contact-page .about-title, .contact-page .about-hero .about-title-accent { color: CanvasText; }
	.contact-page .about-community { background: Canvas; }
	.search-view .search-art { display: none; }
	.search-view .submit-search, .search-view .clear-search { border: 1px solid ButtonText; }
}
.editor-styles-wrapper .search-view .search-sticky-group { position: static; }

/* One ad surface for editor content, reserved placements and trusted integrations. */
.advertisement { min-width: 0; max-width: 100%; overflow: hidden; border: 1px solid #35516b; border-radius: var(--radius); background: #07192c; }
.advertisement > :first-child { margin-block-start: 0; }
.advertisement.is-reserved { display: grid; place-items: center; }
.ad-reserved { width: min(100%, 728px); min-height: 90px; padding: 12px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; text-align: center; color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
.ad-reserved .ad-label { font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.ad-reserved strong { color: var(--text); font-size: 18px; font-weight: 600; }
.ad-home-top, .ad-home-mid { min-height: 103px; margin-block-start: 36px; }
.ad-home-top > *, .ad-home-mid > * { max-width: 728px; margin-inline: auto; }
.ad-home-mid { min-height: 97px; margin-block-start: 42px; }
.ad-home-sidebar { margin-top: 30px; min-height: 250px; margin-block-end: 25px; }
.ad-home-sidebar > * { max-width: 300px; margin-inline: auto; }
.ad-home-sidebar .ad-reserved { width: min(100%, 300px); min-height: 250px; }
.ad-archive-sidebar-top, .ad-archive-sidebar-bottom, .ad-article-sidebar-top, .ad-article-sidebar-bottom { min-height: 250px; margin-block-end: 27px; }
.ad-article-sidebar-bottom { min-height: 270px; }
.ad-article-inline-1, .ad-article-inline-2 { min-height: 104px; margin-block: 31px 35px; }
.ad-article-inline-1 > *, .ad-article-inline-2 > * { max-width: 728px; margin-inline: auto; }
.editor-slot-note { padding: 16px; border: 1px dashed var(--muted); font-size: 14px; }
.editor-styles-wrapper .site-header, .editor-styles-wrapper .sidebar-follow, .editor-styles-wrapper .latest-sidebar { position: static; }
.editor-styles-wrapper .menu-toggle[hidden], .editor-styles-wrapper .share-links button[hidden] { display: grid !important; }

@media (hover: hover) and (pointer: fine) {
	.category-archive .featured-news:hover > img { opacity: .82; }
	.category-archive .news-card:hover > img { opacity: .75; }
	.category-archive .archive-explore a:hover img { opacity: .78; }
	.primary-nav a:hover, .menu-panel nav a:hover { color: #f9fcff; text-shadow: 0 0 11px rgb(66 170 255 / .88), 0 0 23px rgb(25 127 255 / .4); }
	.menu-toggle:hover .menu-bars { color: #139dff; }
	.hero-card:hover > img, .support-card:hover > img, .feature-tile:hover > img, .review-tile:hover .review-image > img, .latest-story:hover > img, .sidebar-story:hover > img, .news-card:hover > img, .featured-news:hover > img { opacity: .78; }
	.footer-column a:hover, .footer-legal a:hover, .socials a:hover, .explore-links a:hover, .more-panel a:hover .story-copy { color: #70c5ff; }
	.load-more:hover { background: #13304a; }
	.filter-tabs a:hover { background: #0575c5; }
	.share-links button:hover { color: #30a7ff; }
}
@media (prefers-reduced-motion: no-preference) {
	.category-archive .archive-explore img { transition: opacity .2s ease; }
	html { scroll-behavior: smooth; }
	.site-header { transition: background-color .2s ease, box-shadow .2s ease, border-color .2s ease; }
	.header-inner { transition: height .2s ease; }
	.primary-nav a, .menu-panel nav a { transition: color .18s ease, text-shadow .18s ease; }
	.hero-card > img, .support-card > img, .feature-tile > img, .review-image > img, .latest-story > img, .sidebar-story > img, .news-card > img, .featured-news > img { transition: opacity .23s ease; }
	.menu-bars span { transition: transform .22s ease, opacity .16s ease, background-color .2s ease; }
	@supports (transition-behavior: allow-discrete) {
		.menu-panel { transform: translateX(110%); transition: transform .23s ease, display .23s allow-discrete, overlay .23s allow-discrete; }
		.menu-panel[open] { transform: translateX(0); }
		@starting-style { .menu-panel[open] { transform: translateX(110%); } }
	}
	/* Approved single hover sweep; never hides content or communicates state alone. */
	@media (hover: hover) and (pointer: fine) {
		.menu-toggle:not([aria-expanded="true"]):hover .menu-bars span { animation: menu-sweep-top .62s cubic-bezier(.25,.7,.25,1) 1; }
		.menu-toggle:not([aria-expanded="true"]):hover .menu-bars span:nth-child(2) { animation-name: menu-sweep-mid; }
		.menu-toggle:not([aria-expanded="true"]):hover .menu-bars span:last-child { animation-name: menu-sweep-bottom; }
	}
}
@keyframes menu-sweep-top { 0%,100% { transform: translateX(0) scaleX(1); } 25% { transform: translateX(5px) scaleX(.62); } 55% { transform: translateX(-4px) scaleX(.82); } }
@keyframes menu-sweep-mid { 0%,100% { transform: translateX(0) scaleX(1); } 30% { transform: translateX(-6px) scaleX(.68); } 62% { transform: translateX(4px) scaleX(.9); } }
@keyframes menu-sweep-bottom { 0%,100% { transform: translateX(0) scaleX(1); } 35% { transform: translateX(5px) scaleX(.65); } 70% { transform: translateX(-3px) scaleX(.85); } }
@media (max-width: 1100px) {
	.container { width: min(calc(100% - 52px), var(--max)); }
	.featured-grid, .hero-card { min-height: 425px; }
	.support-card { gap: 11px; }
	.support-copy h2 { font-size: 14px; }
	.hero-copy { padding-inline: 28px; padding-block-end: 29px; }
	.primary-nav { gap: 30px; }
	.brand { width: clamp(183px, 22vw, 246px); }
	.feature-tile > img { height: 130px; }
	.review-image { height: 120px; }
	.latest-story > img { height: 136px; }
	.footer-main { gap: 30px; }
	.listing-layout { grid-template-columns: minmax(0, 1fr) 278px; gap: 25px; }
	.news-card { grid-template-columns: 38% 1fr; gap: 10px; }
	.news-card h3 { font-size: 15px; }
}
@media (max-width: 990px) {
	.article-layout { grid-template-columns: minmax(0, 1fr) 275px; gap: 28px; }
	.article .wp-block-post-title { font-size: 42px; }
	.article-body { font-size: 17px; }
	.sidebar-story { grid-template-columns: 73px 1fr; gap: 8px; }
	.sidebar-story > img { width: 73px; }
	.sidebar-story .story-copy { font-size: 12px; }
}
@media (max-width: 1050px) {
	.category-archive .listing-layout { grid-template-columns: minmax(0, 1fr) 278px; gap: 25px; }
	.category-archive .news-card { grid-template-columns: 38% minmax(0, 1fr); gap: 10px; }
	.category-archive .news-card h3 { font-size: 15px; }
	.category-archive .news-card p { font-size: 12px; }
}
@media (max-width: 800px) {
	.category-archive .listing-layout { grid-template-columns: minmax(0, 1fr); }
	.category-archive .featured-news { grid-template-columns: 44% minmax(0, 1fr); }
	.container { width: calc(100% - 38px); }
	.header-inner { height: 82px; grid-template-columns: 1fr auto; }
	.site-header.is-scrolled .header-inner { height: 70px; }
	.primary-nav { display: none; }
	.brand { width: 210px; }
	.featured-grid { min-height: 0; grid-template-columns: 1fr; }
	.hero-card { min-height: 460px; }
	.support-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: minmax(123px, auto); }
	.support-card { --support-image: 39%; }
	.three-grid { gap: 11px; }
	.four-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.review-image { height: 175px; }
	.latest-section { grid-template-columns: 1fr; margin-block-start: 42px; }
	.latest-sidebar { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.latest-sidebar > :only-child { grid-column: 1 / -1; }
	.latest-story { grid-template-columns: 31% minmax(0, 1fr); }
	.latest-story > img { height: 138px; }
	.section-block { margin-block-start: 40px; }
	.listing-layout { grid-template-columns: 1fr; }
	.listing-sidebar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
	.listing-sidebar .sidebar-follow { position: static; grid-column: 1 / -1; }
	.featured-news { grid-template-columns: 44% 1fr; }
}
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 760px) {
	.article-layout { display: block; padding-block-start: 27px; }
	.article .wp-block-post-title { font-size: clamp(35px, 7vw, 49px); }
	.article-sidebar { margin-block-start: 44px; height: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: start; }
	.article-sidebar > .sidebar-section, .article-sidebar .advertisement { margin-block-end: 0; }
	.article-sidebar .sidebar-follow { position: static; grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: start; }
	.sidebar-follow { position: static; }
}
@media (max-width: 600px) {
	.category-archive .featured-news { grid-template-columns: minmax(0, 1fr); }
	.category-archive .news-card { grid-template-columns: 39% minmax(0, 1fr); }
	.category-archive .news-card h3 { font-size: 17px; }
	.category-archive .news-card p { font-size: 13px; }
	.category-archive .listing-sidebar .sidebar-section, .category-archive .listing-sidebar .advertisement { margin-block-end: 24px; }
	.admin-bar .site-header { top: 0; }
	.category-hero { min-height: 225px; }
	.category-intro { padding-block: 37px; }
	.archive-description { font-size: 16px; }
	.featured-news { grid-template-columns: 1fr; gap: 13px; }
	.featured-news > img { height: auto; aspect-ratio: 16 / 9; }
	.news-grid { grid-template-columns: 1fr; }
	.news-card { grid-template-columns: 39% 1fr; }
	.news-card > img { height: 120px; }
	.news-card h3 { font-size: 17px; }
	.news-card p { font-size: 13px; }
	.listing-sidebar { display: block; }
	.filter-tabs { gap: 3px; }
}
@media (max-width: 560px) {
	body { font-size: 14px; }
	.container { width: calc(100% - 28px); }
	.header-inner { height: 76px; }
	.site-header.is-scrolled .header-inner { height: 66px; }
	.brand { width: 183px; }
	.featured-grid { gap: 11px; margin-block-start: 13px; }
	.hero-card { min-height: 390px; }
	.hero-copy { padding: 23px 20px 23px 21px; }
	.hero-copy h2 { font-size: 38px; }
	.hero-copy p { font-size: 13px; }
	.support-grid { grid-template-columns: 1fr; grid-auto-rows: minmax(93px, auto); gap: 8px; }
	.support-card { --support-image: 37%; gap: 13px; }
	.support-copy h2 { font-size: 13px; }
	.support-copy p { font-size: 11px; line-height: 1.3; }
	.section-block { margin-block-start: 36px; }
	.section-title { font-size: 29px; }
	.three-grid { grid-template-columns: 1fr; gap: 12px; }
	.feature-tile > img { height: 180px; }
	.tile-copy { padding: 14px; }
	.tile-copy h3 { font-size: 18px; }
	.tile-copy p { font-size: 13px; }
	.four-grid { gap: 10px; }
	.review-image { height: 125px; }
	.review-score { font-size: 11px; padding: 5px; }
	.review-tile .tile-copy { padding: 11px; }
	.review-tile h3 { font-size: 16px; }
	.review-tile p { font-size: 12px; }
	.latest-section { gap: 23px; margin-block-start: 36px; }
	.homepage { padding-block-end: 42px; }
	.latest-feed { gap: 21px; }
	.latest-story { grid-template-columns: 39% minmax(0, 1fr); gap: 13px; }
	.latest-story > img { height: 118px; }
	.latest-story h3 { font-size: 16px; }
	.latest-story p { font-size: 12px; line-height: 1.4; }
	.latest-sidebar { grid-template-columns: 1fr; }
	.more-panel { padding: 16px; }
	.footer-main { grid-template-columns: 1fr 1fr; row-gap: 28px; padding-block-end: 22px; }
	.footer-brand { grid-column: 1 / -1; }
	.footer-column > a, .footer-column > span { min-height: 44px; display: inline-flex; align-items: center; }
	.footer-legal > * { display: inline-flex; align-items: center; min-height: 44px; }
	.footer-bottom { align-items: start; flex-wrap: wrap; }
	.article-layout { padding-block-start: 24px; }
	.article .wp-block-post-title { font-size: 36px; }
	.article .wp-block-post-excerpt { font-size: 17px; }
	.article-body { font-size: 16px; line-height: 1.7; }
	.article-sidebar, .article-sidebar .sidebar-follow { grid-template-columns: minmax(0, 1fr); }
	.sidebar-story { grid-template-columns: 100px 1fr; }
	.sidebar-story > img { width: 100px; }
	.sidebar-story .story-copy { font-size: 14px; }
	.ad-home-top { margin-block-start: 26px; }
	.ad-home-mid { margin-block-start: 32px; }
}
@media (max-width: 380px) {
	.category-archive .news-card h3 { font-size: 15px; }
	.category-archive .news-card > img { height: 108px; }
}
@media (forced-colors: active) {
	.hero-shade, .category-art::after { display: none; }
	.hero-copy, .category-intro { background: Canvas; color: CanvasText; }
	.menu-bars span { background: ButtonText; }
	.menu-panel { border: 1px solid CanvasText; }
}
