@font-face{font-family:"Libre Baskerville";src:url(fonts/libre-baskerville-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Libre Baskerville";src:url(fonts/libre-baskerville-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Libre Baskerville";src:url(fonts/libre-baskerville-400-italic.woff2) format("woff2");font-style:italic;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(fonts/source-sans-3-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(fonts/source-sans-3-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
:root{--navy:#13294B;--slate:#3A5A80;--gold:#B08D57;--parch:#F5F2EA;--stone:#8A8D91;--ink:#1C1C1C;--serif:"Libre Baskerville",Georgia,"Times New Roman",serif;--sans:"Source Sans 3","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--parch);color:var(--ink);font:400 1.125rem/1.7 var(--sans);-webkit-font-smoothing:antialiased}
.wrap{max-width:1160px;margin:0 auto;padding:0 2rem}
a{color:var(--navy)}
h1,h2,h3,h4{font-family:var(--serif);color:var(--navy);font-weight:400;line-height:1.25;margin:0 0 .6em}
h1{font-size:clamp(2.6rem,6vw,4.8rem);letter-spacing:-.01em}h1 em{color:var(--slate)}
h2{font-size:clamp(1.5rem,2.6vw,2.1rem)}h3{font-size:1.3rem}h4{font:600 .8rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin-top:1.4em}

.ph{background:#efe6cf;border:1px dashed var(--gold);color:#5b4520;padding:0 .3em;font:600 .85em var(--sans)}
.masthead{background:var(--navy);color:var(--parch);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--gold)}
.mh{display:flex;align-items:center;justify-content:space-between;height:84px}
.mark{display:flex;align-items:center;gap:1rem;color:var(--parch);text-decoration:none}
.mono{width:42px;height:42px;border:1px solid var(--gold);display:grid;place-items:center;font:400 1.3rem var(--serif)}
.wm{display:flex;flex-direction:column}.name{font:400 1.35rem/1 var(--serif);font-variant:small-caps;letter-spacing:.18em}
.desc{font:600 .62rem/1.6 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#c8ccd4;border-top:1px solid var(--gold);margin-top:6px;padding-top:4px}
.desc .ph{background:none;border:0;color:var(--gold);padding:0}
#nav{display:flex;gap:2rem}#nav a{color:var(--parch);text-decoration:none;font:600 .82rem var(--sans);letter-spacing:.12em;text-transform:uppercase;position:relative;padding:.4rem 0}
#nav a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
#nav a:hover::after,#nav a[aria-current]::after{transform:scaleX(1)}
.menu{display:none;background:none;border:1px solid var(--gold);color:var(--parch);font:600 .8rem var(--sans);letter-spacing:.1em;padding:.5rem .9rem;text-transform:uppercase}
.hero{padding:9rem 0 7rem;background:linear-gradient(180deg,var(--parch),#efeadd);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;right:-8rem;top:3rem;width:34rem;height:34rem;border:1px solid rgba(176,141,87,.35);transform:rotate(45deg)}
.hero::after{content:"";position:absolute;right:-2rem;top:9rem;width:22rem;height:22rem;border:1px solid rgba(19,41,75,.12);transform:rotate(45deg)}
.eyebrow{font:600 .75rem/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--slate)}
.rule{width:96px;height:1px;background:var(--gold);margin:2.2rem 0}
.lede{font:400 1.3rem/1.7 var(--serif);color:#2c3442;max-width:46rem}
.btn{display:inline-block;background:var(--navy);color:var(--parch);padding:.95rem 1.7rem;text-decoration:none;font:600 .82rem var(--sans);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--navy);transition:background .4s,color .4s;cursor:pointer}
.btn:hover{background:transparent;color:var(--navy)}.btn.light{background:var(--parch);color:var(--navy);border-color:var(--parch)}.btn.light:hover{background:transparent;color:var(--parch)}
.link{font:600 .85rem var(--sans);letter-spacing:.1em;text-transform:uppercase;margin-left:1.5rem;text-decoration:none;border-bottom:1px solid var(--gold)}
.band{background:#fff;border-top:1px solid #e3ddcd;border-bottom:1px solid #e3ddcd;padding:5rem 0}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}.two{display:grid;grid-template-columns:1fr 1fr;gap:4rem}
.num{font:italic 400 1rem var(--serif);color:var(--gold);display:block;margin-bottom:.8rem}
.split{display:grid;grid-template-columns:1fr 1.5fr;gap:5rem;padding:7rem 2rem}
.plist{list-style:none;margin:0;padding:0;border-top:1px solid var(--navy)}
.plist li{padding:1.6rem 0;border-bottom:1px solid #d9d2c0;display:grid;grid-template-columns:7rem 1fr;gap:.3rem 1rem}
.plist .code{font:600 .8rem var(--sans);letter-spacing:.14em;color:var(--gold);padding-top:.35rem}
.plist a{font:400 1.2rem/1.45 var(--serif);text-decoration:none;transition:color .3s}.plist a:hover{color:var(--slate)}
.plist .meta{grid-column:2;font-size:.9rem;color:var(--stone)}
.quote{background:var(--navy);color:var(--parch);padding:6rem 0;text-align:center}
.quote blockquote{font:italic 400 clamp(1.5rem,3vw,2.3rem)/1.5 var(--serif);max-width:48rem;margin:0 auto 1rem;position:relative}
.quote blockquote::before{content:"\201C";display:block;font-size:4rem;line-height:1;color:var(--gold)}
.quote .small{color:#aab3c2}
.programmes{padding:7rem 2rem}.pgrid{display:grid;grid-template-columns:repeat(5,1fr);border-left:1px solid #d9d2c0;margin-top:1.5rem}
.pcard{padding:2rem 1.4rem 3rem;border-right:1px solid #d9d2c0;text-decoration:none;transition:background .5s}
.pcard:hover{background:#fff}.pcard h3{font-size:1.1rem}
.cta{background:#e9e3d3;padding:5rem 0;text-align:center}.cta .btn.light{background:var(--navy);color:var(--parch);border-color:var(--navy)}
.phead{padding:7rem 0 4rem;border-bottom:1px solid #d9d2c0}
.rows{padding:3rem 0}.row{display:grid;grid-template-columns:6rem 1fr;padding:2.2rem 0;border-bottom:1px solid #d9d2c0}.row .num{font-size:2rem}
section.wrap{padding-top:4rem;padding-bottom:4rem}
.clean{padding-left:1.1rem}.clean li{margin-bottom:.6rem}
.formats dt{font:400 1.1rem var(--serif);color:var(--navy);margin-top:1rem}.formats dd{margin:0;color:#444}
.paper{display:grid;grid-template-columns:220px 1fr;gap:3.5rem;padding:3.5rem 0;border-bottom:1px solid #d9d2c0}
.cover{aspect-ratio:3/4;background:var(--navy);color:var(--parch);padding:1.4rem;display:flex;flex-direction:column;justify-content:space-between;border-top:6px solid var(--gold);box-shadow:0 20px 40px -25px rgba(19,41,75,.6);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.paper:hover .cover{transform:translateY(-6px) rotate(-1deg)}
.cover span:first-child{font:600 .8rem var(--sans);letter-spacing:.2em}.cv-t{font:400 1.2rem var(--serif);font-variant:small-caps;letter-spacing:.15em}
.status{font-size:.95rem;color:#555;border-left:2px solid var(--gold);padding-left:1rem}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.form{max-width:760px;display:grid;gap:1.3rem}.form label{display:grid;gap:.4rem;font:600 .8rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--slate)}
.form input,.form select,.form textarea{font:400 1rem var(--sans);padding:.85rem;border:1px solid #c9c1ad;background:#fff;color:var(--ink)}
.form input:focus,.form textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.foot{background:var(--navy);color:#c8ccd4;padding:4.5rem 0 2rem;font-size:.95rem}
.fgrid{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:3rem;border-bottom:1px solid rgba(176,141,87,.4);padding-bottom:2.5rem}
.fname{font:400 1.5rem var(--serif);font-variant:small-caps;letter-spacing:.18em;color:var(--parch);margin:0}.tag{font-family:var(--serif);font-style:italic;color:var(--gold)}
.fnav{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}.fnav a{color:var(--parch);text-decoration:none}
.small{font-size:.85rem}.copy{padding-top:1.5rem}
.reveal{opacity:0;transform:translateY(18px);transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}*{transition:none!important}}
@media (max-width:900px){.three,.two,.split,.facts,.fgrid,.paper{grid-template-columns:1fr;gap:2rem}.pgrid{grid-template-columns:1fr 1fr}.menu{display:block}
#nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--navy);flex-direction:column;padding:1.5rem 2rem}#nav.open{display:flex}.cover{max-width:200px}}

.hero::before,.hero::after{display:none}
.par{position:absolute;border:1px solid rgba(176,141,87,.38);transform:rotate(45deg);will-change:transform;pointer-events:none}
.par.d1{right:-8rem;top:3rem;width:34rem;height:34rem}.par.d2{right:-2rem;top:9rem;width:22rem;height:22rem;border-color:rgba(19,41,75,.14)}
.hero .wrap{position:relative}
.rule.draw{transform:scaleX(0);transform-origin:left;animation:rule 1.6s .6s cubic-bezier(.65,0,.35,1) forwards}
@keyframes rule{to{transform:scaleX(1)}}
.plist{border-top:0;position:relative}.plist::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform 1.8s cubic-bezier(.65,0,.35,1)}
.plist.in::before{transform:scaleX(1)}
.plist li{position:relative;transition:padding-left .6s cubic-bezier(.2,.7,.2,1)}
.plist li::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.65,0,.35,1)}
.plist li:hover{padding-left:.8rem}.plist li:hover::after{transform:scaleX(1)}
.pcard{position:relative}.pcard::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .8s cubic-bezier(.65,0,.35,1)}
.pcard:hover::before{transform:scaleX(1)}.pcard .num{transition:letter-spacing .8s}.pcard:hover .num{letter-spacing:.2em}
.quote blockquote::before{opacity:0;transform:translateY(-10px);transition:opacity 1.4s,transform 1.4s}.quote blockquote.in::before{opacity:1;transform:none}
.row{position:relative}.row::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 1.4s cubic-bezier(.65,0,.35,1)}.row.in::after{transform:scaleX(1)}
.btn{position:relative;overflow:hidden}.link{background:linear-gradient(var(--gold),var(--gold)) left bottom/0 1px no-repeat;border:0;transition:background-size .7s}.link:hover{background-size:100% 1px}
.masthead{transition:height .5s}.masthead.small .mh{height:64px}.mh{transition:height .5s cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion:reduce){.rule.draw,.plist::before,.row::after{transform:none;animation:none}.par{transform:rotate(45deg)!important}.quote blockquote::before{opacity:1;transform:none}}

.logo-mark{display:block;width:48px;height:48px}.mono{display:none}


body{background:#13294B;color:#E6E1D3}
h1,h2,h3,h4{color:#F5F2EA}h1 em{color:#C9B48A}h4{color:#C9B48A}a{color:#F5F2EA}
.masthead,.foot{background:#0B1A33}
.hero{background:radial-gradient(ellipse at 85% 20%,#1E3A66 0%,#13294B 55%,#0F2240 100%)}
.par{border-color:rgba(176,141,87,.45)}.par.d2{border-color:rgba(245,242,234,.12)}
.eyebrow{color:#C9B48A}.lede{color:#D8DCE4}
.band{background:#0F2240;border-color:rgba(176,141,87,.25)}
.plist::before{background:#B08D57}.plist li{border-color:rgba(245,242,234,.15)}
.quote{background:#0B1A33}
.cta{background:#1A3460}.cta .btn.light{background:#B08D57;border-color:#B08D57;color:#0B1A33}.cta .btn.light:hover{background:transparent;color:#F5F2EA}
.btn{background:#B08D57;border-color:#B08D57;color:#0B1A33}.btn:hover{background:transparent;color:#F5F2EA}
.phead{border-color:rgba(176,141,87,.3)}.row{border-color:rgba(245,242,234,.15)}
.formats dt{color:#F5F2EA}.formats dd{color:#C8CDD8}.status{color:#C8CDD8}
.form label{color:#C9B48A}.form input,.form select,.form textarea{background:#0F2240;border-color:#3A5A80;color:#F5F2EA}
.prose{max-width:46rem}.prose p,.prose li{color:#D8DCE4}.prose a{color:#C9B48A}
.legal a{color:#C9B48A}.fnav{gap:.4rem 1rem}
