/* Anthropocene Institute — site styles (plugin). Page-specific rules live in each page's ai_page_css custom field. */
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 400 700; font-stretch: 100%; font-display: swap; src: url(fonts/open-sans-400-700.woff2) format('woff2'); }
@font-face { font-family: 'Merriweather'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(fonts/merriweather-400-700.woff2) format('woff2'); }
@font-face { font-family: 'Merriweather'; font-style: italic; font-weight: 400; font-display: swap; src: url(fonts/merriweather-italic-400.woff2) format('woff2'); }
body { margin: 0; }
.ai-page { --ai-blue:#9B5736;--ai-blue:oklch(0.52 0.10 45); --ai-teal:#13675B;--ai-teal:oklch(0.46 0.08 177); --ai-green:#208B79;--ai-green:oklch(0.57 0.10 177); --ai-deep:#13675B;--ai-deep:oklch(0.46 0.08 177); --ai-ink:#111111;--ai-ink:oklch(0.18 0 0); --ai-mut:#4a4845;--ai-mut:oklch(0.42 0.005 75); --ai-paper:#F6F4F1;--ai-paper:oklch(0.97 0.005 75); --ai-rust:#9B5736;--ai-rust:oklch(0.52 0.10 45); --ai-coral:#D97556;--ai-coral:oklch(0.67 0.13 38); --ai-sun:#F2B84B;--ai-sun:oklch(0.82 0.13 80); --ai-mist:#E7F1EE;--ai-mist:oklch(0.95 0.013 170); --ai-rule:#dcd8d2;--ai-rule:oklch(0.88 0.008 75); font-family: 'Open Sans', sans-serif; color: var(--ai-ink); }
.ai-page a { color: var(--ai-teal); text-decoration: none; }
.ai-page a:hover { color: var(--ai-rust); }
.ai-page ::selection { background:#f4d29b;background:oklch(0.88 0.08 80); }
.ai-page *, .ai-page *::before, .ai-page *::after { border-radius: 0; }
.ai-page img[style*="border-radius:50%"], .ai-page img[style*="border-radius: 50%"], .ai-page span[style*="border-radius:50%"], .ai-page span[style*="border-radius: 50%"] { border-radius: 50%; }

/* Header (theme template part: Site Logo, Navigation and Buttons blocks) */
.ai-header { position: relative; z-index: 1000; }
.ai-header p { margin: 0; }
.ai-masthead { gap: 14px 20px !important; padding: 14px clamp(16px,3vw,40px); border-bottom: 1px solid var(--ai-rule); background: #fbfaf8; background: oklch(0.985 0.004 75); }
/* No backdrop-filter/transform on the masthead: either one traps the mobile menu (position:fixed) inside the header strip */
.ai-header .ai-logo { flex: 0 0 auto; }
.ai-header .ai-logo img { height: 56px; width: auto; display: block; }
.ai-nav { flex: 1 1 auto; min-width: 0; justify-content: flex-end; font-size: 14.5px; font-weight: 500; }
.ai-nav .wp-block-navigation__container { gap: 8px 18px !important; }
.ai-nav .wp-block-navigation-item__content { color: var(--ai-ink); }
.ai-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { padding: 8px 0; border-bottom: 2px solid transparent; white-space: nowrap; }
.ai-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover { color: var(--ai-teal); }
.ai-nav .wp-block-navigation__container > .ai-current > .wp-block-navigation-item__content { color: var(--ai-teal); font-weight: 700; border-bottom-color: var(--ai-teal); }
.ai-nav .wp-block-navigation__submenu-icon { color: var(--ai-mut); width: 9px; height: 9px; margin-left: 5px; }
.ai-nav .wp-block-navigation__submenu-container { background: white !important; color: var(--ai-ink) !important; border: 1px solid var(--ai-rule) !important; box-shadow: 0 18px 40px rgba(31,77,70,0.16); box-shadow: 0 18px 40px oklch(0.425 0.04 177 / 0.16); padding: 8px !important; min-width: 268px !important; margin-top: 10px; }
.ai-nav .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 0; right: 0; top: -11px; height: 11px; }
.ai-nav .wp-block-navigation__container > .wp-block-navigation-item:nth-last-child(-n+2) > .wp-block-navigation__submenu-container { left: auto !important; right: -18px; }
.ai-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 10px 12px !important; }
.ai-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: #f2efeb; background: oklch(0.96 0.008 75); color: var(--ai-ink); }
.ai-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__label { font-size: 14.5px; font-weight: 600; }
.ai-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__description { display: block; font-size: 12.5px; font-weight: 400; line-height: 1.4; color: var(--ai-mut); }
.ai-nav .ai-tag { display: inline-block; margin-left: 8px; font-size: 9.5px; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; padding: 3px 7px; background: var(--ai-mist); color: var(--ai-teal); vertical-align: 2px; white-space: nowrap; }
/* Science: a three-column panel of primer groups */
.ai-nav .ai-mega > .wp-block-navigation__submenu-container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: min(720px, calc(100vw - 32px)) !important; gap: 20px 28px; padding: 18px 20px !important; }
.ai-nav .ai-mega:not(:hover):not(:focus-within) > .wp-block-navigation__submenu-container { width: 0 !important; }
.ai-nav .ai-mega .wp-block-navigation__submenu-container > .has-child { flex-direction: column; align-items: stretch; }
.ai-nav .ai-mega .wp-block-navigation__submenu-container > .has-child > .wp-block-navigation-item__content { font-size: 11.5px; letter-spacing: 0.08em; text-transform: uppercase; padding: 2px 8px 6px !important; }
.ai-nav .ai-mega .wp-block-navigation__submenu-container > .has-child > .wp-block-navigation-item__content .wp-block-navigation-item__label { font-size: 11.5px; font-weight: 700; color: var(--ai-teal); }
.ai-nav .ai-mega .wp-block-navigation__submenu-container > .has-child > .wp-block-navigation-item__content:hover { background: none; }
.ai-nav .ai-mega .wp-block-navigation__submenu-container > .has-child > .wp-block-navigation-item__content:hover .wp-block-navigation-item__label { color: var(--ai-rust); }
.ai-nav .ai-mega .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon { display: none; }
.ai-nav .ai-mega .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container { position: static !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0; min-width: 0 !important; background: none !important; }
.ai-nav .ai-mega:hover .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
.ai-nav .ai-mega:focus-within .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container { visibility: visible !important; opacity: 1 !important; width: auto !important; height: auto !important; overflow: visible !important; }
.ai-nav .ai-mega .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 7px 8px !important; }
.ai-nav .ai-mega .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item__label { font-size: 14px; font-weight: 500; line-height: 1.35; }
.ai-header .ai-cta { flex: 0 0 auto; }
.ai-header .ai-cta .wp-block-button__link { padding: 10px 20px; font-size: 14px; font-weight: 600; white-space: nowrap; background: var(--ai-deep) !important; color: white !important; }
.ai-header .ai-cta .wp-block-button__link:hover { background: var(--ai-rust) !important; color: white !important; }
/* Language/tagline bar removed for now (hidden too, in case a saved header still has it) */
.ai-langbar, .ai-header .ai-tagline { display: none !important; }
/* Menu button and drawer below 1024px (the Navigation block's own breakpoint is 600px) */
.ai-nav .wp-block-navigation__responsive-container-open { align-items: center; justify-content: center; min-width: 48px; min-height: 48px; border: 1px solid var(--ai-rule); background: white; color: var(--ai-ink); }
.ai-nav .is-menu-open .wp-block-navigation__container { gap: 4px !important; }
.ai-nav .is-menu-open .wp-block-navigation-item__content { font-size: 17px; font-weight: 600; padding: 8px 0 !important; border: 0 !important; }
.ai-nav .is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none !important; background: none !important; padding: 0 0 8px 14px !important; margin: 0; min-width: 0 !important; display: flex !important; }
.ai-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 15px; font-weight: 500; padding: 6px 0 !important; }
.ai-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__label { font-size: 15px; font-weight: 500; }
.ai-nav .is-menu-open .wp-block-navigation-item__description, .ai-nav .is-menu-open .ai-tag { display: none; }
.ai-nav .wp-block-navigation__responsive-container.is-menu-open { position: fixed !important; inset: 0 !important; z-index: 100000 !important; overflow-y: auto !important; background: var(--ai-paper) !important; padding: 24px clamp(16px,4vw,40px) 32px; }
.admin-bar .ai-nav .wp-block-navigation__responsive-container.is-menu-open { top: 46px !important; }
@media (min-width: 783px) { .admin-bar .ai-nav .wp-block-navigation__responsive-container.is-menu-open { top: 32px !important; } }
.ai-nav .wp-block-navigation__responsive-container-close { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; }
.ai-nav .is-menu-open .wp-block-navigation__container, .ai-nav .is-menu-open .wp-block-navigation__submenu-container { width: 100% !important; grid-template-columns: none !important; flex-direction: column !important; align-items: flex-start !important; }
.ai-nav .is-menu-open .ai-mega .wp-block-navigation__submenu-container > .has-child > .wp-block-navigation-item__content { padding: 10px 0 2px !important; }
.ai-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container { padding-left: 0 !important; }
/* Small laptops: keep five items, logo and button on one line */
@media (min-width: 1024px) and (max-width: 1279px) {
  .ai-nav { font-size: 14px; }
  .ai-nav .wp-block-navigation__container { gap: 8px 14px !important; }
  .ai-header .ai-logo img { height: 46px; }
  .ai-header .ai-cta .wp-block-button__link { padding: 9px 14px; font-size: 13.5px; }
}
@media (max-width: 1023px) {
  .ai-nav { flex: 0 0 auto; }
  .ai-header .ai-logo img { height: 46px; }
  .ai-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
  .ai-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
  .ai-header .ai-cta { display: none !important; }
}

/* Footer (theme template part) */
.ai-footer { background: white; color: var(--ai-ink); border-top: 3px solid var(--ai-deep); }
.ai-footer p, .ai-footer ul { margin: 0; }
.ai-footer a { color: var(--ai-ink); }
.ai-footer a:hover { color: var(--ai-rust); }
.ai-foot-grid { max-width: 1200px; margin: 0 auto !important; box-sizing: border-box; padding: 56px clamp(20px,4vw,48px) 32px; gap: 32px clamp(24px,4vw,44px) !important; display: grid !important; grid-template-columns: repeat(4, max-content) !important; justify-content: space-between !important; }
@media (max-width: 1023px) { .ai-foot-grid { grid-template-columns: repeat(2, max-content) !important; } }
@media (max-width: 767px) { .ai-foot-grid { grid-template-columns: minmax(0,1fr) !important; justify-content: stretch !important; } }
.ai-foot-col { display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.ai-foot-col:first-child { gap: 14px; }
.ai-footer .ai-logo img { height: 48px; width: auto; display: block; margin: -10px 0 -6px 0; }
.ai-foot-address { font-size: 14px; line-height: 1.7; color: var(--ai-mut); }
.ai-foot-social { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 2px 0 0 -7px !important; }
.ai-footer .ai-foot-social a { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; color: var(--ai-rust); }
.ai-footer .ai-foot-social a:hover { color: var(--ai-deep); }
.ai-foot-social svg { width: 20px; height: 20px; display: block; }
.ai-foot-label { font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ai-rust); margin-bottom: 4px !important; }
.ai-foot-links { list-style: none; padding: 0 !important; display: flex; flex-direction: column; gap: 10px; }
.ai-foot-base { max-width: 1200px; margin: 0 auto !important; box-sizing: border-box; padding: 20px clamp(20px,4vw,48px); border-top: 1px solid var(--ai-rule); font-size: 13px; color: var(--ai-mut); gap: 18px !important; }
.ai-foot-base a { color: var(--ai-mut); }

/* Share row (links are rewritten to real share URLs by site.js) */
.ai-page a[aria-label^="Share"]:hover { color: white !important; }

/* Media never wider than its column */
.ai-page img, .ai-page video { max-width: 100%; }
/* Tool iframes fill their width; site.js fits the height */
.ai-page iframe[data-ai-tool] { display: block; width: 100%; border: 0; }

/* Gravity Forms — brand treatment */
.ai-page .ai-form .gform_wrapper { margin: 0; }
.ai-page .ai-form .gform_wrapper, .ai-page .ai-form .gform_wrapper * { font-family: 'Open Sans', sans-serif; }
.ai-page .ai-form input[type="text"], .ai-page .ai-form input[type="email"], .ai-page .ai-form input[type="url"], .ai-page .ai-form input[type="tel"], .ai-page .ai-form select, .ai-page .ai-form textarea { border: 1px solid var(--ai-rule) !important; border-radius: 0 !important; background: white; color: var(--ai-ink); padding: 11px 13px !important; font-size: 15px !important; box-shadow: none !important; }
.ai-page .ai-form input:focus, .ai-page .ai-form select:focus, .ai-page .ai-form textarea:focus { outline: 2px solid var(--ai-teal) !important; outline-offset: 0; border-color: var(--ai-teal) !important; }
.ai-page .ai-form .gfield_label, .ai-page .ai-form legend.gfield_label { font-size: 13px !important; font-weight: 700 !important; color: inherit; }
.ai-page .ai-form .gfield_required { color: var(--ai-rust) !important; }
.ai-page .ai-form .gform_footer input[type="submit"], .ai-page .ai-form .gform_footer button, .ai-page .ai-form .gform-button { background: var(--ai-deep) !important; color: white !important; border: 0 !important; border-radius: 0 !important; padding: 13px 26px !important; font-size: 15px !important; font-weight: 700 !important; cursor: pointer; }
.ai-page .ai-form .gform_footer input[type="submit"]:hover, .ai-page .ai-form .gform_footer button:hover, .ai-page .ai-form .gform-button:hover { background: var(--ai-rust) !important; }
.ai-page .ai-form .gchoice label { font-size: 14px; }
/* Single-field sign-up forms sit on one line */
.ai-page .ai-form-newsletter form, .ai-page .ai-form-investor-updates form { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start; }
.ai-page .ai-form-newsletter .gform_body, .ai-page .ai-form-investor-updates .gform_body { flex: 1 1 240px; }
.ai-page .ai-form-newsletter .gform_footer, .ai-page .ai-form-investor-updates .gform_footer { margin: 0 !important; padding: 0 !important; }
/* Report Download panel (dark teal sidebar card) — matches ReportGate.dc.html */
.ai-page .ai-form-report-download { padding: 20px 24px 24px; }
.ai-page .ai-form-report-download .gform_wrapper, .ai-page .ai-form-report-download .gform_wrapper form, .ai-page .ai-form-report-download .gform_body, .ai-page .ai-form-report-download .gform_fields, .ai-page .ai-form-report-download .gfield, .ai-page .ai-form-report-download .gform_footer { background: transparent !important; border: 0 !important; box-shadow: none !important; margin: 0 !important; padding: 0 !important; }
.ai-page .ai-form-report-download .gform_fields { display: flex !important; flex-direction: column; gap: 12px !important; }
.ai-page .ai-form-report-download .gform_heading, .ai-page .ai-form-report-download .gform_required_legend { display: none !important; }
.ai-page .ai-form-report-download .gfield_label { display: block; margin: 0 0 5px !important; padding: 0 !important; font-size: 12px !important; font-weight: 600 !important; color: white !important; }
.ai-page .ai-form-report-download .gfield_required { display: none !important; }
.ai-page .ai-form-report-download input[type="text"], .ai-page .ai-form-report-download input[type="email"] { width: 100% !important; box-sizing: border-box; background: var(--ai-mist) !important; border: 1px solid var(--ai-mist) !important; color: var(--ai-ink) !important; padding: 10px 12px !important; font-size: 14.5px !important; line-height: 1.4 !important; min-height: 0 !important; }
.ai-page .ai-form-report-download input::placeholder { color: var(--ai-mut) !important; opacity: 1; }
.ai-page .ai-form-report-download input:focus { outline: 2px solid var(--ai-sun) !important; outline-offset: 1px; border-color: var(--ai-mist) !important; }
.ai-page .ai-form-report-download .gform_footer { margin-top: 16px !important; }
.ai-page .ai-form-report-download .gform_footer input[type="submit"], .ai-page .ai-form-report-download .gform_footer button { width: 100%; background: var(--ai-sun) !important; color: var(--ai-ink) !important; font-weight: 700 !important; padding: 13px 20px !important; }
.ai-page .ai-form-report-download .gform_footer input[type="submit"]:hover, .ai-page .ai-form-report-download .gform_footer button:hover { background: white !important; color: var(--ai-ink) !important; }
.ai-page .ai-form-report-download .gfield_validation_message, .ai-page .ai-form-report-download .validation_message { background: transparent !important; border: 0 !important; padding: 4px 0 0 !important; color: #f2c870 !important; color: oklch(0.86 0.11 82) !important; font-size: 12px !important; }
.ai-page .ai-form-report-download .gform_validation_errors { background: transparent !important; border: 1px solid #f2c870 !important; border: 1px solid oklch(0.86 0.11 82) !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 0 12px !important; padding: 10px 12px !important; }
.ai-page .ai-form-report-download .gform_validation_errors h2 { color: white !important; font-size: 13px !important; }

@media (max-width: 1023px) { .ai-page aside[style*="sticky"] { position: static !important; } }
@media (max-width: 767px) { .ai-page [style*="grid-template-columns"] { grid-template-columns: minmax(0, 1fr) !important; } }

/* Block editor content: imported blocks carry their look in classes, so core block defaults are neutralised */
.wp-site-blocks > * { margin-block: 0; }
/* Header scrolls away with the page (also overrides older saved templates that still carry ai-sticky) */
.ai-sticky { position: relative !important; top: auto !important; }
.ai-page .wp-block-group { box-sizing: content-box; }
.ai-page .wp-block-image { margin: 0; }
.ai-page p.ai-asp { margin: 0; }
.ai-page .wp-block-list { box-sizing: content-box; }
.ai-archive { max-width: 1200px; margin: 0 auto; box-sizing: border-box; padding: 64px clamp(20px,4vw,48px) 96px; display: flex; flex-direction: column; gap: 24px; }
.ai-archive .wp-block-post-template { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 28px; }
.ai-archive .wp-block-post-date { font-size: 13px; color: var(--ai-mut); }
.ai-archive .wp-block-post-title { font-size: clamp(20px,2vw,24px); margin: 4px 0 0; }


/* Interactive pages (front end only: site.js adds .ai-js; the editor shows everything) */
.ai-js .ai-page .ai-hide, .ai-js .ai-page .ai-collapse:not(.ai-open) { display: none !important; }
.ai-js .ai-page .ai-clamp:not(.ai-open) { display: -webkit-box !important; -webkit-line-clamp: 8; -webkit-box-orient: vertical; overflow: hidden; }
.editor-styles-wrapper .ai-tab-panel + .ai-tab-panel { border-top: 2px dashed var(--ai-rule, #ddd); padding-top: 32px; margin-top: 32px; }

/* Coloured titles: teal on light grounds, rust on hover for linked titles. Shared by every page (once, cached) instead of repeated in each page's ai_page_css */
.ai-page :is(h2, h3, h4):not([style*="color: "]):not([style*="color: white"] *, [style*="color: rgb(255, 255, 255)"] *, [style*="background: var(--ai-deep)"] *, [style*="background: var(--ai-green)"] *, [style*="background: var(--ai-teal)"] *, [style*="url("] *, [style*="linear-gradient"] *, header *, footer *, nav *) { color: var(--ai-teal); }
.ai-page a:not([style*="color: white"], [style*="background: var(--ai-deep)"], [style*="background: var(--ai-green)"], [style*="linear-gradient"], [style*="url("]):not([style*="color: white"] *, [style*="color: rgb(255, 255, 255)"] *, [style*="background: var(--ai-deep)"] *, [style*="background: var(--ai-green)"] *, [style*="background: var(--ai-teal)"] *, [style*="url("] *, [style*="linear-gradient"] *, header *, footer *, nav *) :is(h2, h3, h4, span[style*="Merriweather"], div[style*="Merriweather"]):not([style*="color: "]) { color: var(--ai-teal); transition: color 0.15s; }
.ai-page a:not([style*="color: white"], [style*="background: var(--ai-deep)"], [style*="background: var(--ai-green)"], [style*="linear-gradient"], [style*="url("]):not([style*="color: white"] *, [style*="color: rgb(255, 255, 255)"] *, [style*="background: var(--ai-deep)"] *, [style*="background: var(--ai-green)"] *, [style*="background: var(--ai-teal)"] *, [style*="url("] *, [style*="linear-gradient"] *, header *, footer *, nav *):hover :is(h2, h3, h4, span[style*="Merriweather"], div[style*="Merriweather"]):not([style*="color: "]) { color: var(--ai-rust); }
