/*
Theme Name: AMO Research Group
Theme URI: https://example.com/amo-research-group
Author: OpenAI
Author URI: https://openai.com/
Description: A modern, accessible WordPress theme for university research groups, laboratories, and theory teams. Includes research, people, publication, news, and recruitment layouts.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: amo-research-group
Tags: education, portfolio, custom-logo, custom-menu, featured-images, block-styles, wide-blocks, accessibility-ready, responsive-layout
*/

:root {
  --amo-red: #990000;
  --amo-red-dark: #670000;
  --amo-red-bright: #c61f2b;
  --amo-ink: #121826;
  --amo-text: #364152;
  --amo-muted: #667085;
  --amo-paper: #ffffff;
  --amo-surface: #f5f7fa;
  --amo-surface-2: #eef1f5;
  --amo-line: #d9dee7;
  --amo-blue: #2563eb;
  --amo-cyan: #0e7490;
  --amo-gold: #b7791f;
  --amo-shadow-sm: 0 6px 20px rgba(18, 24, 38, 0.07);
  --amo-shadow-lg: 0 22px 70px rgba(18, 24, 38, 0.14);
  --amo-radius-sm: 10px;
  --amo-radius: 18px;
  --amo-radius-lg: 30px;
  --amo-container: 1240px;
  --amo-serif: Georgia, 'Times New Roman', serif;
  --amo-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--amo-text);
  background: var(--amo-paper);
  font-family: var(--amo-sans);
  font-size: 17px;
  line-height: 1.72;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: var(--amo-red); text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
a:hover { color: var(--amo-red-dark); }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
::selection { background: rgba(153, 0, 0, 0.14); }

.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0);
  white-space: nowrap; border: 0;
}
.screen-reader-text:focus {
  position: fixed !important;
  z-index: 99999;
  top: 14px; left: 14px;
  width: auto; height: auto;
  clip: auto;
  padding: 12px 16px;
  background: #fff;
  color: var(--amo-ink);
  border-radius: 8px;
  box-shadow: var(--amo-shadow-lg);
}

.amo-container { width: min(calc(100% - 40px), var(--amo-container)); margin-inline: auto; }
.amo-section { padding: clamp(70px, 8vw, 112px) 0; }
.amo-section--soft { background: var(--amo-surface); }
.amo-section--dark { background: var(--amo-ink); color: #fff; }
.amo-section__head {
  display: flex; align-items: end; justify-content: space-between; gap: 30px;
  margin-bottom: 38px;
}
.amo-section__head > div { max-width: 760px; }
.amo-eyebrow {
  display: inline-flex; align-items: center; gap: 9px;
  color: var(--amo-red);
  font-size: 0.78rem; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase;
  margin-bottom: 13px;
}
.amo-eyebrow::before { content: ''; width: 34px; height: 2px; background: currentColor; }
.amo-section h2,
.amo-page-header h1,
.entry-title {
  color: var(--amo-ink);
  font-family: var(--amo-serif);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.12;
}
.amo-section h2 { font-size: clamp(2.15rem, 4vw, 3.45rem); margin: 0 0 14px; }
.amo-section__intro { max-width: 720px; color: var(--amo-muted); font-size: 1.06rem; margin: 0; }

.amo-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 50px;
  padding: 0.76rem 1.18rem;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--amo-red);
  color: #fff;
  font-size: 0.94rem; font-weight: 750;
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(153, 0, 0, 0.18);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.amo-button:hover { color: #fff; background: var(--amo-red-dark); transform: translateY(-2px); box-shadow: 0 12px 28px rgba(103, 0, 0, 0.24); }
.amo-button--ghost { color: var(--amo-ink); background: #fff; border-color: var(--amo-line); box-shadow: none; }
.amo-button--ghost:hover { color: var(--amo-red); background: #fff; border-color: rgba(153,0,0,.35); }
.amo-button--light { color: var(--amo-ink); background: #fff; box-shadow: none; }
.amo-button--light:hover { color: var(--amo-red); background: #fff; }
.amo-button svg { width: 17px; height: 17px; }
.amo-text-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 750; text-decoration: none; }
.amo-text-link::after { content: '→'; transition: transform .2s ease; }
.amo-text-link:hover::after { transform: translateX(4px); }

/* Institutional bar and header */
.amo-institution-bar { background: var(--amo-red); color: #fff; font-size: .82rem; }
.amo-institution-bar__inner { min-height: 38px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.amo-institution-bar a { color: #fff; text-decoration: none; }
.amo-institution-bar a:hover { text-decoration: underline; }
.amo-institution-links { display: flex; gap: 18px; align-items: center; }
.amo-site-header {
  position: sticky; top: 0; z-index: 1000;
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid rgba(217, 222, 231, .8);
  backdrop-filter: blur(15px);
}
.admin-bar .amo-site-header { top: 32px; }
.amo-site-header__inner { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.amo-brand { display: flex; align-items: center; gap: 14px; min-width: 240px; text-decoration: none; }
.custom-logo { max-height: 52px; width: auto; }
.amo-brand-mark {
  width: 44px; height: 44px; flex: 0 0 44px;
  display: grid; place-items: center;
  border-radius: 13px;
  color: #fff;
  background: linear-gradient(145deg, var(--amo-red), var(--amo-red-bright));
  box-shadow: 0 8px 18px rgba(153,0,0,.18);
}
.amo-brand-mark svg { width: 28px; height: 28px; }
.amo-brand-text { display: flex; flex-direction: column; }
.amo-brand-title { color: var(--amo-ink); font-family: var(--amo-serif); font-size: 1.06rem; font-weight: 700; line-height: 1.15; }
.amo-brand-subtitle { color: var(--amo-muted); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-top: 4px; }
.amo-primary-menu { display: flex; align-items: center; gap: 5px; margin: 0; padding: 0; list-style: none; }
.amo-primary-menu li { position: relative; }
.amo-primary-menu a {
  display: block;
  padding: 10px 12px;
  border-radius: 9px;
  color: var(--amo-ink);
  font-size: .91rem; font-weight: 700;
  text-decoration: none;
}
.amo-primary-menu a:hover,
.amo-primary-menu .current-menu-item > a,
.amo-primary-menu .current_page_item > a { color: var(--amo-red); background: rgba(153,0,0,.06); }
.amo-primary-menu .sub-menu {
  position: absolute; top: calc(100% + 8px); left: 0;
  min-width: 230px;
  margin: 0; padding: 9px;
  list-style: none;
  background: #fff;
  border: 1px solid var(--amo-line);
  border-radius: 13px;
  box-shadow: var(--amo-shadow-lg);
  opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: all .2s ease;
}
.amo-primary-menu li:hover > .sub-menu,
.amo-primary-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.amo-menu-toggle {
  display: none;
  width: 44px; height: 44px;
  border: 1px solid var(--amo-line); border-radius: 10px;
  color: var(--amo-ink); background: #fff;
}
.amo-menu-toggle span,
.amo-menu-toggle::before,
.amo-menu-toggle::after {
  content: '';
  display: block; width: 20px; height: 2px; margin: 4px auto;
  background: currentColor; transition: .2s ease;
}
.menu-open .amo-menu-toggle span { opacity: 0; }
.menu-open .amo-menu-toggle::before { transform: translateY(6px) rotate(45deg); }
.menu-open .amo-menu-toggle::after { transform: translateY(-6px) rotate(-45deg); }

/* Hero */
.amo-hero {
  position: relative; overflow: hidden;
  padding: clamp(80px, 10vw, 142px) 0 clamp(74px, 8vw, 118px);
  background:
    radial-gradient(circle at 84% 18%, rgba(153, 0, 0, .13), transparent 28%),
    radial-gradient(circle at 64% 88%, rgba(37, 99, 235, .08), transparent 32%),
    linear-gradient(180deg, #fff 0%, #f7f8fb 100%);
}
.amo-hero::before {
  content: ''; position: absolute; inset: 0;
  opacity: .55;
  background-image: linear-gradient(rgba(18,24,38,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(18,24,38,.035) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(to right, transparent 0%, #000 42%, #000 100%);
}
.amo-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); align-items: center; gap: clamp(46px, 8vw, 100px); }
.amo-hero__copy { max-width: 760px; }
.amo-hero__kicker {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 8px 12px;
  border: 1px solid rgba(153,0,0,.15);
  border-radius: 999px;
  color: var(--amo-red);
  background: rgba(255,255,255,.75);
  font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
}
.amo-hero__kicker::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--amo-red); box-shadow: 0 0 0 5px rgba(153,0,0,.1); }
.amo-hero h1 {
  max-width: 900px;
  margin: 22px 0 24px;
  color: var(--amo-ink);
  font-family: var(--amo-serif);
  font-size: clamp(3rem, 6.3vw, 5.65rem);
  font-weight: 700;
  line-height: .99;
  letter-spacing: -.045em;
}
.amo-hero h1 em { color: var(--amo-red); font-style: normal; }
.amo-hero__lead { max-width: 700px; margin: 0 0 31px; color: var(--amo-text); font-size: clamp(1.06rem, 1.8vw, 1.26rem); line-height: 1.68; }
.amo-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.amo-hero__visual { position: relative; min-height: 520px; display: grid; place-items: center; }
.amo-orbit-stage {
  position: relative; width: min(100%, 520px); aspect-ratio: 1;
  display: grid; place-items: center;
}
.amo-orbit-stage::before {
  content: ''; position: absolute; inset: 7%; border-radius: 50%;
  background: radial-gradient(circle at 38% 32%, #fff, #eef1f5 55%, #dfe4ec 100%);
  box-shadow: inset 0 0 0 1px rgba(18,24,38,.05), var(--amo-shadow-lg);
}
.amo-orbit-core {
  position: relative; z-index: 3;
  width: 130px; height: 130px; border-radius: 50%;
  display: grid; place-items: center;
  background: radial-gradient(circle at 35% 30%, #de5a63 0%, var(--amo-red) 48%, var(--amo-red-dark) 100%);
  color: #fff;
  box-shadow: 0 0 0 18px rgba(153,0,0,.06), 0 18px 50px rgba(103,0,0,.28);
}
.amo-orbit-core span { font-family: var(--amo-serif); font-size: 2.1rem; font-weight: 700; }
.amo-orbit {
  position: absolute; z-index: 2;
  width: 79%; height: 41%;
  border: 1.5px solid rgba(18,24,38,.23); border-radius: 50%;
  transform: rotate(var(--rotation));
}
.amo-orbit::after {
  content: ''; position: absolute; left: 3%; top: 50%;
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--dot, var(--amo-blue));
  box-shadow: 0 0 0 7px rgba(37,99,235,.10), 0 5px 12px rgba(18,24,38,.18);
  transform: translate(-50%, -50%);
}
.amo-orbit--1 { --rotation: 18deg; --dot: var(--amo-blue); }
.amo-orbit--2 { --rotation: 78deg; --dot: var(--amo-cyan); }
.amo-orbit--3 { --rotation: 138deg; --dot: var(--amo-gold); }
.amo-hero-note {
  position: absolute; z-index: 5;
  max-width: 205px;
  padding: 15px 17px;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 16px;
  color: var(--amo-ink);
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(10px);
  box-shadow: var(--amo-shadow-sm);
  font-size: .82rem; line-height: 1.45;
}
.amo-hero-note strong { display: block; color: var(--amo-red); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 5px; }
.amo-hero-note--a { top: 11%; left: 0; }
.amo-hero-note--b { right: 0; bottom: 10%; }

.amo-stats-strip { position: relative; margin-top: -34px; z-index: 8; }
.amo-stats-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  background: #fff;
  border: 1px solid var(--amo-line);
  border-radius: var(--amo-radius);
  box-shadow: var(--amo-shadow-sm);
}
.amo-stat { padding: 25px 30px; }
.amo-stat + .amo-stat { border-left: 1px solid var(--amo-line); }
.amo-stat strong { display: block; color: var(--amo-ink); font-family: var(--amo-serif); font-size: 1.72rem; line-height: 1.2; }
.amo-stat span { color: var(--amo-muted); font-size: .84rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }

/* Cards and grids */
.amo-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.amo-card {
  position: relative; overflow: hidden;
  min-height: 100%;
  padding: 28px;
  border: 1px solid var(--amo-line);
  border-radius: var(--amo-radius);
  background: #fff;
  box-shadow: 0 6px 24px rgba(18,24,38,.04);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.amo-card:hover { transform: translateY(-5px); border-color: rgba(153,0,0,.25); box-shadow: var(--amo-shadow-sm); }
.amo-card__number { color: var(--amo-red); font-size: .75rem; font-weight: 850; letter-spacing: .1em; }
.amo-card__icon {
  width: 48px; height: 48px; display: grid; place-items: center;
  margin-bottom: 36px;
  border-radius: 14px;
  color: var(--amo-red);
  background: rgba(153,0,0,.07);
}
.amo-card__icon svg { width: 24px; height: 24px; }
.amo-card h3 { margin: 0 0 12px; color: var(--amo-ink); font-family: var(--amo-serif); font-size: 1.48rem; line-height: 1.25; }
.amo-card h3 a { color: inherit; text-decoration: none; }
.amo-card p { color: var(--amo-muted); margin: 0 0 24px; font-size: .96rem; }
.amo-card__link { margin-top: auto; }

.amo-feature {
  display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr); gap: 26px;
  align-items: stretch;
}
.amo-feature__main {
  position: relative; overflow: hidden;
  padding: clamp(36px, 6vw, 70px);
  border-radius: var(--amo-radius-lg);
  color: #fff;
  background: linear-gradient(135deg, #181f2e 0%, #272f42 70%, #392d39 100%);
}
.amo-feature__main::after {
  content: ''; position: absolute; width: 360px; height: 360px; right: -150px; bottom: -190px;
  border: 1px solid rgba(255,255,255,.14); border-radius: 50%; box-shadow: 0 0 0 55px rgba(255,255,255,.025), 0 0 0 110px rgba(255,255,255,.02);
}
.amo-feature__main .amo-eyebrow { color: #f5b7bd; }
.amo-feature__main h2 { color: #fff; max-width: 760px; }
.amo-feature__main p { max-width: 680px; color: rgba(255,255,255,.74); font-size: 1.04rem; }
.amo-feature__aside { display: grid; grid-template-rows: repeat(2, 1fr); gap: 26px; }
.amo-mini-panel { padding: 30px; border: 1px solid var(--amo-line); border-radius: var(--amo-radius); background: #fff; }
.amo-mini-panel__label { color: var(--amo-red); font-size: .73rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.amo-mini-panel h3 { color: var(--amo-ink); font-family: var(--amo-serif); font-size: 1.35rem; margin: 8px 0; }
.amo-mini-panel p { color: var(--amo-muted); font-size: .92rem; margin: 0; }

/* Team */
.amo-team-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.amo-person { overflow: hidden; border: 1px solid var(--amo-line); border-radius: var(--amo-radius); background: #fff; transition: .2s ease; }
.amo-person:hover { transform: translateY(-4px); box-shadow: var(--amo-shadow-sm); }
.amo-person__image { aspect-ratio: 4 / 4.25; background: linear-gradient(145deg, #e6eaf0, #f7f8fa); overflow: hidden; }
.amo-person__image img { width: 100%; height: 100%; object-fit: cover; }
.amo-person__placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: #9aa4b2; }
.amo-person__placeholder svg { width: 56px; height: 56px; }
.amo-person__body { padding: 20px 21px 23px; }
.amo-person h3 { margin: 0; color: var(--amo-ink); font-family: var(--amo-serif); font-size: 1.28rem; line-height: 1.25; }
.amo-person h3 a { color: inherit; text-decoration: none; }
.amo-person__role { display: block; color: var(--amo-red); font-size: .76rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; margin-top: 7px; }
.amo-person p { color: var(--amo-muted); font-size: .9rem; line-height: 1.55; margin: 13px 0 0; }

/* Publications */
.amo-publications { display: grid; gap: 13px; }
.amo-publication {
  display: grid; grid-template-columns: 82px minmax(0, 1fr) auto; gap: 22px; align-items: start;
  padding: 24px 26px;
  border: 1px solid var(--amo-line); border-radius: 14px; background: #fff;
  transition: .2s ease;
}
.amo-publication:hover { border-color: rgba(153,0,0,.25); box-shadow: var(--amo-shadow-sm); }
.amo-publication__year { color: var(--amo-red); font-family: var(--amo-serif); font-size: 1.25rem; font-weight: 700; }
.amo-publication h3 { margin: 0 0 7px; color: var(--amo-ink); font-family: var(--amo-serif); font-size: 1.2rem; line-height: 1.35; }
.amo-publication h3 a { color: inherit; text-decoration: none; }
.amo-publication__meta { color: var(--amo-muted); font-size: .88rem; line-height: 1.55; }
.amo-publication__journal { color: var(--amo-text); font-style: italic; }
.amo-publication__action { display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; color: var(--amo-red); background: rgba(153,0,0,.06); text-decoration: none; }

/* News */
.amo-news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.amo-news-card { overflow: hidden; border: 1px solid var(--amo-line); border-radius: var(--amo-radius); background: #fff; }
.amo-news-card__media { aspect-ratio: 16 / 10; overflow: hidden; background: linear-gradient(145deg, #e7ebf1, #f8f9fb); }
.amo-news-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.amo-news-card:hover .amo-news-card__media img { transform: scale(1.035); }
.amo-news-card__body { padding: 23px 24px 27px; }
.amo-news-card__date { color: var(--amo-red); font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.amo-news-card h3 { margin: 9px 0 10px; color: var(--amo-ink); font-family: var(--amo-serif); font-size: 1.33rem; line-height: 1.3; }
.amo-news-card h3 a { color: inherit; text-decoration: none; }
.amo-news-card p { color: var(--amo-muted); font-size: .92rem; margin: 0; }

/* CTA and footer */
.amo-cta { position: relative; overflow: hidden; padding: clamp(36px, 6vw, 70px); border-radius: var(--amo-radius-lg); color: #fff; background: linear-gradient(135deg, var(--amo-red-dark), var(--amo-red) 55%, #be2230); }
.amo-cta::before { content: ''; position: absolute; width: 440px; height: 440px; right: -180px; top: -220px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.035), 0 0 0 140px rgba(255,255,255,.025); }
.amo-cta__inner { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 38px; }
.amo-cta h2 { color: #fff; max-width: 700px; font-size: clamp(2.1rem, 4vw, 3.3rem); margin: 0 0 12px; }
.amo-cta p { max-width: 690px; color: rgba(255,255,255,.78); margin: 0; }
.amo-site-footer { margin-top: 90px; color: rgba(255,255,255,.72); background: #101521; }
.amo-site-footer__main { display: grid; grid-template-columns: 1.4fr .7fr .7fr; gap: 60px; padding: 72px 0 50px; }
.amo-footer-brand { max-width: 430px; }
.amo-footer-brand h2 { color: #fff; font-family: var(--amo-serif); font-size: 1.6rem; line-height: 1.25; margin: 0 0 14px; }
.amo-footer-brand p { margin: 0; font-size: .93rem; }
.amo-footer-heading { color: #fff; font-size: .76rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 18px; }
.amo-footer-menu { list-style: none; margin: 0; padding: 0; }
.amo-footer-menu li + li { margin-top: 9px; }
.amo-footer-menu a, .amo-footer-contact a { color: rgba(255,255,255,.74); text-decoration: none; }
.amo-footer-menu a:hover, .amo-footer-contact a:hover { color: #fff; }
.amo-footer-contact { font-size: .92rem; }
.amo-site-footer__bottom { border-top: 1px solid rgba(255,255,255,.1); padding: 20px 0; }
.amo-site-footer__bottom-inner { display: flex; justify-content: space-between; gap: 20px; font-size: .79rem; }

/* Inner pages */
.amo-page-header { padding: clamp(64px, 8vw, 104px) 0 54px; background: linear-gradient(180deg, #f8f9fb, #fff); border-bottom: 1px solid var(--amo-line); }
.amo-page-header h1 { max-width: 900px; font-size: clamp(2.65rem, 5.5vw, 4.8rem); margin: 7px 0 14px; }
.amo-page-header p { max-width: 760px; color: var(--amo-muted); font-size: 1.08rem; }
.amo-breadcrumbs { color: var(--amo-muted); font-size: .8rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.amo-breadcrumbs a { color: var(--amo-muted); text-decoration: none; }
.amo-content-wrap { padding: 65px 0 0; }
.amo-content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 70px; align-items: start; }
.amo-entry { min-width: 0; }
.entry-title { font-size: clamp(2.2rem, 4vw, 3.5rem); margin: 0 0 13px; }
.entry-meta { color: var(--amo-muted); font-size: .83rem; margin-bottom: 28px; }
.entry-content { font-size: 1.02rem; }
.entry-content h2, .entry-content h3, .entry-content h4 { color: var(--amo-ink); font-family: var(--amo-serif); line-height: 1.25; }
.entry-content h2 { font-size: 2rem; margin-top: 2.2em; }
.entry-content h3 { font-size: 1.55rem; margin-top: 1.8em; }
.entry-content blockquote { margin: 2em 0; padding: 4px 0 4px 26px; border-left: 4px solid var(--amo-red); color: var(--amo-ink); font-family: var(--amo-serif); font-size: 1.3rem; line-height: 1.5; }
.entry-content table { width: 100%; border-collapse: collapse; }
.entry-content th, .entry-content td { padding: 12px; border: 1px solid var(--amo-line); text-align: left; }
.wp-block-image img, .post-thumbnail img { border-radius: var(--amo-radius); }
.amo-sidebar { position: sticky; top: 120px; }
.amo-widget { padding: 24px; border: 1px solid var(--amo-line); border-radius: var(--amo-radius); background: var(--amo-surface); }
.amo-widget + .amo-widget { margin-top: 20px; }
.amo-widget h2, .amo-widget h3 { color: var(--amo-ink); font-family: var(--amo-serif); font-size: 1.25rem; margin: 0 0 14px; }
.amo-widget ul { margin: 0; padding-left: 20px; }

.amo-archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.amo-pagination { margin-top: 45px; }
.nav-links { display: flex; gap: 8px; flex-wrap: wrap; }
.page-numbers { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 12px; border: 1px solid var(--amo-line); border-radius: 9px; text-decoration: none; }
.page-numbers.current { color: #fff; background: var(--amo-red); border-color: var(--amo-red); }
.amo-empty { padding: 45px; border: 1px dashed var(--amo-line); border-radius: var(--amo-radius); background: var(--amo-surface); text-align: center; }

/* Single research/member */
.amo-profile-hero { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 50px; align-items: center; margin-bottom: 55px; }
.amo-profile-photo { aspect-ratio: 4/4.4; overflow: hidden; border-radius: var(--amo-radius-lg); background: var(--amo-surface); }
.amo-profile-photo img { width: 100%; height: 100%; object-fit: cover; }
.amo-profile-role { color: var(--amo-red); font-size: .8rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.amo-profile-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px; }

/* Forms */
input[type='text'], input[type='email'], input[type='search'], input[type='url'], textarea, select {
  width: 100%; padding: 12px 14px; border: 1px solid var(--amo-line); border-radius: 10px; background: #fff; color: var(--amo-ink);
}
input:focus, textarea:focus, select:focus { outline: 3px solid rgba(153,0,0,.11); border-color: rgba(153,0,0,.42); }
input[type='submit'] { padding: 12px 18px; border: 0; border-radius: 999px; color: #fff; background: var(--amo-red); font-weight: 800; }

/* WordPress alignments */
.alignwide { width: min(1180px, calc(100vw - 40px)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.alignfull { width: 100vw; max-width: none; margin-left: 50%; transform: translateX(-50%); }

@media (max-width: 1080px) {
  .amo-primary-menu a { padding-inline: 8px; font-size: .85rem; }
  .amo-team-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 900px) {
  .admin-bar .amo-site-header { top: 46px; }
  .amo-institution-links { display: none; }
  .amo-menu-toggle { display: block; }
  .amo-nav {
    position: fixed; inset: 122px 0 auto 0;
    max-height: calc(100vh - 122px); overflow-y: auto;
    padding: 18px 20px 30px;
    background: #fff; border-bottom: 1px solid var(--amo-line); box-shadow: var(--amo-shadow-lg);
    opacity: 0; visibility: hidden; transform: translateY(-10px); transition: .2s ease;
  }
  .admin-bar .amo-nav { top: 154px; }
  .menu-open .amo-nav { opacity: 1; visibility: visible; transform: none; }
  .amo-primary-menu { display: block; }
  .amo-primary-menu a { padding: 13px 10px; font-size: 1rem; }
  .amo-primary-menu .sub-menu { position: static; display: block; box-shadow: none; border: 0; padding-left: 18px; opacity: 1; visibility: visible; transform: none; }
  .amo-hero__grid { grid-template-columns: 1fr; }
  .amo-hero__visual { min-height: 440px; }
  .amo-stats-grid { grid-template-columns: 1fr; }
  .amo-stat + .amo-stat { border-left: 0; border-top: 1px solid var(--amo-line); }
  .amo-card-grid, .amo-archive-grid, .amo-news-grid { grid-template-columns: repeat(2, 1fr); }
  .amo-feature { grid-template-columns: 1fr; }
  .amo-team-grid { grid-template-columns: repeat(2, 1fr); }
  .amo-content-grid { grid-template-columns: 1fr; }
  .amo-sidebar { position: static; }
  .amo-site-footer__main { grid-template-columns: 1fr 1fr; }
  .amo-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  body { font-size: 16px; }
  .amo-container { width: min(calc(100% - 28px), var(--amo-container)); }
  .amo-institution-bar__inner { min-height: 34px; }
  .amo-site-header__inner { min-height: 72px; }
  .amo-brand-subtitle { display: none; }
  .amo-brand-title { font-size: .94rem; }
  .amo-nav { inset-top: 106px; }
  .amo-hero { padding-top: 60px; }
  .amo-hero h1 { font-size: clamp(2.7rem, 14vw, 4rem); }
  .amo-hero__visual { min-height: 350px; }
  .amo-orbit-stage { width: 360px; max-width: 100%; }
  .amo-orbit-core { width: 96px; height: 96px; }
  .amo-hero-note { display: none; }
  .amo-card-grid, .amo-archive-grid, .amo-news-grid, .amo-team-grid { grid-template-columns: 1fr; }
  .amo-section__head { display: block; }
  .amo-section__head .amo-button { margin-top: 22px; }
  .amo-publication { grid-template-columns: 62px minmax(0,1fr); }
  .amo-publication__action { display: none; }
  .amo-cta__inner { display: block; }
  .amo-cta .amo-button { margin-top: 24px; }
  .amo-site-footer__main { grid-template-columns: 1fr; gap: 35px; }
  .amo-footer-brand { grid-column: auto; }
  .amo-site-footer__bottom-inner { display: block; }
  .amo-profile-hero { grid-template-columns: 1fr; }
}

/* JPR / Stony Brook 2026 redesign */
@font-face{font-family:'Accanthis ADF Std';src:url('assets/fonts/AccanthisADFStd-Regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Accanthis ADF Std';src:url('assets/fonts/AccanthisADFStd-Bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Accanthis ADF Std';src:url('assets/fonts/AccanthisADFStd-Italic.otf') format('opentype');font-weight:400;font-style:italic;font-display:swap}
:root{--amo-red:#541E1B;--amo-red-dark:#421714;--amo-red-bright:#541E1B;--amo-serif:'Accanthis ADF Std',Georgia,serif;--amo-sans:'Accanthis ADF Std',Georgia,serif;--amo-container:1230px;--amo-radius:0;--amo-radius-sm:0;--amo-radius-lg:0}
html,body,button,input,textarea,select,.editor-styles-wrapper{font-family:'Accanthis ADF Std',Georgia,serif!important}
body{background:#f8f8f7;color:#252525;font-size:18px}
.amo-institution-bar{display:none!important}
.amo-site-header{background:#fff;border-top:5px solid var(--amo-red);border-bottom:1px solid #dedede;box-shadow:0 3px 16px rgba(0,0,0,.06);position:relative;z-index:20}
.amo-site-header__inner{min-height:150px;display:flex;align-items:center;gap:32px}
.site-branding{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:290px}
.custom-logo{max-height:72px;width:auto}
.amo-brand-title{font-size:2rem;color:var(--amo-red);font-weight:700}
.amo-sbu-logo{display:block;margin-top:8px;line-height:0}
.amo-sbu-logo img{width:270px;max-height:58px;object-fit:contain;object-position:left center}
.amo-nav{margin-left:auto;align-self:stretch;display:flex;align-items:flex-end;justify-content:flex-end}
.amo-primary-menu{justify-content:flex-end;align-items:stretch;margin:0;gap:0}
.amo-primary-menu>li>a{color:var(--amo-red)!important;font-size:1.03rem;font-weight:700;padding:22px 17px;border-bottom:5px solid transparent;background:transparent;transition:.18s ease}
.amo-primary-menu>li>a:hover,.amo-primary-menu>li:hover>a,.amo-primary-menu>.current-menu-item>a,.amo-primary-menu>.current_page_item>a{color:#fff!important;background:var(--amo-red)!important;border-bottom-color:var(--amo-red)!important}
.amo-primary-menu .sub-menu{border-top:4px solid var(--amo-red);border-radius:0}
.amo-primary-menu .sub-menu a:hover{background:var(--amo-red);color:#fff}
.amo-home-main{padding:36px 0 70px}
.amo-home-hero{display:grid;gap:24px}
.amo-home-hero__image{display:block;width:100%;max-height:600px;object-fit:cover;border-top:5px solid var(--amo-red);box-shadow:0 4px 18px rgba(0,0,0,.10)}
.amo-block-card,.amo-entry,.amo-widget,.amo-empty,.amo-card,.amo-person-card,.amo-publication,.amo-news-card{background:#fff;border:1px solid #d9d9d9;border-top:5px solid var(--amo-red);box-shadow:0 5px 16px rgba(0,0,0,.06);padding:38px}
.amo-home-hero__text{text-align:center;padding:38px clamp(24px,6vw,90px)}
.amo-home-hero__text h1{color:var(--amo-red);font-size:clamp(2rem,4vw,4rem);line-height:1.08;margin:0 0 18px}
.amo-home-hero__text p{font-size:clamp(1.05rem,1.5vw,1.3rem);max-width:960px;margin:0 auto;line-height:1.55}
.amo-home-blocks{display:grid;gap:34px;margin-top:34px}
.amo-home-two-column{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.amo-block-card h2,.amo-page-header h1,.entry-title{color:var(--amo-red);font-weight:700}
.amo-block-card h2{font-size:2.25rem;margin:0 0 25px;padding-bottom:14px;border-bottom:2px solid #ddd}
.amo-block-card h3{color:var(--amo-red);font-size:1.35rem}
.amo-home-news{padding-left:24px;margin-bottom:0}
.amo-home-news li{margin:11px 0}
.amo-button{border-radius:0;background:var(--amo-red);box-shadow:none;font-family:inherit}
.amo-button:hover{background:#fff;color:var(--amo-red);border-color:var(--amo-red);box-shadow:inset 0 0 0 1px var(--amo-red)}
.amo-page-header{background:transparent;padding:46px 0 18px;text-align:center}
.amo-page-header .amo-container{background:#fff;border:1px solid #ddd;border-top:5px solid var(--amo-red);padding:30px 40px;box-shadow:0 5px 16px rgba(0,0,0,.05)}
.amo-breadcrumbs{display:none!important}
.amo-content-wrap{padding:18px 0 70px}
.amo-content-grid{grid-template-columns:minmax(0,1fr);max-width:1120px}
.amo-content-grid>div,.amo-sidebar{min-width:0}
.amo-sidebar{display:none}
.amo-entry{max-width:1120px;margin:0 auto;text-align:left}
.entry-content>*{max-width:100%}
.amo-section{padding:45px 0}
.amo-section>.amo-container{max-width:1230px}
.amo-section__head{text-align:center;display:block;background:#fff;border:1px solid #ddd;border-top:5px solid var(--amo-red);padding:30px;margin-bottom:28px}
.amo-section__head>div{max-width:900px;margin:auto}
.amo-section h2{color:var(--amo-red)}
.amo-site-footer{border-top:5px solid var(--amo-red)}
.amo-site-footer__bottom{background:var(--amo-red)}
::selection{background:rgba(84,30,27,.18)}
@media(max-width:900px){.amo-site-header__inner{min-height:auto;padding:18px 0;align-items:center}.site-branding{min-width:0}.amo-sbu-logo img{width:215px}.amo-nav{align-self:auto}.amo-home-two-column{grid-template-columns:1fr}.amo-primary-menu{justify-content:flex-start}.amo-primary-menu>li>a{color:var(--amo-red)!important}.amo-primary-menu>li>a:hover{color:#fff!important}.amo-block-card{padding:27px}.amo-home-main{padding-top:22px}}

/* Sangria refinement — July 2026 */
:root{
  --amo-red:#5E1916;
  --amo-red-dark:#46110f;
  --amo-red-bright:#5E1916;
}
::selection{background:rgba(94,25,22,.18)}

/* Compact header: equal-width stacked logos and a single-line, right-anchored menu. */
.amo-site-header{border-top-color:var(--amo-red)}
.amo-site-header__inner{
  width:min(calc(100% - 28px), 1380px);
  min-height:116px;
  padding:8px 0 0;
  gap:22px;
  align-items:center;
}
.site-branding{
  flex:0 0 250px;
  min-width:250px;
  align-items:center;
  gap:3px;
}
.custom-logo-link,.amo-brand{display:flex;justify-content:center;width:250px;line-height:0}
.custom-logo{display:block;width:250px!important;height:58px!important;max-width:250px!important;max-height:58px!important;object-fit:contain}
.amo-sbu-logo{display:flex;justify-content:center;width:250px;margin:0;line-height:0}
.amo-sbu-logo img{display:block;width:250px!important;height:58px!important;max-width:250px!important;max-height:58px!important;object-fit:contain;object-position:center}
.amo-nav{min-width:0;flex:1;margin-left:auto;align-self:stretch;align-items:flex-end;justify-content:flex-end}
.amo-primary-menu{width:100%;justify-content:flex-end;flex-wrap:nowrap}
.amo-primary-menu>li{flex:0 0 auto}
.amo-primary-menu>li>a{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:68px;
  padding:18px 16px;
  white-space:nowrap;
  word-break:normal;
  line-height:1.15;
}
.amo-primary-menu>.menu-item-has-children>a::after{
  content:'⌄';
  display:inline-block;
  font-size:.8em;
  line-height:1;
  transform:translateY(-1px);
  opacity:.85;
}
.amo-primary-menu .sub-menu{min-width:235px}

/* Image title and separate centered philosophy panel. */
.amo-home-main{padding-top:24px}
.amo-home-hero{gap:24px}
.amo-home-hero__media{position:relative;overflow:hidden;border-top:5px solid var(--amo-red);box-shadow:0 4px 18px rgba(0,0,0,.12);background:#111}
.amo-home-hero__image{border:0;box-shadow:none;max-height:610px;min-height:420px}
.amo-home-hero__media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.50));pointer-events:none}
.amo-home-hero__overlay{position:absolute;z-index:2;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:clamp(28px,5vw,70px);text-align:center}
.amo-home-hero__overlay h1{max-width:1100px;margin:0;color:#fff!important;font-size:clamp(2.2rem,5vw,4.8rem);line-height:1.05;text-shadow:0 3px 18px rgba(0,0,0,.7)}
.amo-home-hero__text{padding:34px clamp(24px,7vw,100px)}
.amo-home-hero__text p{margin:0 auto;max-width:1020px;text-align:center;font-size:clamp(1.05rem,1.55vw,1.35rem);line-height:1.55}
.amo-home-hero__text hr{width:130px;margin:24px auto;border:0;border-top:2px solid #d9d9d9}
.amo-home-philosophy{font-size:clamp(1rem,1.35vw,1.22rem)!important}

/* Full-width card treatment and separators for editor-created sections. */
.amo-content-grid{max-width:1230px;width:100%}
.amo-entry{max-width:1230px;width:100%}
.entry-content>.wp-block-group,
.entry-content>.wp-block-columns,
.entry-content>.wp-block-media-text,
.entry-content>.wp-block-cover,
.entry-content>.wp-block-table,
.entry-content>.wp-block-gallery{
  background:#fff;
  border:1px solid #d9d9d9;
  border-top:5px solid var(--amo-red);
  box-shadow:0 5px 16px rgba(0,0,0,.06);
  padding:clamp(25px,4vw,42px);
  margin:0 0 30px;
}
.entry-content>h2{
  margin:34px 0 0;
  padding:30px 38px 18px;
  background:#fff;
  border:1px solid #d9d9d9;
  border-top:5px solid var(--amo-red);
  border-bottom:0;
  color:var(--amo-red);
  box-shadow:0 5px 16px rgba(0,0,0,.05);
}
.entry-content>h2+*{border-top:1px solid #ddd;padding-top:24px}
.entry-content>*+*{border-top-color:#ddd}
.entry-content .wp-block-group>*+*,.entry-content .wp-block-column>*+*{border-top:1px solid #e0e0e0;padding-top:20px;margin-top:20px}

/* Footer reduced to one compact, centered information panel. */
.amo-site-footer{margin-top:55px;background:#101521;border-top:5px solid var(--amo-red)}
.amo-site-footer__main.amo-site-footer__centered{
  display:block;
  max-width:940px;
  padding:32px 20px 30px;
  text-align:center;
}
.amo-site-footer__centered h2{margin:0 0 12px;color:#fff;font-size:1.65rem}
.amo-site-footer__centered p{max-width:820px;margin:7px auto;color:rgba(255,255,255,.82);line-height:1.45}
.amo-site-footer__centered a{color:#fff}
.amo-site-footer__bottom{display:none!important}

@media(max-width:1100px){
  .amo-site-header__inner{flex-wrap:wrap;padding:10px 0 0}
  .site-branding{flex-basis:220px;min-width:220px}
  .custom-logo-link,.amo-brand,.amo-sbu-logo{width:220px}
  .custom-logo,.amo-sbu-logo img{width:220px!important;max-width:220px!important;height:51px!important}
  .amo-primary-menu>li>a{padding-inline:10px;font-size:.92rem}
}
@media(max-width:900px){
  .amo-site-header__inner{padding:12px 0;min-height:auto}
  .site-branding{align-items:flex-start}
  .amo-primary-menu{flex-wrap:wrap}
  .amo-primary-menu>li>a{min-height:auto;white-space:normal}
  .amo-home-hero__image{min-height:330px}
}

/* ========================================================================== 
   JPR AMO refinement v3 — watercolor science, Sangria accents, fluid content
   ========================================================================== */
:root{
  --amo-red:#5E1916;
  --amo-red-dark:#40100e;
  --amo-red-bright:#7b2520;
  --amo-paper:#f8f6f2;
}

/* Muted scientific artwork at the outer edges of the centered site. */
body{
  position:relative;
  background:#eeeae5;
}
body::before{
  content:"";
  position:fixed;
  z-index:-2;
  inset:0;
  background:
    linear-gradient(90deg,rgba(248,246,242,.18),rgba(248,246,242,.9) 24%,rgba(248,246,242,.98) 36%,rgba(248,246,242,.98) 64%,rgba(248,246,242,.9) 76%,rgba(248,246,242,.18)),
    url('assets/images/amo-watercolor-banner.png') center/cover no-repeat;
  filter:saturate(.58) contrast(.88);
  opacity:.38;
}
.amo-home-main,.amo-content-wrap,.amo-page-header{position:relative}
.amo-home-main::before,.amo-content-wrap::before,.amo-page-header::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0 max(0px,calc((100% - 1320px)/2));
  background:rgba(255,255,255,.955);
}

/* Header: no wasted space, balanced logos, right-filling single-line menu. */
.amo-site-header{border-top:4px solid var(--amo-red);background:#fff;box-shadow:0 3px 15px rgba(42,20,18,.08)}
.amo-site-header__inner{
  width:min(calc(100% - 28px),1440px);
  min-height:134px;
  padding:5px 0;
  align-items:center;
  gap:20px;
}
.site-branding{
  flex:0 0 278px;
  min-width:278px;
  display:grid;
  grid-template-rows:1fr 1fr;
  align-items:center;
  justify-items:center;
  gap:2px;
}
.custom-logo-link,.amo-brand,.amo-sbu-logo{
  width:278px;
  height:61px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  overflow:hidden;
}
.custom-logo,.amo-sbu-logo img{
  width:258px!important;
  height:57px!important;
  max-width:258px!important;
  max-height:57px!important;
  object-fit:contain;
  object-position:center;
}
.amo-nav{flex:1;min-width:0;display:flex;align-items:stretch;justify-content:flex-end;align-self:stretch;margin-left:auto}
.amo-primary-menu{width:100%;display:flex;justify-content:flex-end;align-items:stretch;gap:2px;flex-wrap:nowrap}
.amo-primary-menu>li{display:flex;align-items:stretch;flex:0 0 auto}
.amo-primary-menu>li>a{
  min-height:100%;
  padding:18px clamp(11px,1.15vw,20px);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.48em;
  white-space:nowrap;
  word-break:keep-all;
  hyphens:none;
  border-radius:0;
  color:var(--amo-red);
  font-size:clamp(.91rem,1.05vw,1.07rem);
}
.amo-primary-menu>li:last-child>a{padding-right:0}
.amo-primary-menu>li>a:hover,
.amo-primary-menu>.current-menu-item>a,
.amo-primary-menu>.current_page_item>a{background:var(--amo-red);color:#fff}
.amo-primary-menu>.menu-item-has-children>a::after{
  content:'▼';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1em;
  height:1em;
  font-size:.9em;
  line-height:1;
  color:currentColor;
  transform:none;
  opacity:1;
  transition:transform .2s ease;
}
.amo-primary-menu>.menu-item-has-children:hover>a::after,
.amo-primary-menu>.menu-item-has-children:focus-within>a::after{transform:rotate(180deg)}
.amo-primary-menu .sub-menu{border-top:4px solid var(--amo-red);border-radius:0 0 10px 10px}

/* Homepage hero. */
.amo-home-main{padding:22px 0 72px}
.amo-home-hero{display:grid;gap:22px}
.amo-home-hero__media{
  min-height:clamp(460px,55vw,700px);
  border:0;
  border-radius:4px;
  overflow:hidden;
  background:#eee;
  box-shadow:0 12px 38px rgba(48,25,24,.17);
}
.amo-home-hero__image{width:100%;height:100%;min-height:inherit;max-height:none;object-fit:cover;object-position:center}
.amo-home-hero__media::after{background:linear-gradient(90deg,rgba(25,10,12,.22),rgba(25,10,12,.10) 50%,rgba(25,10,12,.22)),linear-gradient(180deg,rgba(20,8,10,.06),rgba(20,8,10,.38))}
.amo-home-hero__overlay{align-items:center;padding:clamp(35px,7vw,95px)}
.amo-home-hero__overlay h1{
  max-width:1200px;
  color:#fff!important;
  font-size:clamp(2.7rem,6.2vw,6rem);
  line-height:1.01;
  letter-spacing:-.025em;
  text-align:center;
  text-shadow:0 3px 4px rgba(0,0,0,.65),0 10px 34px rgba(0,0,0,.58);
}
.amo-feature-panel{
  max-width:1180px;
  margin:-64px auto 0;
  z-index:4;
  position:relative;
  padding:36px clamp(24px,6vw,82px);
  background:rgba(255,255,255,.97);
  border:1px solid rgba(94,25,22,.18);
  box-shadow:0 13px 36px rgba(50,30,26,.14);
  text-align:center;
}
.amo-feature-panel::before{
  content:"";
  position:absolute;
  left:8%;right:8%;top:0;height:7px;
  background:linear-gradient(90deg,transparent,var(--amo-red) 12%,var(--amo-red) 88%,transparent);
}
.amo-home-hero__text p{max-width:1050px;margin:0 auto;font-size:clamp(1.07rem,1.5vw,1.31rem);line-height:1.55}
.amo-home-hero__text p+p{margin-top:22px;padding-top:21px;border-top:1px solid rgba(94,25,22,.18)}

/* Decorative title rule used throughout the site. */
.amo-art-heading,.amo-page-header .amo-container,.entry-content>h2,.amo-section__head{
  position:relative;
  background:#fff;
  border:1px solid rgba(94,25,22,.15);
  border-top:0;
  box-shadow:0 6px 18px rgba(49,31,28,.07);
}
.amo-art-heading::before,.amo-page-header .amo-container::before,.entry-content>h2::before,.amo-section__head::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:8px;
  background:
    radial-gradient(circle at 8px 4px,#fff 0 1.6px,transparent 1.8px) 0 0/18px 8px repeat-x,
    linear-gradient(90deg,var(--amo-red-dark),var(--amo-red-bright),var(--amo-red-dark));
}
.amo-art-heading{margin:44px 0 28px;padding:28px 36px 20px;text-align:center}
.amo-art-heading h2{margin:0;color:var(--amo-red);font-size:clamp(2.15rem,4vw,3.6rem)}

/* Editable homepage research material becomes side-by-side expandable cards. */
.amo-research-overview{padding-top:16px}
.amo-home-editor-content{max-width:none!important}
.amo-research-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.amo-research-card{
  position:relative;
  min-width:0;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(94,25,22,.18);
  box-shadow:0 8px 24px rgba(47,28,25,.09);
  overflow:hidden;
}
.amo-research-card::before{content:"";display:block;height:6px;background:linear-gradient(90deg,var(--amo-red-dark),var(--amo-red-bright),var(--amo-red-dark))}
.amo-research-card summary{
  position:relative;
  min-height:158px;
  padding:30px 32px 56px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  text-align:center;
  color:var(--amo-red);
  font-size:clamp(1.45rem,2.3vw,2.2rem);
  font-weight:700;
  line-height:1.15;
  cursor:pointer;
  list-style:none;
}
.amo-research-card summary::-webkit-details-marker{display:none}
.amo-research-card summary::before{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:58px;
  background:linear-gradient(transparent,rgba(255,255,255,.98) 72%);
  pointer-events:none;
}
.amo-research-card summary::after{
  content:'▼';
  position:absolute;
  left:50%;bottom:14px;
  transform:translateX(-50%);
  width:1.35em;height:1.35em;
  display:grid;place-items:center;
  color:var(--amo-red);
  font-size:.75em;
  transition:transform .24s ease;
}
.amo-research-card[open] summary::after{transform:translateX(-50%) rotate(180deg)}
.amo-research-card[open] summary{min-height:auto;padding-bottom:48px}
.amo-research-card__body,.amo-research-card>div{padding:0 32px 30px;border-top:0;animation:amoReveal .25s ease}
.amo-research-card__body>*:first-child,.amo-research-card>div>*:first-child{margin-top:0}
.amo-research-card__body>*+*,.amo-research-card>div>*+*{margin-top:1em;border:0!important;padding-top:0!important}
@keyframes amoReveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}

/* Artistic home calls to action. */
.amo-home-ctas{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:42px}
.amo-home-cta{position:relative;min-height:270px;padding:42px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:#fff;border:1px solid rgba(94,25,22,.18);box-shadow:0 9px 26px rgba(45,28,25,.10)}
.amo-home-cta::before{content:"";position:absolute;inset:auto -12% -58% 38%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(94,25,22,.16),transparent 68%)}
.amo-home-cta::after{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:linear-gradient(var(--amo-red-dark),var(--amo-red-bright),var(--amo-red-dark))}
.amo-home-cta>*{position:relative;z-index:1}
.amo-cta-kicker{color:var(--amo-red);text-transform:uppercase;letter-spacing:.11em;font-size:.78rem;font-weight:700}
.amo-home-cta h2{margin:8px 0 9px;color:var(--amo-red);font-size:clamp(2rem,3vw,3.2rem)}
.amo-home-cta p{max-width:560px;margin:0 0 26px}
.amo-home-cta .amo-button{align-self:flex-start}

/* Interior pages: primarily white, with only major headings boxed. */
.amo-page-header{padding:44px 0 16px;background:transparent}
.amo-page-header .amo-container{padding:34px 42px 27px;text-align:center}
.amo-content-wrap{padding:16px 0 72px;background:transparent}
.amo-content-grid,.amo-entry{max-width:1180px}
.entry-content{background:rgba(255,255,255,.97);padding:clamp(25px,4vw,52px);border:1px solid rgba(94,25,22,.10);box-shadow:0 10px 30px rgba(48,31,28,.07)}
.entry-content>.wp-block-group,
.entry-content>.wp-block-columns,
.entry-content>.wp-block-media-text,
.entry-content>.wp-block-cover,
.entry-content>.wp-block-table,
.entry-content>.wp-block-gallery{
  background:transparent;
  border:0;
  border-top:0;
  box-shadow:none;
  padding:0;
  margin:0 0 1.5em;
}
.entry-content>h2{
  margin:2.2em 0 .85em;
  padding:29px 34px 20px;
  color:var(--amo-red);
  border-bottom:1px solid rgba(94,25,22,.15);
}
.entry-content>h2:first-child{margin-top:0}
.entry-content>h2+*{border-top:0!important;padding-top:0!important}
.entry-content>*+*,
.entry-content .wp-block-group>*+*,
.entry-content .wp-block-column>*+*{
  border-top:0!important;
  padding-top:0!important;
}
.entry-content p{margin-top:.55em;margin-bottom:.55em}
.entry-content h3{margin:1.6em 0 .5em;color:var(--amo-red)}

/* Publications-only live search. */
.amo-publication-search{max-width:1180px;margin:0 auto 24px;padding:25px 30px;background:rgba(255,255,255,.97);border:1px solid rgba(94,25,22,.14);box-shadow:0 7px 22px rgba(48,30,27,.07)}
.amo-publication-search label{display:block;margin-bottom:8px;color:var(--amo-red);font-weight:700;font-size:1.15rem}
.amo-publication-search__field{position:relative}
.amo-publication-search input{width:100%;padding:13px 48px 13px 15px;border:1px solid #c9c4c0;background:#fff;color:var(--amo-text)}
.amo-publication-search input:focus{outline:3px solid rgba(94,25,22,.14);border-color:var(--amo-red)}
.amo-publication-search__field span{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--amo-red);font-size:1.4rem}
.amo-publication-search__status{min-height:1.3em;margin:8px 0 0;color:var(--amo-muted);font-size:.9rem}
.amo-publications{max-width:1180px;margin-inline:auto}
.amo-publication[hidden]{display:none!important}
.amo-publication-no-results{max-width:1180px;margin:0 auto;padding:30px;background:#fff;text-align:center;border:1px solid rgba(94,25,22,.14)}

/* Compact footer with restored copyright strip. */
.amo-site-footer{margin-top:0;border-top:5px solid var(--amo-red);background:#101521}
.amo-site-footer__main.amo-site-footer__centered{max-width:760px;padding:25px 20px 23px}
.amo-site-footer__centered p{margin:4px auto;color:rgba(255,255,255,.86)}
.amo-site-footer__bottom{display:block!important;background:var(--amo-red);color:#fff}
.amo-footer-bottom-inner{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.9rem}
.amo-footer-bottom-inner a{color:#fff;text-decoration:none}
.amo-footer-bottom-inner a:hover{text-decoration:underline}

@media(max-width:1120px){
  .amo-site-header__inner{flex-wrap:wrap}
  .site-branding{flex-basis:245px;min-width:245px}
  .custom-logo-link,.amo-brand,.amo-sbu-logo{width:245px}
  .custom-logo,.amo-sbu-logo img{width:230px!important;max-width:230px!important}
  .amo-primary-menu>li>a{padding-inline:9px;font-size:.9rem}
}
@media(max-width:900px){
  body::before{opacity:.2}
  .amo-site-header__inner{min-height:auto;padding:8px 0;flex-wrap:nowrap}
  .site-branding{grid-template-rows:auto auto;flex-basis:210px;min-width:210px}
  .custom-logo-link,.amo-brand,.amo-sbu-logo{width:210px;height:47px}
  .custom-logo,.amo-sbu-logo img{width:200px!important;height:44px!important;max-width:200px!important;max-height:44px!important}
  .amo-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-top:4px solid var(--amo-red);box-shadow:0 13px 28px rgba(0,0,0,.14)}
  .menu-open .amo-nav{display:block}
  .amo-primary-menu{display:block;padding:10px 20px}
  .amo-primary-menu>li{display:block}
  .amo-primary-menu>li>a{justify-content:space-between;min-height:auto;padding:13px 10px!important}
  .amo-primary-menu .sub-menu{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-left:3px solid var(--amo-red);margin-left:12px}
  .amo-primary-menu .submenu-open>.sub-menu{display:block}
  .amo-menu-toggle{display:block;margin-left:auto}
  .amo-research-cards,.amo-home-ctas{grid-template-columns:1fr}
  .amo-home-hero__media{min-height:460px}
  .amo-feature-panel{margin:-34px 18px 0}
}
@media(max-width:600px){
  .amo-container{width:min(calc(100% - 22px),var(--amo-container))}
  .site-branding{flex-basis:165px;min-width:165px}
  .custom-logo-link,.amo-brand,.amo-sbu-logo{width:165px;height:41px}
  .custom-logo,.amo-sbu-logo img{width:158px!important;height:38px!important;max-width:158px!important;max-height:38px!important}
  .amo-home-hero__media{min-height:410px}
  .amo-home-hero__overlay h1{font-size:clamp(2.15rem,11vw,3.5rem)}
  .amo-feature-panel{padding:29px 20px}
  .amo-research-card summary{padding-inline:22px}
  .amo-research-card__body,.amo-research-card>div{padding-inline:22px}
  .amo-home-cta{padding:34px 28px}
  .entry-content{padding:25px 20px}
  .amo-footer-bottom-inner{flex-direction:column;justify-content:center;padding:14px 0;text-align:center}
}
.amo-home-editor-content.entry-content{background:transparent;border:0;box-shadow:none;padding:0}


/* ===== JPR refinement v4 ===== */
:root{
  --amo-red:#5E1916;
  --amo-red-dark:#48110f;
  --amo-red-bright:#7a211d;
}

/* Plain Sangria rules throughout. Keep the hero panel's elegant tapered rule. */
.amo-art-heading::before,
.amo-page-header .amo-container::before,
.entry-content>h2::before,
.amo-section__head::before{
  height:5px;
  background:var(--amo-red)!important;
}
.amo-feature-panel::before{
  height:7px;
  background:linear-gradient(90deg,transparent,var(--amo-red) 12%,var(--amo-red) 88%,transparent)!important;
}
.amo-site-footer{border-top:5px solid var(--amo-red)!important}
.amo-site-footer__bottom{background:var(--amo-red)!important;border-top:0!important}

/* Homepage: no generated accordion/research-direction blocks. */
.amo-home-wordpress-content{margin-top:38px}
.amo-home-editor-content.entry-content{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:26px;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}
.amo-home-editor-content.entry-content > *{
  min-width:0;
  margin:0!important;
}
/* Editor-created Feature Publication and Group News sections become separate home cards. */
.amo-home-editor-content.entry-content > .wp-block-group,
.amo-home-editor-content.entry-content > .wp-block-column,
.amo-home-editor-content.entry-content > section,
.amo-home-editor-content.entry-content > article{
  padding:34px!important;
  background:rgba(255,255,255,.97)!important;
  border:1px solid rgba(94,25,22,.16)!important;
  border-top:5px solid var(--amo-red)!important;
  box-shadow:0 8px 24px rgba(47,28,25,.08)!important;
}
.amo-home-editor-content.entry-content > h2{
  grid-column:1/-1;
  text-align:center;
  margin:0!important;
}
.amo-home-editor-content .wp-block-group,
.amo-home-editor-content .wp-block-columns,
.amo-home-editor-content .wp-block-column{
  box-shadow:none!important;
}

/* Home calls to action: the title itself is the button. */
.amo-home-ctas{align-items:stretch}
.amo-home-cta{
  min-height:225px;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:22px;
}
.amo-home-cta__title{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.78rem 1.45rem;
  border-radius:999px;
  background:var(--amo-red);
  color:#fff!important;
  font-family:var(--amo-serif);
  font-size:clamp(1.8rem,3vw,2.75rem);
  font-weight:700;
  line-height:1.1;
  text-decoration:none;
  box-shadow:0 9px 22px rgba(94,25,22,.22);
  transition:transform .2s ease,background .2s ease;
}
.amo-home-cta__title:hover{background:var(--amo-red-dark);transform:translateY(-2px)}
.amo-home-cta p{max-width:560px;margin:0!important;text-align:center;font-size:1.08rem}

/* Prevent boxes inside boxes everywhere. */
.amo-entry{
  background:transparent!important;
  border:0!important;
  border-top:0!important;
  box-shadow:none!important;
  padding:0!important;
}
.entry-content{
  max-width:1180px;
  margin-inline:auto;
  background:rgba(255,255,255,.975);
  border:1px solid rgba(94,25,22,.12);
  border-top:5px solid var(--amo-red);
  box-shadow:0 9px 26px rgba(48,31,28,.07);
}
.entry-content .wp-block-group,
.entry-content .wp-block-columns,
.entry-content .wp-block-column,
.entry-content .wp-block-media-text,
.entry-content .wp-block-cover,
.entry-content .wp-block-table,
.entry-content .wp-block-gallery{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.entry-content .wp-block-group{padding:0!important}
.entry-content>*:first-child{margin-top:0!important}
.entry-content .wp-block-spacer{max-height:28px!important}
.entry-content p:empty{display:none}

/* Page headers are centered and compact on every page. */
.amo-page-header{padding:24px 0 10px!important}
.amo-page-header .amo-container{padding:27px 38px 22px!important;text-align:center!important}
.amo-page-header h1{max-width:none!important;margin:7px auto 8px!important;text-align:center!important}
.amo-page-header p{margin:0 auto!important;text-align:center!important}
.amo-content-wrap{padding-top:10px!important}
.amo-content-grid{display:block!important}

/* Remove accidental large blank areas at the start of editor pages, including Organized Conferences. */
.entry-content > .wp-block-spacer:first-child,
.entry-content > p:first-child:empty{display:none!important}
.entry-content > .wp-block-group:first-child{margin-top:0!important;padding-top:0!important}
.entry-content > *:first-child{padding-top:0}

/* Publications search is local to the publication cards and matched cards are emphasized. */
.amo-publication{transition:opacity .18s ease,transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.amo-publication--match{
  border-color:var(--amo-red)!important;
  box-shadow:0 10px 28px rgba(94,25,22,.16)!important;
  transform:translateY(-2px);
}
.amo-publication--match h3{color:var(--amo-red)}

@media(max-width:800px){
  .amo-home-editor-content.entry-content{grid-template-columns:1fr}
}

/* ===== v5 refinements ===== */
.amo-home-philosophy{font-style:italic!important}

/* Home editor: centered layout, left-aligned headings, and standalone feature/news cards. */
.amo-home-editor-content.entry-content h2,
.amo-home-editor-content.entry-content h3{
  text-align:left!important;
}
.amo-home-editor-content .amo-home-special-box{
  display:block!important;
  width:100%!important;
  background:#fff!important;
  border:1px solid rgba(94,25,22,.16)!important;
  border-top:5px solid var(--amo-red)!important;
  box-shadow:0 7px 22px rgba(48,30,27,.08)!important;
  padding:28px 34px!important;
  margin:24px 0!important;
}
.amo-home-editor-content .amo-home-special-box > :first-child{margin-top:0!important}
.amo-home-editor-content .amo-home-special-box > :last-child{margin-bottom:0!important}

/* Prevent boxes inside boxes throughout normal page content. */
.entry-content .wp-block-group .wp-block-group,
.entry-content .wp-block-column .wp-block-group,
.entry-content .amo-block-card .amo-block-card{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:0!important;
}

/* Codes page: H2 headings are plain headings, never framed cards. */
body.page-codes .entry-content h2,
body.page-code .entry-content h2,
body[class*="page-template"] .amo-codes-page .entry-content h2{
  border:0!important;
  border-top:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:0!important;
  margin:1.7em 0 .55em!important;
  text-align:left!important;
}
body.page-codes .entry-content h2::before,
body.page-code .entry-content h2::before{display:none!important}

/* Compact editor spacing on Contact and Course-related pages. */
body.page-contact .entry-content p,
body.page-contact .entry-content li,
body[class*="page-course"] .entry-content p,
body[class*="page-course"] .entry-content li,
body.page-courses .entry-content p,
body.page-teaching .entry-content p{
  margin-top:.35em!important;
  margin-bottom:.35em!important;
  line-height:1.48!important;
}
body.page-contact .entry-content .wp-block-spacer,
body[class*="page-course"] .entry-content .wp-block-spacer,
body.page-courses .entry-content .wp-block-spacer,
body.page-teaching .entry-content .wp-block-spacer{height:12px!important}
body.page-contact .entry-content br + br,
body[class*="page-course"] .entry-content br + br{display:none}

/* Publications entered in the page editor are restored and searchable. */
.amo-publications-editor{
  max-width:1180px;
  margin:0 auto 24px;
  padding:30px 36px;
  background:#fff;
  border:1px solid rgba(94,25,22,.14);
  box-shadow:0 7px 22px rgba(48,30,27,.07);
}
.amo-publications-editor .amo-editor-publication-item{
  padding:18px 0;
  border-bottom:1px solid rgba(94,25,22,.14);
}
.amo-publications-editor .amo-editor-publication-item:first-child{padding-top:0}
.amo-publications-editor .amo-editor-publication-item:last-child{padding-bottom:0;border-bottom:0}
.amo-editor-publication-item[hidden]{display:none!important}
.amo-editor-publication-item.amo-publication--match{
  background:rgba(94,25,22,.045);
  box-shadow:0 0 0 8px rgba(94,25,22,.045);
}

/* Research page only: collapsible H2 sections. */
body.page-research .entry-content .amo-research-section{
  position:relative;
  overflow:hidden;
  max-height:265px;
  margin:0 0 26px;
  padding:0 0 54px;
  transition:max-height .4s ease;
}
body.page-research .entry-content .amo-research-section::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:92px;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 72%);
}
body.page-research .entry-content .amo-research-section.is-open{max-height:4000px}
body.page-research .entry-content .amo-research-section.is-open::after{display:none}
.amo-research-toggle{
  position:absolute;
  z-index:3;
  left:50%;bottom:6px;
  transform:translateX(-50%);
  width:44px;height:38px;
  border:0;
  background:transparent;
  color:var(--amo-red);
  font-size:1.65rem;
  line-height:1;
  cursor:pointer;
}
.amo-research-section.is-open .amo-research-toggle{transform:translateX(-50%) rotate(180deg)}

/* Footer content restored and centered. */
.amo-site-footer__centered h2{margin:0 0 8px;color:#fff;text-align:center}
.amo-site-footer__main.amo-site-footer__centered{text-align:center}


/* ===== v6 minor refinements requested ===== */
/* Keep the two editable homepage columns side by side. */
.amo-home-editor-content .wp-block-columns{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:stretch;
  gap:26px!important;
}
.amo-home-editor-content .wp-block-columns > .wp-block-column{
  flex:1 1 0!important;
  min-width:0!important;
}

/* Slightly tighter heading rhythm site-wide without removing useful separation. */
.entry-content h2{margin-top:1.35em!important;margin-bottom:.48em!important}
.entry-content h3{margin-top:1.05em!important;margin-bottom:.42em!important}
.entry-content h4{margin-top:.9em!important;margin-bottom:.38em!important}
.entry-content h2 + p,
.entry-content h3 + p,
.entry-content h4 + p{margin-top:.25em!important}

/* Research page only: boxed H2 sections with the first paragraph always visible. */
body.page-research .entry-content .amo-research-section{
  position:relative;
  overflow:hidden;
  max-height:none!important;
  margin:0 0 24px;
  padding:28px 30px 56px;
  background:#fff;
  border:1px solid rgba(94,25,22,.15);
  border-top:5px solid var(--amo-red);
  box-shadow:0 7px 22px rgba(48,30,27,.07);
}
body.page-research .entry-content .amo-research-section > h2{
  margin:0 0 .48em!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.page-research .entry-content .amo-research-section > h2::before{display:none!important}
body.page-research .entry-content .amo-research-section > p:first-of-type{
  margin:.25em 0 .45em!important;
}
body.page-research .amo-research-section__body{
  position:relative;
  max-height:72px;
  overflow:hidden;
  transition:max-height .4s ease;
}
body.page-research .amo-research-section__body::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:60px;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 82%);
}
body.page-research .amo-research-section.is-open .amo-research-section__body{max-height:5000px}
body.page-research .amo-research-section.is-open .amo-research-section__body::after{display:none}
body.page-research .amo-research-toggle{bottom:8px}

@media(max-width:700px){
  .amo-home-editor-content .wp-block-columns{gap:14px!important}
  .amo-home-editor-content .wp-block-columns > .wp-block-column{min-width:0!important}
}
