/* September client revisions. Keep unaffected base components intact. */
:root {
  --rre-graphite: #202326;
  --rre-navy: #202326;
  --rre-muted: #45494d;
  --rre-blue-mist: #edf3f3;
}
body { background:#edf3f3; color:#202326; font-family:Arial,Helvetica,sans-serif; isolation:isolate; }
/* One continuous viewport backdrop: no exposed side strips or tiled seams. */
body::before { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; background:#edf3f3 url('assets/images/soft-butterflies.webp') center/cover no-repeat; }
.rre-site-header, .rre-mobile-topbar { background: #80001b; }
.rre-site-header .rre-header-inner { grid-template-columns: minmax(220px,280px) minmax(0,1fr) auto; width: min(1640px,calc(100% - 48px)); gap: 28px; padding-block: 12px; }
.rre-site-header .rre-header-inner > * { margin-block: 0 !important; }
.rre-header-nav .wp-block-navigation__container { row-gap: 14px; column-gap: 20px; }
.rre-header-nav .wp-block-navigation-item__content { font-size: 1rem; font-weight: 500; }
.rre-site-header .rre-header-nav .wp-block-navigation__submenu-container { background: #80001b; }
.rre-brand-art { display: block; width: 280px; max-width: 100%; line-height: 0; }
.rre-brand-art img { display:block; width:100%; height:auto; }
.rre-site-header .rre-brand .wp-block-site-title::before { content:none; }
.wp-site-blocks > header.wp-block-template-part { position:sticky; top:0; z-index:100; margin-block-start:0; }
body.admin-bar .wp-site-blocks > header.wp-block-template-part { top:32px; }
.wp-site-blocks > header.wp-block-template-part .rre-site-header { position:static; }
.wp-site-blocks > .wp-block-post-content:has(> .rre-hero--approved) { margin-block-start:0; }
.rre-hero--approved { width:min(100%,1200px); max-width:none!important; aspect-ratio:1672/941; margin:0 auto!important; padding:0; background:url('assets/images/hero-2026.webp') center/contain no-repeat; position:relative; container-type:inline-size; }
.rre-hero--approved::before, .rre-hero--approved::after { display:none; }
.rre-hero--approved h1 { position:absolute; left:6.5%; top:9.5%; width:66%; max-width:none; margin:0!important; color:#8b0908; font-family:'Times New Roman',Georgia,serif; font-weight:400; letter-spacing:-.02em; font-size:clamp(1.45rem,5.65cqw,4.7rem); line-height:1.17; }
/* Approved desktop crop: edge-to-edge sky and roof, without enlarging the
   whole illustration into a screen-tall poster. Mobile retains contain. */
@media(min-width:961px) {
  /* Bottom alignment retains the client's lower-right red butterfly. */
  .rre-hero--approved { width:100%; height:clamp(480px,48vw,880px); aspect-ratio:auto; background-size:cover; background-position:center bottom; }
  .rre-hero--approved h1 { left:clamp(32px,6.5vw,120px); top:clamp(32px,6vh,64px); width:75%; max-width:1100px; font-size:clamp(2.75rem,4.2vw,4.75rem); }
}
.rre-document { padding:clamp(32px,5vw,64px) 24px; margin-inline:auto; color:#202326; }
.wp-block-post-content > .rre-document { max-width:960px; }
.rre-document > :is(p,ul,ol,.wp-block-details) { max-width:800px; }
.rre-document h1 { font-size:clamp(2.2rem,4.2vw,3.5rem); margin-block:0 28px; }
.rre-document h2 { font-size:clamp(1.8rem,3vw,2.5rem); margin-block:2em .7em; }
.rre-document h3 { font-size:clamp(1.25rem,2vw,1.65rem); margin-block:1.5em .6em; }
.rre-document p, .rre-document li, .rre-field input, .rre-field textarea, .rre-field select { font-size:1.125rem; line-height:1.7; font-family:Arial,Helvetica,sans-serif; font-weight:400; letter-spacing:normal; }
.rre-document .rre-grid { max-width:none; }
.rre-document .rre-card { background:#fff6f2; }
.rre-document .rre-card h3 { margin-top:0; }
.rre-document .wp-block-buttons { margin-block:20px 28px; }
.rre-document > .wp-block-buttons + .wp-block-buttons { margin-top:-12px; }
.rre-document .wp-block-button__link { font-size:1rem; font-weight:500; line-height:1.45; }
.rre-document .wp-block-details { background:#fff8f5; border:1px solid #d9cbc8; border-radius:8px; padding:16px 20px; margin-block:12px; }
.rre-document .wp-block-details summary { cursor:pointer; font-weight:600; }
.rre-document .wp-block-details p { margin:16px 0 0; }
.rre-document .rre-accounting-statement { font-size:clamp(1.3rem,2vw,1.7rem); font-weight:600; }
.rre-policy .wp-block-table { overflow-x:auto; }
.rre-policy table { width:100%; border-collapse:collapse; font-size:1rem; }
.rre-policy :is(th,td) { border:1px solid #c9d2d2; padding:12px; text-align:left; vertical-align:top; }
.rre-policy th { background:#e0eaea; }
.rre-policy-cell-label { display:none; }
/* Visual review: keep copy and source artwork intact; normalize shared layout. */
.rre-brand-art img { mix-blend-mode:lighten; }
.wp-site-blocks > .wp-block-post-content { margin-block-start:0; }
.rre-document h2 { margin-block:48px 20px; }
.rre-document > h1 + h2 { margin-top:20px; }
.rre-document > :is(h1,h2,h3):first-child { margin-top:0; }
.rre-document h2 + h3 { margin-top:20px; }
.rre-document > p { margin-block:0 20px; }
.rre-document > p + p { margin-top:0; }
.rre-document > :is(ul,ol) + p { margin-top:20px; }
.rre-document > .rre-disclaimer { margin-block:24px; }
.rre-grid > .rre-card { margin-block:0; min-height:0; }
.rre-document .rre-card > p { margin-block:0 20px; }
.rre-document .rre-card > .wp-block-buttons:last-child { margin-block:auto 0; padding-top:8px; }
.rre-document .rre-grant-card h3 { margin:0 0 9px; }
.rre-grant-card__dates strong { font-family:Arial,Helvetica,sans-serif; font-size:1.1rem; font-weight:600; }
.rre-grant-card__action { gap:16px; }
.rre-grant-card__action > br { display:none; }
.rre-grant-card__action .rre-card__link { padding-top:0; }
.rre-grant-meta > :last-child:nth-child(odd) { grid-column:1/-1; }
.rre-grant-meta dt { letter-spacing:normal; }
.rre-grant-meta dd { font-weight:500; }
.rre-post-shell { padding-block:56px; }
.rre-post-shell h1, .rre-content-section > h1, .rre-content-section > .wp-block-query-title, .rre-page-hero h1 { font-size:clamp(2.2rem,4.2vw,3.5rem); line-height:1.15; }
.rre-post-shell h2, .rre-contact-grid h2 { font-size:clamp(1.8rem,3vw,2.5rem); line-height:1.2; }
.rre-post-shell .wp-block-post-content > h2 { margin-block:40px 20px; }
.rre-content-section { padding-block:56px; }
.rre-query-grid > :is(h1,.wp-block-query-title,.rre-lead,.wp-block-query) { max-width:1180px; }
.rre-query-grid > .rre-lead { margin-bottom:32px; }
.rre-query-grid .wp-block-post:not(:has(.wp-block-post-featured-image)) { padding-top:24px; }
.rre-query-grid .wp-block-post > :first-child { margin-top:0; }
.rre-query-grid .wp-block-post { display:flex; flex-direction:column; }
.rre-query-grid .wp-block-post-excerpt { display:flex; flex:1; flex-direction:column; margin-bottom:0; }
.rre-query-grid .wp-block-post-excerpt__more-text { margin-top:auto; margin-bottom:0; padding-top:20px; }
.rre-page-hero { background:transparent; padding-block:56px 24px; }
.rre-page-hero::after { display:none; }
.rre-contact-options .rre-button { font-weight:500; }
.rre-footer-grid > * { margin-block:0; }
@media(min-width:961px) {
  /* September 23: restore the client's preferred two-level desktop header. */
  .rre-site-header .rre-header-inner { grid-template-columns:1fr auto; width:min(1640px,calc(100% - 48px)); gap:8px 28px; padding-block:10px 12px; }
  .rre-header-inner > .rre-brand { grid-column:1; grid-row:1; }
  .rre-site-header .rre-brand-art { width:280px; }
  .rre-header-inner > .rre-header-actions { display:flex; flex-direction:row; gap:14px; grid-column:2; grid-row:1; }
  .rre-header-actions .rre-button { padding:8px 18px; font-size:1rem; line-height:1.4; white-space:nowrap; }
  .rre-header-inner > .rre-header-nav { grid-column:1/-1; grid-row:2; width:100%; min-width:0; }
  .rre-header-nav .wp-block-navigation__container { column-gap:18px; row-gap:6px; justify-content:center; }
  .rre-header-nav .wp-block-navigation-item__content { padding-block:3px; line-height:1.4; }
}
/* WordPress flow margins must not offset individual items inside this grid. */
.rre-query-grid .wp-block-post-template > .wp-block-post { margin-block:0; }
.rre-field-error { color:#8b0908; display:block; font-size:.95rem; }
.rre-field [aria-invalid=true] { border-color:#8b0908; border-width:2px; }
.rre-field label { font-size:1rem; font-weight:500; color:#202326; }
.rre-form-result:empty { display:none; }
.rre-form-message { padding:16px; background:#edf3f3; border:1px solid #bacaca; color:#202326; }
.rre-form button:disabled { opacity:.65; cursor:wait; }
.rre-form, #kontaktai, #rre-contact-form { scroll-margin-top:150px; }
.rre-footer-grid > div:first-child h2 { font-size:clamp(1.5rem,2vw,2rem); }
.rre-footer-grid > div:first-child p { font-size:1.15rem; font-weight:600; line-height:1.5; }
.rre-site-footer .rre-footer-grid { grid-template-columns:1.3fr 1fr 1fr; }
.rre-workflow { padding:20px; background:#fff6f2; border-left:3px solid #a8322d; }
.rre-article-dates { display:flex; flex-wrap:wrap; gap:8px 24px; font-size:1rem; color:#45494d; margin-block:16px; }
.rre-article-dates > :is(div,p) { margin:0; }
.rre-article-dates .wp-block-post-date { display:inline; }
.rre-return-links { margin-block:24px; }
.rre-schedule-anchor { scroll-margin-top:170px; }
.rre-back-top { position:fixed; right:20px; bottom:20px; z-index:90; min-height:44px; padding:10px 14px; border:1px solid #fffaf7; border-radius:24px; background:#80001b; color:#fff; font:500 1rem/1.3 Arial,Helvetica,sans-serif; cursor:pointer; box-shadow:0 2px 8px #0002; }
.rre-back-top[hidden] { display:none!important; }
@media(max-width:960px) {
  .rre-back-top { right:12px; bottom:calc(88px + env(safe-area-inset-bottom)); }
  .rre-schedule-anchor { scroll-margin-top:24px; }
}
:is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #202326; outline-offset:4px; }
.rre-site-header :is(a,button):focus-visible, .rre-site-footer a:focus-visible, .rre-mobile-topbar a:focus-visible { outline-color:#ffdd6b; }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media(max-width:1180px) {
  .rre-brand-art { width:230px; }
}
@media(min-width:961px) and (max-width:1279px) {
  .rre-header-nav .wp-block-navigation__container { max-width:860px; margin-inline:auto; }
}
@media(max-width:960px) {
  .wp-site-blocks > header.wp-block-template-part { display:none; }
  .rre-mobile-topbar { position:static; min-height:76px; padding-block:4px; }
  .rre-mobile-topbar .rre-brand-art { width:220px; max-width:62%; }
  .rre-mobile-topbar__call { font-weight:500; }
  .rre-document { padding:32px 20px; }
  .rre-document h2 { margin-top:32px; }
  .rre-post-shell, .rre-content-section { padding-block:32px; }
  .rre-page-hero { padding-block:32px 12px; }
  .rre-hero--approved h1 { font-size:clamp(1.35rem,5.65cqw,3.5rem); }
  .rre-form, #kontaktai { scroll-margin-top:24px; }
  .rre-site-footer .rre-footer-grid { grid-template-columns:1fr; gap:32px; }
}
@media(max-width:480px) {
  .rre-hero--approved h1 { width:72%; font-size:5.9cqw; top:9%; }
  .rre-mobile-topbar__call span { font-size:.85rem; }
  .rre-document .wp-block-button { width:100%; }
  .rre-document .wp-block-button__link { width:100%; }
}
@media(max-width:600px) {
  .rre-grant-card__action { align-items:center; flex-direction:row; flex-wrap:wrap; }
  /* Keep the original table and headers for assistive technology, while
     presenting each purpose as a readable labelled entry on small screens. */
  .rre-policy .rre-policy-table { overflow:visible; }
  .rre-policy-table table, .rre-policy-table tbody, .rre-policy-table tr, .rre-policy-table td { display:block; width:100%; box-sizing:border-box; }
  .rre-policy-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; }
  .rre-policy-table tbody tr { margin-block:0 20px; border:1px solid #c9d2d2; border-radius:8px; background:#fff8f5; overflow:hidden; }
  .rre-policy-table td { border:0; border-bottom:1px solid #c9d2d2; padding:14px 16px; overflow-wrap:anywhere; }
  .rre-policy-table td:last-child { border-bottom:0; }
  .rre-policy-cell-label { display:block; margin-bottom:6px; font-weight:600; }
}
