:root {
  --navy: #071a33;
  --navy-2: #0b2749;
  --ink: #0a172a;
  --muted: #526176;
  --line: #d8dee8;
  --line-dark: rgba(255, 255, 255, 0.2);
  --white: #fff;
  --soft: #f3f6fa;
  --violet: #5b32ff;
  --lime: #d9ff00;
  --blue: #4cb7ff;
  --mint: #39d3b4;
  --coral: #ff786a;
  --shell: 1380px;
  --gutter: clamp(1.25rem, 4vw, 4.5rem);
  --font: "Helvetica Neue", "Noto Sans Thai", "Leelawadee UI", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--navy); }
body { margin: 0; overflow-x: hidden; color: var(--ink); background: var(--white); font-family: var(--font); font-size: 16px; line-height: 1.55; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { color: inherit; font: inherit; }
button, select { cursor: pointer; }
img { display: block; max-width: 100%; }
p, h1, h2, h3 { margin-top: 0; }
.shell { width: min(100%, var(--shell)); margin: 0 auto; padding-inline: var(--gutter); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 999; top: .6rem; left: .6rem; padding: .75rem 1rem; color: var(--navy); background: var(--lime); transform: translateY(-140%); }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--lime); outline-offset: 3px; }

.site-header { position: sticky; z-index: 100; top: 0; display: flex; align-items: stretch; justify-content: space-between; min-height: 76px; padding-inline: var(--gutter); color: var(--white); background: rgba(7, 26, 51, .96); border-bottom: 1px solid var(--line-dark); backdrop-filter: blur(16px); }
.brand { display: inline-flex; align-items: center; gap: .75rem; min-width: 185px; font-size: .76rem; font-weight: 800; line-height: 1.02; letter-spacing: .08em; }
.brand-mark { width: 18px; height: 18px; background: conic-gradient(from 45deg, var(--lime), var(--blue), var(--violet), var(--coral), var(--lime)); border: 4px solid var(--navy); outline: 1px solid currentColor; border-radius: 50%; }
.primary-nav { display: flex; align-items: stretch; gap: clamp(.75rem, 1.45vw, 1.75rem); font-size: .74rem; font-weight: 650; }
.primary-nav > a { display: flex; align-items: center; position: relative; white-space: nowrap; }
.primary-nav > a:not(.nav-action)::after { position: absolute; right: 0; bottom: 0; left: 0; height: 3px; content: ""; background: var(--lime); transform: scaleX(0); transition: transform .18s ease; }
.primary-nav > a:hover::after, .primary-nav > a[aria-current="page"]::after { transform: scaleX(1); }
.primary-nav .lang-link { padding-inline: .25rem; color: var(--lime); }
.primary-nav .nav-action { align-self: center; height: 42px; padding: 0 1rem; color: var(--navy); background: var(--lime); }
.primary-nav .nav-action:hover { background: var(--white); }
.menu-button { display: none; align-items: center; gap: .7rem; padding: 0; color: var(--white); background: transparent; border: 0; }
.menu-button i, .menu-button i::before { display: block; width: 22px; height: 1px; content: ""; background: currentColor; }
.menu-button i::before { transform: translateY(6px); }

.home-hero { position: relative; min-height: 720px; overflow: hidden; color: var(--white); background: var(--navy); isolation: isolate; }
.home-hero::after { position: absolute; z-index: -1; right: 0; bottom: 0; left: 0; height: 4px; content: ""; background: linear-gradient(90deg, var(--violet), var(--blue), var(--mint), var(--lime), var(--coral)); }
.hero-map { position: absolute; z-index: -2; top: 0; right: 0; width: min(1120px, 76vw); height: calc(100% - 40px); object-fit: cover; object-position: 58% center; }
.home-hero::before { position: absolute; z-index: -1; inset: 0; content: ""; background: linear-gradient(90deg, var(--navy) 0%, var(--navy) 25%, rgba(7, 26, 51, .93) 38%, rgba(7, 26, 51, .35) 65%, rgba(7, 26, 51, .08) 100%); }
.home-hero-content { display: flex; flex-direction: column; justify-content: center; min-height: 650px; padding-top: 4rem; padding-bottom: 4rem; }
.home-hero-content { min-width: 0; }
.home-hero h1 { max-width: 8.8ch; margin: 0; overflow-wrap: anywhere; font-size: clamp(4rem, 7.4vw, 8.5rem); font-weight: 760; line-height: .88; letter-spacing: -.065em; }
.home-hero h1 span { color: var(--lime); }
.home-hero h1 .mobile-only-break { display: none; }
html[lang="th"] .home-hero h1 { max-width: 12ch; font-size: clamp(3.8rem, 6.4vw, 7rem); line-height: .94; }
.home-hero-content > p { max-width: 575px; margin: 2rem 0 0; color: rgba(255, 255, 255, .78); font-size: clamp(1rem, 1.35vw, 1.25rem); line-height: 1.6; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 1.3rem; align-items: center; margin-top: 2rem; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.8rem; min-height: 48px; padding: .85rem 1rem; font-size: .82rem; font-weight: 760; border: 1px solid transparent; }
.button span { font-size: 1.2em; }
.button-lime { color: var(--navy); background: var(--lime); }
.button-lime:hover { background: var(--white); transform: translateY(-2px); }
.button-ink { color: var(--white); background: var(--navy); }
.button-ink:hover { color: var(--navy); background: var(--lime); }
.button-violet { color: var(--white); background: var(--violet); }
.button-outline { background: var(--white); border-color: var(--ink); }
.text-link { display: inline-flex; gap: .65rem; align-items: center; padding-bottom: .25rem; font-size: .84rem; font-weight: 750; border-bottom: 2px solid currentColor; }
.on-dark { color: var(--white); border-color: var(--lime); }
.system-key { position: absolute; right: 0; bottom: 0; left: 0; display: flex; gap: clamp(1rem, 3vw, 3rem); height: 54px; align-items: center; color: rgba(255, 255, 255, .72); font-size: .68rem; }
.system-key span::before { display: inline-block; width: 7px; height: 7px; margin-right: .5rem; content: ""; border-radius: 50%; background: currentColor; }
.key-violet { color: #a98fff !important; } .key-lime { color: var(--lime) !important; } .key-blue { color: var(--blue) !important; } .key-coral { color: var(--coral) !important; }

.section { padding-block: clamp(5rem, 8vw, 9rem); }
.section-code { margin: 0; font-size: .7rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.section-heading { display: grid; grid-template-columns: 3fr 9fr; gap: 2rem; align-items: start; margin-bottom: 3.5rem; }
.section-heading.ruled { padding-bottom: 3rem; border-bottom: 1px solid var(--ink); }
.section-heading h2 { max-width: 17ch; margin-bottom: 1rem; font-size: clamp(2rem, 3.5vw, 4rem); line-height: 1.02; letter-spacing: -.05em; }
.section-heading p:not(.section-code) { max-width: 760px; color: var(--muted); }
.section-title-row { display: flex; justify-content: space-between; gap: 2rem; align-items: baseline; margin-bottom: 1.8rem; }
.section-title-row h2 { margin: 0; font-size: clamp(1.1rem, 1.65vw, 1.7rem); letter-spacing: -.02em; }
.section-title-row > a { color: var(--violet); font-size: .8rem; font-weight: 750; }
.section-title-row > p { max-width: 500px; margin: 0; color: var(--muted); font-size: .82rem; text-align: right; }

/* Home as institutional gateway */
.home-section-intro { display: grid; grid-template-columns: 3fr 9fr; gap: 2rem; margin-bottom: 3rem; }
.home-section-intro h2 { max-width: 18ch; margin: 0 0 1.2rem; font-size: clamp(2.5rem, 4.6vw, 5.4rem); line-height: .94; letter-spacing: -.06em; }
.home-section-intro p:not(.section-code) { max-width: 780px; color: var(--muted); font-size: 1.05rem; }
.policy-source { display: flex; flex-wrap: wrap; gap: .45rem 1rem; max-width: 780px; margin: 1.4rem 0; padding: 1rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.policy-source a { color: var(--violet); font-size: .78rem; font-weight: 800; }
.policy-source small { flex-basis: 100%; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.opportunity-mini-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--ink); border-left: 1px solid var(--line); }
.opportunity-mini-grid a { display: grid; grid-template-columns: 1fr auto; min-height: 215px; padding: 1.4rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: color .18s ease, background .18s ease; }
.opportunity-mini-grid a:hover { color: var(--white); background: var(--violet); }
.opportunity-mini-grid span { color: var(--muted); font-size: .65rem; }.opportunity-mini-grid i { font-size: 1.7rem; font-style: normal; }.opportunity-mini-grid strong { align-self: end; max-width: 10ch; font-size: 1.3rem; line-height: 1.05; }.opportunity-mini-grid b { align-self: end; justify-self: end; }
.home-now { color: var(--white); background: var(--navy); }
.home-now .section-title-row > a { color: var(--lime); }
.home-signal-grid { display: grid; grid-template-columns: 5fr 4fr 3fr; border-top: 1px solid var(--line-dark); border-left: 1px solid var(--line-dark); }
.home-signal-grid article { display: flex; flex-direction: column; min-height: 380px; padding: clamp(1.4rem, 3vw, 2.6rem); border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.home-signal-grid article:first-child { background: var(--violet); }.home-signal-grid article:nth-child(2) { background: var(--navy-2); }
.home-signal-grid span { color: var(--lime); font-size: .66rem; font-weight: 800; letter-spacing: .08em; }.home-signal-grid h3 { max-width: 15ch; margin: 3rem 0 1rem; font-size: clamp(1.7rem, 2.8vw, 3rem); line-height: .98; letter-spacing: -.045em; }.home-signal-grid p { color: rgba(255,255,255,.68); }.home-signal-grid a { margin-top: auto; color: var(--lime); font-size: .78rem; font-weight: 800; }
.home-knowledge-tools { background: var(--soft); }
.home-knowledge-grid { display: grid; grid-template-columns: 7fr 5fr; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.knowledge-feature, .tools-feature { padding: clamp(1.6rem, 3.5vw, 3.6rem); background: var(--white); }
.knowledge-feature h3, .tools-feature h3 { max-width: 13ch; font-size: clamp(2rem, 3.4vw, 4rem); line-height: .96; letter-spacing: -.05em; }.knowledge-feature > p, .tools-feature > p { color: var(--muted); }
.knowledge-feature > a:not(.button) { display: grid; grid-template-columns: 120px 1fr 24px; gap: 1rem; align-items: center; padding: 1rem 0; border-top: 1px solid var(--line); }.knowledge-feature > a:not(.button) span { color: var(--violet); font-size: .66rem; font-weight: 800; text-transform: uppercase; }.knowledge-feature .button, .tools-feature .button { margin-top: 2rem; }
.tools-feature { color: var(--white); background: var(--navy); }.tools-feature > p { color: rgba(255,255,255,.65); }.tools-feature ol { padding: 0; margin-top: 2rem; list-style: none; }.tools-feature li { display: grid; grid-template-columns: 50px 1fr; padding: .9rem 0; border-top: 1px solid var(--line-dark); }.tools-feature li span { color: var(--lime); font-size: .7rem; }
.challenge-rail { border-top: 1px solid var(--ink); }.challenge-rail > a { display: grid; grid-template-columns: 60px 1fr 30px; gap: 1.5rem; align-items: center; padding: 1.5rem 0; border-bottom: 1px solid var(--line); }.challenge-rail > a > span { color: var(--violet); font-size: .68rem; }.challenge-rail h3 { margin: 0 0 .3rem; font-size: clamp(1.3rem, 2vw, 2rem); }.challenge-rail p { max-width: 850px; margin: 0; color: var(--muted); }.challenge-rail b { color: var(--violet); font-size: 1.3rem; }
.home-projects { background: var(--soft); }.home-final-links, .knowledge-next, .project-related { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 2rem; border-top: 1px solid var(--ink); }.home-final-links a, .knowledge-next a, .project-related a { display: flex; justify-content: space-between; gap: 1rem; padding: 1.2rem 1rem 1.2rem 0; color: var(--violet); border-bottom: 1px solid var(--line); font-size: .78rem; font-weight: 800; }

.project-card-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.project-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: var(--white); border: 1px solid var(--line); transition: transform .18s ease, box-shadow .18s ease; }
.project-card:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(7,26,51,.1); }.project-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }.project-card > div { display: flex; flex: 1; flex-direction: column; padding: 1.4rem; }.project-card span { color: var(--violet); font-size: .64rem; font-weight: 800; text-transform: uppercase; }.project-card h3 { margin: 1rem 0 .8rem; font-size: clamp(1.55rem, 2.3vw, 2.5rem); line-height: .98; letter-spacing: -.04em; }.project-card p { color: var(--muted); font-size: .82rem; }.project-card strong { margin-top: auto; color: var(--violet); font-size: .75rem; }
.project-index-intro { display: grid; grid-template-columns: 8fr 4fr; gap: 2rem; align-items: end; margin-bottom: 3rem; }.project-index-intro h2 { max-width: 19ch; margin: 0; font-size: clamp(2rem, 3.8vw, 4.5rem); line-height: .97; letter-spacing: -.05em; }.project-index-intro p { color: var(--muted); }

.opportunity-preview { background: var(--white); }
.lane-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.lane { min-height: 370px; padding: 1.5rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.lane-index { display: block; margin-bottom: 2.6rem; color: var(--muted); font-size: .68rem; }
.lane i { display: block; margin-bottom: 1rem; font-size: 2.2rem; font-style: normal; line-height: 1; }
.lane h3 { max-width: 10ch; margin-bottom: 1rem; font-size: clamp(1.35rem, 2vw, 2rem); line-height: 1.05; }
.lane p { min-height: 7.2em; color: var(--muted); font-size: .86rem; }
.lane a { display: inline-flex; gap: .45rem; color: var(--violet); font-size: .75rem; font-weight: 750; }
.lane-rights i, .lane-rights a { color: var(--violet); } .lane-services i, .lane-services a { color: #007cc8; } .lane-markets i, .lane-markets a { color: #718000; } .lane-value i, .lane-value a { color: #d94435; }

.projects-preview { background: var(--soft); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.project-layout { display: grid; grid-template-columns: 8fr 4fr; gap: 1.2rem; }
.project-feature { display: grid; grid-template-columns: 1.1fr .9fr; min-height: 475px; background: var(--white); border: 1px solid var(--line); }
.project-feature > img { width: 100%; height: 100%; min-height: 475px; object-fit: cover; }
.project-feature > div { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(1.5rem, 3vw, 3rem); }
.record-status, .proposal-label { display: inline-flex; width: max-content; padding: .28rem .5rem; color: var(--white); background: var(--violet); font-size: .62rem; font-weight: 800; line-height: 1.2; text-transform: uppercase; }
.project-feature h3 { margin: 1rem 0; font-size: clamp(2rem, 3vw, 3.4rem); line-height: 1; letter-spacing: -.05em; }
.project-feature p { color: var(--muted); }
.project-feature strong { margin-top: auto; color: var(--violet); font-size: .78rem; }
.project-rail { display: grid; gap: 1.2rem; }
.project-rail > a { display: grid; grid-template-columns: 145px 1fr; min-height: 225px; overflow: hidden; background: var(--white); border: 1px solid var(--line); }
.project-rail img { width: 100%; height: 100%; object-fit: cover; }
.project-rail div { padding: 1.2rem; }
.project-rail h3 { margin: .8rem 0 .5rem; font-size: 1.25rem; line-height: 1.05; }
.project-rail p { margin: 0; color: var(--muted); font-size: .75rem; }
.status-legend { display: grid; grid-template-columns: 180px 1fr; gap: 1rem; padding: .85rem 0; color: var(--muted); border-bottom: 1px solid var(--line); font-size: .69rem; }
.status-legend p { margin: 0; }

.directory-preview, .directory-page { background: var(--white); }
.directory-tool { border: 1px solid var(--line); }
.directory-filters { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 0; border-bottom: 1px solid var(--line); }
.directory-filters label { display: grid; gap: .4rem; padding: 1rem; border-right: 1px solid var(--line); }
.directory-filters label:last-child { border-right: 0; }
.directory-filters span { font-size: .68rem; font-weight: 700; }
.directory-filters input, .directory-filters select { width: 100%; min-height: 42px; padding: .55rem .7rem; background: var(--white); border: 1px solid var(--line); border-radius: 0; }
.directory-table-wrap { overflow-x: auto; }
.directory-table { width: 100%; min-width: 850px; border-collapse: collapse; font-size: .76rem; }
.directory-table th { padding: .75rem 1rem; color: var(--white); background: var(--navy); font-size: .65rem; text-align: left; }
.directory-table td { padding: .85rem 1rem; border-bottom: 1px solid var(--line); }
.directory-table td:first-child { min-width: 250px; }
.directory-table td strong { display: block; }
.directory-table td small { display: block; max-width: 390px; margin-top: .3rem; color: var(--muted); }
.source-status { padding: .25rem .45rem; color: #145d45; background: #dcf7e9; font-size: .65rem; font-weight: 750; }
.directory-empty { padding: 1.5rem; margin: 0; color: var(--muted); }
.under-table { display: flex; justify-content: space-between; margin-top: .8rem; font-size: .75rem; font-weight: 700; }
.under-table a { color: var(--violet); }
.directory-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 3rem; background: var(--line); border: 1px solid var(--line); }
.directory-notes article { padding: 2rem; background: var(--soft); }
.directory-notes h2 { font-size: 1.45rem; }
.directory-notes p, .directory-notes li { color: var(--muted); }
.directory-notes a { color: var(--violet); font-weight: 750; }

.split-section { padding-top: 0; }
.split-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 1px; padding-top: 3rem; background: var(--line); border-top: 1px solid var(--line); }
.split-grid > div { padding: 0 2rem 2rem; background: var(--white); }
.update-list { border-top: 1px solid var(--ink); }
.update-list article { display: grid; grid-template-columns: 95px 115px 1fr; gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.update-list time, .update-list article > span { color: var(--muted); font-size: .66rem; }
.update-list h3 { margin: 0; font-size: 1rem; line-height: 1.25; }
.update-list p { grid-column: 3; margin: -.4rem 0 0; color: var(--muted); font-size: .78rem; }
.publication-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.publication-cover { position: relative; display: flex; flex-direction: column; justify-content: space-between; aspect-ratio: 3/4; padding: 1rem; overflow: hidden; color: var(--white); font-size: .9rem; font-weight: 800; line-height: 1.05; }
.publication-cover::before, .publication-cover::after { position: absolute; content: ""; border: 1px solid currentColor; transform: rotate(-18deg); }
.publication-cover::before { right: -20%; bottom: 8%; width: 120%; height: 45%; }
.publication-cover::after { right: 8%; bottom: -15%; width: 55%; height: 75%; }
.cover-framework { background: var(--violet); }.cover-baseline { background: #007fcd; }.cover-guide { background: var(--coral); }
.publication-grid small { display: block; margin-top: .7rem; color: var(--violet); font-size: .6rem; font-weight: 800; text-transform: uppercase; }
.publication-grid h3 { margin: .35rem 0; font-size: .95rem; line-height: 1.15; }
.publication-grid p { color: var(--muted); font-size: .68rem; }

.marketplace-band { color: var(--white); background: var(--navy); }
.marketplace-grid { display: grid; grid-template-columns: 3.2fr 8.8fr; gap: clamp(2rem, 5vw, 6rem); align-items: center; }
.marketplace-grid h2 { margin: 1rem 0; font-size: clamp(2rem, 3.5vw, 4rem); line-height: 1; }
.marketplace-grid p { color: rgba(255, 255, 255, .65); }
.proposal-label { color: var(--navy); background: var(--lime); }
.marketplace-flow { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; padding: 0; margin: 0; list-style: none; }
.marketplace-flow li { position: relative; text-align: center; }
.marketplace-flow li:not(:last-child)::after { position: absolute; top: 21px; right: -16px; color: var(--lime); content: "→"; }
.marketplace-flow span { display: grid; place-items: center; width: 46px; height: 46px; margin: 0 auto .75rem; color: var(--lime); border: 1px solid var(--blue); border-radius: 50%; }
.marketplace-flow strong { font-size: .75rem; }
.governance-preview { padding-block: 4rem; }
.method-grid { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.method-grid article { padding: 1.3rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.method-grid span { color: var(--violet); font-size: .66rem; font-weight: 800; }
.method-grid h3 { margin: 1.3rem 0 .6rem; font-size: 1rem; }
.method-grid p { margin: 0; color: var(--muted); font-size: .72rem; }

.page-hero { padding: clamp(7rem, 12vw, 12rem) 0 clamp(5rem, 8vw, 8rem); color: var(--white); background: var(--navy); border-bottom: 4px solid var(--lime); }
.page-hero-grid { display: grid; grid-template-columns: 3fr 9fr; gap: 2rem; }
.page-hero .section-code { padding-top: 1rem; color: var(--lime); }
.page-hero h1 { max-width: 11ch; margin: 0; font-size: clamp(3.5rem, 7vw, 8rem); line-height: .9; letter-spacing: -.065em; }
.page-lead { max-width: 760px; margin: 2rem 0 0; color: rgba(255, 255, 255, .68); font-size: clamp(1.05rem, 1.6vw, 1.4rem); }

.evidence-lanes .shell > article { display: grid; grid-template-columns: 3fr 9fr; gap: 2rem; padding: 4rem 0; border-bottom: 1px solid var(--line); }
.evidence-lanes article > div:first-child { display: flex; gap: 2rem; align-items: flex-start; color: var(--violet); font-size: 2.5rem; }
.evidence-lanes article > div:first-child span { font-size: .72rem; }
.evidence-lanes article i { font-style: normal; }
.evidence-lanes h2 { font-size: clamp(2.5rem, 4.5vw, 5.2rem); line-height: .95; letter-spacing: -.055em; }
.evidence-lanes p { max-width: 780px; color: var(--muted); font-size: 1.15rem; }
.evidence-lanes ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0; max-width: 820px; padding: 0; list-style: none; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.evidence-lanes li { padding: 1rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: .8rem; }
.source-section { background: var(--soft); }
.source-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--ink); border-left: 1px solid var(--line); }
.source-grid article { display: flex; flex-direction: column; min-height: 320px; padding: 1.5rem; background: var(--white); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.source-grid span { color: var(--violet); font-size: .64rem; font-weight: 800; text-transform: uppercase; }
.source-grid h3 { margin-top: 3rem; font-size: 1.35rem; line-height: 1.15; }
.source-grid p { color: var(--muted); font-size: .8rem; }
.source-grid a { margin-top: auto; color: var(--violet); font-size: .75rem; font-weight: 750; }

.project-index-row { display: grid; grid-template-columns: 45px 4fr 7fr 30px; gap: 1.5rem; align-items: center; padding: 2rem 0; border-top: 1px solid var(--line); }
.project-index-row > span { color: var(--violet); font-size: .7rem; }
.project-index-row img { width: 100%; height: 230px; object-fit: cover; }
.project-index-row small { color: var(--violet); font-weight: 800; text-transform: uppercase; }
.project-index-row h2 { margin: .65rem 0; font-size: clamp(2rem, 3.6vw, 4rem); line-height: .95; letter-spacing: -.05em; }
.project-index-row p, .project-index-row em { color: var(--muted); }
.project-index-row em { display: block; font-size: .72rem; }
.project-index-row > b { color: var(--violet); font-size: 1.5rem; }
.project-detail-hero { position: relative; min-height: 720px; display: grid; align-items: end; overflow: hidden; color: var(--white); background: var(--navy); }
.project-detail-hero::after { position: absolute; inset: 0; content: ""; background: linear-gradient(0deg, rgba(7, 26, 51, .98) 0%, rgba(7, 26, 51, .7) 38%, rgba(7, 26, 51, .1) 78%); }
.project-detail-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.project-detail-hero .shell { position: relative; z-index: 1; padding-bottom: 5rem; }
.project-detail-hero h1 { max-width: 12ch; margin: 1rem 0; font-size: clamp(3.5rem, 7vw, 8rem); line-height: .9; letter-spacing: -.065em; }
.project-detail-hero p { max-width: 750px; color: rgba(255, 255, 255, .75); font-size: 1.15rem; }
.project-note-grid { display: grid; grid-template-columns: 3fr 9fr; gap: 2rem; }
.project-note-grid > div > h2 { max-width: 16ch; font-size: clamp(2.5rem, 4vw, 4.7rem); line-height: 1; letter-spacing: -.05em; }
.project-note-grid > div > p { max-width: 850px; color: var(--muted); font-size: 1.1rem; }
.project-note-grid .project-question { max-width: 24ch; color: var(--ink); font-size: clamp(1.6rem, 2.6vw, 3rem); line-height: 1.15; }
.project-workstreams { margin: 4rem 0; }.project-workstreams h3 { color: var(--violet); font-size: .72rem; text-transform: uppercase; }.project-workstreams ol { display: grid; grid-template-columns: 1fr 1fr; padding: 0; border-top: 1px solid var(--ink); border-left: 1px solid var(--line); list-style: none; }.project-workstreams li { min-height: 130px; padding: 1.3rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.project-workstreams li span { display: block; margin-bottom: 2rem; color: var(--violet); font-size: .65rem; }.project-related { grid-template-columns: 1fr 1fr; margin: -1rem 0 3rem; }
.record-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 3rem 0; background: var(--line); border: 1px solid var(--line); }
.record-grid article { min-height: 200px; padding: 1.5rem; background: var(--soft); }
.record-grid h3 { color: var(--violet); font-size: .75rem; text-transform: uppercase; }
.record-grid p { color: var(--muted); }
.callout { padding: clamp(2rem, 4vw, 4rem); background: var(--lime); }
.callout > strong { font-size: clamp(1.8rem, 3vw, 3.5rem); line-height: 1; }
.callout p { max-width: 750px; margin: 1rem 0 2rem; }

.movement-page { background: var(--soft); }
.movement-page .update-list article { grid-template-columns: 120px 150px 1fr; padding: 2rem; background: var(--white); }
.movement-page .update-list h3 { font-size: clamp(1.5rem, 2.2vw, 2.4rem); }
.rss-panel { display: flex; justify-content: space-between; gap: 2rem; align-items: center; margin-top: 3rem; padding: 2.5rem; color: var(--white); background: var(--navy); }
.rss-panel span { color: var(--lime); font-size: .7rem; font-weight: 800; }
.rss-panel h2 { margin: .8rem 0; font-size: 2rem; }
.rss-panel p { margin: 0; color: rgba(255, 255, 255, .65); }
.knowledge-page .publication-grid { max-width: 1000px; }
.knowledge-page .publication-cover { padding: 1.5rem; font-size: 1.25rem; }
.source-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin: 6rem 0 2rem; padding-top: 2rem; border-top: 1px solid var(--ink); }
.source-heading h2 { font-size: 2.5rem; }
.source-heading p { color: var(--muted); }
.source-list { border-top: 1px solid var(--line); }
.source-list a { display: grid; grid-template-columns: 2fr 7fr 1fr 30px; gap: 1rem; align-items: center; padding: 1.3rem 0; border-bottom: 1px solid var(--line); }
.source-list span, .source-list small { color: var(--muted); font-size: .72rem; }
.source-list b { color: var(--violet); }

/* Shared Knowledge and Tools register */
.knowledge-register { border: 1px solid var(--line); background: var(--white); }
.knowledge-controls { display: grid; grid-template-columns: 1.5fr 2fr auto; gap: 1rem; align-items: end; padding: 1rem; border-bottom: 1px solid var(--line); }.knowledge-controls label { display: grid; gap: .35rem; }.knowledge-controls label span { font-size: .67rem; font-weight: 800; }.knowledge-controls input { width: 100%; min-height: 44px; padding: .65rem .75rem; border: 1px solid var(--line); }.knowledge-controls > p { margin: 0; color: var(--muted); font-size: .72rem; }.knowledge-types { display: flex; flex-wrap: wrap; gap: .35rem; }.knowledge-types button { padding: .55rem .7rem; background: var(--soft); border: 1px solid var(--line); font-size: .66rem; text-transform: capitalize; }.knowledge-types button.active { color: var(--white); background: var(--violet); border-color: var(--violet); }
.knowledge-table-wrap { overflow-x: auto; }.knowledge-table { width: 100%; min-width: 900px; border-collapse: collapse; font-size: .76rem; }.knowledge-table th { padding: .75rem 1rem; color: var(--white); background: var(--navy); text-align: left; font-size: .63rem; }.knowledge-table td { padding: 1rem; vertical-align: top; border-bottom: 1px solid var(--line); }.knowledge-table td:first-child { width: 42%; }.knowledge-table td strong, .knowledge-table td small { display: block; }.knowledge-table td small { margin-top: .3rem; color: var(--muted); }.knowledge-table td p { max-width: 620px; margin: .5rem 0 0; color: var(--muted); font-size: .72rem; }.knowledge-table td:last-child { color: var(--violet); font-size: 1.2rem; }.record-type { display: inline-flex; padding: .25rem .5rem; color: var(--violet); background: #eee9ff; font-size: .62rem; font-weight: 800; text-transform: uppercase; }.knowledge-empty { padding: 1.5rem; margin: 0; color: var(--muted); }.knowledge-next { grid-template-columns: 1fr 1fr; }
.tools-page { background: var(--soft); }.tool-application-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--ink); border-left: 1px solid var(--line); }.tool-application-grid a { display: flex; flex-direction: column; min-width: 0; min-height: 320px; padding: 1.5rem; background: var(--white); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.tool-application-grid span { color: var(--violet); font-size: .66rem; font-weight: 800; }.tool-application-grid h2 { margin: 3.5rem 0 .7rem; font-size: 1.65rem; line-height: 1; }.tool-application-grid p { overflow-wrap: anywhere; color: var(--muted); font-size: .78rem; }.tool-application-grid b { margin-top: auto; color: var(--violet); }
.tools-register-heading { display: grid; grid-template-columns: 7fr 5fr; gap: 2rem; align-items: end; margin: 7rem 0 2rem; }.tools-register-heading h2 { max-width: 13ch; margin: .7rem 0 0; font-size: clamp(2.4rem, 4vw, 4.7rem); line-height: .95; letter-spacing: -.055em; }.tools-register-heading > p { color: var(--muted); }
.tools-editorial { display: grid; grid-template-columns: 7fr 5fr; gap: 2rem; margin-top: 7rem; padding: clamp(2rem, 4vw, 4rem); color: var(--white); background: var(--navy); }.tools-editorial h2 { max-width: 16ch; margin-top: 1rem; font-size: clamp(2.2rem, 4vw, 4.7rem); line-height: .95; letter-spacing: -.055em; }.tools-editorial p { color: rgba(255,255,255,.65); }.tools-editorial ol { padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line-dark); }.tools-editorial li { display: grid; grid-template-columns: 60px 1fr; padding: 1rem 0; border-bottom: 1px solid var(--line-dark); }.tools-editorial li span { color: var(--lime); font-size: .66rem; }.editorial-actions { grid-column: 2; display: flex; flex-wrap: wrap; gap: 1.2rem; align-items: center; }.editorial-actions .text-link { color: var(--white); }

.marketplace-page { background: var(--soft); }
.marketplace-page .marketplace-flow { padding: 3rem; color: var(--white); background: var(--navy); }
.marketplace-rules { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 3rem; background: var(--line); }
.marketplace-rules article { padding: 2.5rem; background: var(--white); }
.marketplace-rules h2 { font-size: 2rem; }
.marketplace-rules li { padding: .75rem 0; color: var(--muted); border-bottom: 1px solid var(--line); }
.dark-callout { margin-top: 3rem; color: var(--white); background: var(--navy); }
.dark-callout h2 { max-width: 22ch; margin: 1.2rem 0; font-size: clamp(2rem, 4vw, 4.5rem); line-height: 1; }
.dark-callout p { color: rgba(255, 255, 255, .65); }
.methodology-page .method-grid { grid-template-columns: 1fr; }
.methodology-page .method-grid article { display: grid; grid-template-columns: 70px 3fr 7fr; gap: 2rem; align-items: baseline; padding: 2rem; }
.methodology-page .method-grid h3 { margin: 0; font-size: 1.6rem; }
.methodology-page .method-grid p { font-size: .9rem; }
.editorial-pipeline { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 5rem; color: var(--white); background: var(--navy); }
.editorial-pipeline > div { min-height: 220px; padding: 1.5rem; border-right: 1px solid var(--line-dark); }
.editorial-pipeline span { color: var(--lime); font-size: .7rem; }
.editorial-pipeline strong { display: block; margin: 4rem 0 .5rem; font-size: 1.2rem; }
.editorial-pipeline p { color: rgba(255, 255, 255, .6); font-size: .75rem; }
.boundary-note { margin-top: 5rem; }
.boundary-note > h2 { max-width: 18ch; font-size: clamp(2.5rem, 4vw, 4.5rem); line-height: 1; }
.boundary-note > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.boundary-note article { padding: 2rem; background: var(--soft); }
.boundary-note h3 { color: var(--violet); }
.boundary-note p { color: var(--muted); }

.contribute-page { background: var(--soft); }
.contribute-grid { display: grid; grid-template-columns: 7fr 4fr; gap: 1rem; }
.contribute-form, .contribute-grid aside { padding: clamp(1.5rem, 3vw, 3rem); background: var(--white); border: 1px solid var(--line); }
.contribute-form { display: grid; gap: 1rem; }
.contribute-form label:not(.checkbox) { display: grid; gap: .4rem; }
.contribute-form label > span { font-size: .75rem; font-weight: 700; }
.contribute-form input, .contribute-form select, .contribute-form textarea { width: 100%; padding: .8rem; background: var(--white); border: 1px solid var(--line); border-radius: 0; }
.checkbox { display: flex; gap: .7rem; align-items: flex-start; padding: 1rem; background: var(--soft); }
.checkbox input { margin-top: .2rem; }
.contribute-grid aside h2 { font-size: 2rem; }
.contribute-grid aside li { margin-bottom: 1rem; color: var(--muted); }
.contribute-grid aside a { color: var(--violet); font-weight: 750; }
.form-status { min-height: 1.5em; margin: 0; color: #145d45; font-weight: 700; }

.site-footer { color: var(--white); background: var(--navy); border-top: 4px solid var(--lime); }
.footer-grid { display: grid; grid-template-columns: 3fr 2fr 2fr 3fr; gap: 3rem; padding-top: 4rem; padding-bottom: 4rem; }
.footer-grid h2 { color: var(--lime); font-size: .72rem; text-transform: uppercase; }
.footer-grid p { color: rgba(255, 255, 255, .6); font-size: .78rem; }
.footer-grid > div:not(.footer-brand) > a { display: block; margin-bottom: .65rem; color: rgba(255, 255, 255, .8); font-size: .78rem; }
.footer-brand .brand { margin-bottom: 1rem; }
.footer-operator { color: var(--lime) !important; font-weight: 800; }
.footer-base { display: grid; grid-template-columns: 1fr 2fr 1fr; gap: 2rem; padding-top: 1.2rem; padding-bottom: 1.2rem; color: rgba(255, 255, 255, .48); border-top: 1px solid var(--line-dark); font-size: .65rem; }

/* Editorial desk */
.admin-page { min-width: 1120px; background: var(--soft); }
.admin-header { position: sticky; z-index: 30; top: 0; display: flex; align-items: center; justify-content: space-between; height: 72px; padding: 0 1.5rem; background: var(--white); border-bottom: 1px solid var(--line); }
.admin-wordmark { font-size: 1.2rem; font-weight: 800; }.admin-wordmark b { color: var(--violet); }
.admin-header nav { display: flex; align-items: stretch; height: 100%; gap: 2rem; }
.admin-header nav a { display: grid; place-items: center; position: relative; font-size: .75rem; font-weight: 700; }
.admin-header nav a[aria-current="page"]::after { position: absolute; right: 0; bottom: 0; left: 0; height: 3px; content: ""; background: var(--violet); }
.admin-shell { display: grid; grid-template-columns: 240px minmax(620px, 1fr) 420px; min-height: calc(100vh - 72px); }
.admin-rail { padding: 1rem; color: var(--white); background: var(--navy); }
.queue-state { display: flex; justify-content: space-between; padding: 1rem; margin-bottom: .25rem; border: 1px solid transparent; }
.queue-state.active { background: var(--violet); }.queue-state.separated { margin-top: 1rem; padding-top: 1.5rem; border-top-color: var(--line-dark); }
.admin-rail > p { margin-top: 3rem; color: rgba(255, 255, 255, .55); font-size: .72rem; }
.admin-rail > button { width: 100%; padding: .75rem; margin-top: .65rem; color: var(--white); background: transparent; border: 1px solid var(--line-dark); }
.admin-workspace { background: var(--white); border-right: 1px solid var(--line); }
.ingest-strip { display: grid; grid-template-columns: 1fr auto auto; gap: 1rem; align-items: end; padding: 1.5rem; border-bottom: 1px solid var(--line); }
.ingest-strip label { display: grid; gap: .4rem; }.ingest-strip label span { font-size: .7rem; font-weight: 700; }.ingest-strip input { min-height: 48px; padding: .75rem; border: 1px dashed #93a2b6; }
.queue-head { display: flex; justify-content: space-between; padding: 1.5rem; }.queue-head h1 { margin: 0; font-size: 1.6rem; }.queue-head p { margin: .25rem 0 0; color: var(--muted); font-size: .75rem; }.queue-head label { display: grid; gap: .3rem; font-size: .7rem; }.queue-head select { padding: .5rem; border: 1px solid var(--line); }
.queue-table-wrap { overflow-x: auto; border-top: 1px solid var(--line); }
.queue-table { width: 100%; border-collapse: collapse; font-size: .7rem; }
.queue-table th, .queue-table td { padding: .9rem .7rem; text-align: left; border-bottom: 1px solid var(--line); }
.queue-table th { color: var(--muted); font-size: .62rem; }
.queue-table tbody tr { cursor: pointer; }.queue-table tbody tr:hover, .queue-table tbody tr.selected { background: #f2efff; box-shadow: inset 3px 0 0 var(--violet); }
.queue-table td strong { display: block; max-width: 210px; font-size: .75rem; }.queue-table td small { display: block; color: var(--muted); }
.state-chip { padding: .2rem .4rem; font-size: .6rem; font-weight: 750; }.state-prepared { color: #4e2bd1; background: #ebe6ff; }.state-needs-evidence { color: #8d4b00; background: #fff0d9; }.state-ready { color: #145d45; background: #dcf7e9; }.state-rejected { color: #9a2f25; background: #ffe3df; }
.queue-empty { padding: 2rem; color: var(--muted); text-align: center; }
.admin-note { margin: 1.5rem; padding: 1rem; background: #fff9df; border-left: 3px solid #f0b100; }.admin-note strong { font-size: .75rem; }.admin-note p { margin: .35rem 0 0; color: var(--muted); font-size: .7rem; }
.review-panel { padding: 1.5rem; background: var(--white); }
.review-heading { display: flex; justify-content: space-between; }.review-heading span { color: var(--violet); font-size: .62rem; font-weight: 800; }.review-heading h2 { margin: .35rem 0 1.2rem; font-size: 1.35rem; }.review-heading button { align-self: flex-start; font-size: 1.5rem; background: transparent; border: 0; }
.review-panel form { display: grid; gap: .75rem; }.review-panel form > label, .review-panel .form-pair label { display: grid; gap: .3rem; font-size: .68rem; font-weight: 700; }.review-panel input, .review-panel select, .review-panel textarea { width: 100%; padding: .6rem; border: 1px solid var(--line); }.form-pair { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.review-panel fieldset { padding: 1rem; border: 1px solid var(--line); }.review-panel legend { font-size: .7rem; font-weight: 800; }.check { display: flex; gap: .6rem; align-items: center; margin-top: .6rem; font-size: .68rem; }.check input { width: auto; }
.review-actions { display: grid; grid-template-columns: 1fr 1fr 1.3fr; gap: .5rem; margin-top: .5rem; }.review-actions button { min-height: 44px; border: 1px solid var(--line); }.reject { color: #b53b2f; background: var(--white); border-color: var(--coral) !important; }.save { background: var(--white); }.approve { background: var(--lime); border-color: var(--lime) !important; font-weight: 800; }
.human-lock { padding: .75rem; margin: 0; color: var(--muted); background: var(--soft); font-size: .63rem; }

@media (max-width: 1100px) {
  .primary-nav { position: fixed; inset: 76px 0 0; display: none; align-content: start; background: var(--navy); padding: 2rem var(--gutter); }
  .primary-nav.open { display: grid; }
  .primary-nav > a { min-height: 48px; border-bottom: 1px solid var(--line-dark); font-size: 1rem; }
  .primary-nav .nav-action { justify-content: center; margin-top: 1rem; }
  .menu-button { display: flex; }
  .hero-map { width: 100%; opacity: .72; }
  .home-hero::before { background: linear-gradient(90deg, var(--navy), rgba(7,26,51,.78) 58%, rgba(7,26,51,.22)); }
  .lane-grid { grid-template-columns: 1fr 1fr; }
  .project-layout, .split-grid, .marketplace-grid { grid-template-columns: 1fr; }
  .project-feature { grid-template-columns: 1fr 1fr; }
  .source-grid { grid-template-columns: 1fr 1fr; }
  .method-grid { grid-template-columns: repeat(3, 1fr); }
  .opportunity-mini-grid, .tool-application-grid { grid-template-columns: 1fr 1fr; }
  .home-signal-grid { grid-template-columns: 1fr 1fr; }.home-signal-grid article:last-child { grid-column: 1 / -1; min-height: 270px; }
  .home-knowledge-grid, .tools-editorial { grid-template-columns: 1fr; }.editorial-actions { grid-column: 1; }
  .knowledge-controls { grid-template-columns: 1fr; align-items: start; }
}

@media (max-width: 760px) {
  :root { --gutter: 1.1rem; }
  .site-header { min-height: 68px; }.primary-nav { inset: 68px 0 0; }.brand { min-width: auto; }
  .home-hero { min-height: 720px; }.home-hero-content { width: 100%; min-height: 650px; justify-content: flex-end; padding-bottom: 7rem; }.home-hero h1 { max-width: 100%; font-size: clamp(3.35rem, 15vw, 4.8rem); }.home-hero h1 .mobile-only-break { display: block; }html[lang="th"] .home-hero h1 { max-width: 100%; font-size: clamp(3rem, 13vw, 4.2rem); }.hero-map { width: 165%; max-width: none; height: 60%; top: 2%; right: 0; object-position: right center; }.home-hero::before { background: linear-gradient(0deg, var(--navy) 0%, var(--navy) 35%, rgba(7,26,51,.6) 70%, rgba(7,26,51,.12)); }.system-key { gap: .7rem; overflow-x: auto; white-space: nowrap; }.home-hero .hero-actions { align-items: flex-start; flex-direction: column; }
  .section { padding-block: 4.5rem; }.section-heading, .page-hero-grid, .evidence-lanes .shell > article, .project-note-grid, .home-section-intro, .project-index-intro, .tools-register-heading { grid-template-columns: 1fr; }.section-heading h2 { font-size: 2.65rem; }.section-title-row { align-items: flex-start; flex-direction: column; }.section-title-row > p { text-align: left; }
  .lane-grid, .source-grid, .method-grid, .publication-grid, .directory-notes, .marketplace-rules, .boundary-note > div, .contribute-grid { grid-template-columns: 1fr; }.lane { min-height: auto; }.lane p { min-height: 0; }.lane-index { margin-bottom: 1rem; }
  .project-feature { grid-template-columns: 1fr; }.project-feature > img { min-height: 280px; height: 280px; }.project-rail > a { grid-template-columns: 115px 1fr; }.status-legend { grid-template-columns: 1fr; }
  .directory-filters { grid-template-columns: 1fr; }.directory-filters label { border-right: 0; border-bottom: 1px solid var(--line); }
  .directory-table { min-width: 0; table-layout: fixed; }.directory-table th:nth-child(3), .directory-table th:nth-child(4), .directory-table th:nth-child(5), .directory-table td:nth-child(3), .directory-table td:nth-child(4), .directory-table td:nth-child(5) { display: none; }.directory-table th:first-child, .directory-table td:first-child { width: 56%; min-width: 0; }.directory-table th:nth-child(2), .directory-table td:nth-child(2) { width: 34%; }.directory-table th:last-child, .directory-table td:last-child { width: 10%; }.directory-table td { overflow-wrap: anywhere; }
  .split-grid > div { padding-inline: 0; }.update-list article, .movement-page .update-list article { grid-template-columns: 1fr 1fr; }.update-list h3, .update-list p { grid-column: 1 / -1; }.marketplace-flow, .marketplace-page .marketplace-flow { grid-template-columns: 1fr; padding: 2rem; }.marketplace-flow li { display: grid; grid-template-columns: 46px 1fr; align-items: center; text-align: left; }.marketplace-flow span { margin: 0; }.marketplace-flow li::after { display: none; }
  .method-grid, .methodology-page .method-grid { grid-template-columns: 1fr; }.methodology-page .method-grid article { grid-template-columns: 50px 1fr; }.methodology-page .method-grid p { grid-column: 2; }.editorial-pipeline { grid-template-columns: 1fr; }.editorial-pipeline > div { min-height: auto; border-bottom: 1px solid var(--line-dark); }.editorial-pipeline strong { margin-top: 1rem; }
  .project-index-row { grid-template-columns: 32px 1fr; }.project-index-row img { grid-column: 2; height: 190px; }.project-index-row > div { grid-column: 2; }.project-index-row > b { display: none; }.project-detail-hero { min-height: 620px; }.record-grid { grid-template-columns: 1fr; }
  .evidence-lanes ul { grid-template-columns: 1fr; }.source-heading, .source-list a { grid-template-columns: 1fr; }.source-list b { display: none; }.rss-panel { align-items: flex-start; flex-direction: column; }
  .opportunity-mini-grid, .home-signal-grid, .project-card-grid, .tool-application-grid { grid-template-columns: 1fr; }.home-signal-grid article:last-child { grid-column: auto; }.home-signal-grid article { min-height: 310px; }.opportunity-mini-grid a { min-height: 165px; }.knowledge-feature > a:not(.button) { grid-template-columns: 80px 1fr 20px; }.challenge-rail > a { grid-template-columns: 40px 1fr 20px; }.home-final-links, .knowledge-next, .project-related { grid-template-columns: 1fr; }.project-workstreams ol { grid-template-columns: 1fr; }.project-card img { aspect-ratio: 16 / 10; }.knowledge-table { min-width: 760px; }.tools-editorial { padding: 1.5rem; }
  .footer-grid { grid-template-columns: 1fr 1fr; }.footer-brand { grid-column: 1 / -1; }.footer-base { grid-template-columns: 1fr; }
}

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