/*
 * 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.2.0), as the Academy contact design (contact_academy.html): the home page's
   photograph and chocolate band with the title and motto, then the offices as cards on the paper
   (one office keeps the first of three columns). The design's own rules, unchanged. */
.offices{display:grid;gap:20px;grid-template-columns:repeat(var(--cols),minmax(0,1fr));align-items:stretch}
.office{display:flex;flex-direction:column;gap:12px;min-width:0;padding:26px;border:1px solid var(--line);border-radius:12px;background:var(--paper);overflow-wrap:anywhere}
.office h2{margin:0;font-family:var(--display-font);font-weight:400;font-size:clamp(16px,1.35vw,19px);line-height:1.25;color:var(--office-ink)}
.office-tag{font:400 12px/1.2 var(--text-font);letter-spacing:.14em;text-transform:uppercase;color:var(--office-ink)}
.office address,.office .office-line,.office .office-name{margin:0;font:400 16px/1.6 var(--text-font);font-style:normal;color:var(--office-muted)}
.office .office-line{font-size:17px}
.office .office-line:first-of-type{margin-top:auto}
.office a{color:var(--office-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.office a:hover{text-decoration-thickness:2px}
.office a:focus-visible{outline:3px solid var(--office-ink);outline-offset:3px}
@media(max-width:820px){.offices{grid-template-columns:minmax(0,1fr)}}
.contact-s{--cols:3;--display-font:var(--display);--text-font:var(--text);--office-ink:var(--ink);--office-muted:var(--muted)}.contact-s .offices{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-s .office{grid-column:1}@media(max-width:820px){.contact-s .offices{grid-template-columns:minmax(0,1fr)}}.contact-motto{margin:0;font:400 18px/1.5 var(--text);color:var(--on-dark-muted)}.founding .home-motto{margin-bottom:12px}.hero-block{background:var(--ink)}
