/* ==========================================================================
   "Moden" look — layered on top of style.css.
   Sans-serif headlines with a serif-italic accent word, rounded cards,
   pill buttons, soft depth. Same colours, same markup.
   ========================================================================== */
:root {
	--radius: 14px;
	--radius-lg: 22px;
	--shadow-sm: 0 1px 2px rgba(14, 21, 48, .06);
	--shadow: 0 1px 2px rgba(14, 21, 48, .05), 0 14px 34px -14px rgba(31, 53, 181, .22);
	--shadow-lg: 0 2px 4px rgba(14, 21, 48, .06), 0 30px 60px -24px rgba(14, 21, 48, .45);
}

/* Type: sans headlines, serif italic accents */
#iris h1, #iris h2, #iris h3, #iris .hero__title, #iris .lead-card h2 {
	font-family: var(--f-body);
	font-weight: 800;
	letter-spacing: -.035em;
	line-height: 1.06;
}
#iris h3 { font-weight: 700; letter-spacing: -.02em; line-height: 1.25; }
#iris h1 em, #iris h2 em, #iris .hero__title em {
	font-family: var(--f-display);
	font-weight: 500;
	font-style: italic;
	letter-spacing: -.01em;
}
#iris .prose h2, #iris .prose h3 { font-family: var(--f-body) !important; font-weight: 800; letter-spacing: -.02em; }
#iris .prose blockquote { font-family: var(--f-display); }
.hero__stat strong, .date-block strong, .series-index strong, .person-mini strong, .authors strong, .monogram {
	font-family: var(--f-body) !important;
	font-weight: 800 !important;
	letter-spacing: -.03em;
}
.eyebrow::before { width: 8px; height: 8px; border-radius: 50%; }

/* Buttons & chips */
#iris .btn, #iris button.btn { border-radius: 999px; padding-left: 26px; padding-right: 26px; }
.pdf-link, .tags li, .tag, .share a, #iris .share button, .socials a { border-radius: 999px; }
.chips a { border-radius: 999px; }
.icon-btn { border-radius: 50%; }

/* Header */
.masthead { border-bottom-color: transparent; }
.masthead.is-scrolled { box-shadow: 0 8px 30px -12px rgba(14, 21, 48, .18); }
.nav .menu a { padding: 8px 14px; border-radius: 999px; }
.nav .menu a::after { display: none; }
.nav .menu a:hover { background: var(--blue-tint); }
.nav .current-menu-item > a, .nav .current_page_item > a, .nav .current_page_parent > a { background: var(--blue-tint); }
.nav .menu { gap: 2px; }

/* Hero */
.hero {
	background:
		radial-gradient(900px 520px at 88% -8%, rgba(255, 255, 255, .16), transparent 62%),
		radial-gradient(700px 500px at -10% 110%, rgba(5, 10, 42, .35), transparent 60%),
		linear-gradient(155deg, var(--blue) 10%, var(--blue-deep) 100%);
	padding-bottom: clamp(56px, 7vw, 104px);
}
.hero__title { max-width: 15ch; }
.hero__title em { color: #fff; opacity: .78; }
.hero__stats { border-top: 0; gap: 12px; padding-top: 0; }
.hero__stat { border: 1px solid rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .07); border-radius: var(--radius); padding: 16px 20px !important; margin: 0 !important; backdrop-filter: blur(6px); }
.lead-card { border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.lead-card__label { border-bottom: 0; padding-bottom: 0; }
.lead-more { border-top: 0; display: grid; gap: 10px; margin-top: 14px; }
.lead-more li { border: 1px solid rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .07); border-radius: var(--radius); transition: background .2s; }
.lead-more li:hover { background: rgba(255, 255, 255, .14); }
.lead-more a { padding: 14px 18px; }
.lead-more span:last-child { font-family: var(--f-body); font-weight: 600; font-size: .98rem; }

/* Series strip → tiles */
.series-index { background: var(--paper-2); border-bottom: 0; padding: 22px 0; }
.series-index__inner { gap: 10px; }
.series-index__label { border-right: 0; padding-right: 8px; }
.series-index a { flex: 0 0 auto; border: 0; border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); padding: 14px 20px; }
.series-index a:hover { background: #fff; box-shadow: var(--shadow); transform: translateY(-2px); }
.series-index a { transition: transform .2s, box-shadow .2s; }
.series-index strong { font-size: 1rem; }

/* Pillars → cards */
.section--tint { background: var(--paper-2); }
.pillar { background: #fff; border-top: 0; border-radius: var(--radius-lg); padding: 28px; box-shadow: var(--shadow-sm); position: relative; overflow: hidden; }
.pillar::before { content: ""; position: absolute; left: 28px; top: 0; width: 36px; height: 4px; border-radius: 0 0 4px 4px; background: var(--blue); }
.pillars__grid { gap: 18px; }

/* Stories & cards */
.story-lead { background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow); overflow: hidden; padding: 0 0 28px; }
.story-lead > *:not(.story-lead__media) { margin-left: 28px; margin-right: 28px; }
.story-lead__media { border-radius: 0; margin-bottom: 22px; }
.story-list { border-top: 0; display: grid; gap: 12px; align-content: start; }
.story-item { background: #fff; border: 1px solid var(--rule); border-radius: var(--radius); padding: 18px 20px; transition: box-shadow .2s, transform .2s; }
.story-item:hover { box-shadow: var(--shadow); transform: translateY(-2px); border-color: transparent; }
.card { background: #fff; border: 1px solid var(--rule); border-top: 1px solid var(--rule); border-radius: var(--radius-lg); padding: 22px; transition: box-shadow .2s, transform .2s; }
.card:hover { box-shadow: var(--shadow); transform: translateY(-3px); border-color: transparent; }
.card__media { margin: -22px -22px 18px; border-radius: var(--radius-lg) var(--radius-lg) 0 0; }

/* Publication rows → cards */
.pub-list { border-top: 0; display: grid; gap: 12px; }
.pub-row { background: #fff; border: 1px solid var(--rule); border-radius: var(--radius-lg); padding: 22px 24px; transition: box-shadow .2s, transform .2s; }
.pub-row:hover { box-shadow: var(--shadow); transform: translateY(-2px); border-color: transparent; }
.pub-row h3 { font-size: clamp(1.08rem, 1rem + .35vw, 1.28rem); }

/* Events & people */
.event-list { border-top: 0; display: grid; gap: 12px; }
.event-item { background: #fff; border: 1px solid var(--rule); border-radius: var(--radius-lg); padding: 18px; }
.date-block { background: var(--blue); color: #fff; border: 0; border-radius: var(--radius); }
.date-block--past { background: var(--paper-2); color: var(--ink-3); }
.people-mini { gap: 12px; }
.person-mini a { background: #fff; border: 1px solid var(--rule); border-radius: var(--radius); padding: 12px; transition: box-shadow .2s; }
.person-mini a:hover { box-shadow: var(--shadow); border-color: transparent; }
.person-card .portrait { border-radius: var(--radius-lg); }
.person-card { transition: transform .25s; }
.person-card:hover { transform: translateY(-3px); }
.group__title { border-bottom: 0; padding-bottom: 0; }

/* Page header */
.page-head { background: linear-gradient(180deg, var(--blue-tint), #fff); border-bottom: 0; }
.page-head h1 { letter-spacing: -.04em; }

/* Filters, tabs, boxes */
.filters { background: #fff; border: 1px solid var(--rule); border-radius: var(--radius-lg); padding: 20px; }
.filter-links { border-top: 0; }
.filter-links a { border-bottom: 0; border-radius: 10px; padding: 9px 12px; }
.filter-links a:hover, .filter-links a[aria-current] { background: var(--blue-tint); }
.input, .field input, .field select, .field textarea { border-radius: 12px; }
.form-card { border-radius: var(--radius-lg); }
.aside-box { border-top: 0; background: var(--paper-2); border-radius: var(--radius-lg); padding: 20px; }
.cite__text { background: #fff; border-radius: 12px; }
.statement { border: 0; gap: 18px; }
.statement > div { background: var(--paper-2); border-radius: var(--radius-lg); padding: clamp(24px, 3vw, 40px) !important; border: 0 !important; }
.series-grid { border-top: 0; gap: 14px; }
.series-card { background: #fff; border: 1px solid var(--rule) !important; border-radius: var(--radius-lg); padding: 24px !important; transition: box-shadow .2s, transform .2s; }
.series-card:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.contact-list { border-top: 0; }
.tabs a { border-radius: 999px; padding: 8px 16px; border-bottom: 0; margin-bottom: 8px; }
.tabs a[aria-current] { background: var(--blue); color: #fff; }
.tabs { border-bottom: 0; gap: 6px; }
.pagination a, .pagination span.current { border-radius: 999px; }

/* CTA & footer */
.cta-band { background: transparent; padding: clamp(40px, 6vw, 80px) 0; }
.cta-band .wrap { position: relative; }
.cta-band__inner {
	background: radial-gradient(700px 400px at 100% 0, rgba(255, 255, 255, .15), transparent 60%), linear-gradient(150deg, var(--blue), var(--blue-deep));
	border-radius: 28px; padding: clamp(32px, 5vw, 64px);
	box-shadow: var(--shadow-lg);
}
.cta-band .bands { display: none; }

@media (max-width: 720px) {
	.story-lead > *:not(.story-lead__media) { margin-left: 20px; margin-right: 20px; }
	.hero__stat { flex: 1 1 28%; padding: 12px 14px !important; }
	.cta-band__inner { border-radius: 22px; }
}

/* Photo backgrounds in the modern look */
.hero.hero--photo {
	background-image:
		radial-gradient(900px 520px at 88% -8%, rgba(255, 255, 255, .14), transparent 62%),
		linear-gradient(155deg, color-mix(in srgb, var(--blue) 88%, transparent) 10%, color-mix(in srgb, var(--blue-deep) 94%, transparent) 100%),
		var(--hero-img);
	background-size: cover;
	background-position: center;
}
.cta-band.cta-band--photo { background-image: none; }
.cta-band--photo .cta-band__inner {
	background-image:
		linear-gradient(150deg, color-mix(in srgb, var(--blue) 88%, transparent), color-mix(in srgb, var(--blue-deep) 94%, transparent)),
		var(--cta-img);
	background-size: cover;
	background-position: center;
}
.about-image { border-radius: var(--radius-lg); }
