:root{--aub:#210B2D;--aub-2:#2E1140;--purple:#53037D;--purple-soft:#F2EAF7;--gold:#D4AF37;--gold-deep:#8A6D14;--parch:#FAF8F5;--paper:#FFFFFF;--ink:#1A1A1A;--ink-2:#4E4A52;--line:#E6E0D6;--serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--sans:'Libre Franklin',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--gut:clamp(20px,5vw,72px);--measure:66ch}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body.canon{margin:0;background:var(--parch);color:var(--ink);font:400 18px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
body.canon img,body.canon video{max-width:100%;height:auto}
body.canon a{color:inherit;text-decoration:none}
body.canon h1,body.canon h2,body.canon h3{font-family:var(--serif);font-weight:500;line-height:1.08;margin:0;letter-spacing:-.01em}
body.canon :focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--gut)}
.ledger{position:relative}.ledger::before{content:"";position:absolute;left:calc(var(--gut) - 18px);top:0;bottom:0;width:1px;background:var(--line)}
@media (max-width:900px){.ledger::before{display:none}}
/* header — crest, three links, one button, one Menu; the rest is in the panel */
header.top{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
header.top .wrap{display:flex;align-items:center;gap:28px;min-height:84px}
.brand{display:flex;align-items:center;gap:14px;min-height:44px}.brand img{width:46px;height:auto}
.brand b{display:block;white-space:nowrap;font:600 27px/1 var(--serif);letter-spacing:.02em;color:var(--aub)}.brand small{display:block;font:500 14px/1 var(--sans);letter-spacing:.14em;color:var(--purple);margin-top:5px}
nav.main{display:flex;gap:2px;margin-left:8px;font-weight:500;font-size:17px}
nav.main a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-bottom:2px solid transparent;white-space:nowrap}
nav.main a:hover,nav.main a[aria-current]{border-bottom-color:var(--gold)}
.right{margin-left:auto;display:flex;align-items:center;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;gap:10px;padding:12px 24px;border-radius:3px;font:600 17px/1 var(--sans);border:1px solid transparent;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.btn-gold{background:var(--gold);color:var(--aub)}.btn-gold:hover{background:#E4C355}
.btn-aub{background:var(--aub);color:#fff}.btn-aub:hover{background:var(--purple)}
.btn-line{border-color:rgba(255,255,255,.55);color:#fff}.btn-line:hover{border-color:var(--gold);color:var(--gold)}
body.canon .menu-btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 16px;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--aub);font:500 17px var(--sans);cursor:pointer}
body.canon .menu-btn:hover{border-color:var(--aub)}
.menu-btn .lines{display:inline-grid;gap:5px}.menu-btn .lines i{display:block;width:20px;height:2px;background:var(--aub)}
@media (max-width:900px){nav.main,.cta-head{display:none}}
@media (max-width:480px){.brand img{width:40px}.brand b{font-size:24px}.brand small{display:none}}
.panel{position:fixed;inset:0;z-index:30;background:var(--aub);color:#fff;overflow:auto}
.panel[hidden]{display:none}.panel .wrap{padding-bottom:64px}
.panel-head{display:flex;justify-content:space-between;align-items:center;min-height:84px;border-bottom:1px solid rgba(255,255,255,.14)}
.panel-head .brand b{color:#fff}.panel-head .brand small{color:var(--gold)}
body.canon .panel .close{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 16px;border:1px solid rgba(255,255,255,.4);border-radius:3px;background:transparent;color:#fff;font:500 17px var(--sans);cursor:pointer}
body.canon .panel .close:hover{border-color:var(--gold);color:var(--gold)}
.panel-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:44px}
.panel .lab{font:500 15px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin:0 0 8px}
.panel-cols a+.lab{margin-top:36px}
body.canon .panel-cols a{display:flex;align-items:center;min-height:54px;font:500 27px/1.15 var(--serif);color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}
body.canon .panel-cols a:hover{color:var(--gold)}
body.canon .panel-cols a.plain{font:500 19px var(--sans);min-height:48px}
body.menu-open{overflow:hidden}
@media (max-width:900px){.panel-cols{grid-template-columns:1fr;gap:36px;margin-top:28px}.panel-cols a{font-size:25px}}
/* page banner */
.banner{background:var(--aub);color:#fff;padding:0;position:relative;overflow:hidden}
.banner .wrap{position:relative;padding-top:clamp(48px,7vw,96px);padding-bottom:clamp(48px,7vw,96px)}
.banner.has-img{min-height:400px;display:flex;align-items:flex-end}
.banner.has-img .wrap{width:100%}
.banner .photo{position:absolute;inset:0}
.banner .photo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.banner .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,7,29,.96) 0%,rgba(21,7,29,.9) 32%,rgba(21,7,29,.6) 52%,rgba(21,7,29,.22) 72%,rgba(21,7,29,.1) 100%)}
@media (max-width:900px){.banner.has-img{min-height:320px}.banner .photo::after{background:linear-gradient(180deg,rgba(21,7,29,.9) 0%,rgba(21,7,29,.82) 60%,rgba(21,7,29,.6) 100%)}}
.banner .kicker{color:var(--gold)}
.banner h1{font-size:clamp(40px,5vw,66px);color:#fff;max-width:18ch}
.banner p.lede{margin:22px 0 0;max-width:var(--measure);color:#E9DFF0;font-size:20px}
.kicker{font:500 16px var(--sans);color:var(--purple);margin:0 0 14px}
/* content layout */
.content{padding:clamp(48px,6vw,80px) 0}
.content .wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(32px,5vw,72px);align-items:start}
.content .wrap.single{grid-template-columns:minmax(0,1fr)}
@media (max-width:1000px){.content .wrap{grid-template-columns:minmax(0,1fr)}}
aside.rail{position:sticky;top:104px;display:grid;gap:22px}
.rail .box{border:1px solid var(--line);background:var(--paper);padding:26px}
.rail h3{font-size:24px;color:var(--aub);margin:0 0 10px}.rail p{margin:0 0 14px;color:var(--ink-2);font-size:16px}
.rail ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:16px}.rail ul a{display:inline-flex;align-items:center;min-height:36px}
.rail ul a{color:var(--purple);border-bottom:1px solid transparent}.rail ul a:hover{border-bottom-color:var(--gold)}
.toc{border-left:2px solid var(--gold);padding-left:16px}.toc li a{color:var(--ink-2)}.toc li a:hover{color:var(--aub)}
/* prose from the catalog */
.prose{max-width:var(--measure);font-size:18px}
.prose p{margin:0 0 1.15em}.prose p:empty{display:none}
.prose h2,.prose h3,.prose h4{font-family:var(--serif);font-weight:500;color:var(--aub);line-height:1.15;margin:2.2em 0 .6em}
.prose h2{font-size:34px}.prose h3{font-size:28px}.prose h4{font-size:25px}
.prose h4:first-child,.prose h3:first-child{margin-top:0}
.prose strong,.prose b{font-weight:600;color:var(--aub)}
.prose ul,.prose ol{padding-left:1.3em;margin:0 0 1.2em}
.prose table{width:100%;border-collapse:collapse;margin:1.2em 0 2em;font-size:16px;background:var(--paper);border:1px solid var(--line)}
.prose th,.prose td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.prose tr:first-child td{font-weight:600;color:var(--aub);background:var(--purple-soft)}
.prose td:last-child{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.prose tr:last-child td{font-weight:600}
.prose .wp-caption,.prose figure{margin:0 0 1.2em}
/* academics index */
.levels{display:grid;gap:64px;margin-top:16px}
.level{border-top:2px solid var(--aub);padding-top:26px}
.level h2{font-size:40px;color:var(--aub)}
.level .degrees{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:26px 0 34px}
.level .degrees a{display:block;border:1px solid var(--line);background:var(--paper);padding:20px 22px;font:500 21px/1.2 var(--serif);color:var(--aub)}
.level .degrees a:hover{border-color:var(--gold)}
.level .degrees small{display:block;font:500 15px var(--sans);color:var(--purple);margin-top:6px}
details.req{border:1px solid var(--line);background:var(--paper);padding:0}
details.req summary{cursor:pointer;padding:18px 22px;font:600 16px var(--sans);color:var(--aub);list-style:none;display:flex;justify-content:space-between}
details.req summary::after{content:"+";color:var(--gold-deep);font-size:22px;line-height:1}
details.req[open] summary::after{content:"−"}
details.req .prose{padding:0 22px 22px;max-width:none}
/* degree page */
.siblings{margin-top:44px;border-top:1px solid var(--line);padding-top:26px}
.siblings h3{font-size:24px;color:var(--aub);margin:0 0 12px}
.siblings ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:16px}.siblings a{color:var(--purple)}
.cta-band{background:var(--purple-soft);border:1px solid var(--line);padding:28px 30px;margin-top:40px;display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cta-band p{margin:0;font:500 22px var(--serif);color:var(--aub)}
/* footer */
footer.site{background:#160719;color:#D6C7E0;font-size:16px}
footer.site .wrap{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;padding-top:56px;padding-bottom:40px}
footer.site .verse{font:italic 500 24px/1.35 var(--serif);color:#fff;max-width:28ch;margin:0}
footer.site .verse small{display:block;font:500 15px var(--sans);color:var(--gold);margin-top:10px;font-style:normal;letter-spacing:.04em}
footer.site h4{font:600 16px var(--sans);color:#fff;margin:0 0 12px}
footer.site ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}footer.site ul a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}footer.site a:hover{color:var(--gold)}
footer.site .bottom{border-top:1px solid rgba(255,255,255,.12);padding:20px 0;font-size:16px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer.site .bottom a{color:var(--gold);display:inline-flex;align-items:center;min-height:44px}
@media (max-width:900px){footer.site .wrap{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Kadence's global link colour outranks the button rules on interior pages; pin them. */
body.canon a.btn-aub,body.canon a.btn-aub:visited,body.canon a.btn-aub:hover{color:#fff}
body.canon a.btn-gold,body.canon a.btn-gold:visited{color:var(--aub)}
body.canon a.btn-line,body.canon a.btn-line:visited{color:#fff}
body.canon .rail a.btn-aub{color:#fff}

/* application form */
form.apply{display:grid;gap:26px;max-width:820px}
form.apply fieldset{border:1px solid var(--line);background:var(--paper);padding:22px 24px 26px;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}
form.apply legend{font:500 24px var(--serif);color:var(--aub);padding:0 8px}
form.apply label{display:flex;flex-direction:column;gap:7px;font:500 16px var(--sans);color:var(--ink-2)}
form.apply input,form.apply select,form.apply textarea{font:400 17px var(--sans);padding:12px 13px;border:1px solid var(--line);border-radius:3px;background:var(--parch);color:var(--ink)}
form.apply .full{grid-column:1/-1}form.apply .note{font-size:16px;color:var(--ink-2);margin:0}
@media (max-width:640px){form.apply fieldset{grid-template-columns:1fr}}


/* courses catalog (page-courses.php); Georgia at card sizes for older eyes */
.catalogue{padding:clamp(40px,5vw,64px) 0 clamp(56px,7vw,96px)}
.filters{display:flex;flex-wrap:wrap;gap:10px}
body.canon .chip{border:1px solid var(--line);background:var(--paper);min-height:44px;padding:0 18px;border-radius:999px;font:500 16px var(--sans);cursor:pointer;color:var(--ink-2);line-height:1}
body.canon .chip:hover{border-color:var(--gold)}
body.canon .chip[aria-pressed="true"]{background:var(--aub);color:#fff;border-color:var(--aub)}
.count{margin:18px 0 0;font-size:16px;color:var(--ink-2)}.count a{color:var(--purple);border-bottom:1px solid var(--gold);display:inline-flex;align-items:center;min-height:44px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:28px}
.course{border:1px solid var(--line);background:var(--paper);display:flex;flex-direction:column;overflow:hidden}
.course .still{aspect-ratio:16/9;background:#111;overflow:hidden}
.course .still img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.course:hover .still img,.course:focus-within .still img{transform:scale(1.035)}
.course .body{padding:24px 26px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.course .code{font:500 16px var(--sans);color:var(--purple)}
body.canon .course h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:25px;line-height:1.2;color:var(--aub);letter-spacing:0}
.course p{margin:0;color:var(--ink-2);font-size:16.5px;flex:1}
.course .meta{font-size:16px;color:var(--ink-2);border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;gap:12px}
.course .meta .exam{color:var(--gold-deep);font-weight:600}
@media (max-width:1000px){.grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.grid{grid-template-columns:1fr}}
.catalogue .cta-band{margin-top:48px}


/* request-information page */
.request-page{padding:clamp(40px,5vw,64px) 0 clamp(56px,7vw,96px)}
.request-page .cols{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
form.req{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:var(--paper);border:1px solid var(--line);padding:28px}
form.req label{display:flex;flex-direction:column;gap:8px;font:500 16px var(--sans);color:var(--ink-2)}
form.req input,form.req select,form.req textarea{font:400 18px var(--sans);min-height:48px;padding:12px 14px;border:1px solid var(--line);background:var(--parch);color:var(--ink);border-radius:3px}
form.req .full{grid-column:1/-1}form.req .note{grid-column:1/-1;font-size:16px;color:var(--ink-2);margin:0}
.request-page .side{display:grid;gap:22px}
.request-page .box{border:1px solid var(--line);background:var(--paper);padding:26px}
.request-page .box h3{font-size:24px;color:var(--aub);margin:0 0 12px}
.request-page .box ol{margin:0;padding-left:1.2em;display:grid;gap:10px;font-size:17px;color:var(--ink-2)}
.request-page .box p{margin:0 0 12px;font-size:17px;color:var(--ink-2)}.request-page .box p:last-child{margin:0}
.request-page .box a{color:var(--purple);border-bottom:1px solid var(--gold);display:inline-flex;align-items:center;min-height:44px}
.notice{border-left:4px solid var(--gold);background:var(--paper);padding:22px 26px;margin-bottom:32px}
.notice h2{font-size:28px;color:var(--aub);margin:0 0 8px}.notice p{margin:0;font-size:17px;color:var(--ink-2)}.notice a{color:var(--purple);border-bottom:1px solid var(--gold)}
.notice.bad{border-left-color:#B23A2E}
@media (max-width:900px){.request-page .cols,form.req{grid-template-columns:1fr}}

/* borrowed from the field study (2026-09-08): facts strip, persistent lead card, three ways to get in touch, mobile CTA */
.cta-mini{display:none}
@media (max-width:900px){.cta-mini{display:inline-flex;min-height:44px;padding:0 14px;font-size:16px}}
@media (max-width:400px){.cta-mini{display:none}}
.facts{background:var(--purple-soft);border-bottom:1px solid var(--line)}
.facts dl{margin:0;display:grid;grid-template-columns:repeat(6,1fr);gap:0;padding:0}
.facts dl>div{padding:18px 20px 18px 0;border-right:1px solid var(--line);margin-right:20px}
.facts dl>div:last-child{border-right:0;margin-right:0}
.facts dt{font:600 15px var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--purple);margin:0 0 4px}
.facts dd{margin:0;font-size:16.5px;color:var(--ink);line-height:1.4}
.facts dd a{color:var(--purple);border-bottom:1px solid var(--gold)}
.facts.inline{background:var(--paper);border:1px solid var(--line);margin:0 0 28px}
.facts.inline dl{grid-template-columns:repeat(3,1fr);padding:4px 22px}
@media (max-width:1000px){.facts dl{grid-template-columns:repeat(3,1fr)}.facts dl>div:nth-child(3n){border-right:0}}
@media (max-width:640px){.facts dl,.facts.inline dl{grid-template-columns:1fr}.facts dl>div{border-right:0;margin-right:0;padding:12px 0;border-bottom:1px solid var(--line)}.facts dl>div:last-child{border-bottom:0}}
.rail .box.lead{border-left:4px solid var(--gold)}
.rail .box.lead .btn{margin-top:4px}
.rail .box.lead .alt{margin:12px 0 0;font-size:16px}.rail .box.lead .alt a{color:var(--purple);border-bottom:1px solid var(--gold)}
.ways{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:36px}
body.canon .ways .way{display:flex;flex-direction:column;gap:8px;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--gold);padding:22px 24px;min-height:44px;color:var(--ink)}
body.canon .ways .way:hover{border-color:var(--aub);border-top-color:var(--gold)}
.ways .way b{font:400 24px var(--serif-2,Georgia,serif);color:var(--aub)}
.ways .way span{font-size:16px;color:var(--ink-2)}
@media (max-width:900px){.ways{grid-template-columns:1fr}}
