/* Shared foundation identity. Existing page-specific layouts and handlers remain intact. */
body.site-upgrade { --primary:#28594e; --primary-dark:#173448; --primary-light:#557b61; --accent:#d6a64a; --accent-hover:#e5bc68; --cream:#fbf7ef; --off-white:#f8f6f0; --border:#dce4d9; --text-mid:#52665e; --text-light:#66776e; }
.site-upgrade :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #956c23; outline-offset:4px; }
.site-upgrade :is(.page-nav,.ap-nav,.fr-nav,.pol-bar) { background:#fffdf9; border-bottom-color:#dce4d9; }
.site-upgrade :is(.page-hero,.auth-page) { background:#fbf7ef; }
.site-upgrade .page-hero :is(h1,.lede) { color:#173448; }
.site-upgrade :is(.page-nav-donate,.fr-nav-donate) { background:#e8c779; color:#173448; box-shadow:none; }
.site-upgrade :is(.auth-card,.fact-card) { border-color:#dce4d9; border-radius:16px; box-shadow:0 12px 40px #244f4609; }
.site-upgrade .nav-user-name,.site-upgrade .nav-user-greet { color:#294b43; }
.site-upgrade .nav-center .mega-toggle { display:inline-flex; align-items:center; gap:8px; border:0; padding:0; background:none; color:#294b43; font:inherit; font-size:14px; cursor:pointer; }
.site-upgrade .has-mega.open .mega-toggle .caret { transform:rotate(180deg); }
.site-upgrade .mega-panel[hidden] { display:none; }
.site-upgrade .video-fallback-tech { display:none; }
.site-upgrade .auth-side { background:#28594e; }
.site-upgrade .auth-form-side { background:#fffdf9; }
.site-upgrade .auth-submit { background:#28594e; color:white; border-radius:9px; box-shadow:none; }
.site-upgrade .auth-submit:hover { background:#204c42; }
.site-upgrade :is(.auth-form-card h2,.page-hero h1) { font-weight:500; letter-spacing:-.035em; }
.site-upgrade :is(.fpw-header,.admin-sidebar) { background:#244f46; }
.site-upgrade :is(.admin-card,.ap-panel,.fr-hero,.fr-donate-card,.legacy-pillar) { border-color:#dce4d9; border-radius:16px; box-shadow:0 12px 40px #244f4609; }
.site-upgrade .fr-cover { background:#28594e; }
.site-upgrade .page-footer { background:#244f46; }
.site-upgrade .page-hero-eyebrow { color:#806225; }
.site-upgrade .news-story-link { display:inline-block; margin-left:18px; font-size:12px; color:#28594e; text-underline-offset:3px; }
.upgrade-footer-links { display:flex; flex-wrap:wrap; gap:12px 24px; border-top:1px solid #ffffff30; margin-top:24px; padding:24px 0 0; }
.upgrade-footer-links a { font-size:13px; color:inherit; text-decoration:underline; text-underline-offset:4px; }
.content-review-results { margin:20px 0; padding:18px; background:#fffdf9; border:1px solid #dce4d9; border-radius:12px; max-height:420px; overflow:auto; }
.content-review-results li { padding:8px 0; line-height:1.6; font-size:13px; }
.site-upgrade .upgrade-links { display:flex; gap:12px 22px; flex-wrap:wrap; padding:18px 0; margin-top:24px; border-top:1px solid #dce4d9; }
.site-upgrade .upgrade-links a { color:#28594e; font-size:14px; text-underline-offset:4px; }
.upgrade-tools { display:flex; flex-wrap:wrap; align-items:end; gap:16px; margin:20px 0 26px; padding:20px; border:1px solid #dce4d9; border-radius:14px; background:#fffdf9; }
.upgrade-tools label { display:grid; gap:8px; color:#294b43; font-size:14px; font-weight:600; }
.upgrade-tools input,.upgrade-tools select { font:inherit; max-width:100%; padding:12px; background:white; border:1px solid #b9caba; border-radius:8px; color:#173448; }
.upgrade-tools [role=status] { font-size:13px; color:#52665e; }
.upgrade-notice { padding:18px 22px; border-left:3px solid #c6a354; background:#f4ecd4; color:#374c43; border-radius:0 10px 10px 0; margin:20px 0; font-size:14px; line-height:1.7; }
.faq-permalink { display:inline-block; margin:10px 0 18px 24px; color:#28594e; font-size:12px; text-underline-offset:3px; }
.faq-item { scroll-margin-top:110px; }
.upgrade-back { display:block; width:max-content; max-width:90%; margin:20px auto; color:#28594e; font-size:13px; text-underline-offset:4px; }
.editorial-page { margin:0; background:#fbf7ef; color:#173448; font-family:Inter,system-ui,sans-serif; }
.editorial-page * { box-sizing:border-box; }
.editorial-page a { text-underline-offset:4px; }
.ed-container { width:min(1200px,calc(100% - 64px)); margin-inline:auto; }
.ed-skip { position:absolute; top:-100px; left:20px; z-index:300; background:white; padding:16px; }
.ed-skip:focus { top:12px; }
.ed-header { position:sticky; top:0; z-index:110; background:#fffdf9; border-bottom:1px solid #dce4d9; }
.ed-header-inner { display:flex; align-items:center; justify-content:space-between; gap:22px; min-height:88px; }
.ed-brand { display:flex; align-items:center; gap:12px; color:#173448; text-decoration:none; flex-shrink:0; }
.ed-brand img { width:46px; height:52px; object-fit:contain; }
.ed-brand strong { display:block; font-size:19px; }
.ed-brand small { display:block; letter-spacing:.2em; text-transform:uppercase; font-size:10px; color:#806225; margin-top:5px; }
.ed-nav { display:flex; gap:24px; align-items:center; }
.ed-nav a,.ed-nav summary { color:#294b43; text-decoration:none; font-size:14px; cursor:pointer; }
.ed-nav a:hover,.ed-nav summary:hover { color:#806225; }
.ed-nav details { position:relative; }
.ed-menu { position:absolute; top:34px; left:-16px; width:255px; padding:12px; border:1px solid #dce4d9; background:#fffdf9; border-radius:12px; box-shadow:0 18px 40px #17344816; }
.ed-menu a { display:block; padding:11px; border-radius:6px; }
.ed-menu a:hover { background:#edf2e7; }
.ed-actions { display:flex; align-items:center; gap:14px; }
.ed-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:14px 21px; min-height:48px; background:#28594e; border:1px solid #28594e; color:#fffdf9; border-radius:9px; text-decoration:none; font:600 14px Inter,system-ui,sans-serif; cursor:pointer; }
.ed-button:hover { background:#204c42; color:white; }
.ed-button.gold { background:#e8c779; border-color:#e8c779; color:#173448; }
.ed-button.outline { background:transparent; color:#28594e; border-color:#b9caba; }
.ed-menu-toggle { display:none; }
.ed-languages { display:flex; gap:4px; }
.ed-languages button { padding:6px 7px; border:0; border-radius:20px; background:transparent; color:#294b43; font:600 11px Inter,system-ui,sans-serif; cursor:pointer; }
.ed-languages button.active { background:#e8c779; }
.ed-language-note { padding:12px 16px; background:#edf2e7; border-radius:8px; font-size:12px; color:#52665e; }
.ed-breadcrumb { padding-top:28px; font-size:12px; color:#52665e; }
.ed-breadcrumb a { color:inherit; }
.ed-hero { position:relative; padding:56px 0 68px; overflow:hidden; }
.ed-hero-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(230px,.7fr); gap:64px; align-items:center; }
.ed-kicker { color:#806225; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; margin:0 0 20px; }
.ed-hero h1 { margin:0 0 24px; max-width:850px; font:500 clamp(40px,5vw,66px)/1.1 'Playfair Display',Georgia,serif; letter-spacing:-.035em; }
.ed-hero .ed-lede { font-size:18px; line-height:1.8; max-width:720px; color:#52665e; margin:0; }
.ed-emblem { aspect-ratio:1; display:grid; align-content:center; justify-items:center; border-radius:48% 48% 24px 24px; background:#e6eddf; border:1px solid #d3dfcb; padding:35px; text-align:center; }
.ed-emblem img { width:110px; height:120px; object-fit:contain; }
.ed-emblem p { font:500 25px/1.4 'Playfair Display',Georgia,serif; color:#28594e; margin:20px 0 0; }
.ed-section { padding:56px 0; border-top:1px solid #dce4d9; }
.ed-section h2 { font:500 clamp(28px,3.2vw,40px)/1.2 'Playfair Display',Georgia,serif; letter-spacing:-.025em; margin:0 0 22px; }
.ed-section h3 { font:600 24px/1.3 'Playfair Display',Georgia,serif; margin:0 0 14px; }
.ed-section p,.ed-section li { line-height:1.8; color:#52665e; }
.ed-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.ed-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ed-card { padding:30px; border:1px solid #dce4d9; border-radius:16px; background:#fffdf9; }
.ed-card:nth-child(3n+2) { background:#edf2e7; }
.ed-card .ed-number { display:block; color:#806225; font-size:12px; letter-spacing:.15em; margin-bottom:25px; }
.ed-card a { color:#28594e; font-weight:600; }
.ed-card p:last-child { margin-bottom:0; }
.ed-split { display:grid; grid-template-columns:1fr 1.5fr; gap:65px; align-items:start; }
.ed-cta { margin:30px 0 60px; background:#28594e; color:white; padding:38px; border-radius:18px; display:flex; justify-content:space-between; gap:28px; align-items:center; }
.ed-cta h2 { color:white; font:500 32px 'Playfair Display',Georgia,serif; margin:0 0 12px; }
.ed-cta p { color:#e3ecdf; margin:0; line-height:1.7; }
.ed-cta .ed-button { flex-shrink:0; }
.ed-footer { background:#244f46; padding:48px 0 28px; color:#e3ecdf; }
.ed-footer-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:30px; }
.ed-footer h2 { font:500 25px 'Playfair Display',Georgia,serif; color:white; margin:0 0 16px; }
.ed-footer h3 { color:#e8c779; font-size:12px; text-transform:uppercase; letter-spacing:.12em; margin:0 0 18px; }
.ed-footer a { display:block; width:fit-content; color:#e3ecdf; font-size:13px; text-decoration:none; margin:12px 0; }
.ed-footer p { font-size:13px; line-height:1.8; }
.ed-footer-bottom { border-top:1px solid #ffffff26; padding-top:20px; margin-top:32px; font-size:12px; }
.ed-filter { display:flex; align-items:end; flex-wrap:wrap; gap:16px; margin:25px 0; }
.ed-filter label { display:grid; gap:9px; font-size:13px; color:#294b43; font-weight:600; }
.ed-filter :is(input,select) { font:inherit; min-height:48px; padding:12px; border:1px solid #b9caba; border-radius:8px; color:#173448; background:white; max-width:100%; }
.ed-result-count { font-size:13px; color:#52665e; }
.ed-article { max-width:780px; margin:auto; }
.ed-article p { white-space:pre-line; }
.ed-news-image { width:100%; height:180px; object-fit:cover; border-radius:10px; margin-bottom:22px; }
.ed-news-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; background:#e7ede2; color:#496552; }
.ed-card:nth-child(3n+2) .ed-news-placeholder { background:#f0e6d8; color:#775e43; }
.ed-card:nth-child(3n) .ed-news-placeholder { background:#e5ecec; color:#48676a; }
.ed-news-placeholder svg { width:32px; height:32px; stroke-width:1.4; }
.ed-news-placeholder span { font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.ed-news-date { font-size:12px; color:#806225; }
.ed-empty { padding:28px; background:#edf2e7; border-radius:12px; }
.editorial-page [hidden],.site-upgrade .fact-card[hidden],.site-upgrade .faq-item[hidden] { display:none!important; }
.ed-founder .section-label { color:#806225; }
.ed-founder .section-headline { font:500 38px 'Playfair Display',Georgia,serif; }
.ed-founder .team-avatar { background:#e6eddf!important; color:#28594e!important; box-shadow:none!important; }
.ed-founder svg { max-width:32px; max-height:32px; }
.ed-founder .career-event { padding:0 0 27px; border-bottom:0; }
.ed-founder .career-year { color:#806225; font-size:13px; }
.ed-founder .career-more summary { cursor:pointer; color:#28594e; }
.ed-founder a { color:#28594e; }
.ed-founder .career-hide { display:none; }
.ed-founder details[open] .career-hide { display:inline; }
.ed-founder details[open] .career-show { display:none; }
@media(max-width:1050px){.ed-header-inner{flex-wrap:wrap;gap:15px;padding-block:14px}.ed-nav{order:3;width:100%;justify-content:space-between;gap:16px}.ed-hero-grid{gap:32px}.ed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.ed-container{width:calc(100% - 36px)}.ed-brand strong{font-size:16px}.ed-brand img{width:36px;height:42px}.ed-actions{gap:8px}.ed-actions .ed-button{padding:10px 12px;min-height:42px}.ed-menu-toggle{display:inline-flex}.ed-header-inner{min-height:76px}.ed-header.js-menu .ed-nav{display:none}.ed-header.js-menu .ed-nav.open{display:flex}.ed-nav{flex-direction:column;align-items:stretch;padding:14px 0;max-height:65vh;overflow:auto}.ed-nav>a,.ed-nav summary{padding:10px}.ed-menu{position:static;width:100%;box-shadow:none;margin-top:6px}.ed-hero{padding:34px 0 42px}.ed-hero-grid,.ed-grid,.ed-grid.two,.ed-split,.ed-footer-grid{grid-template-columns:1fr}.ed-emblem{display:none}.ed-hero .ed-lede{font-size:16px}.ed-card{padding:25px}.ed-section{padding:38px 0}.ed-split{gap:10px}.ed-cta{padding:28px;display:block}.ed-cta .ed-button{margin-top:24px}.ed-footer-grid{gap:20px}.ed-founder [style*="grid-template-columns"]{grid-template-columns:1fr!important;gap:20px!important}.ed-founder [style*="padding:40px"]{padding:22px!important}.upgrade-tools input{width:100%}}
@media(prefers-reduced-motion:reduce){.site-upgrade *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{.ed-header,.ed-footer,.ed-skip,.upgrade-back{display:none}.editorial-page{background:white}.ed-container{width:100%}.ed-section{break-inside:avoid}}
