:root {
	--ink: #171512;
	--ink-soft: #2a2722;
	--paper: #eee8db;
	--paper-light: #f7f3e9;
	--paper-deep: #d9cfbd;
	--rule: #b8ad99;
	--rule-dark: #4b463d;
	--oxblood: #6c1f25;
	--oxblood-deep: #461419;
	--brass: #b18b4a;
	--brass-light: #d2b677;
	--serif: Georgia, "Times New Roman", Times, serif;
	--sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
	--shell: min(1360px, calc(100vw - 80px));
	--section: clamp(88px, 9vw, 152px);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--paper-light);
	color: var(--ink);
	font-family: var(--sans);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible, select:focus-visible { outline: 2px solid var(--brass); outline-offset: 4px; }
img { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
h1, h2, h3, p, ul, ol, dl, blockquote, figure { margin-top: 0; }
.academy-shell { width: var(--shell); margin-inline: auto; }
.section-space { padding-block: var(--section); }
.screen-reader-text { position: absolute; 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 { clip: auto; width: auto; height: auto; margin: 0; padding: 12px 18px; left: 18px; top: 18px; z-index: 9999; background: var(--paper-light); color: var(--ink); }

.academy-notice { background: var(--oxblood-deep); color: var(--paper-light); font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.academy-notice .academy-shell { min-height: 35px; display: flex; align-items: center; justify-content: space-between; }
.academy-notice a { color: var(--brass-light); }
.academy-notice a:hover { color: #fff; }

.site-header { position: relative; z-index: 50; background: var(--paper-light); border-bottom: 1px solid var(--ink); }
.site-header__utility { min-height: 35px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--rule); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.site-header__utility nav { display: flex; gap: 25px; }
.site-header__utility a:hover { color: var(--oxblood); }
.site-header__affiliation { color: #6f685d; }
.site-header__main { min-height: 112px; display: flex; align-items: center; justify-content: space-between; }
.academy-brand { display: inline-flex; align-items: center; gap: 18px; }
.academy-brand__seal { width: 52px; height: 52px; display: grid; place-items: center; position: relative; background: url("../accents/radial-wheel.png") center / contain no-repeat; }
.academy-brand__seal::before, .academy-brand__seal::after { content: ""; position: absolute; background: var(--ink); }
.academy-brand__seal::before { width: 1px; height: 72%; }
.academy-brand__seal::after { width: 72%; height: 1px; }
.academy-brand__seal i { width: 18px; height: 18px; border: 1px solid var(--oxblood); transform: rotate(45deg); background: var(--paper-light); z-index: 1; }
.academy-brand__seal::before, .academy-brand__seal::after, .academy-brand__seal i { display: none; }
.academy-brand__text { display: flex; flex-direction: column; }
.academy-brand__text strong { font-family: var(--serif); font-size: clamp(25px, 2.2vw, 36px); font-weight: 400; line-height: .95; letter-spacing: .01em; }
.academy-brand__text small { margin-top: 8px; font-size: 9px; font-weight: 700; line-height: 1; letter-spacing: .19em; text-transform: uppercase; }
.menu-toggle { display: none; background: transparent; border: 0; padding: 10px 0; align-items: center; gap: 12px; font-size: 11px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.menu-toggle i, .menu-toggle i::after { display: block; width: 25px; height: 1px; background: currentColor; content: ""; }
.menu-toggle i::after { transform: translateY(6px); }

.primary-navigation { border-top: 1px solid var(--rule); }
.primary-navigation__inner { display: flex; align-items: stretch; justify-content: space-between; min-height: 54px; }
.primary-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: stretch; }
.primary-navigation li { display: flex; align-items: center; position: relative; margin-right: 38px; }
.primary-navigation li > a { display: flex; align-items: center; height: 100%; font-family: var(--serif); font-size: 15px; }
.primary-navigation li > a::after { content: ""; position: absolute; inset: auto 0 -1px; height: 2px; background: var(--oxblood); transform: scaleX(0); transform-origin: left; transition: transform .22s ease; }
.primary-navigation li:hover > a::after, .primary-navigation li > a:focus::after { transform: scaleX(1); }
.primary-navigation li > button { border: 0; background: transparent; margin-left: 8px; padding: 4px; font-size: 17px; }
.header-apply { align-self: center; color: var(--oxblood); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.header-apply span { display: inline-block; margin-left: 10px; transition: transform .2s ease; }
.header-apply:hover span { transform: translateX(4px); }
.mobile-menu-head { display: none; }
.study-menu { visibility: hidden; opacity: 0; transform: translateY(8px); transition: opacity .2s ease, transform .2s ease, visibility .2s; position: absolute; top: calc(100% + 1px); left: 0; width: 640px; padding: 30px; display: grid; grid-template-columns: 1.25fr .75fr; gap: 35px; background: var(--paper-light); border: 1px solid var(--ink); box-shadow: 8px 8px 0 rgba(23,21,18,.16); }
.has-submenu:hover .study-menu, .has-submenu:focus-within .study-menu, .has-submenu.submenu-open .study-menu { visibility: visible; opacity: 1; transform: none; }
.study-menu > div { display: flex; flex-direction: column; }
.study-menu > div + div { border-left: 1px solid var(--rule); padding-left: 30px; }
.study-menu .menu-label { margin-bottom: 12px; color: #756e62; font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.study-menu a { padding: 8px 0; display: flex; flex-direction: column; border-bottom: 1px solid rgba(184,173,153,.65); font-family: var(--serif); }
.study-menu a:hover { color: var(--oxblood); }
.study-menu a strong { font-weight: 400; }
.study-menu a small { color: #756e62; font: 9px var(--sans); letter-spacing: .08em; text-transform: uppercase; }

.section-kicker { margin-bottom: 18px; color: var(--oxblood); font-size: 10px; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; }
.section-kicker::before { content: ""; display: inline-block; width: 28px; height: 1px; margin: 0 10px 3px 0; background: currentColor; }
.split-heading { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .52fr); align-items: end; gap: 9vw; margin-bottom: clamp(52px, 6vw, 88px); }
.split-heading h2, .section-heading h2, .academy-method h2, .admissions-engine h2, .journal-preview h2 { margin-bottom: 0; font: 400 clamp(44px, 5.1vw, 75px)/.98 var(--serif); letter-spacing: -.035em; }
.split-heading > p { max-width: 510px; margin-bottom: 3px; color: #5c564d; font: 18px/1.7 var(--serif); }
.split-heading--compact { align-items: end; margin-bottom: 55px; }
.split-heading--compact h2 { font-size: clamp(40px, 4.2vw, 64px); }
.folio-link { display: inline-flex; justify-content: space-between; align-items: center; gap: 55px; min-width: 260px; padding: 13px 0; border-block: 1px solid var(--ink); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.folio-link i { font-style: normal; font-size: 19px; transition: transform .2s ease; }
.folio-link:hover i { transform: translateX(4px); }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; padding: 14px 23px; background: var(--oxblood); border: 1px solid var(--oxblood); color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; transition: background .2s ease, color .2s ease, transform .2s ease; }
.button:hover { background: transparent; color: var(--oxblood); transform: translateY(-2px); }
.button--light { background: var(--paper-light); border-color: var(--paper-light); color: var(--ink); }
.button--light:hover { background: transparent; color: var(--paper-light); }
.button-row { display: flex; align-items: center; gap: 34px; }

.academy-hero { min-height: calc(100vh - 238px); position: relative; overflow: hidden; background: #11100e; color: var(--paper-light); }
.academy-hero::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(9,8,7,.98) 0%, rgba(9,8,7,.92) 30%, rgba(9,8,7,.55) 58%, rgba(9,8,7,.16) 100%), linear-gradient(180deg, rgba(9,8,7,.2), transparent 55%, rgba(9,8,7,.7)); }
.academy-hero__backdrop { position: absolute; inset: 0; pointer-events: none; }
.academy-hero__image { width: 100%; height: 100%; object-fit: cover; object-position: 52% center; filter: contrast(1.03); }
.academy-hero__accent { position: absolute; width: min(28vw, 420px); right: clamp(20px, 5vw, 90px); top: clamp(35px, 6vw, 90px); opacity: .2; mix-blend-mode: screen; transform: rotate(8deg); }
.academy-hero__grid { position: relative; z-index: 2; min-height: clamp(650px, 74vh, 850px); display: grid; grid-template-columns: minmax(0, .82fr) minmax(280px, .58fr); gap: 8vw; align-items: center; padding-block: 80px; }
.academy-hero__content { grid-column: 1; max-width: 790px; }
.section-label { display: flex; gap: 23px; color: var(--brass-light); font-size: 9px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.section-label span + span { padding-left: 23px; border-left: 1px solid var(--rule-dark); }
.academy-hero h1 { max-width: 880px; margin: 34px 0 32px; font: 400 clamp(58px, 6.2vw, 101px)/.9 var(--serif); letter-spacing: -.055em; text-shadow: 0 2px 30px rgba(0,0,0,.42); }
.academy-hero h1 em { color: var(--brass-light); font-weight: 400; }
.academy-hero__summary { max-width: 710px; color: #cfc7b8; font: 20px/1.65 var(--serif); }
.academy-hero .button-row { margin-top: 42px; }
.academy-hero .folio-link { color: var(--paper-light); border-color: #615c52; }
.academy-hero__foot { position: relative; z-index: 2; min-height: 50px; display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; border-top: 1px solid var(--rule-dark); color: #aaa295; font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.academy-hero__foot span:nth-child(2) { text-align: center; }
.academy-hero__foot span:nth-child(3) { text-align: right; }

.subject-index { background: var(--paper-light); }
.subject-ledger { border-top: 1px solid var(--ink); }
.subject-ledger a { min-height: 78px; display: grid; grid-template-columns: 42px 34px minmax(0, 1fr) 120px 35px; gap: 18px; align-items: center; border-bottom: 1px solid var(--rule); transition: padding .2s ease, color .2s ease, background .2s ease; }
.subject-ledger a:hover { padding-inline: 14px; background: var(--paper); color: var(--oxblood); }
.subject-ledger__number { font: italic 12px var(--serif); color: #837b6d; }
.subject-ledger__glyph { width: 23px; height: 23px; opacity: .68; background: currentColor; -webkit-mask: var(--glyph) center / contain no-repeat; mask: var(--glyph) center / contain no-repeat; transition: opacity .2s ease, transform .2s ease; }
.subject-ledger a:hover .subject-ledger__glyph { opacity: 1; transform: rotate(8deg) scale(1.08); }
.glyph--sun { --glyph: url("../accents/sun-symbol.svg"); }
.glyph--mercury { --glyph: url("../accents/mercury.svg"); }
.glyph--moon { --glyph: url("../accents/moon-symbol.svg"); }
.glyph--saturn { --glyph: url("../accents/saturn-symbol.svg"); }
.glyph--jupiter { --glyph: url("../accents/jupiter-symbol.svg"); }
.glyph--venus { --glyph: url("../accents/venus-symbol.svg"); }
.glyph--earth { --glyph: url("../accents/earth-symbol.svg"); }
.glyph--mars { --glyph: url("../accents/mars-symbol.svg"); }
.subject-ledger strong { font: 400 clamp(23px, 2.3vw, 34px) var(--serif); }
.subject-ledger small { font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.subject-ledger i { font-style: normal; font-size: 20px; text-align: right; }
.catalog-link { margin-top: 35px; display: flex; justify-content: flex-end; align-items: center; gap: 18px; color: var(--oxblood); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.catalog-link i { font-style: normal; font-size: 18px; }

.study-scale { position: relative; background: var(--oxblood-deep); color: var(--paper-light); overflow: hidden; }
.study-scale::before { content: "I · II · III"; position: absolute; right: -20px; top: -6vw; color: rgba(255,255,255,.026); font: 300 26vw/1 var(--serif); letter-spacing: -.1em; white-space: nowrap; }
.section-heading { max-width: 900px; position: relative; }
.section-heading > p:last-child { max-width: 650px; margin: 27px 0 0; color: #c8b8b0; font: 18px/1.7 var(--serif); }
.section-heading--inverse .section-kicker { color: var(--brass-light); }
.study-scale__grid { position: relative; margin-top: 70px; display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid rgba(238,232,219,.32); }
.study-scale__grid article { min-height: 580px; padding: 45px 42px 38px; display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 24px; border-right: 1px solid rgba(238,232,219,.25); }
.study-scale__grid article:last-child { border-right: 0; }
.study-scale__number { color: var(--brass-light); font: italic 15px var(--serif); }
.study-type { color: var(--brass-light); font-size: 9px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.study-scale h3 { min-height: 100px; margin: 22px 0; font: 400 clamp(34px, 3.1vw, 50px)/.98 var(--serif); letter-spacing: -.025em; }
.study-scale article > div > p:not(.study-type) { min-height: 88px; color: #cdbfb6; font: 16px/1.65 var(--serif); }
.study-scale dl { margin: 36px 0 45px; border-top: 1px solid rgba(238,232,219,.25); }
.study-scale dl div { padding: 10px 0; display: flex; justify-content: space-between; border-bottom: 1px solid rgba(238,232,219,.17); }
.study-scale dt { color: #a99991; font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.study-scale dd { margin: 0; font: italic 14px var(--serif); }
.study-scale article a { display: flex; justify-content: space-between; padding-bottom: 8px; border-bottom: 1px solid var(--brass-light); color: var(--brass-light); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

.current-studies { background: var(--paper); }
.study-cards { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ink); border-left: 1px solid var(--rule); }
.study-card { min-height: 635px; display: flex; flex-direction: column; padding: 25px 29px 28px; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); background: var(--paper-light); }
.study-card__top { display: flex; justify-content: space-between; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.study-card__top span:last-child { color: var(--oxblood); }
.study-card__image { height: 214px; margin: 28px 0 32px; position: relative; overflow: hidden; background: var(--ink-soft); }
.study-card__image::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(238,232,219,.18); box-shadow: inset 0 0 0 7px rgba(17,16,14,.16); }
.study-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.2,.7,.2,1), filter .35s ease; }
.study-card:hover .study-card__image img { transform: scale(1.035); filter: contrast(1.08); }
.study-card__image figcaption { position: absolute; z-index: 1; left: 14px; bottom: 12px; padding: 6px 9px; background: rgba(17,16,14,.84); color: var(--paper-light); font-size: 7px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.study-card__subject { margin-bottom: 13px; color: var(--oxblood); font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.study-card h3 { margin-bottom: 15px; font: 400 clamp(29px, 2.5vw, 39px)/1.02 var(--serif); letter-spacing: -.02em; }
.study-card h3 a:hover { color: var(--oxblood); }
.study-card > p:not(.study-card__subject) { color: #5f594f; font: 15px/1.65 var(--serif); }
.study-card__meta { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--rule); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

.academy-method { background: var(--paper-light); }
.academy-method__grid { display: grid; grid-template-columns: minmax(280px,.75fr) minmax(0,1.25fr); gap: 10vw; align-items: start; }
.academy-method__mark { width: min(36vw, 455px); aspect-ratio: 4 / 5; position: sticky; top: 40px; overflow: visible; background: var(--ink); box-shadow: 18px 18px 0 var(--paper-deep); }
.academy-method__mark > img:first-child { width: 100%; height: 100%; object-fit: cover; }
.academy-method__lattice { position: absolute; width: 70%; right: -18%; bottom: -14%; opacity: .62; mix-blend-mode: screen; }
.academy-method__mark figcaption { position: absolute; inset: auto auto 19px -18px; z-index: 2; padding: 12px 15px; display: flex; flex-direction: column; background: var(--paper-light); border-left: 3px solid var(--oxblood); box-shadow: 6px 6px 0 rgba(23,21,18,.2); }
.academy-method__mark figcaption span:first-child { color: var(--oxblood); font-size: 8px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.academy-method__mark figcaption span:last-child { margin-top: 2px; font: italic 14px var(--serif); }
.academy-method__copy .lead { margin: 30px 0 52px; color: #4f4a42; font: 21px/1.65 var(--serif); }
.academy-method ol { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ink); }
.academy-method li { padding: 26px 0; display: grid; grid-template-columns: 55px 1fr; gap: 20px; border-bottom: 1px solid var(--rule); }
.academy-method li > span { color: var(--oxblood); font: italic 13px var(--serif); }
.academy-method li strong { font: 400 25px var(--serif); }
.academy-method li p { margin: 8px 0 0; color: #625c52; font-size: 14px; }

.admissions-engine { position: relative; overflow: hidden; background: var(--ink); color: var(--paper-light); }
.admissions-engine::before { content: ""; position: absolute; width: min(19vw, 285px); aspect-ratio: 1 / 2; left: -5vw; top: 50%; opacity: .055; transform: translateY(-50%); background: url("../accents/admissions-totem.png") center / contain no-repeat; }
.admissions-engine__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) minmax(420px,.78fr); gap: 9vw; align-items: start; }
.admissions-engine .section-kicker { color: var(--brass-light); }
.admissions-engine__copy > p:not(.section-kicker) { max-width: 660px; margin: 27px 0 45px; color: #c9c0b3; font: 18px/1.7 var(--serif); }
.access-comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.access-comparison > div { border-top: 1px solid #6a645a; padding-top: 18px; }
.access-comparison span { color: var(--brass-light); font-size: 9px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.access-comparison ul { list-style: none; margin: 15px 0 0; padding: 0; color: #d2cabd; font: 14px/1.8 var(--serif); }
.access-comparison li::before { content: "·"; margin-right: 8px; color: var(--brass-light); }
.tuition-panel { background: var(--paper-light); color: var(--ink); border-top: 5px solid var(--brass); box-shadow: 15px 15px 0 #0b0a09; }
.tuition-panel__head { padding: 24px 28px; display: flex; justify-content: space-between; align-items: baseline; border-bottom: 1px solid var(--ink); }
.tuition-panel__head span { font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.tuition-panel__head strong { font: italic 15px var(--serif); }
.tuition { padding: 22px 28px 0; }
.tuition__region { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 18px; margin-bottom: 20px; }
.tuition__region label { font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.tuition__region select { max-width: 200px; padding: 8px 32px 8px 10px; border: 1px solid var(--rule); border-radius: 0; background: transparent; color: var(--ink); font-size: 11px; }
.tuition__line { min-height: 78px; display: grid; grid-template-columns: 1fr auto; align-items: center; border-top: 1px solid var(--rule); }
.tuition__line > span { font: 18px var(--serif); }
.tuition__line strong { font: 400 30px var(--serif); }
.tuition__line strong small { font: 800 8px var(--sans); letter-spacing: .1em; }
.tuition__line em { grid-column: 2; margin-top: -20px; color: #71695e; font: italic 11px var(--serif); }
.tuition__line--primary strong { color: var(--oxblood); font-size: 42px; }
.tuition__note { margin: 14px 0 0; color: #746c60; font-size: 10px; }
.tuition-panel__actions { margin-top: 22px; padding: 24px 28px 28px; display: flex; flex-direction: column; align-items: stretch; gap: 16px; border-top: 1px solid var(--ink); text-align: center; }
.tuition-panel__actions > a:last-child { color: var(--oxblood); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

.commons-preview { background: var(--paper); }
.commons-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(310px,.65fr); gap: 6vw; }
.forum-list { border-top: 1px solid var(--ink); }
.forum-list > a { min-height: 96px; display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 20px; border-bottom: 1px solid var(--rule); }
.forum-monogram { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; font: 13px var(--serif); }
.forum-list strong { display: block; font: 400 24px var(--serif); }
.forum-list small { display: block; color: #6d665b; font-size: 12px; }
.forum-list em { color: var(--oxblood); font: italic 12px var(--serif); white-space: nowrap; }
.forum-list a:hover strong { color: var(--oxblood); }
.commons-note { padding: 32px; border: 1px solid var(--ink); background: var(--paper-light); box-shadow: 9px 9px 0 var(--paper-deep); }
.note-pin { font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; color: var(--oxblood); }
.commons-note blockquote { margin: 38px 0 30px; font: italic 29px/1.35 var(--serif); }
.commons-note p { color: #655e54; font: 14px/1.7 var(--serif); }
.commons-note a { margin-top: 25px; display: flex; justify-content: space-between; padding-top: 14px; border-top: 1px solid var(--ink); color: var(--oxblood); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

.term-calendar { background: var(--paper-light); }
.event-ledger { border-top: 1px solid var(--ink); }
.event-ledger article { min-height: 135px; display: grid; grid-template-columns: 90px minmax(0,1fr) 35px; gap: 30px; align-items: center; border-bottom: 1px solid var(--rule); }
.event-ledger time { width: 75px; height: 75px; display: grid; grid-template-rows: auto 1fr; place-items: center; border: 1px solid var(--ink); }
.event-ledger time span { width: 100%; padding: 3px; background: var(--ink); color: var(--paper-light); text-align: center; font-size: 8px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.event-ledger time strong { font: 400 30px var(--serif); line-height: 1; }
.event-ledger article > div > span { color: var(--oxblood); font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.event-ledger h3 { margin: 5px 0 4px; font: 400 clamp(22px, 2.2vw, 32px)/1.15 var(--serif); }
.event-ledger p { margin: 0; color: #736c60; font-size: 11px; }
.event-ledger article > a { font-size: 20px; }

.journal-preview { background: var(--paper-deep); }
.journal-preview__head { display: grid; grid-template-columns: 1fr 350px; align-items: end; gap: 6vw; margin-bottom: 55px; }
.journal-preview__head > p { margin: 0; color: #5c564d; font: 16px/1.6 var(--serif); }
.journal-grid { display: grid; grid-template-columns: 1.5fr .75fr .75fr; border-block: 1px solid var(--ink); }
.journal-grid article { min-height: 385px; padding: 30px; display: flex; flex-direction: column; border-right: 1px solid var(--rule-dark); }
.journal-grid article:last-child { border: 0; }
.journal-grid article > span { color: var(--oxblood); font-size: 8px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.journal-grid h3 { margin: 28px 0 18px; font: 400 29px/1.16 var(--serif); }
.journal-feature h3 { font-size: clamp(37px, 3.8vw, 58px); line-height: 1.02; letter-spacing: -.025em; }
.journal-grid p { color: #5b554c; font: 15px/1.65 var(--serif); }
.journal-grid article > a { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--rule); color: var(--oxblood); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.journal-grid h3 a:hover { color: var(--oxblood); }

.closing-invitation { padding-block: clamp(105px, 12vw, 180px); position: relative; overflow: hidden; background: var(--oxblood-deep); color: var(--paper-light); text-align: center; }
.closing-invitation::before { content: ""; position: absolute; width: min(80vw, 980px); aspect-ratio: 1; left: 50%; top: 50%; transform: translate(-50%,-50%); opacity: .055; background: url("../accents/radial-wheel.png") center / contain no-repeat; }
.closing-invitation > .academy-shell { position: relative; z-index: 1; }
.closing-invitation__folio { color: var(--brass-light); font-size: 9px; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; }
.closing-invitation h2 { margin: 35px auto 28px; font: 400 clamp(55px, 7.6vw, 112px)/.88 var(--serif); letter-spacing: -.05em; }
.closing-invitation h2 em { color: var(--brass-light); font-weight: 400; }
.closing-invitation p { color: #cfbeb5; font: 18px var(--serif); }
.closing-invitation .button-row { justify-content: center; margin-top: 42px; }
.folio-link--light { color: var(--paper-light); border-color: rgba(238,232,219,.45); }

/* Academic Area */
.academic-masthead { min-height: 650px; position: relative; overflow: hidden; background: #11100e; color: var(--paper-light); }
.academic-masthead::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(12,11,9,.98) 0%, rgba(12,11,9,.94) 43%, rgba(12,11,9,.42) 72%, rgba(12,11,9,.18) 100%); }
.academic-masthead__image { position: absolute; inset: 0; }
.academic-masthead__image img { width: 100%; height: 100%; object-fit: cover; object-position: 68% center; filter: saturate(.8) contrast(1.07); }
.academic-masthead__grid { min-height: 650px; position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(340px,.55fr); gap: 9vw; align-items: center; padding-block: 88px; }
.academic-masthead .section-kicker { color: var(--brass-light); }
.academic-masthead h1 { max-width: 850px; margin: 0 0 34px; font: 400 clamp(65px,7.3vw,112px)/.86 var(--serif); letter-spacing: -.055em; }
.academic-masthead h1 em { color: var(--brass-light); font-weight: 400; }
.academic-masthead__grid > div > p:last-child { max-width: 690px; color: #d1c8bb; font: 19px/1.68 var(--serif); }
.academic-masthead__index { align-self: end; margin: 0 0 18px; border-top: 1px solid rgba(238,232,219,.5); }
.academic-masthead__index div { padding: 17px 0; border-bottom: 1px solid rgba(238,232,219,.28); }
.academic-masthead__index dt { color: var(--brass-light); font: 20px var(--serif); }
.academic-masthead__index dd { margin: 4px 0 0; color: #aaa195; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.academic-orientation { background: var(--paper-deep); border-bottom: 1px solid var(--ink); }
.academic-orientation__grid { min-height: 118px; display: grid; grid-template-columns: 1fr 1fr; gap: 7vw; align-items: center; }
.academic-orientation p { margin: 0; color: #5e584f; font: 14px/1.6 var(--serif); }
.academic-orientation strong { display: block; margin-bottom: 4px; color: var(--oxblood); font: 800 8px var(--sans); letter-spacing: .15em; text-transform: uppercase; }
.academic-catalogue { background: var(--paper-light); }
.academic-catalogue__head { margin-bottom: 48px; display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.academic-catalogue__head h2 { margin: 0; font: 400 clamp(48px,5.8vw,82px)/.96 var(--serif); letter-spacing: -.04em; }
.academic-catalogue__head > p { margin: 0 0 6px; color: #6f675c; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.academic-catalogue__head > p span { color: var(--oxblood); font: italic 18px var(--serif); }
.academic-controls { margin-bottom: 40px; display: grid; grid-template-columns: minmax(0,1fr) 340px; border: 1px solid var(--ink); }
.academic-controls__types { display: flex; }
.academic-controls button { min-height: 54px; padding: 10px 22px; border: 0; border-right: 1px solid var(--rule); background: transparent; cursor: pointer; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.academic-controls button:hover, .academic-controls button.is-active { background: var(--ink); color: var(--paper-light); }
.academic-controls__search { position: relative; border-left: 1px solid var(--ink); }
.academic-controls__search input { width: 100%; height: 100%; min-height: 54px; padding: 12px 46px 12px 16px; border: 0; background: var(--paper); color: var(--ink); }
.academic-controls__search i { position: absolute; right: 17px; top: 50%; transform: translateY(-50%); color: var(--oxblood); font: normal 22px var(--serif); }
.academic-records { border-top: 1px solid var(--ink); }
.academic-record-card { position: relative; display: grid; grid-template-columns: 92px minmax(0,1fr) minmax(280px,.62fr); column-gap: clamp(24px,3.6vw,58px); align-items: start; padding: 36px 0 32px; border-bottom: 1px solid var(--rule); }
.academic-record-card[hidden] { display: none !important; }
.academic-record-card__folio { display: flex; flex-direction: column; gap: 9px; }
.academic-record-card__folio span { color: var(--oxblood); font-size: 8px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.academic-record-card__folio strong { font: italic 15px var(--serif); }
.academic-record-card__body { min-width: 0; }
.academic-availability { width: max-content; margin-bottom: 10px; padding: 6px 9px; display: inline-block; border: 1px solid currentColor; color: #6f675c; font-size: 6px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.academic-availability--open { border-color: #6c805b; background: #e3eadb; color: #435637; }
.academic-availability--forthcoming { border-color: #978f83; background: #e9e3d8; color: #6a6258; }
.academic-record-card--open { margin-inline: -18px; padding-inline: 18px; background: linear-gradient(90deg,rgba(108,128,91,.1),transparent 55%); box-shadow: inset 3px 0 #6c805b; }
.academic-record-card--forthcoming { background: linear-gradient(90deg,rgba(98,91,81,.045),transparent 62%); }
.academic-record-card__body h3 { margin: 0 0 14px; overflow-wrap: anywhere; font: 400 clamp(29px,2.65vw,42px)/1.03 var(--serif); letter-spacing: -.025em; }
.academic-record-card__body h3 a:hover { color: var(--oxblood); }
.academic-record-card__body > p { margin: 0; color: #625b51; font: 14px/1.65 var(--serif); }
.academic-record-card__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 17px 22px; margin: 2px 0 0; }
.academic-record-card__facts dt, .academic-detail-label { color: var(--oxblood); font-size: 7px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.academic-record-card__facts dd { margin: 4px 0 0; font: 14px/1.25 var(--serif); }
.academic-record-card__professor { grid-column: 2; min-width: 0; margin-top: 24px; padding-top: 18px; display: block; border-top: 1px solid var(--rule); }
.professor-monogram { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; color: var(--oxblood); font: 21px var(--serif); }
.academic-record-card__professor .professor-monogram { display: none; }
.academic-record-card__professor div { display: flex; flex-direction: column; }
.academic-record-card__professor small { color: #7b7367; font-size: 7px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.academic-record-card__professor strong { margin-top: 3px; overflow-wrap: anywhere; font: 21px/1.2 var(--serif); }
.academic-record-card__professor div > span { color: #6e675d; font: italic 11px/1.35 var(--serif); }
.academic-record-card__link, .academic-record-detail > summary { grid-column: 2 / 4; margin-top: 27px; padding-top: 13px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--ink); color: var(--oxblood); cursor: pointer; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.academic-record-card__link i, .academic-record-detail > summary i { font: normal 19px var(--serif); }
.academic-record-card__action { grid-column: 2 / 4; margin-top: 18px; padding: 13px 15px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid #7b8e69; background: #e3eadb; }
.academic-record-card__action span { color: #536447; font-size: 7px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.academic-record-card__action a { color: #33442a; font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.academic-record-card__units { position: absolute; left: 0; bottom: 32px; color: #867d70; font-size: 7px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.academic-record-detail { grid-column: 2 / 4; }
.academic-record-detail > summary { grid-column: auto; list-style: none; }
.academic-record-detail > summary::-webkit-details-marker { display: none; }
.academic-record-detail[open] > summary i { transform: rotate(45deg); }
.academic-record-detail__content { padding: 38px; margin-top: 25px; background: var(--paper); border-left: 3px solid var(--oxblood); }
.academic-record-detail__professor { display: grid; grid-template-columns: minmax(180px,.38fr) minmax(0,1fr); gap: 30px; padding-bottom: 32px; border-bottom: 1px solid var(--rule); }
.academic-record-detail__professor .academic-detail-label { grid-row: 1 / 3; }
.academic-record-detail__professor h4 { margin: 0; font: 400 28px var(--serif); }
.academic-record-detail__professor p:last-child { margin: 0; color: #5e574e; font: 14px/1.7 var(--serif); }
.academic-record-detail__requirements { padding-block: 32px; display: grid; grid-template-columns: 1fr 1fr; gap: 55px; border-bottom: 1px solid var(--rule); }
.academic-record-detail__requirements ul { margin: 14px 0 0; padding: 0; list-style: none; }
.academic-record-detail__requirements li { padding: 8px 0 8px 20px; position: relative; border-top: 1px solid rgba(184,173,153,.65); font: 13px/1.5 var(--serif); }
.academic-record-detail__requirements li::before { content: "◇"; position: absolute; left: 0; color: var(--oxblood); }
.academic-record-detail__curriculum { padding-top: 32px; }
.academic-record-detail__curriculum-head { margin-bottom: 20px; display: flex; justify-content: space-between; align-items: end; }
.academic-record-detail__curriculum h4 { margin: 5px 0 0; font: 400 30px var(--serif); }
.academic-record-detail__curriculum-head > span { color: #756d61; font-size: 7px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.academic-record-detail__curriculum ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.academic-record-detail__curriculum li { min-height: 118px; padding: 22px 0; display: grid; grid-template-columns: 46px 1fr; gap: 20px; border-bottom: 1px solid var(--rule); }
.academic-record-detail__curriculum li > span { color: var(--oxblood); font: italic 12px var(--serif); }
.academic-record-detail__curriculum small { color: #736b5f; font-size: 7px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.academic-record-detail__curriculum h5 { margin: 3px 0 6px; font: 400 21px var(--serif); }
.academic-record-detail__curriculum li p { margin: 0; color: #625b51; font-size: 12px; }
.academic-empty { margin: 40px 0 0; padding: 30px; border: 1px solid var(--ink); font: italic 18px var(--serif); text-align: center; }
.academic-guidance { padding-block: 90px; position: relative; overflow: hidden; background: var(--oxblood-deep); color: var(--paper-light); }
.academic-guidance::before { content: ""; position: absolute; width: 520px; aspect-ratio: 1; right: -140px; top: -160px; opacity: .06; background: url("../accents/seal-open.png") center / contain no-repeat; }
.academic-guidance__grid { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 8vw; align-items: end; }
.academic-guidance .section-kicker { color: var(--brass-light); }
.academic-guidance h2 { margin: 0 0 18px; font: 400 clamp(45px,5vw,72px)/.98 var(--serif); }
.academic-guidance p:last-child { max-width: 750px; margin: 0; color: #cfbeb5; font: 17px/1.7 var(--serif); }
.academic-guidance__grid > div:last-child { display: flex; flex-direction: column; gap: 20px; min-width: 300px; }

/* Individual academic record */
.study-record-hero { min-height: 590px; position: relative; overflow: hidden; background: var(--ink); color: var(--paper-light); }
.study-record-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(12,11,9,.98) 0%, rgba(12,11,9,.9) 48%, rgba(12,11,9,.28) 78%); }
.study-record-hero__image { position: absolute; inset: 0; }
.study-record-hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: 72% center; }
.study-record-hero__grid { min-height: 590px; position: relative; z-index: 1; padding-block: 85px; display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 9vw; align-items: center; }
.study-record-hero__eyebrow { display: flex; gap: 18px; color: var(--brass-light); font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.study-record-hero__eyebrow span + span { padding-left: 18px; border-left: 1px solid #6c6252; }
.study-record-hero h1 { max-width: 930px; margin: 30px 0; font: 400 clamp(63px,7.5vw,112px)/.87 var(--serif); letter-spacing: -.055em; }
.study-record-hero__grid > div:first-child > p:last-child { max-width: 720px; color: #d0c7ba; font: 19px/1.65 var(--serif); }
.study-record-hero__status { align-self: end; padding: 22px 0; display: flex; flex-direction: column; border-block: 1px solid #625a4e; }
.study-record-hero__status span { color: var(--brass-light); font-size: 7px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.study-record-hero__status strong { margin: 7px 0 2px; font: 400 22px var(--serif); }
.study-record-hero__status small { color: #aaa195; font: italic 11px var(--serif); }
.study-record-nav { position: sticky; top: 0; z-index: 30; background: var(--paper-deep); border-bottom: 1px solid var(--ink); }
.study-record-nav .academy-shell { min-height: 55px; display: flex; align-items: stretch; }
.study-record-nav a { padding: 0 28px; display: grid; place-items: center; border-right: 1px solid var(--rule); font-size: 8px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.study-record-nav a:first-child { border-left: 1px solid var(--rule); }
.study-record-nav a:hover { background: var(--ink); color: var(--paper-light); }
.study-record-content { background: var(--paper-light); }
.study-record-layout { display: grid; grid-template-columns: 285px minmax(0,1fr); gap: 9vw; align-items: start; }
.study-record-facts { position: sticky; top: 95px; padding: 28px; border: 1px solid var(--ink); background: var(--paper); box-shadow: 8px 8px 0 var(--paper-deep); }
.study-record-facts dl { margin: 20px 0 26px; }
.study-record-facts dl div { padding: 12px 0; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--rule); }
.study-record-facts dt { color: #71695e; font-size: 7px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.study-record-facts dd { margin: 0; font: 14px var(--serif); text-align: right; }
.study-record-facts .button { width: 100%; }
.study-record-facts > a:last-child { margin-top: 18px; display: block; color: var(--oxblood); font-size: 8px; font-weight: 800; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.study-record-main { min-width: 0; }
.study-record-section { padding: 0 0 85px; margin: 0 0 85px; border-bottom: 1px solid var(--ink); scroll-margin-top: 85px; }
.study-record-section > h2, .study-curriculum h2 { margin: 0 0 30px; font: 400 clamp(43px,4.8vw,70px)/.98 var(--serif); letter-spacing: -.035em; }
.study-record-lead { color: #453f38; font: 23px/1.65 var(--serif); }
.study-record-synopsis > p:last-child { color: #635c52; font: 16px/1.75 var(--serif); }
.study-professor { display: grid; grid-template-columns: minmax(280px,.65fr) minmax(0,1fr); gap: 6vw; }
.study-professor__identity { position: relative; padding-left: 86px; }
.study-professor__monogram { position: absolute; left: 0; top: 0; width: 64px; height: 64px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; color: var(--oxblood); font: 29px var(--serif); }
.study-professor h2 { margin: 7px 0 3px; font: 400 clamp(35px,4vw,55px)/1 var(--serif); }
.study-professor__title { color: var(--oxblood); font: italic 14px var(--serif); }
.study-professor > div:last-child > p { margin: 0; color: #585147; font: 17px/1.75 var(--serif); }
.study-professor__focus { margin-top: 25px !important; padding-top: 18px; border-top: 1px solid var(--rule); }
.study-professor__focus strong { display: block; color: var(--oxblood); font: 800 7px var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.study-requirements { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; }
.study-requirements h3 { margin: 0 0 18px; font: 400 29px var(--serif); }
.study-requirements ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ink); }
.study-requirements li { padding: 14px 0 14px 24px; position: relative; border-bottom: 1px solid var(--rule); font: 14px/1.6 var(--serif); }
.study-requirements li::before { content: "◇"; position: absolute; left: 0; color: var(--oxblood); }
.study-curriculum { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.study-curriculum > header { margin-bottom: 40px; display: flex; justify-content: space-between; align-items: end; gap: 30px; }
.study-curriculum > header h2 { margin-bottom: 0; }
.study-curriculum > header > span { margin-bottom: 8px; color: #756d62; font-size: 7px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.study-curriculum ol { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ink); }
.study-curriculum li { min-height: 190px; padding: 30px 0; display: grid; grid-template-columns: 66px 1fr; gap: 30px; border-bottom: 1px solid var(--rule); }
.study-curriculum__number { color: var(--oxblood); font: italic 15px var(--serif); }
.study-curriculum li > div > p:first-child { margin: 0; color: #746c60; font-size: 7px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.study-curriculum h3 { margin: 5px 0 11px; font: 400 clamp(27px,3vw,39px)/1.08 var(--serif); }
.study-curriculum li > div > p:not(:first-child) { max-width: 750px; color: #625b51; font: 14px/1.65 var(--serif); }
.study-curriculum__material { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 8px; }
.study-curriculum__material span { padding: 5px 9px; border: 1px solid var(--rule); color: #6d655a; font-size: 6px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.study-curriculum__empty { padding: 40px; background: var(--paper); border-left: 3px solid var(--oxblood); font: italic 18px var(--serif); }
.study-record-enrollment { padding-block: 100px; background: var(--oxblood-deep); color: var(--paper-light); scroll-margin-top: 70px; }
.study-record-enrollment .academy-shell { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 8vw; align-items: end; }
.study-record-enrollment .section-kicker { color: var(--brass-light); }
.study-record-enrollment h2 { margin: 0 0 20px; font: 400 clamp(47px,5.4vw,78px)/.96 var(--serif); letter-spacing: -.04em; }
.study-record-enrollment p:last-child { max-width: 750px; margin: 0; color: #cfbeb5; font: 17px/1.7 var(--serif); }
.study-record-enrollment .academy-shell > div:last-child { display: flex; flex-direction: column; gap: 20px; }

.site-footer { padding-top: 70px; background: #100f0d; color: var(--paper-light); }
.site-footer__head { padding-bottom: 48px; display: flex; justify-content: space-between; align-items: flex-end; border-bottom: 1px solid #4c473f; }
.academy-brand--footer .academy-brand__seal { filter: brightness(1.2); }
.academy-brand--footer .academy-brand__text strong { font-size: 30px; }
.site-footer__head > p { max-width: 500px; margin: 0; color: #a9a195; font: 15px/1.6 var(--serif); text-align: right; }
.site-footer__grid { padding: 48px 0 65px; display: grid; grid-template-columns: repeat(3, .7fr) 1.3fr; gap: 4vw; }
.site-footer__grid h2 { margin-bottom: 19px; color: var(--brass-light); font: 9px var(--sans); font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.site-footer__grid > div:not(.site-footer__action) { display: flex; flex-direction: column; gap: 8px; }
.site-footer__grid a { color: #bcb4a7; font: 14px var(--serif); }
.site-footer__grid a:hover { color: var(--paper-light); }
.site-footer__action { padding-left: 35px; border-left: 1px solid #4c473f; display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.footer-folio { color: #a69d90; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.site-footer__action .button { width: 100%; color: var(--ink); }
.site-footer__action > a:last-child { font-size: 12px; }
.site-footer__base { min-height: 65px; display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; border-top: 1px solid #4c473f; color: #827b70; font-size: 8px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.site-footer__base span:nth-child(2) { text-align: center; }

/* Inner pages */
.page-masthead { padding: 92px 0 70px; background: var(--ink); color: var(--paper-light); }
.page-masthead__meta { display: flex; justify-content: space-between; color: var(--brass-light); font-size: 9px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.page-masthead h1 { max-width: 1000px; margin: 42px 0 24px; font: 400 clamp(58px, 7.2vw, 105px)/.9 var(--serif); letter-spacing: -.05em; }
.page-masthead p { max-width: 700px; margin: 0; color: #cbc2b5; font: 20px/1.6 var(--serif); }
.page-content { padding-block: var(--section); }
.page-content__grid { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 9vw; }
.entry-content { font: 18px/1.8 var(--serif); }
.entry-content h2 { margin: 65px 0 20px; font: 400 48px/1.05 var(--serif); letter-spacing: -.03em; }
.entry-content h3 { margin: 45px 0 14px; font: 400 31px var(--serif); }
.entry-content a { color: var(--oxblood); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.page-sidebar { padding-top: 10px; }
.page-sidebar__box { padding: 24px; border: 1px solid var(--ink); background: var(--paper); }
.page-sidebar__box h2 { font: 400 25px var(--serif); }
.page-sidebar__box ul { list-style: none; padding: 0; margin: 20px 0 0; }
.page-sidebar__box li { padding: 10px 0; border-top: 1px solid var(--rule); }
.page-sidebar__box a { color: var(--oxblood); font-size: 12px; font-weight: 700; }

.catalog-intro { padding: 70px 0 55px; background: var(--paper); border-bottom: 1px solid var(--ink); }
.catalog-filter { display: grid; grid-template-columns: 1.4fr repeat(3,.65fr) auto; gap: 12px; }
.catalog-filter input, .catalog-filter select { width: 100%; min-height: 48px; padding: 10px 13px; border: 1px solid var(--rule-dark); border-radius: 0; background: var(--paper-light); color: var(--ink); }
.catalog-filter button { min-height: 48px; padding: 10px 20px; border: 1px solid var(--oxblood); background: var(--oxblood); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.catalog-results { padding-block: 65px var(--section); }
.catalog-results__head { display: flex; justify-content: space-between; margin-bottom: 28px; padding-bottom: 12px; border-bottom: 1px solid var(--ink); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.catalog-listing { display: grid; grid-template-columns: repeat(3,1fr); border-left: 1px solid var(--rule); }
.catalog-entry { min-height: 360px; padding: 26px; display: flex; flex-direction: column; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.catalog-entry__type { color: var(--oxblood); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.catalog-entry h2 { margin: 25px 0 15px; font: 400 34px/1.05 var(--serif); }
.catalog-entry p { color: #655f55; font: 14px/1.65 var(--serif); }
.catalog-entry__meta { margin-top: auto; padding-top: 15px; border-top: 1px solid var(--rule); display: flex; justify-content: space-between; font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

.admissions-page .admissions-steps { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--rule); border-right: 0; }
.admissions-step { min-height: 290px; padding: 28px; border-right: 1px solid var(--rule); }
.admissions-step > span { color: var(--oxblood); font: italic 13px var(--serif); }
.admissions-step h2 { margin: 38px 0 15px; font: 400 31px/1.05 var(--serif); }
.admissions-step p { color: #655f56; font: 14px/1.65 var(--serif); }
.admissions-tuition { padding-block: var(--section); background: var(--ink); color: var(--paper-light); }
.admissions-tuition__grid { display: grid; grid-template-columns: 1fr 520px; gap: 8vw; }
.admissions-tuition h2 { font: 400 clamp(45px,5vw,75px)/.98 var(--serif); }
.admissions-tuition__copy p { color: #c9c0b3; font: 18px/1.7 var(--serif); }
.admissions-tuition .tuition-panel { color: var(--ink); }
.eligibility-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; }
.eligibility-grid h2 { font: 400 48px var(--serif); }
.eligibility-grid ul { list-style: none; padding: 0; border-top: 1px solid var(--ink); }
.eligibility-grid li { padding: 14px 0 14px 27px; position: relative; border-bottom: 1px solid var(--rule); font: 16px var(--serif); }
.eligibility-grid li::before { content: "◇"; position: absolute; left: 0; color: var(--oxblood); }

.community-board { padding-block: var(--section); }
.board-layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 6vw; }
.board-section { margin-bottom: 55px; }
.board-section__title { display: flex; align-items: baseline; justify-content: space-between; padding-bottom: 11px; border-bottom: 1px solid var(--ink); }
.board-section__title h2 { margin: 0; font: 400 33px var(--serif); }
.board-section__title span { color: #776f63; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.topic-row { min-height: 85px; display: grid; grid-template-columns: minmax(0,1fr) 100px 65px; gap: 20px; align-items: center; border-bottom: 1px solid var(--rule); }
.topic-row strong { display: block; font: 400 20px var(--serif); }
.topic-row small { color: #766f64; font-size: 11px; }
.topic-row > span { font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.community-sidebar > div { margin-bottom: 25px; padding: 25px; border: 1px solid var(--ink); }
.community-sidebar h2 { font: 400 25px var(--serif); }
.community-sidebar p { font: 14px/1.65 var(--serif); color: #645e55; }

/* Academic calendar */
.calendar-masthead { position: relative; overflow: hidden; padding-block: clamp(78px,9vw,130px); background: var(--ink); color: var(--paper-light); }
.calendar-masthead::before { content: ""; position: absolute; width: min(52vw,760px); aspect-ratio: 1; right: -9vw; top: 50%; transform: translateY(-50%) rotate(7deg); opacity: .075; background: url("../accents/radial-wheel.png") center / contain no-repeat; }
.calendar-masthead__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 9vw; align-items: end; }
.calendar-masthead .section-kicker { color: var(--brass-light); }
.calendar-masthead h1 { max-width: 830px; margin: 0 0 30px; font: 400 clamp(64px,7.8vw,116px)/.86 var(--serif); letter-spacing: -.055em; }
.calendar-masthead__grid > div:first-child > p:last-child { max-width: 720px; margin: 0; color: #c9c0b3; font: 18px/1.7 var(--serif); }
.calendar-masthead__status { padding: 25px 0 4px; border-block: 1px solid #575148; }
.calendar-masthead__status > span { display: flex; align-items: center; gap: 10px; color: var(--brass-light); font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.calendar-masthead__status > span i { width: 7px; height: 7px; border-radius: 50%; background: #93a47d; box-shadow: 0 0 0 4px rgba(147,164,125,.12); }
.calendar-masthead__status dl { margin: 23px 0 0; }
.calendar-masthead__status dl div { display: grid; grid-template-columns: 92px 1fr; gap: 12px; padding: 10px 0; border-top: 1px solid #403c35; }
.calendar-masthead__status dt { color: #8f887e; font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.calendar-masthead__status dd { margin: 0; font: 13px var(--serif); }

.calendar-command { position: sticky; top: 0; z-index: 40; background: rgba(247,243,233,.97); border-bottom: 1px solid var(--ink); backdrop-filter: blur(10px); }
.calendar-command__top { min-height: 83px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border-bottom: 1px solid var(--rule); }
.calendar-pagination { display: flex; align-items: center; gap: 20px; }
.calendar-pagination a { width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid var(--ink); font-size: 16px; transition: background .2s,color .2s; }
.calendar-pagination a:hover { background: var(--ink); color: var(--paper-light); }
.calendar-pagination h2 { min-width: 210px; margin: 0; font: 400 29px var(--serif); text-align: center; }
.calendar-view-switch { display: flex; padding: 3px; border: 1px solid var(--rule); background: var(--paper); }
.calendar-view-switch button { min-width: 86px; padding: 8px 13px; border: 0; background: transparent; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.calendar-view-switch button.is-active { background: var(--ink); color: var(--paper-light); }
.calendar-subscribe-shortcut { justify-self: end; color: var(--oxblood); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.calendar-subscribe-shortcut span { margin-left: 9px; }
.calendar-filters { min-height: 58px; display: flex; align-items: center; gap: 7px; overflow-x: auto; scrollbar-width: thin; }
.calendar-filters button { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid transparent; background: transparent; color: #6a6359; font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.calendar-filters button i { width: 7px; height: 7px; border-radius: 50%; background: var(--event-color,var(--ink)); }
.calendar-filters button.is-active { border-color: var(--ink); color: var(--ink); background: var(--paper-light); }
.calendar-filters [data-calendar-filter="class"] { --event-color:#52683f; }
.calendar-filters [data-calendar-filter="exam"] { --event-color:#9b352f; }
.calendar-filters [data-calendar-filter="admissions"] { --event-color:#ad7c2c; }
.calendar-filters [data-calendar-filter="community"] { --event-color:#74578a; }
.calendar-filters [data-calendar-filter="lunar"] { --event-color:#697b89; }
.calendar-filters [data-calendar-filter="sabbat"] { --event-color:#9a6237; }
.calendar-filters [data-calendar-filter="planetary"] { --event-color:#426f73; }

.calendar-body { background: var(--paper); }
.calendar-body__layout { display: grid; grid-template-columns: minmax(0,1fr) 295px; gap: 45px; align-items: start; }
.calendar-primary { min-width: 0; }
.calendar-weekdays { display: grid; grid-template-columns: repeat(7,1fr); border: 1px solid var(--ink); border-bottom: 0; background: var(--ink); color: var(--paper-light); }
.calendar-weekdays span { padding: 9px 12px; border-right: 1px solid #4a453d; color: #c0b8ac; font-size: 8px; font-weight: 800; letter-spacing: .14em; text-align: right; text-transform: uppercase; }
.calendar-weekdays span:last-child { border-right: 0; }
.calendar-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.calendar-day { min-height: 154px; padding: 8px; overflow: hidden; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); background: var(--paper-light); }
.calendar-day--outside { background: rgba(217,207,189,.42); }
.calendar-day > header { min-height: 27px; display: flex; justify-content: space-between; align-items: start; }
.calendar-day > header time { width: 25px; height: 25px; display: grid; place-items: center; font: 14px var(--serif); }
.calendar-day > header span { color: var(--oxblood); font-size: 6.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.calendar-day.is-today > header time { border-radius: 50%; background: var(--oxblood); color: #fff; }
.calendar-day__events { display: grid; gap: 4px; }
.calendar-event { --event-color:#27241f; width: 100%; min-width: 0; padding: 5px 6px; position: relative; display: grid; grid-template-columns: 5px 1fr auto; gap: 4px 6px; border: 0; background: color-mix(in srgb,var(--event-color) 10%,transparent); color: var(--ink); text-align: left; cursor: pointer; }
.calendar-event::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 2px; background: var(--event-color); }
.calendar-event i { width: 5px; height: 5px; margin-top: 3px; border-radius: 50%; background: var(--event-color); }
.calendar-event span { color: #756e63; font-size: 6px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.calendar-event strong { grid-column: 2 / 4; overflow: hidden; font: 10.5px/1.24 var(--serif); text-overflow: ellipsis; }
.calendar-event em { color: var(--event-color); font-size: 6px; font-style: normal; }
.calendar-event:hover { background: color-mix(in srgb,var(--event-color) 18%,transparent); }
.calendar-event--class { --event-color:#52683f; }
.calendar-event--exam { --event-color:#9b352f; }
.calendar-event--admissions { --event-color:#ad7c2c; }
.calendar-event--community { --event-color:#74578a; }
.calendar-event--lunar { --event-color:#697b89; }
.calendar-event--sabbat { --event-color:#9a6237; }
.calendar-event--planetary { --event-color:#426f73; }
.calendar-event.is-locked { background-image: repeating-linear-gradient(135deg,transparent,transparent 5px,rgba(23,21,18,.035) 5px,rgba(23,21,18,.035) 10px); }

.calendar-agenda__head { min-height: 48px; display: flex; justify-content: space-between; align-items: center; border-block: 1px solid var(--ink); font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.calendar-agenda__list { border-bottom: 1px solid var(--ink); }
.agenda-entry { --event-color:#27241f; min-height: 128px; display: grid; grid-template-columns: 82px minmax(0,1fr) 140px; gap: 24px; align-items: center; padding-block: 18px; border-bottom: 1px solid var(--rule); transition: background .25s,padding .25s; }
.agenda-entry:last-of-type { border-bottom: 0; }
.agenda-entry > time { width: 64px; height: 78px; display: grid; grid-template-rows: auto 1fr auto; place-items: center; border: 1px solid var(--event-color); color: var(--event-color); }
.agenda-entry > time span,.agenda-entry > time em { width: 100%; padding: 2px; background: var(--event-color); color: #fff; font-size: 6.5px; font-style: normal; font-weight: 800; letter-spacing: .13em; text-align: center; text-transform: uppercase; }
.agenda-entry > time strong { font: 400 27px/1 var(--serif); }
.agenda-entry__main > span { color: var(--event-color); font-size: 7px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.agenda-entry__main h3 { margin: 6px 0 5px; font: 400 clamp(23px,2.1vw,32px)/1.12 var(--serif); }
.agenda-entry__main p { margin: 0; color: #6b6459; font-size: 10px; }
.agenda-entry__action { text-align: right; }
.agenda-entry__action a { color: var(--oxblood); font-size: 8px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.agenda-entry__action a span { margin-left: 7px; }
.agenda-entry__action > span { color: #837b70; font: italic 11px var(--serif); }
.agenda-entry.is-highlighted { padding-inline: 12px; background: #fffdf6; }
.agenda-entry--class { --event-color:#52683f; }
.agenda-entry--exam { --event-color:#9b352f; }
.agenda-entry--admissions { --event-color:#ad7c2c; }
.agenda-entry--community { --event-color:#74578a; }
.agenda-entry--lunar { --event-color:#697b89; }
.agenda-entry--sabbat { --event-color:#9a6237; }
.agenda-entry--planetary { --event-color:#426f73; }
.calendar-empty { padding: 40px 0; font: italic 18px var(--serif); }

.calendar-almanac { position: sticky; top: 165px; display: grid; gap: 18px; }
.almanac-card { padding: 23px; border: 1px solid var(--ink); background: var(--paper-light); }
.almanac-card > span { color: var(--oxblood); font-size: 7px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.almanac-card h2 { margin: 22px 0 12px; font: 400 27px/1.05 var(--serif); }
.almanac-card p { margin: 0; color: #655e54; font: 13px/1.62 var(--serif); }
.almanac-card--dark { overflow: hidden; position: relative; background: var(--ink); color: var(--paper-light); }
.almanac-card--dark > span { color: var(--brass-light); }
.almanac-card--dark p { color: #bbb2a6; }
.almanac-orbit { width: 150px; aspect-ratio: 1; margin: 25px auto; position: relative; border: 1px solid #5c554b; border-radius: 50%; }
.almanac-orbit::before,.almanac-orbit::after { content: ""; position: absolute; inset: 17%; border: 1px solid #4a453e; border-radius: 50%; }
.almanac-orbit::after { inset: 39%; background: var(--brass); border: 0; }
.almanac-orbit i { position: absolute; width: 13px; height: 13px; left: 7px; top: 24px; border-radius: 50%; background: #d9d6cd; box-shadow: inset -4px -2px 0 #87867f; }
.almanac-orbit b { position: absolute; width: 7px; height: 7px; right: 29px; bottom: 7px; border-radius: 50%; background: var(--oxblood); }
.calendar-access-key { list-style: none; margin: 20px 0 0; padding: 0; }
.calendar-access-key li { display: grid; grid-template-columns: 9px 1fr; gap: 0 10px; padding: 10px 0; border-top: 1px solid var(--rule); }
.calendar-access-key i { width: 7px; height: 7px; margin-top: 7px; border-radius: 50%; background: var(--ink); }
.calendar-access-key li:nth-child(2) i { background: var(--brass); }
.calendar-access-key li:nth-child(3) i { background: var(--oxblood); }
.calendar-access-key strong { font: 15px var(--serif); }
.calendar-access-key small { grid-column: 2; color: #756e63; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }

.calendar-subscribe { background: var(--oxblood-deep); color: var(--paper-light); }
.calendar-subscribe__grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(420px,.8fr); gap: 10vw; align-items: start; }
.calendar-subscribe .section-kicker { color: var(--brass-light); }
.calendar-subscribe h2 { margin: 0 0 26px; font: 400 clamp(50px,5.5vw,82px)/.92 var(--serif); letter-spacing: -.04em; }
.calendar-subscribe__grid > div:first-child > p:last-child { max-width: 600px; color: #cdbdb5; font: 17px/1.7 var(--serif); }
.subscribe-options { border-top: 1px solid #846369; }
.subscribe-options > a,.subscribe-options > div { min-height: 98px; display: grid; grid-template-columns: 46px minmax(0,1fr) 20px; gap: 16px; align-items: center; border-bottom: 1px solid #846369; }
.subscribe-options i { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--brass-light); border-radius: 50%; color: var(--brass-light); font: 13px var(--serif); }
.subscribe-options strong,.subscribe-options small { display: block; }
.subscribe-options strong { font: 400 21px var(--serif); }
.subscribe-options small { margin-top: 4px; color: #c2b2aa; font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.subscribe-options b { color: var(--brass-light); font-weight: 400; }
.subscribe-options > a:hover strong { color: var(--brass-light); }
.subscribe-option--pending { opacity: .62; }
.calendar-provenance { padding-block: 24px; background: var(--paper-deep); border-bottom: 1px solid var(--ink); }
.calendar-provenance .academy-shell { display: grid; grid-template-columns: 170px minmax(0,1fr) auto; gap: 30px; align-items: center; }
.calendar-provenance span,.calendar-provenance a { font-size: 7px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.calendar-provenance p { margin: 0; color: #5d574e; font: 12px/1.55 var(--serif); }
.calendar-provenance a { color: var(--oxblood); }

.profile-card { max-width: 900px; margin: 0 auto; display: grid; grid-template-columns: 250px 1fr; border: 1px solid var(--ink); }
.profile-card__identity { padding: 35px; background: var(--ink); color: var(--paper-light); }
.profile-avatar { width: 110px; height: 110px; display: grid; place-items: center; border: 1px solid var(--brass-light); border-radius: 50%; font: 42px var(--serif); color: var(--brass-light); }
.profile-card__identity h2 { margin: 25px 0 2px; font: 400 27px var(--serif); }
.profile-card__identity p { color: #aea599; font-size: 11px; }
.member-number { margin-top: 35px; padding-top: 15px; border-top: 1px solid #585249; color: var(--brass-light); font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.profile-card__details { padding: 40px; }
.profile-card__details dl { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.profile-card__details dt { color: var(--oxblood); font-size: 8px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.profile-card__details dd { margin: 5px 0 0; font: 17px var(--serif); }
.profile-card__details .profile-bio { margin-top: 35px; padding-top: 30px; border-top: 1px solid var(--rule); font: 17px/1.7 var(--serif); }

@media (max-width: 1100px) {
	:root { --shell: min(100% - 48px, 1000px); }
	.site-header__utility { display: none; }
	.site-header__main { min-height: 92px; }
	.menu-toggle { display: flex; }
	.primary-navigation { visibility: hidden; opacity: 0; position: fixed; inset: 0; z-index: 100; overflow-y: auto; background: var(--paper-light); transform: translateY(-12px); transition: opacity .2s ease, transform .2s ease, visibility .2s; }
	.menu-open .primary-navigation { visibility: visible; opacity: 1; transform: none; }
	.primary-navigation__inner { min-height: 100%; display: block; padding-block: 25px 50px; }
	.mobile-menu-head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 20px; border-bottom: 1px solid var(--ink); font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
	.menu-close { border: 0; background: transparent; font: 35px/1 var(--serif); }
	.primary-navigation ul { display: block; }
	.primary-navigation li { min-height: 68px; margin: 0; display: flex; justify-content: space-between; flex-wrap: wrap; border-bottom: 1px solid var(--rule); }
	.primary-navigation li > a { min-height: 68px; font-size: 24px; }
	.primary-navigation li > button { font-size: 24px; }
	.study-menu { display: none; position: static; width: 100%; padding: 15px 0 25px; grid-template-columns: 1fr 1fr; border: 0; box-shadow: none; transform: none; visibility: visible; opacity: 1; }
	.has-submenu.submenu-open .study-menu { display: grid; }
	.header-apply { display: flex; margin-top: 25px; padding: 17px; justify-content: space-between; background: var(--oxblood); color: #fff; }
	.academy-hero__grid { grid-template-columns: 1fr 320px; gap: 4vw; }
	.academy-hero h1 { font-size: clamp(58px,7vw,78px); }
	.study-scale__grid article { padding: 35px 25px; grid-template-columns: 25px 1fr; gap: 12px; }
	.study-scale h3 { font-size: 36px; }
	.admissions-engine__grid { grid-template-columns: 1fr 430px; gap: 5vw; }
	.commons-grid { grid-template-columns: 1fr 340px; gap: 35px; }
	.journal-grid h3 { font-size: 25px; }
	.journal-feature h3 { font-size: 42px; }
	.catalog-filter { grid-template-columns: 1.4fr 1fr 1fr; }
	.catalog-filter select:nth-of-type(3), .catalog-filter button { grid-column: span 1; }
	.admissions-tuition__grid { grid-template-columns: 1fr 460px; gap: 5vw; }
	.academic-masthead__grid { grid-template-columns: minmax(0,1fr) 300px; gap: 6vw; }
	.academic-record-card { grid-template-columns: 78px minmax(0,1.15fr) minmax(260px,.85fr); }
	.academic-record-card__professor { grid-column: 2 / 4; margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--rule); }
	.academic-record-card__link, .academic-record-detail, .academic-record-card__action { grid-column: 2 / 4; }
	.study-record-layout { grid-template-columns: 255px minmax(0,1fr); gap: 6vw; }
	.study-professor { grid-template-columns: 1fr; gap: 30px; }
}

@media (max-width: 780px) {
	:root { --shell: calc(100% - 34px); --section: 78px; }
	.academy-notice .academy-shell { min-height: 42px; gap: 15px; }
	.academy-notice span { max-width: 180px; line-height: 1.3; }
	.site-header__main { min-height: 78px; }
	.academy-brand { gap: 11px; }
	.academy-brand__seal { width: 39px; height: 39px; }
	.academy-brand__text strong { font-size: 21px; }
	.academy-brand__text small { margin-top: 5px; font-size: 6.5px; letter-spacing: .14em; }
	.academy-hero { min-height: 0; }
	.academy-hero__grid { min-height: 0; grid-template-columns: 1fr; padding-block: 70px 50px; }
	.academy-hero::after { background: linear-gradient(90deg, rgba(9,8,7,.96), rgba(9,8,7,.78) 72%, rgba(9,8,7,.5)), linear-gradient(180deg, rgba(9,8,7,.18), transparent 45%, rgba(9,8,7,.75)); }
	.academy-hero__image { object-position: 60% center; }
	.academy-hero__accent { width: 50vw; right: -10vw; opacity: .14; }
	.academy-hero h1 { margin-block: 30px 25px; font-size: clamp(50px,15vw,73px); }
	.academy-hero__summary { font-size: 17px; }
	.academy-hero__foot { padding-block: 17px; grid-template-columns: 1fr; gap: 5px; }
	.academy-hero__foot span, .academy-hero__foot span:nth-child(n) { text-align: left; }
	.button-row { align-items: stretch; flex-direction: column; gap: 16px; }
	.button-row .folio-link { width: 100%; }
	.split-heading, .journal-preview__head { grid-template-columns: 1fr; gap: 24px; margin-bottom: 43px; }
	.split-heading h2, .section-heading h2, .academy-method h2, .admissions-engine h2, .journal-preview h2 { font-size: 45px; }
	.split-heading > p { font-size: 16px; }
	.subject-ledger a { grid-template-columns: 28px 27px 1fr auto; gap: 10px; }
	.subject-ledger small { display: none; }
	.subject-ledger strong { font-size: 23px; }
	.subject-ledger__glyph { width: 20px; height: 20px; }
	.study-scale__grid { grid-template-columns: 1fr; margin-top: 45px; }
	.study-scale__grid article { min-height: 0; border-right: 0; border-bottom: 1px solid rgba(238,232,219,.25); }
	.study-scale h3, .study-scale article > div > p:not(.study-type) { min-height: 0; }
	.study-cards, .catalog-listing { grid-template-columns: 1fr; }
	.study-card { min-height: 555px; }
	.academy-method__grid { grid-template-columns: 1fr; gap: 75px; }
	.academy-method__mark { position: relative; top: 0; width: min(75vw,350px); margin-inline: auto; }
	.academy-method__lattice { right: -12%; }
	.admissions-engine__grid, .admissions-tuition__grid { grid-template-columns: 1fr; gap: 55px; }
	.access-comparison { gap: 15px; }
	.tuition-panel { box-shadow: 8px 8px 0 #0b0a09; }
	.tuition-panel__head { align-items: flex-start; flex-direction: column; gap: 6px; }
	.tuition__region { grid-template-columns: 1fr; }
	.tuition__region select { max-width: 100%; }
	.commons-grid, .board-layout { grid-template-columns: 1fr; }
	.forum-list > a { grid-template-columns: 48px 1fr; }
	.forum-list em { grid-column: 2; margin-top: -18px; }
	.event-ledger article { grid-template-columns: 72px 1fr; gap: 15px; padding-block: 20px; }
	.event-ledger article > a { display: none; }
	.event-ledger time { width: 65px; height: 65px; }
	.event-ledger h3 { font-size: 22px; }
	.journal-grid { grid-template-columns: 1fr; }
	.journal-grid article { min-height: 270px; border-right: 0; border-bottom: 1px solid var(--rule-dark); }
	.site-footer__head { align-items: flex-start; flex-direction: column; gap: 30px; }
	.site-footer__head > p { text-align: left; }
	.site-footer__grid { grid-template-columns: 1fr 1fr; }
	.site-footer__action { grid-column: 1 / -1; padding: 30px 0 0; border-left: 0; border-top: 1px solid #4c473f; }
	.site-footer__base { padding-block: 20px; grid-template-columns: 1fr; gap: 6px; }
	.site-footer__base span:nth-child(2) { text-align: left; }
	.page-masthead { padding-block: 70px 55px; }
	.page-masthead h1 { font-size: 57px; }
	.page-content__grid { grid-template-columns: 1fr; }
	.catalog-filter { grid-template-columns: 1fr; }
	.catalog-filter select:nth-of-type(3), .catalog-filter button { grid-column: auto; }
	.admissions-page .admissions-steps { grid-template-columns: 1fr 1fr; }
	.eligibility-grid { grid-template-columns: 1fr; gap: 45px; }
	.topic-row { grid-template-columns: 1fr auto; padding-block: 15px; }
	.topic-row > span:last-child { display: none; }
	.profile-card { grid-template-columns: 1fr; }
	.profile-card__details dl { grid-template-columns: 1fr; }
	.academic-masthead, .academic-masthead__grid { min-height: 0; }
	.academic-masthead::after { background: linear-gradient(90deg, rgba(12,11,9,.96), rgba(12,11,9,.7)), linear-gradient(180deg, transparent 50%, rgba(12,11,9,.85)); }
	.academic-masthead__image img { object-position: 62% center; }
	.academic-masthead__grid { grid-template-columns: 1fr; padding-block: 75px 55px; }
	.academic-masthead h1 { font-size: clamp(57px,15vw,82px); }
	.academic-masthead__index { align-self: auto; margin: 20px 0 0; }
	.academic-orientation__grid { padding-block: 25px; grid-template-columns: 1fr; gap: 20px; }
	.academic-catalogue__head { align-items: start; flex-direction: column; gap: 15px; }
	.academic-controls { grid-template-columns: 1fr; }
	.academic-controls__types { display: grid; grid-template-columns: 1fr 1fr; }
	.academic-controls button:nth-child(2) { border-right: 0; }
	.academic-controls button { border-bottom: 1px solid var(--rule); }
	.academic-controls__search { min-height: 55px; border-left: 0; }
	.academic-record-card { grid-template-columns: 58px 1fr; padding-block: 31px; }
	.academic-record-card__body, .academic-record-card__facts, .academic-record-card__professor, .academic-record-card__link, .academic-record-detail, .academic-record-card__action { grid-column: 2; }
	.academic-record-card--open { margin-inline: -10px; padding-inline: 10px; }
	.academic-record-card__action { align-items: flex-start; flex-direction: column; gap: 8px; }
	.academic-record-card__body { margin-bottom: 25px; }
	.academic-record-card__facts { margin-bottom: 24px; }
	.academic-record-card__professor { margin-top: 0; }
	.academic-record-card__units { display: none; }
	.academic-record-detail__content { padding: 24px 20px; }
	.academic-record-detail__professor, .academic-record-detail__requirements { grid-template-columns: 1fr; gap: 20px; }
	.academic-record-detail__professor .academic-detail-label { grid-row: auto; }
	.academic-record-detail__curriculum-head { align-items: start; flex-direction: column; gap: 8px; }
	.academic-guidance__grid { grid-template-columns: 1fr; }
	.academic-guidance__grid > div:last-child { min-width: 0; }
	.study-record-hero, .study-record-hero__grid { min-height: 0; }
	.study-record-hero::after { background: linear-gradient(90deg, rgba(12,11,9,.96), rgba(12,11,9,.66)), linear-gradient(180deg, transparent 45%, rgba(12,11,9,.88)); }
	.study-record-hero__grid { grid-template-columns: 1fr; padding-block: 72px 55px; }
	.study-record-hero h1 { font-size: clamp(56px,15vw,82px); }
	.study-record-hero__status { align-self: auto; }
	.study-record-nav { overflow-x: auto; }
	.study-record-nav .academy-shell { width: max-content; min-width: 100%; }
	.study-record-nav a { padding-inline: 20px; }
	.study-record-layout { grid-template-columns: 1fr; gap: 70px; }
	.study-record-facts { position: relative; top: 0; }
	.study-record-section { padding-bottom: 65px; margin-bottom: 65px; }
	.study-requirements { grid-template-columns: 1fr; gap: 45px; }
	.study-curriculum > header { align-items: start; flex-direction: column; }
	.study-record-enrollment .academy-shell { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
	.section-label { gap: 12px; }
	.section-label span + span { padding-left: 12px; }
	.academy-hero h1 { font-size: 48px; }
	.split-heading h2, .section-heading h2, .academy-method h2, .admissions-engine h2, .journal-preview h2 { font-size: 39px; }
	.access-comparison { grid-template-columns: 1fr; }
	.study-card { padding-inline: 20px; }
	.tuition { padding-inline: 20px; }
	.tuition-panel__actions, .tuition-panel__head { padding-inline: 20px; }
	.tuition__line strong { font-size: 27px; }
	.tuition__line--primary strong { font-size: 35px; }
	.site-footer__grid { grid-template-columns: 1fr; }
	.admissions-page .admissions-steps { grid-template-columns: 1fr; }
	.academic-controls__types { grid-template-columns: 1fr; }
	.academic-controls button { border-right: 0; }
	.academic-record-card { grid-template-columns: 1fr; }
	.academic-record-card__folio { margin-bottom: 20px; }
	.academic-record-card__body, .academic-record-card__facts, .academic-record-card__professor, .academic-record-card__link, .academic-record-detail { grid-column: 1; }
	.academic-record-detail__curriculum li { grid-template-columns: 32px 1fr; gap: 10px; }
	.study-record-hero__eyebrow { flex-direction: column; gap: 6px; }
	.study-record-hero__eyebrow span + span { padding-left: 0; border-left: 0; }
	.study-professor__identity { padding: 82px 0 0; }
	.study-professor__monogram { top: 0; }
	.study-curriculum li { grid-template-columns: 38px 1fr; gap: 12px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Member access and private academy community */
.account-entry__stage { min-height: 770px; position: relative; overflow: hidden; background: var(--ink); color: var(--paper-light); }
.account-entry__stage::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(12,11,9,.98) 0%, rgba(12,11,9,.9) 42%, rgba(12,11,9,.48) 72%, rgba(12,11,9,.72)); }
.account-entry__image { position: absolute; inset: 0 0 0 40%; }
.account-entry__image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.18) contrast(1.08); }
.account-entry__grid { min-height: 770px; position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1fr) 430px; gap: 10vw; align-items: center; padding-block: 80px; }
.account-entry__intro { max-width: 650px; }
.account-entry__intro h1 { margin: 25px 0 30px; font: 400 clamp(62px,7vw,104px)/.86 var(--serif); letter-spacing: -.055em; }
.account-entry__intro > p { max-width: 590px; color: #c9c0b3; font: 19px/1.65 var(--serif); }
.account-entry__intro dl { margin-top: 55px; max-width: 570px; border-top: 1px solid #575146; }
.account-entry__intro dl div { padding: 13px 0; display: grid; grid-template-columns: 120px 1fr; gap: 25px; border-bottom: 1px solid #403b34; }
.account-entry__intro dt { color: var(--brass-light); font-size: 8px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.account-entry__intro dd { margin: 0; color: #c8bfb2; font: 14px var(--serif); }
.account-panel { padding: 34px 38px 38px; background: var(--paper-light); color: var(--ink); border: 1px solid var(--paper-light); box-shadow: 13px 13px 0 rgba(177,139,74,.25); }
.account-panel__folio { display: flex; justify-content: space-between; padding-bottom: 15px; border-bottom: 1px solid var(--rule); color: #71695e; font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.account-panel h2 { margin: 34px 0 8px; font: 400 46px/1 var(--serif); letter-spacing: -.03em; }
.account-panel > p { color: #665f55; font: 14px/1.6 var(--serif); }
.account-panel form p { margin: 19px 0; }
.account-panel form label { display: block; color: #564f46; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.account-panel form input[type="text"], .account-panel form input[type="password"] { width: 100%; min-height: 51px; margin-top: 7px; padding: 11px 13px; background: #fff; border: 1px solid var(--rule-dark); border-radius: 0; }
.account-panel .login-remember label { display: flex; align-items: center; gap: 9px; font-size: 8px; }
.account-panel .login-submit input { width: 100%; min-height: 53px; border: 1px solid var(--oxblood); border-radius: 0; background: var(--oxblood); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; cursor: pointer; }
.account-panel__links { margin-top: 25px; padding-top: 18px; display: flex; justify-content: space-between; border-top: 1px solid var(--rule); color: var(--oxblood); font-size: 10px; font-weight: 700; }
.social-auth { margin: 25px 0 18px; }
.social-auth__heading { display: block; margin-bottom: 10px; color: #6e665b; font-size: 8px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.social-auth__providers { display: grid; gap: 8px; }
.social-auth__provider { min-height: 46px; padding: 8px 13px; display: grid; grid-template-columns: 28px 1fr; gap: 9px; align-items: center; border: 1px solid var(--rule-dark); background: #fff; color: #24211d; font-size: 10px; font-weight: 700; letter-spacing: .03em; transition: transform .18s,box-shadow .18s,background .18s; }
.social-auth__provider:hover { transform: translateY(-1px); box-shadow: 3px 3px 0 rgba(23,21,18,.13); }
.social-auth__provider.is-unavailable { opacity: .54; cursor: not-allowed; }
.social-auth__provider.is-unavailable:hover { transform: none; box-shadow: none; }
.social-auth__icon { width: 25px; height: 25px; display: grid; place-items: center; }
.social-auth__icon img { width: 20px; height: 20px; display: block; object-fit: contain; }
.social-auth__provider--google .social-auth__icon { border-radius: 50%; background: #fff; }
.social-auth__provider--microsoft .social-auth__icon img { width: 19px; height: 19px; }
.social-auth__provider--apple { background: #090909; border-color: #090909; color: #fff; }
.social-auth__provider--apple .social-auth__icon img { width: 19px; height: 19px; filter: invert(1); }
.social-auth > p { margin: 10px 0 0; color: #746d63; font: 10px/1.5 var(--serif); }
.social-auth__admin-note { margin-top: 10px; padding: 9px 11px; border-left: 2px solid var(--brass); background: #eee4cb; color: #564821; font-size: 9px; line-height: 1.45; }
.social-auth__providers--ventra .wsc-buttons { display: grid; gap: 8px; }
.social-auth__providers--ventra .vcs-btn { min-height: 46px; padding: 8px 13px; display: grid; grid-template-columns: 28px 1fr; gap: 9px; align-items: center; border: 1px solid var(--rule-dark); border-radius: 0; background: #fff; color: #24211d; font-size: 10px; font-weight: 700; letter-spacing: .03em; box-shadow: none; text-decoration: none; transition: transform .18s,box-shadow .18s,background .18s; }
.social-auth__providers--ventra .vcs-btn:hover { transform: translateY(-1px); box-shadow: 3px 3px 0 rgba(23,21,18,.13); }
.social-auth__providers--ventra .vcs-btn__icon { width: 25px; height: 25px; display: grid; place-items: center; }
.social-auth__providers--ventra .vcs-btn__icon svg { width: 20px; height: 20px; }
.account-panel__separator { margin: 21px 0; position: relative; text-align: center; }
.account-panel__separator::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; border-top: 1px solid var(--rule); }
.account-panel__separator span { padding: 0 10px; position: relative; z-index: 1; background: var(--paper-light); color: #827a6e; font-size: 7px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.social-account-pending { margin: 23px 0; padding: 17px; display: flex; flex-direction: column; border: 1px solid var(--brass); background: #f1e7cd; }
.social-account-pending strong { color: var(--oxblood); font: 18px var(--serif); }
.social-account-pending span { margin-top: 3px; color: #51493e; font-size: 11px; }
.social-account-pending p { margin: 10px 0 0; color: #655b4c; font: 12px/1.55 var(--serif); }

.registration-head { padding: 88px 0 72px; position: relative; overflow: hidden; background: var(--ink); color: var(--paper-light); }
.registration-head::after { content: "18+"; position: absolute; right: -2vw; bottom: -7vw; color: rgba(255,255,255,.025); font: 300 27vw/1 var(--serif); }
.registration-head .academy-shell { position: relative; z-index: 1; }
.registration-head h1 { margin: 40px 0 24px; font: 400 clamp(60px,7.4vw,110px)/.88 var(--serif); letter-spacing: -.055em; }
.registration-head p { max-width: 730px; margin: 0; color: #ccc3b6; font: 19px/1.65 var(--serif); }
.registration-flow { padding-block: 70px var(--section); background: var(--paper); }
.registration-progress { list-style: none; margin: 0 0 55px; padding: 0; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--ink); }
.registration-progress li { padding: 14px 12px 0 0; display: flex; gap: 15px; color: #8d8476; border-top: 4px solid transparent; transform: translateY(-1px); }
.registration-progress li.is-active { color: var(--ink); border-color: var(--oxblood); }
.registration-progress span { color: var(--oxblood); font: italic 12px var(--serif); }
.registration-progress strong { font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }
.registration-layout { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 7vw; align-items: start; }
.registration-main { background: var(--paper-light); border: 1px solid var(--ink); }
.verification-card { min-height: 520px; padding: clamp(35px,5vw,70px); display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 4vw; align-items: start; }
.verification-card__mark { width: 125px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--oxblood); outline: 1px solid var(--brass); outline-offset: 8px; color: var(--oxblood); font: 400 42px var(--serif); transform: rotate(-3deg); }
.verification-card h2, .registration-form h2 { margin: 10px 0 20px; font: 400 clamp(42px,4vw,62px)/1 var(--serif); letter-spacing: -.035em; }
.verification-card p, .registration-form header > p:last-child { color: #635d53; font: 16px/1.7 var(--serif); }
.verification-card ul { list-style: none; margin: 28px 0 35px; padding: 0; border-top: 1px solid var(--rule); }
.verification-card li { padding: 10px 0 10px 24px; position: relative; border-bottom: 1px solid var(--rule); font: 13px var(--serif); }
.verification-card li::before { content: "◇"; position: absolute; left: 0; color: var(--oxblood); }
.provider-notice { margin-top: 30px; padding: 18px; display: flex; flex-direction: column; border-left: 3px solid var(--brass); background: var(--paper); }
.provider-notice strong { color: var(--oxblood); font: 19px var(--serif); }
.provider-notice span { margin-top: 5px; color: #645e55; font-size: 12px; }
.dob-check { margin-top: 32px; padding-top: 25px; border-top: 1px solid var(--ink); }
.dob-check fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.dob-check legend { margin-bottom: 12px; color: var(--ink); font: 400 22px var(--serif); }
.dob-check__fields { display: grid; grid-template-columns: 1.35fr .7fr .8fr; gap: 10px; }
.dob-check__fields label > span { display: block; margin-bottom: 6px; color: #514b43; font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.dob-check__fields select { width: 100%; min-height: 48px; padding: 10px 30px 10px 11px; border: 1px solid var(--rule-dark); border-radius: 0; background-color: #fff; color: var(--ink); }
.dob-check__attestation { margin: 17px 0 21px; display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; color: #5f594f; font: 12px/1.55 var(--serif); }
.dob-check__attestation input { margin-top: 3px; accent-color: var(--oxblood); }
.dob-check .button { border: 0; cursor: pointer; }
.dob-check__trap { width: 1px; height: 1px; position: absolute; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.registration-aside { display: grid; gap: 25px; }
.registration-aside > div { padding: 27px; border: 1px solid var(--ink); background: var(--paper-light); }
.aside-folio { display: block; margin-bottom: 20px; color: var(--oxblood); font-size: 8px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.registration-aside h2 { margin-bottom: 20px; font: 400 31px/1.05 var(--serif); }
.registration-aside ul { list-style: none; margin: 0; padding: 0; }
.registration-aside li { padding: 10px 0; border-top: 1px solid var(--rule); font: 13px var(--serif); }
.registration-aside p { color: #625c53; font: 14px/1.65 var(--serif); }
.registration-aside a { color: var(--oxblood); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.registration-form { padding: clamp(35px,5vw,68px); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 23px; }
.form-grid label { display: block; }
.form-grid label > span { display: block; margin-bottom: 7px; color: #514b43; font-size: 9px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.form-grid label em { color: #827a6e; font-weight: 500; text-transform: lowercase; }
.form-grid input:not([type="file"]), .form-grid textarea { width: 100%; padding: 12px 13px; border: 1px solid var(--rule-dark); border-radius: 0; background: #fff; }
.form-grid input:not([type="file"]) { min-height: 48px; }
.form-grid textarea { resize: vertical; }
.form-grid input[type="file"] { width: 100%; padding: 10px; border: 1px dashed var(--rule-dark); background: var(--paper); font-size: 11px; }
.form-grid label > small { display: block; margin-top: 5px; color: #766f64; font-size: 9px; }
.form-grid__wide { grid-column: 1 / -1; }
.agreement-list { margin: 30px 0; padding-block: 18px; border-block: 1px solid var(--rule); }
.agreement-list label, .profile-visibility { display: flex; align-items: start; gap: 11px; margin: 10px 0; color: #5f594f; font: 13px/1.5 var(--serif); }
.agreement-list input, .profile-visibility input { margin-top: 4px; accent-color: var(--oxblood); }
.agreement-list a { color: var(--oxblood); text-decoration: underline; }
.account-alert { margin-bottom: 22px; padding: 14px 17px; border: 1px solid var(--brass); background: #f1e7cd; color: #4f421f; font: 14px var(--serif); }
.account-alert--error { border-color: var(--oxblood); background: #f2dfe0; color: var(--oxblood-deep); }

.form-section { margin-top: 38px; padding-top: 27px; border-top: 1px solid var(--ink); }
.form-section__head { margin-bottom: 22px; display: grid; grid-template-columns: 38px 1fr; gap: 14px; align-items: start; }
.form-section__head > span { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--oxblood); color: var(--oxblood); font: italic 12px var(--serif); }
.form-section__head h3 { margin: 0 0 4px; font: 400 25px/1.1 var(--serif); }
.form-section__head p { margin: 0; color: #766f64; font: 12px/1.55 var(--serif); }
.form-section .dob-check { margin-top: 0; padding-top: 0; border-top: 0; }
.communication-choices { margin: 30px 0; padding: 23px; border: 1px solid var(--rule-dark); background: var(--paper); }
.communication-choices h3 { margin: 0 0 4px; font: 400 24px/1.1 var(--serif); }
.communication-choices > p { margin: 0 0 16px; color: #6b645a; font: 12px/1.5 var(--serif); }
.communication-choices label { margin-top: 10px; padding-top: 10px; display: grid; grid-template-columns: auto 1fr; gap: 10px; border-top: 1px solid var(--rule); color: #5d564c; font: 12px/1.5 var(--serif); }
.communication-choices input { margin-top: 4px; accent-color: var(--oxblood); }
.communication-choices label span { display: grid; }
.communication-choices label strong { color: var(--ink); font: 700 12px/1.4 var(--sans); }

/* Legal library */
.legal-page { background: var(--paper); }
.legal-masthead { padding: 105px 0 90px; position: relative; overflow: hidden; background: var(--ink); color: var(--paper-light); }
.legal-masthead::after { content: "§"; position: absolute; right: 5vw; bottom: -12vw; color: rgba(255,255,255,.035); font: 400 30vw/1 var(--serif); }
.legal-masthead .academy-shell { position: relative; z-index: 1; }
.legal-masthead h1 { margin: 30px 0 28px; font: 400 clamp(67px,8vw,122px)/.82 var(--serif); letter-spacing: -.065em; }
.legal-masthead h1 em { color: #b68e62; font-weight: 400; }
.legal-masthead > .academy-shell > p:last-child { max-width: 740px; margin: 0; color: #c7bfb2; font: 20px/1.6 var(--serif); }
.legal-layout { padding-block: 80px 120px; display: grid; grid-template-columns: 245px minmax(0,810px); gap: clamp(55px,8vw,130px); align-items: start; }
.legal-index { position: sticky; top: 25px; display: grid; border-top: 1px solid var(--ink); }
.legal-index > span { padding: 14px 0; color: var(--oxblood); font-size: 8px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.legal-index a { padding: 12px 0; border-top: 1px solid var(--rule); color: #635c52; font: 12px/1.35 var(--serif); }
.legal-index a:hover { color: var(--oxblood); }
.legal-document section { padding: 0 0 65px; margin-bottom: 65px; border-bottom: 1px solid var(--ink); scroll-margin-top: 30px; }
.legal-document section:last-child { margin-bottom: 0; }
.legal-folio { display: block; margin-bottom: 13px; color: var(--oxblood); font: italic 13px var(--serif); }
.legal-document h2 { margin: 0 0 27px; font: 400 clamp(39px,4vw,58px)/.98 var(--serif); letter-spacing: -.035em; }
.legal-document h3 { margin: 0 0 9px; font: 400 23px/1.15 var(--serif); }
.legal-document p, .legal-document li { color: #504a42; font: 16px/1.75 var(--serif); }
.legal-document a { color: var(--oxblood); text-decoration: underline; text-underline-offset: 3px; }
.legal-grid, .conduct-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.legal-grid > div, .conduct-grid > div { min-width: 0; padding: 24px; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); background: var(--paper-light); }
.legal-grid p, .conduct-grid p { margin: 0; font-size: 14px; line-height: 1.65; }
.conduct-grid strong { display: block; margin-bottom: 8px; color: var(--oxblood); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.provider-disclosure { border-top: 1px solid var(--ink); background: var(--paper-light); }
.provider-disclosure:last-of-type { border-bottom: 1px solid var(--ink); }
.provider-disclosure summary { padding: 19px 44px 19px 17px; position: relative; display: grid; grid-template-columns: minmax(0,1fr) minmax(170px,.7fr); gap: 25px; align-items: center; cursor: pointer; list-style: none; }
.provider-disclosure summary::-webkit-details-marker { display: none; }
.provider-disclosure summary::after { content: "+"; position: absolute; right: 18px; color: var(--oxblood); font: 25px var(--serif); }
.provider-disclosure[open] summary::after { content: "−"; }
.provider-disclosure summary span { color: var(--ink); font: 400 19px/1.2 var(--serif); }
.provider-disclosure summary small { color: #746d63; font-size: 8px; font-weight: 800; letter-spacing: .08em; line-height: 1.45; text-transform: uppercase; }
.provider-disclosure > div { padding: 6px 17px 24px; border-top: 1px solid var(--rule); }
.provider-disclosure > div p { margin: 16px 0; display: grid; grid-template-columns: 125px 1fr; gap: 15px; font-size: 13px; line-height: 1.55; }
.provider-disclosure > div p strong { color: var(--ink); font-family: var(--sans); font-size: 8px; letter-spacing: .11em; text-transform: uppercase; }
.provider-disclosure > div > a { font-family: var(--sans); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.legal-callout { margin-top: 30px; padding: 26px; border-left: 4px solid var(--oxblood); background: #e9decc; }
.legal-callout p { margin-bottom: 0; }
.legal-ledger { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ink); }
.legal-ledger li { padding: 17px 0; display: grid; grid-template-columns: minmax(150px,.65fr) 1.35fr; gap: 28px; border-bottom: 1px solid var(--rule); }
.legal-ledger strong { color: var(--ink); font: 700 10px/1.5 var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.enforcement-ladder { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ink); }
.enforcement-ladder li { padding: 19px 0; display: grid; grid-template-columns: 48px 1fr; gap: 18px; border-bottom: 1px solid var(--rule); }
.enforcement-ladder li > span { color: var(--oxblood); font: italic 13px var(--serif); }
.enforcement-ladder strong { color: var(--ink); font: 400 22px var(--serif); }
.enforcement-ladder p { margin: 4px 0 0; font-size: 14px; }
.region-policy details { border-top: 1px solid var(--ink); background: var(--paper-light); }
.region-policy details:last-child { border-bottom: 1px solid var(--ink); }
.region-policy summary { padding: 18px; cursor: pointer; color: var(--ink); font: 400 22px var(--serif); }
.region-policy details div { padding: 0 18px 18px; }
.region-policy details p { margin: 0; font-size: 14px; }

@media (max-width: 900px) {
	.legal-layout { grid-template-columns: 1fr; gap: 45px; }
	.legal-index { position: static; grid-template-columns: 1fr 1fr; }
	.legal-index > span { grid-column: 1 / -1; }
	.legal-index a { padding-right: 15px; }
}

@media (max-width: 640px) {
	.legal-masthead { padding: 75px 0 65px; }
	.legal-layout { padding-block: 55px 80px; }
	.legal-index, .legal-grid, .conduct-grid { grid-template-columns: 1fr; }
	.legal-ledger li, .provider-disclosure summary, .provider-disclosure > div p { grid-template-columns: 1fr; gap: 7px; }
	.legal-document section { padding-bottom: 45px; margin-bottom: 45px; }
}

/* Pre-launch gate */
.launch-gate { margin: 0; background: #11100e; color: #f3ecdf; }
.launch-gate .academy-notice, .launch-gate .site-header { display: none; }
.launch-page { min-height: 100vh; overflow: hidden; background: #11100e; }
.launch-shell { width: min(1220px,calc(100% - 48px)); margin-inline: auto; }
.launch-hero { min-height: 790px; position: relative; isolation: isolate; border-bottom: 1px solid rgba(210,180,138,.38); }
.launch-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(12,11,9,.99) 0%,rgba(12,11,9,.88) 47%,rgba(12,11,9,.26) 78%,rgba(12,11,9,.55) 100%),linear-gradient(0deg,#11100e 0%,transparent 28%); }
.launch-hero::after { content: "CA"; position: absolute; right: -2vw; bottom: -10vw; z-index: -1; color: rgba(255,255,255,.025); font: 400 26vw/1 var(--serif); }
.launch-hero__image { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.launch-hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: 72% center; filter: saturate(.6) contrast(1.06) brightness(.73); }
.launch-brand { padding-top: 35px; display: flex; gap: 17px; align-items: center; }
.launch-brand .academy-brand__seal { flex: 0 0 auto; filter: brightness(0) invert(1); opacity: .8; }
.launch-brand div { display: grid; }
.launch-brand strong { color: #f5eee1; font: 400 27px/1 var(--serif); }
.launch-brand div span { margin-top: 7px; color: #b9ae9f; font-size: 7px; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; }
.launch-hero__content { max-width: 790px; padding: 118px 0 70px; }
.launch-hero__content .section-kicker { color: #c39b68; }
.launch-hero__content h1 { margin: 35px 0 30px; font: 400 clamp(66px,8vw,120px)/.82 var(--serif); letter-spacing: -.065em; }
.launch-hero__content h1 em { color: #c39b68; font-weight: 400; }
.launch-hero__content > p:last-child { max-width: 690px; margin: 0; color: #c9c0b3; font: 19px/1.7 var(--serif); }
.launch-countdown { width: min(780px,100%); padding-bottom: 45px; display: grid; grid-template-columns: repeat(4,1fr); }
.launch-countdown > div { padding: 18px 30px; border: 1px solid rgba(205,181,146,.42); border-right: 0; background: rgba(13,12,10,.72); backdrop-filter: blur(9px); }
.launch-countdown > div:last-child { border-right: 1px solid rgba(205,181,146,.42); }
.launch-countdown strong { display: block; color: #f4ede1; font: 400 clamp(38px,4vw,58px)/1 var(--serif); }
.launch-countdown span { display: block; margin-top: 8px; color: #b79872; font-size: 7px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.launch-updates { padding: 110px 0; background: #e9e0d2; color: #181612; }
.launch-updates__grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(380px,.72fr); gap: 9vw; align-items: start; }
.launch-updates h2 { max-width: 650px; margin: 24px 0; font: 400 clamp(54px,6vw,88px)/.88 var(--serif); letter-spacing: -.055em; }
.launch-updates__grid > div:first-child > p:not(.section-kicker) { max-width: 650px; color: #5f584f; font: 17px/1.7 var(--serif); }
.launch-updates ul { list-style: none; margin: 35px 0 0; padding: 0; border-top: 1px solid #34302a; }
.launch-updates li { padding: 12px 0 12px 25px; position: relative; border-bottom: 1px solid #bfb4a4; color: #4e4840; font: 13px var(--serif); }
.launch-updates li::before { content: "◇"; position: absolute; left: 0; color: var(--oxblood); }
.launch-form-card { padding: clamp(28px,4vw,48px); border: 1px solid #211e1a; background: #f5efe4; box-shadow: 14px 14px 0 #d4c8b7; }
.launch-form-card form > label:not(.launch-consent):not(.dob-check__trap) { display: block; margin-bottom: 20px; }
.launch-form-card form > label > span:first-child { display: block; margin-bottom: 7px; color: #504a42; font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.launch-form-card label em { color: #827a6e; font-weight: 500; text-transform: lowercase; }
.launch-form-card input[type="text"], .launch-form-card input[type="email"] { width: 100%; min-height: 53px; padding: 12px 14px; border: 1px solid #5f584f; border-radius: 0; background: #fff; color: #181612; }
.launch-consent { margin: 13px 0; display: grid; grid-template-columns: auto 1fr; gap: 10px; color: #5d564d; font: 11px/1.55 var(--serif); }
.launch-consent input { margin-top: 3px; accent-color: var(--oxblood); }
.launch-consent a { color: var(--oxblood); text-decoration: underline; }
.launch-form-card button { width: 100%; min-height: 58px; margin-top: 20px; padding: 13px 18px; display: flex; justify-content: space-between; align-items: center; border: 0; background: var(--oxblood); color: #fff; font-size: 9px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; cursor: pointer; }
.launch-form-card > p { margin: 16px 0 0; color: #776f64; font: 10px/1.5 var(--serif); }
.launch-pillars { border-block: 1px solid #39342e; background: #151310; }
.launch-pillars .launch-shell { display: grid; grid-template-columns: repeat(3,1fr); }
.launch-pillars article { min-height: 240px; padding: 42px; border-left: 1px solid #39342e; }
.launch-pillars article:last-child { border-right: 1px solid #39342e; }
.launch-pillars article > span { color: #b58c5f; font: italic 12px var(--serif); }
.launch-pillars h3 { margin: 25px 0 13px; color: #f3ecdf; font: 400 39px/1 var(--serif); }
.launch-pillars p { margin: 0; color: #aaa093; font: 14px/1.6 var(--serif); }
.launch-footer { padding: 28px 0; background: #0c0b09; color: #847b70; font-size: 8px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.launch-footer .launch-shell { display: flex; justify-content: space-between; gap: 30px; }
.launch-footer nav { display: flex; flex-wrap: wrap; gap: 25px; }
.launch-footer a { color: #b6a58f; }
@media (max-width: 800px) {
	.launch-hero { min-height: 720px; }
	.launch-hero__content { padding-top: 90px; }
	.launch-updates__grid { grid-template-columns: 1fr; }
	.launch-pillars .launch-shell { grid-template-columns: 1fr; }
	.launch-pillars article, .launch-pillars article:last-child { min-height: 0; border-right: 1px solid #39342e; border-bottom: 1px solid #39342e; }
}
@media (max-width: 560px) {
	.launch-shell { width: min(100% - 30px,1220px); }
	.launch-brand strong { font-size: 22px; }
	.launch-hero__content { padding: 80px 0 55px; }
	.launch-countdown { grid-template-columns: 1fr 1fr; }
	.launch-countdown > div:nth-child(2) { border-right: 1px solid rgba(205,181,146,.42); }
	.launch-countdown > div:nth-child(n+3) { border-top: 0; }
	.launch-updates { padding: 75px 0; }
	.launch-updates__grid { gap: 55px; }
	.launch-form-card { box-shadow: 8px 8px 0 #d4c8b7; }
	.launch-footer .launch-shell { flex-direction: column; }
}

.member-nav { min-height: 48px; background: var(--ink); color: var(--paper-light); border-bottom: 1px solid #504a41; }
.member-nav .academy-shell { min-height: 48px; display: flex; align-items: stretch; }
.member-nav a { padding: 14px 23px; border-left: 1px solid #3e3932; color: #aaa296; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.member-nav a:last-child { border-right: 1px solid #3e3932; }
.member-nav a:hover, .member-nav a.is-active { background: var(--oxblood-deep); color: var(--paper-light); }
.cloister-head { padding: 68px 0 58px; background: var(--paper); border-bottom: 1px solid var(--ink); }
.cloister-head__grid { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 8vw; align-items: end; }
.cloister-head h1 { margin: 20px 0 15px; font: 400 clamp(48px,5vw,75px)/.95 var(--serif); letter-spacing: -.04em; }
.cloister-head p { max-width: 690px; margin: 0; color: #625c53; font: 17px/1.65 var(--serif); }
.cloister-head dl { margin: 0; border-top: 1px solid var(--ink); }
.cloister-head dl div { padding: 10px 0; display: flex; justify-content: space-between; border-bottom: 1px solid var(--rule); }
.cloister-head dt { color: #776f63; font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cloister-head dd { margin: 0; font: italic 13px var(--serif); }
.cloister-content { padding-block: 52px var(--section); background: #e7e0d3; }
.cloister-grid { display: grid; grid-template-columns: 245px minmax(420px,680px) 285px; gap: 30px; align-items: start; justify-content: center; }
.cloister-sidebar { display: grid; gap: 20px; }
.member-mini-card, .cloister-side-section { padding: 23px; border: 1px solid var(--rule-dark); background: var(--paper-light); }
.member-mini-card__avatar, .community-avatar, .directory-card__avatar, .member-profile-avatar { display: grid; place-items: center; overflow: hidden; border-radius: 50%; background: var(--ink); color: var(--brass-light); font: 400 22px var(--serif); }
.member-mini-card__avatar { width: 64px; height: 64px; }
.community-avatar { width: 43px; height: 43px; flex: 0 0 auto; font-size: 16px; }
.member-mini-card__avatar img, .community-avatar img, .directory-card__avatar img, .member-profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.member-mini-card h2 { margin: 19px 0 1px; font: 400 25px var(--serif); }
.member-mini-card > span { color: #7c7468; font-size: 8px; font-weight: 800; letter-spacing: .11em; }
.member-mini-card p, .cloister-side-section p { margin: 17px 0; color: #625c53; font: 13px/1.62 var(--serif); }
.member-mini-card a, .cloister-side-section > a { color: var(--oxblood); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cloister-side-section h2 { margin-bottom: 15px; font: 400 24px/1.05 var(--serif); }
.interest-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.interest-chips span { padding: 5px 8px; border: 1px solid var(--rule); background: var(--paper); color: #5b544b; font-size: 8px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.cloister-stream { min-width: 0; }
.composer, .feed-card, .empty-feed { margin-bottom: 20px; border: 1px solid var(--rule-dark); background: var(--paper-light); }
.composer__head { padding: 20px 22px 14px; display: flex; align-items: center; gap: 13px; }
.composer__head div { display: flex; flex-direction: column; }
.composer__head strong { font: 400 18px var(--serif); }
.composer__head span { color: #7b7366; font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.composer textarea { width: 100%; padding: 6px 22px 18px; border: 0; border-bottom: 1px solid var(--rule); background: transparent; resize: vertical; font: 17px/1.55 var(--serif); }
.composer textarea:focus { outline: 0; box-shadow: inset 3px 0 var(--brass); }
.composer__foot { min-height: 55px; padding-left: 22px; display: flex; align-items: center; gap: 17px; }
.composer__foot label { margin-right: auto; display: flex; align-items: center; gap: 8px; color: #777064; font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.composer__foot select { max-width: 160px; border: 0; background: transparent; color: var(--oxblood); font-size: 10px; }
.composer__foot > span { color: #857d70; font-size: 8px; }
.composer__foot button { align-self: stretch; padding-inline: 21px; border: 0; background: var(--oxblood); color: #fff; font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.feed-filter { min-height: 45px; margin: 30px 0 12px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--ink); }
.feed-filter > strong { font: 400 24px var(--serif); }
.feed-filter button { padding: 7px 0; margin-left: 16px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: #716a60; font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.feed-filter button.is-active { border-color: var(--oxblood); color: var(--ink); }
.feed-card { padding: 22px; }
.feed-card > header { display: flex; align-items: center; gap: 13px; }
.feed-card > header > div { display: flex; flex-direction: column; }
.feed-card > header a { font: 400 18px var(--serif); }
.feed-card > header span { color: #7b7367; font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.feed-card details { margin-left: auto; position: relative; }
.feed-card summary { list-style: none; cursor: pointer; color: #766f63; letter-spacing: .1em; }
.feed-card summary::-webkit-details-marker { display: none; }
.feed-card details form { position: absolute; right: 0; top: 25px; z-index: 2; width: 155px; padding: 8px; background: var(--paper-light); border: 1px solid var(--ink); box-shadow: 5px 5px 0 rgba(23,21,18,.12); }
.feed-card details button { width: 100%; padding: 9px; border: 0; background: transparent; color: var(--oxblood); font-size: 9px; text-align: left; cursor: pointer; }
.feed-card__content { padding: 22px 0 18px; color: #443f38; font: 16px/1.65 var(--serif); }
.feed-card__content p:last-child { margin-bottom: 0; }
.feed-card > footer { padding-top: 13px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--rule); }
.feed-card > footer form { margin: 0; }
.feed-card > footer button { border: 0; background: transparent; color: #6c655b; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.feed-card > footer button span { margin-right: 5px; font-size: 16px; }
.feed-card > footer button em { margin-left: 5px; font-style: normal; }
.feed-card > footer button.is-liked { color: var(--oxblood); }
.feed-card > footer a { color: var(--oxblood); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.empty-feed { padding: 60px 30px; text-align: center; }
.empty-feed > span { color: var(--oxblood); font-size: 32px; }
.empty-feed h2 { margin: 15px 0 8px; font: 400 35px var(--serif); }
.empty-feed p { color: #625c52; font: 15px var(--serif); }
.cloister-event { padding: 13px 0; display: grid; grid-template-columns: 43px 1fr; gap: 12px; border-top: 1px solid var(--rule); }
.cloister-event time { width: 43px; height: 43px; display: grid; place-content: center; text-align: center; border: 1px solid var(--oxblood); }
.cloister-event time strong { font: 18px/1 var(--serif); }
.cloister-event time span { color: var(--oxblood); font-size: 7px; font-weight: 800; }
.cloister-event > div { display: flex; flex-direction: column; justify-content: center; }
.cloister-event > div strong { font: 14px var(--serif); }
.cloister-event > div span { color: #7b7368; font-size: 8px; text-transform: uppercase; }

.member-directory { padding-block: var(--section); background: var(--paper); }
.directory-search { margin-bottom: 45px; display: grid; grid-template-columns: minmax(0,1fr) 240px auto; border: 1px solid var(--ink); }
.directory-search input, .directory-search select { width: 100%; min-height: 54px; padding: 12px 16px; border: 0; border-right: 1px solid var(--rule); border-radius: 0; background: var(--paper-light); }
.directory-search button { padding: 0 28px; border: 0; background: var(--oxblood); color: #fff; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.member-directory__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.directory-card { position: relative; background: var(--paper-light); border: 1px solid var(--ink); }
.directory-card__banner { height: 115px; background: var(--ink) url("../accents/lattice.png") center / cover no-repeat; filter: sepia(.08); }
.directory-card__avatar { width: 76px; height: 76px; position: absolute; left: 24px; top: 75px; border: 5px solid var(--paper-light); font-size: 26px; }
.directory-card__body { padding: 45px 24px 25px; }
.directory-card__body > span { color: var(--oxblood); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.directory-card h2 { margin: 8px 0 13px; font: 400 30px var(--serif); }
.directory-card p { min-height: 65px; color: #665f55; font: 13px/1.6 var(--serif); }
.directory-card .interest-chips { min-height: 50px; }
.directory-card__body > a { margin-top: 18px; padding-top: 12px; display: block; border-top: 1px solid var(--rule); color: var(--oxblood); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.directory-empty { padding: 40px; border: 1px solid var(--rule); font: 18px var(--serif); text-align: center; }

.member-profile-hero { position: relative; background: var(--ink); color: var(--paper-light); }
.member-profile-hero__banner { height: 300px; background: #24201b url("../accents/lattice.png") center / cover no-repeat; opacity: .74; filter: sepia(.1) contrast(1.08); }
.member-profile-hero__identity { min-height: 190px; position: relative; display: grid; grid-template-columns: 150px minmax(0,1fr) auto; gap: 32px; align-items: center; }
.member-profile-avatar { width: 145px; height: 145px; margin-top: -72px; border: 7px solid var(--ink); background: var(--oxblood-deep); font-size: 52px; }
.member-profile-hero__identity > div > span { color: var(--brass-light); font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.member-profile-hero h1 { margin: 6px 0 2px; font: 400 clamp(43px,5vw,68px)/1 var(--serif); }
.member-profile-hero__identity p { margin: 0; color: #aaa296; font: italic 14px var(--serif); }
.member-profile-content { padding-block: var(--section); }
.member-profile-grid { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 8vw; }
.member-profile-main > section { margin-bottom: 80px; }
.member-profile-bio { max-width: 760px; color: #454038; font: 21px/1.8 var(--serif); }
.member-section-head { display: flex; justify-content: space-between; align-items: end; margin-bottom: 25px; padding-bottom: 14px; border-bottom: 1px solid var(--ink); }
.member-section-head h2 { margin: 0; font: 400 42px var(--serif); }
.member-section-head > span { color: #746d62; font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.member-gallery { display: grid; grid-template-columns: repeat(3,1fr); gap: 11px; }
.member-gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.member-gallery-empty { min-height: 220px; display: grid; place-content: center; text-align: center; border: 1px dashed var(--rule-dark); background: var(--paper); }
.member-gallery-empty span { color: var(--oxblood); font-size: 30px; }
.member-gallery-empty p { font: 15px var(--serif); }
.member-profile-aside { display: grid; align-content: start; gap: 22px; }
.member-profile-aside section { padding: 25px; border: 1px solid var(--ink); background: var(--paper); }
.member-profile-aside dl { margin: 0; }
.member-profile-aside dl div { padding: 9px 0; border-top: 1px solid var(--rule); }
.member-profile-aside dt { color: #746d62; font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.member-profile-aside dd { margin: 3px 0 0; font: 15px var(--serif); }
.member-profile-aside p { color: #635d53; font: 13px/1.6 var(--serif); }
.profile-editor { padding-block: var(--section); background: var(--paper); border-top: 1px solid var(--ink); }
.profile-editor > .academy-shell { display: grid; grid-template-columns: 330px minmax(0,1fr); gap: 8vw; }
.profile-editor header h2 { margin: 16px 0; font: 400 49px/1 var(--serif); }
.profile-editor header > p:last-child { color: #625c52; font: 15px/1.7 var(--serif); }
.gallery-removal { margin: 28px 0; padding: 18px; display: flex; gap: 12px; border: 1px solid var(--rule); }
.gallery-removal legend { padding: 0 7px; color: #625c53; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.gallery-removal label { width: 88px; position: relative; }
.gallery-removal img { width: 88px; height: 88px; object-fit: cover; }
.gallery-removal input { position: absolute; top: 5px; right: 5px; }
.gallery-removal span { display: block; margin-top: 4px; color: var(--oxblood); font-size: 8px; font-weight: 800; text-transform: uppercase; }

@media (max-width: 1180px) {
	.cloister-grid { grid-template-columns: 220px minmax(440px,1fr); }
	.cloister-sidebar--right { grid-column: 1 / -1; grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 900px) {
	.account-entry__grid { grid-template-columns: 1fr 390px; gap: 5vw; }
	.registration-layout, .member-profile-grid, .profile-editor > .academy-shell { grid-template-columns: 1fr; }
	.registration-aside { grid-template-columns: 1fr 1fr; }
	.cloister-head__grid { grid-template-columns: 1fr; gap: 35px; }
	.cloister-grid { grid-template-columns: minmax(0,1fr); max-width: 720px; }
	.cloister-sidebar--left { grid-template-columns: 1fr 1fr 1fr; }
	.cloister-sidebar--right { grid-column: auto; }
	.member-directory__grid { grid-template-columns: 1fr 1fr; }
	.member-profile-aside { grid-template-columns: repeat(3,1fr); }
	.profile-editor > .academy-shell { gap: 40px; }
}

@media (max-width: 680px) {
	.account-entry__image { left: 0; }
	.account-entry__grid { grid-template-columns: 1fr; gap: 55px; }
	.account-entry__intro h1 { font-size: 58px; }
	.account-panel { padding-inline: 24px; }
	.registration-progress { gap: 12px; }
	.registration-progress li { gap: 6px; }
	.registration-progress strong { font-size: 7px; }
	.verification-card { grid-template-columns: 1fr; }
	.verification-card__mark { width: 95px; }
	.dob-check__fields { grid-template-columns: 1fr; }
	.registration-aside, .form-grid, .cloister-sidebar--left, .cloister-sidebar--right, .member-directory__grid, .member-profile-aside { grid-template-columns: 1fr; }
	.form-grid__wide { grid-column: auto; }
	.member-nav { overflow-x: auto; }
	.member-nav .academy-shell { width: max-content; min-width: 100%; }
	.member-nav a { white-space: nowrap; }
	.composer__foot { padding: 12px; flex-wrap: wrap; }
	.composer__foot button { min-height: 42px; margin-left: auto; }
	.feed-filter { align-items: start; flex-direction: column; }
	.feed-filter div { width: 100%; display: flex; justify-content: space-between; }
	.feed-filter button { margin: 0; }
	.member-profile-hero__banner { height: 210px; }
	.member-profile-hero__identity { grid-template-columns: 95px 1fr; gap: 18px; padding-block: 22px; }
	.member-profile-avatar { width: 95px; height: 95px; margin-top: -60px; border-width: 5px; font-size: 36px; }
	.member-profile-hero__identity .button { grid-column: 1 / -1; }
	.member-gallery { grid-template-columns: 1fr 1fr; }
	.member-section-head { align-items: start; flex-direction: column; gap: 10px; }
	.gallery-removal { overflow-x: auto; }
	.directory-search { grid-template-columns: 1fr; }
	.directory-search input, .directory-search select { border-right: 0; border-bottom: 1px solid var(--rule); }
}

@media (max-width: 1120px) {
	.calendar-masthead__grid { grid-template-columns: minmax(0,1fr) 300px; gap: 6vw; }
	.calendar-body__layout { grid-template-columns: 1fr; }
	.calendar-almanac { position: static; grid-template-columns: repeat(3,1fr); }
	.calendar-command { top: 0; }
	.calendar-event strong { font-size: 9px; }
}

@media (max-width: 820px) {
	.calendar-masthead__grid,.calendar-subscribe__grid { grid-template-columns: 1fr; gap: 50px; }
	.calendar-masthead h1 { font-size: clamp(59px,13vw,86px); }
	.calendar-masthead__status { max-width: 500px; }
	.calendar-command { position: relative; }
	.calendar-command__top { grid-template-columns: 1fr auto; gap: 15px; }
	.calendar-pagination h2 { min-width: 150px; font-size: 24px; }
	.calendar-view-switch { justify-self: end; }
	.calendar-subscribe-shortcut { display: none; }
	.calendar-month { overflow-x: auto; padding-bottom: 10px; }
	.calendar-weekdays,.calendar-grid { min-width: 820px; }
	.calendar-day { min-height: 140px; }
	.calendar-almanac { grid-template-columns: 1fr 1fr; }
	.almanac-card--dark { grid-row: span 2; }
	.agenda-entry { grid-template-columns: 70px minmax(0,1fr); gap: 18px; }
	.agenda-entry__action { grid-column: 2; margin-top: -12px; text-align: left; }
	.calendar-provenance .academy-shell { grid-template-columns: 1fr; gap: 7px; }
}

@media (max-width: 560px) {
	.calendar-command__top { min-height: 120px; grid-template-columns: 1fr; padding-block: 12px; }
	.calendar-pagination { justify-content: space-between; }
	.calendar-pagination h2 { flex: 1; }
	.calendar-view-switch { width: 100%; justify-self: stretch; }
	.calendar-view-switch button { flex: 1; }
	.calendar-filters { min-height: 52px; }
	.calendar-almanac { grid-template-columns: 1fr; }
	.almanac-card--dark { grid-row: auto; }
	.agenda-entry { grid-template-columns: 58px minmax(0,1fr); gap: 13px; }
	.agenda-entry > time { width: 54px; height: 68px; }
	.agenda-entry__main h3 { font-size: 22px; }
	.subscribe-options > a,.subscribe-options > div { grid-template-columns: 42px minmax(0,1fr) 14px; gap: 12px; }
	.subscribe-options strong { font-size: 18px; }
}

/* The Collegium Journal */
.journal-site { background: #d9cfbd; }
.journal-masthead { position: relative; overflow: hidden; padding-block: clamp(82px,9vw,132px); background: var(--ink); color: var(--paper-light); }
.journal-masthead::before { content: "J"; position: absolute; right: -1vw; bottom: -15vw; color: rgba(255,255,255,.025); font: 400 42vw/1 var(--serif); }
.journal-masthead::after { content: ""; position: absolute; width: min(33vw,480px); aspect-ratio: 1; right: 8vw; top: 50%; opacity: .055; transform: translateY(-50%) rotate(12deg); background: url("../accents/radial-wheel.png") center / contain no-repeat; }
.journal-masthead__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) 335px; gap: 9vw; align-items: end; }
.journal-masthead .section-kicker { color: var(--brass-light); }
.journal-masthead h1 { margin: 0; font: 400 clamp(72px,9.2vw,138px)/.78 var(--serif); letter-spacing: -.065em; }
.journal-masthead h1 em { color: var(--brass-light); font-weight: 400; }
.journal-masthead__grid > div > p:last-child { max-width: 720px; margin: 38px 0 0; color: #c9c0b3; font: 19px/1.7 var(--serif); }
.journal-masthead__note { padding: 26px 0; border-block: 1px solid #595249; }
.journal-masthead__note > span { color: var(--brass-light); font-size: 8px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.journal-masthead__note p { color: #c7beb1; font: 15px/1.7 var(--serif); }
.journal-masthead__note a { color: var(--brass-light); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.journal-wire { background: var(--oxblood-deep); color: var(--paper-light); border-bottom: 1px solid #2d0e14; }
.journal-wire .academy-shell { min-height: 44px; display: grid; grid-template-columns: 170px minmax(0,1fr); align-items: center; }
.journal-wire strong { color: var(--brass-light); font-size: 8px; letter-spacing: .16em; text-transform: uppercase; }
.journal-wire div div { min-width: 0; overflow: hidden; display: flex; gap: 42px; white-space: nowrap; font: italic 13px var(--serif); }
.journal-wire div div span { position: relative; }
.journal-wire div div span + span::before { content: "◆"; position: absolute; left: -24px; color: var(--brass-light); font-size: 7px; }
.journal-newsroom { padding-top: 40px; }
.journal-departments { min-height: 52px; display: flex; align-items: center; overflow-x: auto; border-block: 1px solid var(--ink); background: #eee7da; scrollbar-width: thin; }
.journal-departments button { min-height: 50px; flex: 0 0 auto; padding: 0 18px; border: 0; border-right: 1px solid var(--rule-dark); background: transparent; color: #5c564c; font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.journal-departments button.is-active { background: var(--ink); color: var(--paper-light); }
.journal-departments .journal-discover { margin-left: auto; border-left: 1px solid var(--ink); border-right: 0; color: var(--oxblood); }
.journal-paper { margin-top: 22px; padding: clamp(24px,4vw,58px); position: relative; background: #f1eadc; border: 1px solid #8e8372; box-shadow: 14px 16px 0 rgba(45,38,29,.14); }
.journal-paper::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .28; mix-blend-mode: multiply; background-image: repeating-linear-gradient(0deg,rgba(63,51,37,.018) 0,rgba(63,51,37,.018) 1px,transparent 1px,transparent 4px); }
.journal-nameplate { position: relative; display: grid; grid-template-columns: 1fr auto 1fr; gap: 20px; align-items: center; padding-bottom: 17px; border-bottom: 4px double var(--ink); }
.journal-nameplate h2 { margin: 0; white-space: nowrap; font: 400 clamp(44px,5.4vw,76px)/1 var(--serif); letter-spacing: -.045em; text-align: center; }
.journal-nameplate > span { color: #655e53; font-size: 7px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.journal-nameplate > span:last-child { text-align: right; }
.journal-paper__rule { min-height: 38px; position: relative; display: grid; grid-template-columns: 1fr 25px 1fr; align-items: center; border-bottom: 1px solid var(--ink); color: #655e53; font-size: 7px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.journal-paper__rule i { color: var(--oxblood); font-style: normal; text-align: center; }
.journal-paper__rule span:last-child { text-align: right; }
.journal-lead-grid { position: relative; display: grid; grid-template-columns: minmax(0,1.55fr) minmax(290px,.68fr); border-bottom: 3px double var(--ink); }
.journal-lead { padding: 32px 34px 35px 0; border-right: 1px solid var(--ink); }
.living-plate { height: clamp(340px,42vw,560px); margin: 0; position: relative; overflow: hidden; background: #16130f; isolation: isolate; }
.living-plate::before { content: ""; position: absolute; inset: 0; z-index: 2; border: 1px solid rgba(244,235,218,.25); box-shadow: inset 0 0 0 8px rgba(15,12,9,.24), inset 0 0 75px rgba(0,0,0,.42); pointer-events: none; }
.living-plate img { width: 100%; height: 100%; display: block; object-fit: cover; filter: sepia(.14) saturate(.82) contrast(1.08); transform: scale(1.06); animation: journal-plate-drift 15s ease-in-out infinite alternate; }
.living-plate__veil { position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: .22; background: radial-gradient(circle at 38% 40%,transparent 0 16%,rgba(255,231,184,.12) 33%,transparent 49%),linear-gradient(105deg,transparent 30%,rgba(255,244,216,.14) 46%,transparent 61%); background-size: 130% 130%,210% 100%; animation: journal-plate-veil 9s linear infinite; mix-blend-mode: screen; }
.living-plate figcaption { position: absolute; left: 17px; bottom: 14px; z-index: 3; padding: 7px 9px; background: rgba(16,13,10,.84); color: #e7ddca; font-size: 7px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.living-plate > button { position: absolute; top: 14px; right: 14px; z-index: 4; padding: 8px 10px; border: 1px solid rgba(238,232,219,.6); background: rgba(15,13,11,.78); color: #eee8db; font-size: 7px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; backdrop-filter: blur(5px); }
.living-plate.is-paused img,.living-plate.is-paused .living-plate__veil { animation-play-state: paused; }
.journal-lead__copy { padding-top: 28px; }
.journal-lead__copy > span,.journal-briefs article > span,.journal-dispatch-grid article > span { color: var(--oxblood); font-size: 7px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.journal-lead__copy h2 { max-width: 910px; margin: 18px 0; font: 400 clamp(44px,5vw,72px)/.9 var(--serif); letter-spacing: -.05em; }
.journal-lead__copy h2 a:hover,.journal-briefs h3 a:hover,.journal-dispatch-grid h3 a:hover { color: var(--oxblood); }
.journal-lead__copy > p { max-width: 830px; color: #4f493f; font: 18px/1.62 var(--serif); }
.journal-lead__copy footer { margin-top: 25px; padding-top: 14px; display: flex; justify-content: space-between; border-top: 1px solid var(--rule-dark); font-size: 8px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.journal-lead__copy footer a { color: var(--oxblood); }
.journal-briefs { padding: 32px 0 0 30px; }
.journal-briefs > header { padding-bottom: 13px; display: flex; justify-content: space-between; border-bottom: 2px solid var(--ink); color: #5e574c; font-size: 7px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.journal-briefs article { padding: 25px 0; border-bottom: 1px solid var(--ink); }
.journal-briefs h3 { margin: 10px 0; font: 400 clamp(25px,2.4vw,35px)/1.02 var(--serif); }
.journal-briefs p { margin: 0 0 13px; color: #5c554a; font: 13px/1.55 var(--serif); }
.journal-briefs small { color: #766e62; font-size: 7px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.journal-site.is-filtered .journal-lead-grid { display: block; }
.journal-site.is-filtered .journal-lead { border-right: 0; padding-right: 0; }
.journal-site.is-filtered .journal-briefs { padding: 30px 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 25px; border-top: 3px double var(--ink); }
.journal-site.is-filtered .journal-briefs > header { grid-column: 1 / -1; }
.journal-dispatches { position: relative; padding-top: 45px; }
.journal-dispatches > header { display: flex; align-items: baseline; justify-content: space-between; padding-bottom: 12px; border-bottom: 3px double var(--ink); }
.journal-dispatches > header h2 { margin: 0; font: 400 38px var(--serif); }
.journal-dispatches > header span { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 50%; background: var(--oxblood); color: #fff; font: 14px var(--serif); }
.journal-dispatch-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; }
.journal-dispatch-grid article { min-height: 360px; padding: 27px; display: flex; flex-direction: column; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.journal-dispatch-grid article:nth-child(3n) { border-right: 0; }
.journal-dispatch-grid article:first-child { padding-left: 0; }
.journal-dispatch-grid h3 { margin: 16px 0 13px; font: 400 clamp(28px,2.6vw,39px)/1.03 var(--serif); }
.journal-dispatch-grid p { color: #5a5349; font: 14px/1.62 var(--serif); }
.journal-dispatch-grid footer { margin-top: auto; padding-top: 12px; display: flex; justify-content: space-between; border-top: 1px solid var(--rule-dark); color: #70685d; font-size: 7px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.living-plate--small { height: 190px; margin: -27px -27px 25px; }
.living-plate--small::before { box-shadow: inset 0 0 45px rgba(0,0,0,.28); }
.journal-empty { padding: 70px 20px; border-bottom: 1px solid var(--ink); font: italic 20px var(--serif); text-align: center; }
.journal-story-pulse { animation: journal-story-pulse 1.35s ease; }
.journal-correspondents { background: var(--oxblood-deep); color: var(--paper-light); }
.journal-correspondents__grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(420px,.78fr); gap: 9vw; align-items: start; }
.journal-correspondents .section-kicker { color: var(--brass-light); }
.journal-correspondents h2 { margin: 0; max-width: 760px; font: 400 clamp(48px,5.5vw,82px)/.94 var(--serif); letter-spacing: -.04em; }
.journal-correspondents__grid > div > p:last-child { max-width: 720px; color: #cbbcc0; font: 18px/1.7 var(--serif); }
.journal-correspondents ol { list-style: none; margin: 0; padding: 0; border-top: 1px solid #7d5960; }
.journal-correspondents li { padding: 23px 0; display: grid; grid-template-columns: 43px 1fr; gap: 20px; border-bottom: 1px solid #61424a; }
.journal-correspondents li > span { color: var(--brass-light); font: italic 13px var(--serif); }
.journal-correspondents li strong { font: 400 26px var(--serif); }
.journal-correspondents li p { margin: 6px 0 0; color: #c6b8bc; font: 13px/1.55 var(--serif); }

/* Journal article */
.journal-reading-progress { position: fixed; inset: 0 0 auto; z-index: 200; height: 3px; pointer-events: none; }
.journal-reading-progress span { width: 0; height: 100%; display: block; background: var(--brass-light); }
.journal-article__head { padding-block: clamp(76px,8.5vw,128px); background: var(--ink); color: var(--paper-light); }
.journal-article__edition { display: flex; justify-content: space-between; padding-bottom: 17px; border-bottom: 1px solid #514b42; color: #9f978a; font-size: 8px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.journal-article__edition a { color: var(--brass-light); }
.journal-article__head .section-kicker { margin-top: 50px; color: var(--brass-light); }
.journal-article__head h1 { max-width: 1100px; margin: 0; font: 400 clamp(63px,8vw,118px)/.86 var(--serif); letter-spacing: -.058em; }
.journal-article__deck { max-width: 850px; color: #cbc2b5; font: 21px/1.65 var(--serif); }
.journal-article__byline { margin-top: 45px; display: flex; align-items: center; gap: 13px; }
.journal-article__byline > span,.journal-article__byline img { width: 44px; height: 44px; display: block; border-radius: 50%; }
.journal-article__byline > span { overflow: hidden; border: 1px solid var(--brass-light); }
.journal-article__byline div { display: flex; flex-direction: column; }
.journal-article__byline strong { font: 17px var(--serif); }
.journal-article__byline small { color: #9f978a; font-size: 7px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.journal-article__plate { margin-top: -40px; position: relative; z-index: 2; }
.journal-article__plate .living-plate { height: min(66vw,720px); box-shadow: 16px 16px 0 #d7cdbb; }
.journal-article__body { background: var(--paper-light); }
.journal-article__layout { display: grid; grid-template-columns: minmax(0,760px) 270px; gap: 10vw; justify-content: center; align-items: start; }
.journal-prose { color: #39352f; font: 19px/1.9 var(--serif); }
.journal-prose > p:first-child::first-letter { float: left; margin: 9px 11px 0 0; color: var(--oxblood); font: 400 83px/.72 var(--serif); }
.journal-prose h2 { margin: 68px 0 19px; font: 400 48px/1.05 var(--serif); letter-spacing: -.03em; }
.journal-prose h3 { margin: 45px 0 14px; font: 400 31px/1.1 var(--serif); }
.journal-prose blockquote { margin: 55px -7vw; padding: 25px 7vw; border-block: 3px double var(--ink); color: var(--oxblood); font: italic 31px/1.35 var(--serif); text-align: center; }
.journal-prose a { color: var(--oxblood); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.journal-article__aside { position: sticky; top: 30px; border-top: 3px double var(--ink); }
.journal-article__aside > div { padding: 22px 0; border-bottom: 1px solid var(--ink); }
.journal-article__aside span { display: block; margin-bottom: 10px; color: var(--oxblood); font-size: 7px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.journal-article__aside p { color: #655e54; font: 13px/1.6 var(--serif); }
.journal-article__aside a { font: 15px var(--serif); }
.journal-article__share button { padding: 10px 12px; border: 1px solid var(--oxblood); background: transparent; color: var(--oxblood); font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.journal-next { min-height: 145px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 35px; align-items: center; border-block: 1px solid var(--ink); }
.journal-next > span { color: #71695e; font-size: 7px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.journal-next > div { font: 20px/1.2 var(--serif); }
.journal-next > div:last-child { text-align: right; }

@keyframes journal-plate-drift { from { transform: scale(1.06) translate3d(-.7%,0,0); } to { transform: scale(1.13) translate3d(1.2%,-1.1%,0); } }
@keyframes journal-plate-veil { from { background-position: 0 0,-110% 0; } to { background-position: 30% 15%,220% 0; } }
@keyframes journal-story-pulse { 0%,100% { background: transparent; } 35% { background: rgba(126,29,45,.12); } }

@media (max-width: 1040px) {
	.journal-masthead__grid,.journal-correspondents__grid { grid-template-columns: minmax(0,1fr) 300px; gap: 6vw; }
	.journal-nameplate { grid-template-columns: 1fr; gap: 7px; text-align: center; }
	.journal-nameplate > span,.journal-nameplate > span:last-child { text-align: center; }
	.journal-lead-grid { grid-template-columns: 1fr; }
	.journal-lead { padding-right: 0; border-right: 0; }
	.journal-briefs { padding: 30px 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 25px; border-top: 3px double var(--ink); }
	.journal-briefs > header { grid-column: 1 / -1; }
	.journal-dispatch-grid { grid-template-columns: 1fr 1fr; }
	.journal-dispatch-grid article:nth-child(3n) { border-right: 1px solid var(--ink); }
	.journal-dispatch-grid article:nth-child(2n) { border-right: 0; }
	.journal-article__layout { grid-template-columns: minmax(0,680px) 245px; gap: 6vw; }
}

@media (max-width: 760px) {
	.journal-masthead__grid,.journal-correspondents__grid,.journal-article__layout { grid-template-columns: 1fr; }
	.journal-masthead h1 { font-size: clamp(65px,20vw,92px); }
	.journal-masthead__note { margin-top: 20px; }
	.journal-wire .academy-shell { grid-template-columns: 1fr; padding-block: 10px; gap: 7px; }
	.journal-paper { padding: 20px; box-shadow: 7px 8px 0 rgba(45,38,29,.14); }
	.journal-paper__rule { grid-template-columns: 1fr; padding-block: 8px; gap: 4px; text-align: center; }
	.journal-paper__rule i { display: none; }
	.journal-paper__rule span:last-child { text-align: center; }
	.journal-lead { padding-top: 20px; }
	.living-plate { height: 74vw; min-height: 320px; }
	.journal-lead__copy h2 { font-size: 45px; }
	.journal-briefs { grid-template-columns: 1fr; gap: 0; }
	.journal-site.is-filtered .journal-briefs { grid-template-columns: 1fr; gap: 0; }
	.journal-briefs article { min-height: 0; }
	.journal-dispatch-grid { grid-template-columns: 1fr; }
	.journal-dispatch-grid article,.journal-dispatch-grid article:nth-child(n) { min-height: 290px; padding-inline: 0; border-right: 0; }
	.living-plate--small { height: 230px; min-height: 0; margin-inline: 0; }
	.journal-correspondents__grid { gap: 55px; }
	.journal-article__edition { align-items: flex-start; flex-direction: column; gap: 9px; }
	.journal-article__head h1 { font-size: clamp(56px,15vw,82px); }
	.journal-article__plate { margin-top: -20px; }
	.journal-article__plate .living-plate { height: 75vw; min-height: 330px; box-shadow: 8px 8px 0 #d7cdbb; }
	.journal-article__aside { position: static; }
	.journal-prose blockquote { margin-inline: 0; padding-inline: 0; font-size: 25px; }
	.journal-next { grid-template-columns: 1fr; gap: 14px; padding-block: 28px; }
	.journal-next > span { grid-row: 1; }
	.journal-next > div:last-child { text-align: left; }
}

/* Scholarium live classrooms */
.classroom-page { background: #ddd4c5; }
.classroom-hero { position: relative; overflow: hidden; padding-block: clamp(74px,8vw,124px); background: #181613; color: var(--paper-light); }
.classroom-hero::before { content: "SCHOLARIUM"; position: absolute; left: -1vw; bottom: -4.2vw; color: rgba(255,255,255,.025); font: 400 13vw/.8 var(--serif); letter-spacing: -.06em; white-space: nowrap; }
.classroom-hero::after { content: ""; position: absolute; width: min(38vw,560px); aspect-ratio: 1; right: 4vw; top: 50%; transform: translateY(-50%) rotate(9deg); opacity: .055; background: url("../accents/radial-wheel.png") center / contain no-repeat; }
.classroom-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 9vw; align-items: end; }
.classroom-hero .section-kicker { color: var(--brass-light); }
.classroom-hero h1 { max-width: 880px; margin: 0; font: 400 clamp(61px,7.2vw,108px)/.84 var(--serif); letter-spacing: -.055em; }
.classroom-hero h1 em { color: var(--brass-light); font-weight: 400; }
.classroom-hero__grid > div > p:last-child { max-width: 780px; margin: 36px 0 0; color: #c8c0b3; font: 18px/1.7 var(--serif); }
.classroom-hero__record { padding: 25px 0; display: flex; flex-direction: column; border-block: 1px solid #5d574d; }
.classroom-hero__record span,.classroom-hero__record small { color: #a79f92; font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.classroom-hero__record strong { margin: 10px 0 18px; color: var(--brass-light); font: 400 27px var(--serif); }
.classroom-access-note { margin-top: 28px; padding: 18px 21px; display: grid; grid-template-columns: 230px minmax(0,1fr) auto; gap: 25px; align-items: center; border: 1px solid #a98f67; background: #eee4cf; }
.classroom-access-note strong { color: var(--oxblood); font: 18px var(--serif); }
.classroom-access-note span { color: #5f574d; font: 13px/1.55 var(--serif); }
.classroom-access-note a { color: var(--oxblood); font-size: 8px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.classroom-live { padding-block: clamp(55px,6.5vw,100px); }
.classroom-section-head { margin-bottom: 25px; display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.classroom-section-head .aside-folio { display: block; margin-bottom: 10px; color: var(--oxblood); font-size: 8px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.classroom-section-head h1,.classroom-section-head h2 { margin: 0; font: 400 clamp(35px,4vw,57px)/1 var(--serif); letter-spacing: -.03em; }
.classroom-section-head p { margin: 9px 0 0; color: #625b50; font: 14px var(--serif); }
.classroom-section-head > a,.room-time button { padding-bottom: 7px; border: 0; border-bottom: 1px solid var(--oxblood); background: transparent; color: var(--oxblood); font-size: 8px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; cursor: pointer; }
.room-time { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.room-time > span { color: #615a50; font: italic 13px var(--serif); }
.classroom-console { display: grid; grid-template-columns: minmax(0,1.62fr) minmax(330px,.68fr); min-height: 690px; border: 1px solid #37332e; box-shadow: 12px 14px 0 rgba(43,36,28,.13); }
.classroom-console__stage { min-width: 0; background: #0d0c0b; border-right: 1px solid #37332e; }
.classroom-console__chat { min-width: 0; background: #f2ecdf; }
.live-stage { height: 100%; min-height: 690px; display: flex; flex-direction: column; background: #0d0c0b; color: #f1eadc; }
.live-stage__visual { min-height: 0; flex: 1; position: relative; overflow: hidden; display: grid; place-items: center; background: linear-gradient(180deg,rgba(10,9,8,.26),rgba(10,9,8,.72)),url("../images/dark-portrait-of-a-man-with-a-hood-2026-01-09-12-06-08-utc.jpg") center 28% / cover; }
.live-stage__visual::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 120px #070605; pointer-events: none; }
.live-stage__status { position: absolute; z-index: 2; left: 18px; top: 18px; padding: 8px 10px; display: flex; align-items: center; gap: 8px; background: rgba(10,9,8,.78); border: 1px solid #645d51; color: #d4ccbd; font-size: 7px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.live-stage__status i,.class-chat header span i,.messenger-thread header p span i { width: 6px; height: 6px; display: inline-block; border-radius: 50%; background: #9a3340; box-shadow: 0 0 0 3px rgba(154,51,64,.2); }
.live-stage__monogram { width: 128px; height: 128px; position: relative; z-index: 1; display: grid; place-items: center; border: 1px solid rgba(210,182,119,.7); border-radius: 50%; background: rgba(15,13,11,.58); color: var(--brass-light); font: 34px var(--serif); box-shadow: 0 0 0 12px rgba(0,0,0,.23); backdrop-filter: blur(7px); }
.live-stage__monogram::before,.live-stage__monogram::after { content: ""; position: absolute; inset: 13px; border: 1px solid rgba(210,182,119,.26); transform: rotate(45deg); }
.live-stage__monogram::after { transform: rotate(0); }
.live-stage__identity { position: absolute; z-index: 2; left: 20px; bottom: 20px; display: flex; flex-direction: column; text-shadow: 0 2px 8px #000; }
.live-stage__identity strong { font: 20px var(--serif); }
.live-stage__identity span { color: #bdb4a7; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.live-controls { min-height: 85px; padding: 12px 19px; display: flex; align-items: center; justify-content: center; gap: 9px; border-top: 1px solid #37332e; background: #13110f; }
.live-controls button { min-width: 72px; padding: 8px 9px; display: flex; flex-direction: column; align-items: center; gap: 3px; border: 1px solid transparent; background: transparent; color: #bdb5aa; font-size: 7px; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; }
.live-controls button span { color: #f2eadc; font-size: 19px; line-height: 1; }
.live-controls button.is-active,.live-controls button[aria-pressed="true"] { border-color: #6d6254; color: var(--paper-light); }
.live-controls button.is-active span,.live-controls button[aria-pressed="true"] span { color: var(--brass-light); }
.live-controls .live-controls__join { min-width: 150px; min-height: 45px; margin-left: 14px; justify-content: center; border: 1px solid var(--oxblood); background: var(--oxblood); color: #fff; font-weight: 800; }
.live-controls .live-controls__join.is-entered { background: transparent; border-color: var(--brass-light); color: var(--brass-light); }
.class-chat { height: 100%; min-height: 690px; display: flex; flex-direction: column; }
.class-chat > header { min-height: 67px; padding: 12px 15px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--rule); }
.class-chat header > div { display: flex; flex-direction: column; }
.class-chat header strong { font: 18px var(--serif); }
.class-chat header span { color: #777064; font-size: 7px; letter-spacing: .1em; text-transform: uppercase; }
.class-chat header span i { margin-right: 7px; background: #607b50; }
.class-chat header button,.class-chat header > a { border: 0; background: transparent; color: #756d61; cursor: pointer; font-size: 16px; }
.class-chat__messages { flex: 1; padding: 18px 15px; overflow-y: auto; display: flex; flex-direction: column; gap: 18px; background: linear-gradient(rgba(246,241,231,.93),rgba(246,241,231,.93)),url("../accents/lattice.png") center / 460px; }
.class-chat__messages article { display: flex; align-items: flex-start; gap: 9px; }
.class-chat__messages article p { max-width: 88%; margin: 0; display: flex; flex-direction: column; }
.class-chat__messages article strong { font: 12px var(--serif); }
.class-chat__messages article strong em { margin-left: 4px; color: var(--oxblood); font: 700 6px var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.class-chat__messages article p > span { margin-top: 4px; padding: 9px 10px; background: #e1d8c8; border-radius: 0 8px 8px; color: #433e36; font: 12px/1.45 var(--serif); }
.class-chat__messages article time { margin-top: 3px; color: #8a8173; font-size: 7px; }
.class-chat__messages article.is-self { justify-content: flex-end; text-align: right; }
.class-chat__messages article.is-self p > span { background: #6c1f25; color: #fff; border-radius: 8px 0 8px 8px; }
.class-chat__notice { margin-top: auto; padding: 9px; border: 1px solid #c1b5a3; color: #766e62; font-size: 7px; line-height: 1.5; letter-spacing: .08em; text-transform: uppercase; }
.class-chat__composer { min-height: 64px; padding: 10px; display: grid; grid-template-columns: minmax(0,1fr) 40px; gap: 7px; border-top: 1px solid var(--rule); }
.class-chat__composer input { width: 100%; height: 42px; padding: 0 12px; border: 1px solid var(--rule); background: #faf7ef; color: var(--ink); font: 12px var(--serif); }
.class-chat__composer button { border: 0; background: var(--oxblood); color: #fff; cursor: pointer; }
.classroom-tabs { min-height: 56px; margin-top: 38px; display: flex; align-items: stretch; border-block: 1px solid var(--ink); }
.classroom-tabs button { padding: 0 23px; border: 0; border-right: 1px solid var(--rule); background: transparent; color: #665f55; font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.classroom-tabs button.is-active { background: var(--ink); color: var(--paper-light); }
.classroom-tabs button span { margin-left: 5px; color: var(--oxblood); }
.classroom-tabs button.is-active span { color: var(--brass-light); }
.classroom-tab-panels { min-height: 235px; background: #eee7da; border-bottom: 1px solid var(--ink); }
.classroom-tab-panels > section { display: none; padding: 38px 40px; grid-template-columns: minmax(0,1fr) 330px; gap: 8vw; }
.classroom-tab-panels > section.is-active { display: grid; }
.classroom-tab-panels .aside-folio { color: var(--oxblood); font-size: 7px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.classroom-tab-panels h3 { max-width: 700px; margin: 12px 0; font: 400 32px/1.06 var(--serif); }
.classroom-tab-panels p { color: #5e574d; font: 14px/1.65 var(--serif); }
.classroom-tab-panels dl { margin: 0; border-top: 1px solid var(--rule-dark); }
.classroom-tab-panels dl div { padding: 10px 0; display: flex; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--rule); }
.classroom-tab-panels dt { color: #776f62; font-size: 7px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.classroom-tab-panels dd { margin: 0; font: italic 12px var(--serif); text-align: right; }
.classroom-schedule { padding-block: clamp(75px,8vw,120px); background: var(--paper-light); }
.session-list { border-top: 1px solid var(--ink); }
.session-row { min-height: 126px; padding-block: 20px; display: grid; grid-template-columns: 77px minmax(0,1fr) auto; gap: 28px; align-items: center; border-bottom: 1px solid var(--rule); }
.session-row > time { width: 62px; height: 78px; display: grid; align-content: center; text-align: center; border: 1px solid var(--ink); }
.session-row time strong { font: 31px/.9 var(--serif); }
.session-row time span { margin-top: 5px; color: var(--oxblood); font-size: 7px; font-weight: 800; letter-spacing: .12em; }
.session-row > div > span { color: var(--oxblood); font-size: 7px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.session-row h3 { margin: 7px 0 6px; font: 400 clamp(24px,2.5vw,34px)/1 var(--serif); }
.session-row p { margin: 0; color: #71695e; font: italic 12px var(--serif); }
.session-row > a { color: var(--oxblood); font-size: 8px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.session-row > a span { margin-left: 16px; font-size: 16px; }
.platform-ledger { padding-block: clamp(75px,8vw,120px); background: var(--oxblood-deep); color: var(--paper-light); }
.platform-ledger .academy-shell { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.65fr); gap: 9vw; align-items: start; }
.platform-ledger .aside-folio { color: var(--brass-light); font-size: 8px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.platform-ledger h2 { max-width: 700px; margin: 13px 0 20px; font: 400 clamp(44px,5vw,75px)/.94 var(--serif); letter-spacing: -.04em; }
.platform-ledger p { max-width: 760px; color: #c9babd; font: 16px/1.7 var(--serif); }
.platform-ledger dl { margin: 0; border-top: 1px solid #75525a; }
.platform-ledger dl div { padding: 18px 0; display: flex; justify-content: space-between; border-bottom: 1px solid #66434b; }
.platform-ledger dt { color: #c2b2b5; font-size: 8px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.platform-ledger dd { margin: 0; color: var(--brass-light); font: italic 13px var(--serif); }
.platform-ledger dd::before { content: ""; width: 6px; height: 6px; margin-right: 8px; display: inline-block; border-radius: 50%; background: #a98448; }
.platform-ledger dd.is-connected::before { background: #89a66e; }
.session-brief { padding: 45px 0; display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 8vw; border-bottom: 1px solid var(--ink); }
.session-brief article { font: 17px/1.75 var(--serif); }
.session-brief aside { padding: 20px; border: 1px solid var(--rule-dark); }

/* Private school messenger */
.messages-page { background: #ddd4c5; }
.messages-head { padding-block: clamp(67px,7vw,100px); background: #181613; color: var(--paper-light); }
.messages-head .academy-shell { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 9vw; align-items: end; }
.messages-head .section-kicker { color: var(--brass-light); }
.messages-head h1 { margin: 0; font: 400 clamp(65px,8.3vw,120px)/.8 var(--serif); letter-spacing: -.06em; }
.messages-head p { max-width: 760px; margin: 31px 0 0; color: #c8c0b3; font: 18px/1.65 var(--serif); }
.messages-head aside { padding: 23px 0; display: flex; flex-direction: column; border-block: 1px solid #5b554c; }
.messages-head aside span,.messages-head aside small { color: #a79e91; font-size: 8px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.messages-head aside strong { margin: 8px 0 16px; color: var(--brass-light); font: 24px var(--serif); }
.messages-workspace { padding-block: clamp(45px,6vw,86px); }
.messages-plugin-shell,.messenger-preview { min-height: 720px; border: 1px solid #37332e; background: #f2ecdf; box-shadow: 12px 14px 0 rgba(43,36,28,.13); }
.messenger-preview { display: grid; grid-template-columns: 320px minmax(0,1fr) 265px; overflow: hidden; }
.messenger-rail { min-width: 0; display: flex; flex-direction: column; border-right: 1px solid var(--rule-dark); background: #e8e0d2; }
.messenger-rail > header { min-height: 68px; padding: 11px 14px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--rule); }
.messenger-rail header > div { display: flex; align-items: center; gap: 10px; }
.messenger-rail header strong { font: 18px var(--serif); }
.messenger-rail header button { width: 34px; height: 34px; border: 1px solid var(--ink); border-radius: 50%; background: transparent; cursor: pointer; }
.messenger-search { min-height: 55px; padding: 9px 13px; display: grid; grid-template-columns: 25px 1fr; align-items: center; border-bottom: 1px solid var(--rule); }
.messenger-search input { min-width: 0; height: 35px; border: 0; background: transparent; font: 12px var(--serif); outline: 0; }
.messenger-rail > nav { min-height: 40px; padding: 0 12px; display: flex; gap: 8px; align-items: center; border-bottom: 1px solid var(--rule); }
.messenger-rail > nav button { padding: 5px 9px; border: 0; background: transparent; color: #746c60; font-size: 7px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.messenger-rail > nav button.is-active { background: var(--ink); color: var(--paper-light); }
.conversation-list { overflow-y: auto; }
.conversation-list > button { width: 100%; min-height: 79px; padding: 11px 12px; display: grid; grid-template-columns: 41px minmax(0,1fr) 30px; gap: 10px; align-items: center; border: 0; border-bottom: 1px solid var(--rule); background: transparent; text-align: left; cursor: pointer; }
.conversation-list > button.is-active { background: #f6f1e7; box-shadow: inset 3px 0 var(--oxblood); }
.conversation-avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #38332d; color: var(--paper-light); font: 16px var(--serif); }
.conversation-avatar--group { border: 1px solid var(--brass); background: var(--oxblood-deep); color: var(--brass-light); }
.conversation-list button > div { min-width: 0; display: flex; flex-direction: column; }
.conversation-list button strong { overflow: hidden; font: 13px var(--serif); text-overflow: ellipsis; white-space: nowrap; }
.conversation-list button div span { overflow: hidden; color: #746d62; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.conversation-list button time { align-self: start; color: #81786a; font-size: 7px; }
.messenger-thread { min-width: 0; position: relative; display: flex; flex-direction: column; background: #f6f1e7; }
.messenger-thread > header { min-height: 68px; padding: 10px 15px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--rule-dark); }
.messenger-thread header > div { display: flex; align-items: center; gap: 10px; }
.messenger-thread header p { margin: 0; display: flex; flex-direction: column; }
.messenger-thread header p strong { font: 16px var(--serif); }
.messenger-thread header p span { color: #756d62; font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }
.messenger-thread header p span i { margin-right: 6px; background: #6d8a59; }
.messenger-thread header button { width: 32px; height: 32px; border: 0; background: transparent; color: #6b6359; cursor: pointer; }
.message-day { height: 34px; display: flex; align-items: center; justify-content: center; color: #81786b; font-size: 7px; letter-spacing: .12em; text-transform: uppercase; }
.message-day span { padding: 0 8px; background: #f6f1e7; }
.thread-messages { min-height: 0; flex: 1; padding: 14px 6%; overflow-y: auto; display: flex; flex-direction: column; gap: 22px; }
.thread-messages article { display: flex; align-items: flex-start; gap: 10px; }
.thread-messages article > div { max-width: 76%; }
.thread-messages article strong { font: 12px var(--serif); }
.thread-messages article strong em { margin-left: 5px; color: var(--oxblood); font: 700 6px var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.thread-messages article p { margin: 5px 0 2px; padding: 10px 13px; border-radius: 0 10px 10px; background: #ded4c3; color: #3f3a33; font: 13px/1.55 var(--serif); }
.thread-messages article time { color: #81796d; font-size: 7px; }
.thread-messages article.is-self { justify-content: flex-end; text-align: right; }
.thread-messages article.is-self p { border-radius: 10px 0 10px 10px; background: var(--oxblood); color: #fff; text-align: left; }
.thread-composer { min-height: 72px; padding: 10px 14px; display: grid; grid-template-columns: 35px minmax(0,1fr) 42px; gap: 8px; align-items: end; border-top: 1px solid var(--rule-dark); }
.thread-composer button { height: 40px; border: 0; background: transparent; color: #70685d; cursor: pointer; }
.thread-composer textarea { width: 100%; height: 42px; min-height: 42px; max-height: 110px; resize: vertical; padding: 10px 12px; border: 1px solid var(--rule); background: #fffaf0; color: var(--ink); font: 12px/1.4 var(--serif); }
.thread-composer .thread-composer__send { background: var(--oxblood); color: #fff; }
.messenger-preview__notice { padding: 6px; background: var(--ink); color: #aaa194; font-size: 6px; letter-spacing: .09em; text-align: center; text-transform: uppercase; }
.thread-details { padding: 27px 20px; display: flex; flex-direction: column; align-items: center; border-left: 1px solid var(--rule-dark); background: #e8e0d2; text-align: center; }
.thread-details > .conversation-avatar { width: 60px; height: 60px; font-size: 22px; }
.thread-details h2 { margin: 14px 0 0; font: 25px var(--serif); }
.thread-details > span { color: var(--oxblood); font-size: 7px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.thread-details > p { margin-top: 15px; color: #6b6358; font: 12px/1.55 var(--serif); }
.thread-details dl { width: 100%; margin: 18px 0; border-top: 1px solid var(--rule); }
.thread-details dl div { padding: 8px 0; display: flex; justify-content: space-between; border-bottom: 1px solid var(--rule); }
.thread-details dt { color: #796f63; font-size: 7px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.thread-details dd { margin: 0; font: 12px var(--serif); }
.thread-details > a { width: 100%; padding: 10px; border: 1px solid var(--oxblood); color: var(--oxblood); font-size: 7px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.thread-details > small { margin-top: auto; color: #7a7267; font: 9px/1.5 var(--serif); }
.message-policy { padding-block: clamp(75px,8vw,120px); background: var(--paper-light); }
.message-policy .academy-shell { display: grid; grid-template-columns: minmax(300px,.65fr) minmax(0,1fr); gap: 8vw; }
.message-policy .aside-folio { color: var(--oxblood); font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.message-policy h2 { margin: 13px 0 0; font: 400 clamp(42px,4.8vw,70px)/.96 var(--serif); letter-spacing: -.04em; }
.message-policy .academy-shell > div:last-child { border-top: 1px solid var(--ink); }
.message-policy article { padding: 22px 0; display: grid; grid-template-columns: 190px minmax(0,1fr); gap: 30px; border-bottom: 1px solid var(--rule); }
.message-policy article strong { font: 21px var(--serif); }
.message-policy article p { margin: 0; color: #625b51; font: 14px/1.6 var(--serif); }

@media (max-width: 1180px) {
	.classroom-console { grid-template-columns: minmax(0,1.35fr) 340px; }
	.messenger-preview { grid-template-columns: 290px minmax(0,1fr); }
	.thread-details { display: none; }
}

@media (max-width: 900px) {
	.classroom-hero__grid,.messages-head .academy-shell,.platform-ledger .academy-shell,.message-policy .academy-shell { grid-template-columns: 1fr; gap: 45px; }
	.classroom-hero__record,.messages-head aside { max-width: 420px; }
	.classroom-access-note { grid-template-columns: 1fr; gap: 8px; }
	.classroom-console { grid-template-columns: 1fr; }
	.classroom-console__stage { border-right: 0; border-bottom: 1px solid #37332e; }
	.live-stage { min-height: 590px; }
	.class-chat { min-height: 520px; }
	.classroom-tab-panels > section { grid-template-columns: 1fr; gap: 25px; }
	.messenger-preview { grid-template-columns: 265px minmax(0,1fr); }
	.message-policy article { grid-template-columns: 170px minmax(0,1fr); }
}

@media (max-width: 680px) {
	.classroom-hero h1 { font-size: clamp(55px,15vw,78px); }
	.classroom-section-head { align-items: flex-start; flex-direction: column; }
	.room-time { align-items: flex-start; }
	.live-stage { min-height: 480px; }
	.live-controls { flex-wrap: wrap; }
	.live-controls .live-controls__join { width: 100%; margin-left: 0; }
	.classroom-tabs { overflow-x: auto; }
	.classroom-tabs button { min-height: 55px; flex: 0 0 auto; }
	.classroom-tab-panels > section { padding: 28px 22px; }
	.session-row { grid-template-columns: 58px minmax(0,1fr); gap: 15px; }
	.session-row > time { width: 54px; height: 68px; }
	.session-row > a { grid-column: 2; }
	.messenger-preview { display: block; }
	.messenger-rail { min-height: 620px; border-right: 0; }
	.messenger-thread { display: none; }
	.messenger-preview.is-thread-open .messenger-rail { display: none; }
	.messenger-preview.is-thread-open .messenger-thread { min-height: 650px; display: flex; }
	.message-policy article { grid-template-columns: 1fr; gap: 7px; }
}

/* FluentCommunity Scholarium design preview */
.portal-capability-nav { background: #181613; color: var(--paper-light); border-bottom: 1px solid #514b42; }
.portal-capability-nav .academy-shell { min-height: 72px; display: flex; align-items: stretch; overflow-x: auto; }
.portal-capability-nav a { min-width: 118px; padding: 12px 17px; display: flex; flex-direction: column; justify-content: center; gap: 3px; border-right: 1px solid #3f3a34; color: #c7beb1; }
.portal-capability-nav a:first-child { border-left: 1px solid #3f3a34; }
.portal-capability-nav a.is-active,.portal-capability-nav a:hover { background: var(--oxblood-deep); color: #fff; }
.portal-capability-nav strong { font: 15px var(--serif); font-weight: 400; }
.portal-capability-nav small { color: #938b80; font-size: 6px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.portal-capability-nav a.is-active small,.portal-capability-nav a:hover small { color: var(--brass-light); }
.portal-system-note { padding: 13px 0; background: #e5dccd; border-bottom: 1px solid var(--rule); color: #625b51; font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.portal-system-note .academy-shell { display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.portal-system-note strong { color: var(--oxblood); }
.portal-system-note span:last-child { text-align: right; }
.portal-course-progress { display: block; padding: 17px 0; border-bottom: 1px solid var(--rule); }
.portal-course-progress > span { display: flex; justify-content: space-between; color: #746c60; font-size: 7px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.portal-course-progress strong { display: block; margin: 6px 0 12px; font: 17px/1.15 var(--serif); font-weight: 400; }
.portal-course-progress i { display: block; height: 3px; background: #cfc4b2; }
.portal-course-progress i::before { content: ""; width: var(--progress,50%); height: 100%; display: block; background: var(--oxblood); }
.portal-shortcuts { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.portal-shortcuts a { padding: 10px; border: 1px solid var(--rule); color: var(--oxblood); font-size: 7px; font-weight: 800; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.feed-poll { margin-top: 18px; padding: 17px; border: 1px solid var(--rule); background: #eee7da; }
.feed-poll > span { color: var(--oxblood); font-size: 7px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.feed-poll button { width: 100%; margin-top: 8px; padding: 9px 11px; display: flex; justify-content: space-between; border: 1px solid var(--rule-dark); background: #f8f4eb; color: var(--ink); font: 12px var(--serif); text-align: left; cursor: pointer; }
.feed-poll button:hover,.feed-poll button.is-selected { border-color: var(--oxblood); background: #eadbd8; }
.feed-poll small { display: block; margin-top: 10px; color: #746d62; font-size: 8px; }
.feed-feature-row { display: flex; gap: 18px; flex-wrap: wrap; }
.feed-feature-row span { color: #776f63; font-size: 7px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }

/* FluentCommunity course delivery preview */
.course-room-page { background: #ded5c6; }
.course-room-head { padding: 60px 0 44px; background: #181613; color: var(--paper-light); }
.course-room-head__grid { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 8vw; align-items: end; }
.course-room-head .section-kicker { color: var(--brass-light); }
.course-room-head h1 { max-width: 880px; margin-bottom: 18px; font: 400 clamp(48px,6vw,82px)/.92 var(--serif); letter-spacing: -.045em; }
.course-room-head p { max-width: 760px; color: #c8bfb1; font: 17px/1.65 var(--serif); }
.course-room-record { padding: 20px; border: 1px solid #655d52; }
.course-room-record > span,.course-room-record small { display: block; color: #a79e91; font-size: 7px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.course-room-record strong { display: block; margin: 8px 0 13px; color: var(--brass-light); font: 23px var(--serif); }
.course-room-record i { height: 4px; display: block; background: #4d463e; }
.course-room-record i::before { content: ""; width: 42%; height: 100%; display: block; background: var(--brass-light); }
.course-room-workspace { padding-block: clamp(45px,6vw,85px); }
.course-room-grid { display: grid; grid-template-columns: 290px minmax(0,1fr) 250px; align-items: start; border: 1px solid var(--ink); background: var(--paper-light); box-shadow: 12px 14px 0 rgba(43,36,28,.13); }
.course-outline { position: sticky; top: 18px; max-height: 82vh; overflow-y: auto; border-right: 1px solid var(--rule-dark); background: #e8e0d2; }
.course-outline > header { padding: 18px; border-bottom: 1px solid var(--rule); }
.course-outline header span { color: var(--oxblood); font-size: 7px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.course-outline header h2 { margin: 7px 0 0; font: 21px var(--serif); }
.course-module > strong { padding: 13px 17px; display: block; border-bottom: 1px solid var(--rule); color: #6b6358; font-size: 7px; letter-spacing: .11em; text-transform: uppercase; }
.course-module a { min-height: 54px; padding: 11px 16px; display: grid; grid-template-columns: 22px 1fr; gap: 9px; align-items: center; border-bottom: 1px solid var(--rule); color: #5d564c; font: 12px/1.3 var(--serif); }
.course-module a span { width: 19px; height: 19px; display: grid; place-items: center; border: 1px solid #8f8576; border-radius: 50%; font: 8px var(--sans); }
.course-module a.is-complete span { border-color: #6f875d; background: #6f875d; color: #fff; }
.course-module a.is-active { background: var(--paper-light); color: var(--oxblood); box-shadow: inset 3px 0 var(--oxblood); }
.lesson-sheet { min-width: 0; padding: clamp(28px,5vw,68px); }
.lesson-sheet__meta { display: flex; justify-content: space-between; gap: 20px; color: var(--oxblood); font-size: 7px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.lesson-sheet h2 { margin: 14px 0 24px; font: 400 clamp(38px,4vw,58px)/.95 var(--serif); letter-spacing: -.035em; }
.lesson-sheet__lead { color: #5f584e; font: 18px/1.65 var(--serif); }
.lesson-plate { min-height: 330px; margin: 30px 0; position: relative; display: grid; place-items: center; overflow: hidden; background: #171512; }
.lesson-plate img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .43; filter: sepia(.2) contrast(1.15); }
.lesson-plate::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle,transparent,#100e0c); }
.lesson-plate span { z-index: 1; width: 88px; height: 88px; display: grid; place-items: center; border: 1px solid var(--brass-light); border-radius: 50%; color: var(--brass-light); font: 24px var(--serif); }
.lesson-copy { color: #403b34; font: 16px/1.78 var(--serif); }
.lesson-copy h3 { margin-top: 35px; font: 27px var(--serif); }
.lesson-documents,.lesson-quiz,.lesson-discussion { margin-top: 35px; padding-top: 25px; border-top: 1px solid var(--ink); }
.lesson-documents h3,.lesson-quiz h3,.lesson-discussion h3 { margin-bottom: 14px; font: 26px var(--serif); }
.lesson-document { padding: 13px 0; display: flex; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--rule); }
.lesson-document strong { font: 14px var(--serif); }
.lesson-document span { color: #786f62; font-size: 7px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.quiz-option { width: 100%; margin-top: 8px; padding: 12px 14px; border: 1px solid var(--rule-dark); background: transparent; text-align: left; cursor: pointer; }
.quiz-option.is-selected { border-color: var(--oxblood); background: #eadbd8; }
.quiz-result { margin-top: 10px; color: var(--oxblood); font: italic 13px var(--serif); }
.course-room-aside { position: sticky; top: 18px; min-height: 680px; padding: 24px 19px; border-left: 1px solid var(--rule-dark); background: #e8e0d2; }
.course-room-aside section { padding: 0 0 22px; margin-bottom: 22px; border-bottom: 1px solid var(--rule); }
.course-room-aside .aside-folio { color: var(--oxblood); font-size: 7px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.course-room-aside h3 { margin: 8px 0; font: 20px var(--serif); }
.course-room-aside p { color: #665f55; font: 11px/1.55 var(--serif); }
.course-room-aside a { color: var(--oxblood); font-size: 7px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.course-room-actions { padding: 17px clamp(28px,5vw,68px); display: flex; justify-content: space-between; border-top: 1px solid var(--ink); background: #eee7da; }

@media (max-width: 1100px) {
	.course-room-grid { grid-template-columns: 250px minmax(0,1fr); }
	.course-room-aside { display: none; }
}
@media (max-width: 760px) {
	.portal-system-note .academy-shell,.course-room-head__grid { grid-template-columns: 1fr; display: grid; }
	.portal-system-note span:last-child { text-align: left; }
	.course-room-grid { display: block; }
	.course-outline { position: static; max-height: 260px; border-right: 0; border-bottom: 1px solid var(--ink); }
	.lesson-sheet { padding: 27px 21px; }
	.lesson-plate { min-height: 260px; }
	.course-room-actions { padding: 15px 21px; }
}

/* Institutional administration, admissions, registrar, library, and support */
.institutional-page,.admissions-page,.handbook-page,.regulations-page,.support-page,.record-page,.verification-page { background: #ded5c6; }
.institutional-hero { position: relative; padding-block: clamp(72px,9vw,132px); overflow: hidden; background: #181613; color: var(--paper-light); }
.institutional-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg,transparent 49.85%,rgba(204,180,133,.16) 50%,transparent 50.15%),radial-gradient(circle at 82% 15%,rgba(135,28,38,.24),transparent 31%); }
.institutional-hero::after { content: "✦"; position: absolute; right: 4vw; top: 1vw; color: rgba(204,180,133,.08); font: 220px/1 var(--serif); transform: rotate(18deg); }
.institutional-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 9vw; align-items: end; }
.institutional-hero .section-kicker,.record-head .section-kicker,.library-head .section-kicker,.verification-head .section-kicker { color: var(--brass-light); }
.institutional-hero h1 { margin: 15px 0 27px; font: 400 clamp(62px,8.8vw,132px)/.78 var(--serif); letter-spacing: -.065em; }
.institutional-hero h1 em { color: var(--brass-light); font-weight: 400; }
.institutional-hero__grid > div > p:last-child { max-width: 790px; margin: 0; color: #c8c0b3; font: 18px/1.7 var(--serif); }
.institutional-hero__record { padding: 26px 0; border-block: 1px solid #655d52; }
.institutional-hero__record > span { color: #9d9487; font-size: 7px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.institutional-hero__record > strong { display: block; margin: 10px 0 20px; color: var(--brass-light); font: 25px var(--serif); font-weight: 400; }
.institutional-hero__record > p { color: #ada497; font: 13px/1.65 var(--serif); }
.institutional-hero__record dl { margin: 0; }
.institutional-hero__record dl div { padding: 9px 0; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid #48423b; }
.institutional-hero__record dt { color: #8f877c; font-size: 7px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.institutional-hero__record dd { margin: 0; font: 12px var(--serif); text-align: right; }
.institutional-subnav { position: sticky; z-index: 5; top: 0; border-bottom: 1px solid var(--rule-dark); background: #e8e0d2; }
.institutional-subnav .academy-shell { min-height: 58px; display: flex; align-items: stretch; overflow-x: auto; }
.institutional-subnav a { padding: 0 24px; display: grid; place-items: center; border-right: 1px solid var(--rule); color: #655d52; font-size: 7px; font-weight: 800; letter-spacing: .12em; white-space: nowrap; text-transform: uppercase; }
.institutional-subnav a:first-child { border-left: 1px solid var(--rule); }
.institutional-subnav a:hover { background: var(--oxblood); color: white; }
.institutional-section { padding-block: clamp(74px,9vw,132px); }
.institutional-section--ink { background: #231f1b; color: var(--paper-light); }
.institutional-heading { max-width: 850px; margin-bottom: 55px; }
.institutional-heading h2,.institutional-two-column h2 { margin: 11px 0 0; font: 400 clamp(48px,6.2vw,88px)/.9 var(--serif); letter-spacing: -.055em; }
.institutional-two-column { display: grid; grid-template-columns: minmax(300px,.72fr) minmax(0,1fr); gap: 9vw; align-items: start; }
.institutional-two-column--top { align-items: start; }
.institutional-two-column > div:first-child > p:last-child { color: #bdb4a7; font: 17px/1.7 var(--serif); }
.institutional-two-column--top > div:first-child > p:last-of-type { color: #61594f; }
.admissions-steps { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4,1fr); border-block: 1px solid var(--ink); list-style: none; }
.admissions-steps li { min-height: 280px; padding: 23px 26px 30px; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--rule-dark); }
.admissions-steps li:last-child { border-right: 0; }
.admissions-steps li > span,.office-grid > a > span,.support-grid article > span { color: var(--oxblood); font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.admissions-steps h3 { margin: 0 0 12px; font: 25px/1.05 var(--serif); }
.admissions-steps p { margin: 0; color: #655e54; font: 13px/1.6 var(--serif); }
.criteria-ledger { border-top: 1px solid #696158; }
.criteria-ledger article { padding: 23px 0; display: grid; grid-template-columns: 44px 180px minmax(0,1fr); gap: 16px; align-items: start; border-bottom: 1px solid #514b44; }
.criteria-ledger article > span { color: var(--brass-light); font-size: 8px; font-weight: 800; }
.criteria-ledger h3 { margin: 0; font: 20px var(--serif); }
.criteria-ledger p { margin: 0; color: #aaa195; font: 13px/1.6 var(--serif); }
.application-section { padding-block: clamp(70px,9vw,130px); border-top: 1px solid var(--ink); background: #d5cbbb; }
.application-layout { display: grid; grid-template-columns: 320px minmax(0,1fr); gap: 7vw; align-items: start; }
.application-brief { position: sticky; top: 85px; padding: 32px 0; border-block: 1px solid var(--ink); }
.application-brief h2 { margin: 10px 0 20px; font: 400 47px/.9 var(--serif); letter-spacing: -.04em; }
.application-brief p { color: #625a50; font: 14px/1.65 var(--serif); }
.application-brief ol { margin: 30px 0 0; padding: 0; list-style: none; }
.application-brief li { padding: 12px 0; border-top: 1px solid var(--rule); color: #49433b; font: 13px var(--serif); }
.application-brief li span { margin-right: 12px; color: var(--oxblood); font: 800 7px var(--sans); }
.admissions-form { border: 1px solid var(--ink); background: var(--paper-light); box-shadow: 13px 15px 0 rgba(49,40,31,.13); }
.admissions-form fieldset { margin: 0; padding: clamp(27px,4.2vw,58px); border: 0; border-bottom: 1px solid var(--ink); }
.admissions-form fieldset:last-child { border-bottom: 0; }
.admissions-form legend { width: 100%; padding: 0 0 22px; display: flex; align-items: center; gap: 14px; border-bottom: 1px solid var(--rule); font: 27px var(--serif); }
.admissions-form legend span { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--oxblood); border-radius: 50%; color: var(--oxblood); font: 800 7px var(--sans); }
.admissions-form fieldset > label,.support-form label { margin-top: 22px; display: flex; flex-direction: column; gap: 8px; }
.admissions-form label > span,.support-form label > span,.verification-layout form label > span { color: #5d554b; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.admissions-form input,.admissions-form select,.admissions-form textarea,.support-form select,.support-form textarea,.verification-layout input { width: 100%; padding: 12px 13px; border: 1px solid #9a8f7f; border-radius: 0; background: #fffdf7; color: var(--ink); font: 14px/1.55 var(--serif); }
.admissions-form textarea,.support-form textarea { resize: vertical; }
.admissions-form input:focus,.admissions-form select:focus,.admissions-form textarea:focus,.support-form select:focus,.support-form textarea:focus,.verification-layout input:focus { border-color: var(--oxblood); outline: 2px solid rgba(120,21,32,.12); outline-offset: 1px; }
.admissions-form .form-grid { margin-top: 22px; }
.essay-prompt { margin: 24px 0 12px; padding: 21px; border-left: 3px solid var(--oxblood); background: #e8e0d2; }
.essay-prompt strong { color: var(--oxblood); font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }
.essay-prompt p { margin: 9px 0 0; font: 16px/1.65 var(--serif); }
.essay-meter { margin-top: 10px; display: grid; grid-template-columns: 90px minmax(0,1fr) auto; gap: 15px; align-items: center; }
.essay-meter span,.essay-meter small { color: #675f55; font-size: 7px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.essay-meter i { height: 4px; overflow: hidden; background: #c8bdab; }
.essay-meter b { width: 0; height: 100%; display: block; background: var(--oxblood); transition: width .2s; }
.admissions-form button[disabled] { cursor: not-allowed; opacity: .45; }
.form-privacy-note { margin: 13px 0 0; color: #736b60; font: italic 12px var(--serif); }
.form-honeypot { position: absolute !important; left: -9999px !important; }
.application-gate,.application-status-card,.application-confirmation { max-width: 920px; margin-inline: auto; padding: clamp(38px,6vw,78px); border: 1px solid var(--ink); background: var(--paper-light); box-shadow: 14px 16px 0 rgba(49,40,31,.13); }
.application-gate { display: grid; grid-template-columns: minmax(0,1fr) 240px; gap: 60px; align-items: end; }
.application-gate h2,.application-status-card h2,.application-confirmation h2 { margin: 10px 0 17px; font: 400 clamp(42px,6vw,75px)/.9 var(--serif); letter-spacing: -.045em; }
.application-gate > div:last-child { display: flex; flex-direction: column; gap: 18px; }
.application-status-card > span,.application-confirmation > span { color: var(--oxblood); font-size: 8px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.office-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.office-grid > a { min-height: 300px; padding: 27px; display: flex; flex-direction: column; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); color: var(--ink); }
.office-grid > a:hover { background: var(--oxblood); color: white; }
.office-grid h3 { margin: auto 0 12px; font: 28px/1 var(--serif); }
.office-grid p { color: #655d53; font: 13px/1.6 var(--serif); }
.office-grid a:hover p { color: #d5cbbc; }
.office-grid a > strong { color: var(--oxblood); font-size: 7px; letter-spacing: .1em; text-transform: uppercase; }
.office-grid a:hover > strong,.office-grid a:hover > span { color: var(--brass-light); }
.governance-ledger article { padding: 20px 0; display: grid; grid-template-columns: 190px minmax(0,1fr); gap: 25px; border-bottom: 1px solid #554e46; }
.governance-ledger h3 { margin: 0; font: 21px var(--serif); }
.governance-ledger p { margin: 0; color: #aaa195; font: 13px/1.6 var(--serif); }
.quality-cycle { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5,1fr); border-block: 1px solid var(--ink); list-style: none; }
.quality-cycle li { min-height: 240px; padding: 22px; border-right: 1px solid var(--rule-dark); }
.quality-cycle li:last-child { border-right: 0; }
.quality-cycle span { color: var(--oxblood); font-size: 7px; font-weight: 800; }
.quality-cycle strong { display: block; margin: 85px 0 12px; font: 23px var(--serif); font-weight: 400; }
.quality-cycle p { margin: 0; color: #655d52; font: 12px/1.55 var(--serif); }

/* Registrar record */
.record-head { padding-block: clamp(55px,7vw,95px); background: #181613; color: var(--paper-light); }
.record-head__grid { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 8vw; align-items: end; }
.record-head h1 { margin: 12px 0; font: 400 clamp(52px,7vw,95px)/.9 var(--serif); letter-spacing: -.05em; }
.record-head p { max-width: 780px; color: #bdb4a7; font: 16px/1.6 var(--serif); }
.record-head dl { margin: 0; border-top: 1px solid #625a50; }
.record-head dl div { padding: 10px 0; display: flex; justify-content: space-between; border-bottom: 1px solid #4b453e; }
.record-head dt { color: #978e82; font-size: 7px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.record-head dd { margin: 0; color: var(--brass-light); font: 12px var(--serif); }
.record-workspace { padding-block: clamp(45px,6vw,80px); }
.record-layout { display: grid; grid-template-columns: 230px minmax(0,1fr); gap: 45px; align-items: start; }
.record-rail { position: sticky; top: 20px; display: flex; flex-direction: column; border: 1px solid var(--ink); background: #e8e0d2; }
.record-rail a { padding: 14px 16px; border-bottom: 1px solid var(--rule); color: #5e574e; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.record-rail a:last-child { border-bottom: 0; }
.record-rail a:hover,.record-rail a.is-active { background: var(--oxblood); color: white; }
.record-main { min-width: 0; display: flex; flex-direction: column; gap: 34px; }
.record-overview-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.record-overview-grid article { min-height: 210px; padding: 21px; display: flex; flex-direction: column; border: 1px solid var(--rule-dark); background: var(--paper-light); }
.record-overview-grid article > span,.record-panel header span { color: var(--oxblood); font-size: 7px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.record-overview-grid article > strong { margin: auto 0 8px; font: 23px/1.05 var(--serif); font-weight: 400; }
.record-overview-grid article p { margin: 0; color: #6a6258; font: 11px/1.5 var(--serif); }
.record-overview-grid article a { margin-top: 10px; color: var(--oxblood); font-size: 7px; font-weight: 800; text-transform: uppercase; }
.record-panel { border: 1px solid var(--ink); background: var(--paper-light); }
.record-panel > header { min-height: 85px; padding: 19px 23px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--ink); }
.record-panel header h2 { margin: 5px 0 0; font: 27px var(--serif); }
.record-panel header small,.record-panel header > a { color: var(--oxblood); font-size: 7px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.record-table article { min-height: 75px; padding: 14px 23px; display: grid; grid-template-columns: minmax(220px,1fr) repeat(3,minmax(90px,.3fr)); gap: 20px; align-items: center; border-bottom: 1px solid var(--rule); }
.record-table article:last-child { border-bottom: 0; }
.record-table article div { display: flex; flex-direction: column; }
.record-table span,.record-table small { color: #7a7165; font-size: 6px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.record-table strong { font: 13px var(--serif); font-weight: 400; }
.record-empty { padding: 50px 23px; text-align: center; }
.record-empty strong { font: 25px var(--serif); font-weight: 400; }
.record-empty p { color: #6c645a; font: 13px/1.6 var(--serif); }
.record-empty a { color: var(--oxblood); font-size: 7px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

/* Handbook and regulations */
.handbook-layout { display: grid; grid-template-columns: 260px minmax(0,1fr); gap: 8vw; align-items: start; }
.handbook-layout > aside { position: sticky; top: 80px; display: flex; flex-direction: column; border-top: 1px solid var(--ink); }
.handbook-layout aside > strong { padding: 17px 0; color: var(--oxblood); font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }
.handbook-layout aside a { padding: 10px 0; border-top: 1px solid var(--rule); color: #665e53; font: 12px var(--serif); }
.handbook-layout article > section { padding: 0 0 55px; margin-bottom: 55px; border-bottom: 1px solid var(--ink); }
.handbook-layout article > section > span { color: var(--oxblood); font-size: 8px; font-weight: 800; }
.handbook-layout h2 { margin: 9px 0 18px; font: 400 clamp(38px,4.4vw,62px)/.95 var(--serif); letter-spacing: -.04em; }
.handbook-layout article p { color: #514a42; font: 17px/1.75 var(--serif); }
.handbook-actions { display: flex; gap: 25px; align-items: center; flex-wrap: wrap; }
.regulations-layout { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 7vw; align-items: start; }
.regulations-layout > aside { padding: 22px; border: 1px solid var(--ink); background: #e8e0d2; }
.regulations-layout aside dl div { padding: 9px 0; display: flex; justify-content: space-between; border-top: 1px solid var(--rule); }
.regulations-layout dt { color: #736a5f; font-size: 7px; font-weight: 800; text-transform: uppercase; }
.regulations-layout dd { margin: 0; font: 12px var(--serif); }
.regulations-layout aside a { color: var(--oxblood); font-size: 7px; font-weight: 800; text-transform: uppercase; }
.regulation-articles { border-top: 1px solid var(--ink); }
.regulation-articles details { border-bottom: 1px solid var(--ink); }
.regulation-articles summary { min-height: 94px; display: grid; grid-template-columns: 50px minmax(0,1fr) 30px; gap: 15px; align-items: center; cursor: pointer; list-style: none; }
.regulation-articles summary::-webkit-details-marker { display: none; }
.regulation-articles summary > span { color: var(--oxblood); font-size: 8px; font-weight: 800; }
.regulation-articles h2 { margin: 0; font: 30px var(--serif); }
.regulation-articles summary i { color: var(--oxblood); font: 24px var(--serif); }
.regulation-articles details[open] summary i { transform: rotate(45deg); }
.regulation-articles details > div { padding: 0 20px 35px 65px; }
.regulation-articles ol { margin: 0; padding-left: 22px; color: #554e45; font: 15px/1.75 var(--serif); }

/* Library, support, and award verification */
.library-head,.verification-head { padding-block: clamp(75px,9vw,130px); background: #181613; color: var(--paper-light); }
.library-head h1,.verification-head h1 { margin: 12px 0 22px; font: 400 clamp(65px,9vw,128px)/.8 var(--serif); letter-spacing: -.06em; }
.library-head h1 em,.verification-head h1 em { color: var(--brass-light); font-weight: 400; }
.library-head .academy-shell > p:last-of-type,.verification-head .academy-shell > p:last-child { max-width: 760px; color: #bbb2a6; font: 17px/1.7 var(--serif); }
.library-search { max-width: 780px; margin-top: 35px; display: grid; grid-template-columns: 1fr auto; border: 1px solid #766c5f; }
.library-search input { width: 100%; height: 57px; padding: 0 18px; border: 0; background: #24211d; color: white; font: 14px var(--serif); }
.library-search button { padding: 0 26px; border: 0; background: var(--brass); color: #171512; font-size: 8px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.library-workspace { padding-block: clamp(50px,7vw,95px); }
.library-layout { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 50px; align-items: start; }
.library-layout > aside { display: flex; flex-direction: column; border-top: 1px solid var(--ink); }
.library-layout aside > span { padding: 16px 0; color: var(--oxblood); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.library-layout aside button { padding: 12px 0; border: 0; border-top: 1px solid var(--rule); background: transparent; color: #5d564d; font: 13px var(--serif); text-align: left; cursor: pointer; }
.library-layout aside button.is-active,.library-layout aside button:hover { color: var(--oxblood); padding-left: 9px; }
.library-layout aside a { margin-top: 30px; color: var(--oxblood); font-size: 7px; font-weight: 800; text-transform: uppercase; }
.library-results-head { min-height: 50px; display: flex; justify-content: space-between; align-items: center; border-block: 1px solid var(--ink); }
.library-results-head strong { font: 17px var(--serif); }
.library-results-head span { color: #6e665c; font-size: 7px; font-weight: 800; text-transform: uppercase; }
.library-results { display: grid; grid-template-columns: repeat(2,1fr); }
.library-results article { min-height: 245px; padding: 23px; display: flex; flex-direction: column; border-right: 1px solid var(--rule-dark); border-bottom: 1px solid var(--rule-dark); background: var(--paper-light); }
.library-results article:nth-child(even) { border-right: 0; }
.library-results article > span { color: var(--oxblood); font-size: 7px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.library-results h2 { margin: auto 0 8px; font: 25px/1.05 var(--serif); }
.library-results p { margin: 0 0 20px; color: #6b6359; font: 12px var(--serif); }
.library-results article > div { padding-top: 10px; display: flex; justify-content: space-between; border-top: 1px solid var(--rule); }
.library-results strong,.library-results em { color: #756d62; font-size: 6px; font-style: normal; letter-spacing: .09em; text-transform: uppercase; }
.library-empty { padding: 35px; border: 1px solid var(--rule-dark); text-align: center; }
.support-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.support-grid article { min-height: 245px; padding: 23px; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.support-grid h2 { margin: 80px 0 12px; font: 25px/1 var(--serif); }
.support-grid p { color: #645c52; font: 12px/1.6 var(--serif); }
.support-request-layout { display: grid; grid-template-columns: minmax(270px,.65fr) minmax(0,1fr); gap: 8vw; }
.support-request-layout > div h2 { font: 400 clamp(46px,6vw,76px)/.9 var(--serif); letter-spacing: -.045em; }
.support-request-layout > div p { color: #60584e; font: 15px/1.65 var(--serif); }
.support-form { padding: clamp(28px,4vw,52px); border: 1px solid var(--ink); background: var(--paper-light); }
.support-form small { margin-top: 14px; display: block; color: #746c60; font: italic 11px var(--serif); }
.verification-workspace { padding-block: clamp(60px,8vw,110px); }
.verification-layout { display: grid; grid-template-columns: minmax(280px,.7fr) minmax(0,1fr); gap: 8vw; align-items: start; }
.verification-layout form { padding: 28px; border: 1px solid var(--ink); background: #e8e0d2; }
.verification-layout form label { display: flex; flex-direction: column; gap: 9px; }
.verification-layout form .button { width: 100%; margin-top: 15px; }
.verification-result { min-height: 330px; padding: clamp(35px,5vw,68px); border: 1px solid var(--ink); background: var(--paper-light); box-shadow: 13px 15px 0 rgba(49,40,31,.13); }
.verification-result > span { color: #736b60; font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.verification-result > span.is-valid { color: #506d43; }
.verification-result > span.is-invalid { color: var(--oxblood); }
.verification-result h2 { margin: 13px 0 20px; font: 400 clamp(38px,5vw,66px)/.92 var(--serif); letter-spacing: -.04em; }
.verification-result p { color: #635b51; font: 15px/1.65 var(--serif); }
.verification-result dl div { padding: 10px 0; display: flex; justify-content: space-between; border-top: 1px solid var(--rule); }
.verification-result dt { color: #746c60; font-size: 7px; font-weight: 800; text-transform: uppercase; }
.verification-result dd { margin: 0; font: 14px var(--serif); }

@media (max-width: 980px) {
	.institutional-hero__grid,.record-head__grid,.institutional-two-column,.support-request-layout,.verification-layout { grid-template-columns: 1fr; gap: 45px; }
	.institutional-hero__record,.record-head dl { max-width: 450px; }
	.admissions-steps { grid-template-columns: repeat(2,1fr); }
	.office-grid,.support-grid { grid-template-columns: repeat(2,1fr); }
	.quality-cycle { grid-template-columns: repeat(5,220px); overflow-x: auto; }
	.application-layout { grid-template-columns: 250px minmax(0,1fr); gap: 35px; }
	.record-layout { grid-template-columns: 190px minmax(0,1fr); gap: 25px; }
	.record-overview-grid { grid-template-columns: 1fr; }
	.handbook-layout,.regulations-layout,.library-layout { grid-template-columns: 190px minmax(0,1fr); gap: 35px; }
}
@media (max-width: 700px) {
	.institutional-hero h1,.library-head h1,.verification-head h1 { font-size: clamp(53px,16vw,78px); }
	.institutional-subnav a { padding-inline: 17px; }
	.admissions-steps,.office-grid,.support-grid,.library-results { grid-template-columns: 1fr; }
	.admissions-steps li { min-height: 220px; border-right: 0; border-bottom: 1px solid var(--rule-dark); }
	.application-layout,.application-gate,.record-layout,.handbook-layout,.regulations-layout,.library-layout { grid-template-columns: 1fr; }
	.application-brief,.record-rail,.handbook-layout > aside { position: static; }
	.application-brief ol { display: none; }
	.criteria-ledger article { grid-template-columns: 32px 1fr; }
	.criteria-ledger article p { grid-column: 2; }
	.office-grid > a { min-height: 240px; }
	.governance-ledger article { grid-template-columns: 1fr; gap: 7px; }
	.essay-meter { grid-template-columns: 80px 1fr; }
	.essay-meter small { grid-column: 1 / -1; }
	.record-rail { display: grid; grid-template-columns: 1fr 1fr; }
	.record-table article { grid-template-columns: 1fr 1fr; }
	.handbook-layout > aside { max-height: 280px; overflow-y: auto; }
	.library-results article { border-right: 0; }
	.library-search { grid-template-columns: 1fr; }
	.library-search button { min-height: 47px; }
}
