
:root{--navy:#122a42;--navy2:#0b1b2d;--gold:#d2ae78;--paper:#fbfaf7;--ink:#233245;--muted:#617081;--line:#d9dad7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.65 system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--paper);color:var(--ink)}a{color:inherit}a:hover{color:#9a7138}.wrap{max-width:1250px;margin:auto;padding:0 36px}.topline{height:4px;background:linear-gradient(90deg,var(--navy) 0 55%,var(--gold) 55% 65%,var(--navy) 65%)}header{position:sticky;top:0;z-index:40;background:rgba(251,250,247,.97);border-bottom:1px solid #e5e3dc;backdrop-filter:blur(12px)}header .wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;display:flex;align-items:center;gap:11px}.monogram{display:grid;place-items:center;font:32px Georgia,serif;border:1px solid #a98c61;width:46px;height:46px;color:var(--navy)}.brandname strong{display:block;font:20px Georgia,serif;color:var(--navy);letter-spacing:.03em;line-height:1.2}.brandname small{display:block;font-size:9px;letter-spacing:.14em;color:#626977;text-transform:uppercase}.site-nav{display:flex;gap:22px;align-items:center}.site-nav a{text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:.09em;font-weight:750}.menu{display:none;background:white;border:1px solid #bcbfc0;padding:7px 13px}.hero{position:relative;background:#112b45}.hero img{display:block;width:100%;height:auto}.hero .hit{position:absolute;display:block;z-index:2;outline-offset:2px}.hero .hit:focus-visible{outline:3px solid #fff;border:2px solid var(--gold)}.hero .hit-one{left:4.3%;top:84%;width:17%;height:9%}.hero .hit-two{left:22%;top:84%;width:17.5%;height:9%}.mobile-hero{display:none}.introstrip{padding:25px 0;border-bottom:1px solid var(--line);background:#f1eee7}.introstrip .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px}.introstrip span{font:17px Georgia,serif}.eyebrow{display:block;font-size:11px;font-weight:750;letter-spacing:.22em;text-transform:uppercase;color:#9e773e}.section{padding:96px 0;scroll-margin-top:75px}.serif,h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:normal}h2{font-size:clamp(37px,4vw,60px);letter-spacing:-.025em;line-height:1.15;margin:14px 0 23px}h3{font-size:24px;margin:0 0 12px}p{margin:0 0 20px}.lede{max-width:850px;color:var(--muted);font-size:19px;line-height:1.85}.two-col{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}.copy{font-size:18px;line-height:1.85;color:#536171}.copy p{margin-bottom:20px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:37px}.info-card{border-top:3px solid var(--gold);padding:34px 30px;background:white;min-height:230px}.info-card p{color:var(--muted)}.soft{background:#e9edf0}.methods{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:45px}.method{border-top:1px solid #9dacb5;padding-top:16px}.method strong{font:26px Georgia,serif}.method p{color:var(--muted);font-size:14px;margin-top:15px}.dark{background:var(--navy);color:#fff}.dark .copy{color:#d5e0e6}.dark .eyebrow{color:var(--gold)}.darkbox{border:1px solid #8192a4;padding:34px;align-self:start}.darkbox ul{padding-left:22px;line-height:2}.tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:32px 0 18px}.filters{display:flex}.filters button{cursor:pointer;background:white;border:1px solid #ced1d0;padding:10px 18px;font-size:12px;letter-spacing:.08em;font-weight:750}.filters button+button{border-left:0}.filters button[aria-pressed=true]{background:var(--navy);color:white}.tools input{padding:11px 16px;border:1px solid #ced1d0;background:white;font:inherit;flex:1;min-width:260px}.programme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.programme-card{display:flex;flex-direction:column;padding:30px;background:#fff;border:1px solid var(--line);min-height:248px}.programme-card[hidden]{display:none}.kind{font-size:11px;font-weight:750;letter-spacing:.13em;color:#997544;text-transform:uppercase}.programme-card h3{font-size:23px;line-height:1.32;margin:18px 0}.programme-card a{margin-top:auto;text-decoration:none;display:inline-flex;gap:10px;align-items:center;letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700;color:#345370}.programme-card a:hover{text-decoration:underline}.count{font-size:13px;color:var(--muted);margin:0 0 17px}.contact{background:#ece7dc}.contactbox{border-left:2px solid var(--gold);padding-left:30px}.contactbox p{max-width:750px;color:var(--muted);font-size:18px}footer{background:var(--navy2);color:#bdcad7;padding:52px 0;font-size:13px;text-align:center}footer strong{font:23px Georgia,serif;color:white}footer .wrap{display:flex;gap:30px;justify-content:center;align-items:flex-start;flex-wrap:wrap;text-align:center}footer .wrap>div{flex:0 1 420px;max-width:420px}footer a{color:#e6ca9f}.legal-links{width:100%;text-align:center;margin:24px auto 0}.syllabus-hero{background:var(--navy);color:white;padding:85px 0 75px}.syllabus-hero h1{font:normal clamp(42px,5.4vw,72px)/1.1 Georgia,serif;letter-spacing:-.035em;max-width:1000px;margin:20px 0}.syllabus-hero .sub{font-size:17px;color:#d9dfdf}.syllabus-nav{display:flex;justify-content:space-between;gap:25px;margin-top:25px}.syllabus-nav a{color:#d4b789}.syllabus-sections{max-width:1040px}.outline-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-bottom:2px solid #bfaa85;padding-bottom:15px;margin-bottom:18px}.outline-head h2{font-size:34px;margin:0}.outline-head small{color:var(--muted)}.module-list{list-style:none;counter-reset:course;padding:0;margin:0 0 64px}.module-list li{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid #e4e1db;align-items:start}.module-list .number{color:#9a7745;font:20px Georgia,serif}.module-list .course-title{font:21px/1.35 Georgia,serif}.return-link{text-decoration:none;letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:700}.return-link:hover{text-decoration:underline}
@media(max-width:950px){.site-nav{gap:12px}.site-nav a{font-size:10px}.two-col{gap:35px}.programme-grid{grid-template-columns:repeat(2,1fr)}.methods{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:740px){.wrap{padding:0 20px}header .wrap{min-height:71px}.menu{display:block}.site-nav{display:none;position:absolute;top:71px;left:0;right:0;background:var(--paper);padding:25px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.site-nav.open{display:flex}.site-nav a{font-size:13px}.hero img{display:none}.hero .hit{display:none}.mobile-hero{display:block;min-height:720px;position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(8,28,49,.88),rgba(11,32,50,.89)),url('academy-hero.webp') 77% center/cover no-repeat;color:white;padding:55px 20px 60px}.mobile-hero h1{font:normal clamp(43px,12vw,70px)/.99 Georgia,serif;letter-spacing:-.06em;margin:30px 0;color:white}.mobile-hero h1 .gold{color:var(--gold)}.mobile-hero h2{font-size:27px;color:var(--gold);margin:10px 0}.mobile-hero p{max-width:440px;color:#e1e7e9;line-height:1.7}.mobile-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:27px}.mobile-actions a{background:var(--gold);padding:11px 16px;color:#122a42;font-size:11px;font-weight:750;text-decoration:none;text-transform:uppercase;letter-spacing:.04em}.mobile-actions a+a{background:transparent;color:white;border:1px solid var(--gold)}.section{padding:70px 0}.two-col{grid-template-columns:1fr}.cards,.programme-grid{grid-template-columns:1fr}.introstrip .wrap{display:grid;gap:6px}.syllabus-hero{padding:58px 0}.syllabus-nav{display:block}.module-list li{grid-template-columns:42px 1fr;gap:9px}.module-list .course-title{font-size:19px}.brandname strong{font-size:16px}.brandname small{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


.article-shell{max-width:970px;margin:0 auto;padding:62px 40px 85px}.article-shell .eyebrow{color:#bd8e51;font:13px Arial;letter-spacing:.15em;text-transform:uppercase}.article-shell h1{font:normal clamp(42px,6vw,66px)/1.05 Georgia;margin:12px 0 12px}.article-shell .deck{font:21px/1.55 Georgia;color:#506274;margin:0 0 42px}.academic-article{max-width:780px}.academic-article h2{font:normal 24px/1.35 Georgia;color:#90643c;margin:36px 0 10px;letter-spacing:.025em;text-transform:none}.academic-article h3{font:normal 20px/1.3 Georgia;color:#9b7145;margin:25px 0 6px}.academic-article p{font:16px/1.82 Georgia;margin:0 0 15px}.academic-article a{color:#755022}.article-back{display:inline-block;margin:35px 0 0;color:#bd8e51;text-decoration:none;font:13px Arial;letter-spacing:.07em}.article-top{background:#11273f;color:#fff;padding:15px 4%;border-bottom:1px solid #b98e50}.article-top a{color:white;text-decoration:none}.article-top strong{font:22px Georgia;letter-spacing:.08em}.article-top small{display:block;color:#e4bf87;font:10px Arial;letter-spacing:.18em}.article-bottom{background:#0b1c30;color:#ddcfb8;text-align:center;padding:32px 18px;font:13px/1.8 Arial}.article-bottom a{color:#ddcfb8}.more-link{padding-top:8px!important;padding-bottom:10px!important}.academic-link{display:inline-block;color:#c4a170!important;border:1px solid #b28a50;text-decoration:none;padding:12px 18px;font:13px Arial;letter-spacing:.07em}.academic-link:hover{background:#1d3450}.legal-links{margin-top:20px;font-size:12px}.legal-links a{color:#e3c394;text-decoration:none}.research-profile h4{font:normal 17px Georgia;color:#976937;margin:15px 0 6px}.research-profile p{font-size:15px}.curriculum-actions{display:flex;justify-content:flex-end;gap:10px;margin:14px 0}.curriculum-actions button{border:1px solid #c7b79d;background:transparent;color:#503a27;padding:9px 12px;cursor:pointer;font:12px Arial}.curriculum-actions button:hover{background:#e7dac7}.foot a:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #e0b86a;outline-offset:3px}@media(max-width:650px){.article-shell{padding:42px 23px 70px}.article-shell .deck{font-size:18px}.academic-article p{font-size:15px}}


/* BBARTI HEADER BRAND — each letter in its own gold square; exactly one square-width gap between A and U. */
.brand{gap:13px;flex-shrink:0}
.brand-mark{--brand-tile:29px;--brand-gap:3px;display:inline-flex;align-items:center;gap:var(--brand-gap);flex-shrink:0;line-height:1}
.brand-cell{display:grid;place-items:center;width:var(--brand-tile);height:var(--brand-tile);border:1.5px solid #ab884f;color:#122a42;font:normal 23px/1 Georgia,'Times New Roman',serif;box-sizing:border-box}
.brand-cell:nth-child(4){margin-left:calc(var(--brand-tile) - var(--brand-gap))}
/* Preserve balanced navigation as the brand becomes wider. */
@media(max-width:1350px) and (min-width:741px){header .wrap{gap:12px}.brand-mark{--brand-tile:25px;--brand-gap:2px}.brand-cell{font-size:20px}.brandname strong{font-size:17px}.brandname small{font-size:8px}.site-nav{gap:9px!important}.site-nav a{font-size:9px!important}}
@media(max-width:740px){.brand-mark{--brand-tile:22px;--brand-gap:2px}.brand-cell{font-size:17px}.brandname strong{font-size:14px}.brandname small{font-size:7px}.brand{gap:9px}}
@media(max-width:430px){.brand-mark{--brand-tile:19px;--brand-gap:2px}.brand-cell{font-size:15px}.brandname strong{font-size:12px}.brandname small{font-size:6px;letter-spacing:.08em}.brand{gap:7px}}

/* Final desktop/mobile header QA: prevent navigation wrapping and mobile overflow. */
@media(min-width:1251px){header .wrap{max-width:1600px;padding-left:25px;padding-right:25px;gap:14px}header .site-nav{flex-wrap:nowrap!important;gap:clamp(6px,.8vw,14px)!important}header .site-nav a{white-space:nowrap;font-size:clamp(8px,.68vw,10px)!important}}
@media(min-width:741px) and (max-width:1250px){header .wrap{max-width:none}header .menu{display:block}header .site-nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:25px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}header .site-nav.open{display:flex}header .site-nav a{font-size:13px!important}header .site-nav{gap:15px!important}}
@media(max-width:430px){header .wrap{gap:6px;padding-left:12px;padding-right:12px}.brand-mark{--brand-tile:18px;--brand-gap:2px}.brandname strong{font-size:10px;max-width:125px;white-space:normal;line-height:1.15}.brandname small{font-size:6px;max-width:125px;white-space:normal;letter-spacing:.03em}.brand{gap:5px}.menu{padding:7px 8px;font-size:12px}}
