/*
 * What the CMS needs beyond the design's stylesheet (academy.css, unchanged) and the other pages'
 * (academy-pages.css).
 *
 * Page bodies cannot carry inline styles (the HTML filter removes them), so the design's
 * style="…" spacing is written as these classes instead, with the same values.
 */
.pt-0{padding-top:0!important}
.pt-10{padding-top:10px!important}
.pt-15{padding-top:15px!important}
.pb-65{padding-bottom:65px}
.pb-75{padding-bottom:75px}
.mt-45{margin-top:45px}
.mw-820{max-width:820px}

/* Editor-made pages, previews, search and the password form. */
.notice{margin:0;padding:12px 20px;background:var(--ink);color:var(--paper);font-size:16px;text-align:center}
.page-intro .article-reading time{font:inherit}
.site-search{max-width:620px;margin-top:28px}
.site-search input{width:100%;padding:12px 18px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:999px}
.form-error{margin-top:14px;font-size:16px}
.pager-row{margin-top:45px;font-size:16px}
.pager-row a{text-decoration:none}
.region-sidebar,.region-footer{padding-block:20px}

/* The home design's `.section[style]` rule: its sections written with style="padding-top:0" keep
   their full top padding there, so pt-0 does not take it away on the home page. */
.home-page .section.pt-0{padding-top:clamp(56px,7vw,100px)!important}

/* Contact template (2.1.0), as the Academy contact design: a chocolate band, the logo in white with
   the descriptor beside it, the motto in italics, a rule, then the offices (one office is centred). */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cx-band{background:var(--ink);color:#fff;font-family:"Times New Roman",Times,serif}
.cx-in{max-width:820px;margin:0 auto;padding:clamp(72px,16.7vw,227px) 16px clamp(72px,12.25vw,167px);box-sizing:content-box}
.cx-head{text-align:center}
.cx-lockup{display:flex;align-items:center;justify-content:center;gap:0}
.cx-logo{display:block;flex:none;width:min(381px,57vw);aspect-ratio:1831/446;background:#fff;-webkit-mask:var(--brand-logo) center/100% 100% no-repeat;mask:var(--brand-logo) center/100% 100% no-repeat}
.cx-descriptor{margin-left:clamp(12px,1.7vw,23px);padding-left:clamp(12px,1.7vw,23px);border-left:1px solid rgba(255,255,255,.59);font-size:clamp(19px,2.2vw,30px);line-height:clamp(40px,5vw,68px)}
.contact-page main .cx-motto{margin:34px auto 0;font-style:italic;font-size:clamp(21px,2.06vw,28px);line-height:1.3}
.cx-offices{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:40px 80px;margin-top:97px;padding-top:42px;border-top:1px solid rgba(255,255,255,.35)}
.cx-offices.is-single{max-width:520px;margin-inline:auto;text-align:center}
.contact-page main .cx-office :is(p,address,h2){margin:0}
.cx-city{font:400 28px/1.3 "Times New Roman",Times,serif;color:#fff}
.contact-page main .cx-office address{margin-top:14px;font-style:normal;font-size:20px;line-height:33px}
.contact-page main .cx-office .cx-phone{margin-top:22px;font-size:19px;line-height:1.5}
.contact-page main .cx-office .cx-email{margin-top:13px;font-size:17px;line-height:1.5}
.cx-office a{color:#fff;text-decoration:none}
.cx-email a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;text-decoration-color:rgba(255,255,255,.6)}
.cx-office a:hover{text-decoration:underline;text-decoration-color:#fff}
.cx-office a:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media (max-width:40rem){.cx-offices{grid-auto-flow:row;gap:44px;margin-top:64px}}
