/* Additional pages share the existing QQKUDA header, footer and typography. */
.subpage-main { color:var(--ink); }
.subpage-main .container { width:min(980px,calc(100% - 40px)); }
.page-intro { padding:38px 0 60px; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-bottom:24px; font-size:18px; line-height:1.4; }
.breadcrumbs a, .page-body a:not(.button), .page-search a { text-decoration:underline; text-underline-offset:3px; }
.breadcrumbs span[aria-hidden] { color:#8298a9; }
.subpage-main h1 { font-size:clamp(38px,5vw,65px); line-height:1.06; overflow-wrap:anywhere; }
.page-lead { max-width:760px; margin-top:28px; font-size:23px; line-height:1.4; }
.page-body { background:var(--cream); padding:58px 0 66px; }
.page-columns { display:grid; grid-template-columns:minmax(0,650px) minmax(0,250px); gap:60px; }
.page-prose { min-width:0; }
.page-prose section + section { margin-top:38px; }
.page-prose h2, .page-search h2 { margin-bottom:18px; font-size:38px; line-height:1.13; }
.page-prose p, .page-prose li { font-size:21px; line-height:1.5; overflow-wrap:anywhere; }
.page-prose p + p { margin-top:18px; }
.page-aside { min-width:0; border-left:1px solid rgba(5,48,82,.25); padding-left:24px; align-self:start; }
.page-aside h2 { font-size:27px; line-height:1.15; margin:0 0 18px; }
.page-aside ul { list-style:none; margin:0; padding:0; }
.page-aside li + li { margin-top:12px; }
.page-aside li, .page-aside p { font-size:20px; line-height:1.4; }
.page-aside .aside-contact { margin-top:28px; }
.page-picture { margin-top:36px; }
.page-picture img { width:600px; height:auto; max-width:100%; }
.page-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:36px; }
.page-actions .button { min-height:46px; min-width:145px; padding:10px 25px; border-radius:100px; font-size:18px; text-decoration:none; }
.page-actions .button:hover { color:var(--ink); }
.contact-details { margin:0 0 40px; }
.contact-details div { padding:20px 0; border-bottom:1px solid rgba(5,48,82,.25); }
.contact-details dt { font-size:18px; margin-bottom:5px; }
.contact-details dd { font-size:26px; line-height:1.3; margin:0; overflow-wrap:anywhere; }
.journal-toc { padding:0 0 28px; margin-bottom:38px; border-bottom:1px solid rgba(5,48,82,.25); }
.journal-toc h2 { font-size:27px; }
.journal-toc ol { padding-left:23px; }
.journal-toc li + li { margin-top:12px; }
.journal-article { scroll-margin-top:30px; }
.journal-article + .journal-article { padding-top:34px; border-top:1px solid rgba(5,48,82,.25); }
.page-search { padding:48px 0 58px; }
.page-search p { font-size:21px; line-height:1.45; }
.site-search-form { display:flex; flex-wrap:wrap; gap:12px; align-items:end; margin-top:24px; }
.site-search-field { flex:1 1 270px; }
.site-search-field label { display:block; font-size:19px; margin-bottom:8px; }
.site-search-field input { display:block; width:100%; min-height:48px; border:1px solid #8298a9; padding:10px 14px; border-radius:0; background:#fff; color:var(--ink); font-size:20px; }
.site-search-form button { min-height:48px; padding:10px 26px; border-radius:100px; font-size:18px; }
.site-search-form button:hover { color:var(--ink); }
.search-summary { margin-top:28px; }
.search-results { padding:0; list-style:none; margin:26px 0 0; }
.search-results li { padding:22px 0; border-top:1px solid #c1cbd4; }
.search-results h2 { font-size:28px; margin:0 0 10px; }
.search-results p { margin:0; }
.subpage-main + .site-footer { border-top:1px solid rgba(5,48,82,.12); }
@media (max-width:767px) {
  .subpage-main .container { width:calc(100% - 40px); }
  .page-intro { padding:32px 0 36px; }
  .breadcrumbs { font-size:17px; gap:9px; margin-bottom:22px; }
  .subpage-main h1 { font-size:40px; }
  .page-lead { font-size:22px; margin-top:22px; }
  .page-body { padding:38px 0 44px; }
  .page-columns { grid-template-columns:minmax(0,1fr); gap:38px; }
  .page-prose h2, .page-search h2 { font-size:31px; }
  .page-prose p, .page-prose li { font-size:21px; }
  .page-aside { border-left:0; border-top:1px solid rgba(5,48,82,.25); padding:28px 0 0; }
  .page-aside h2 { font-size:27px; }
  .page-aside ul { display:grid; grid-template-columns:1fr 1fr; gap:12px 18px; }
  .page-aside li + li { margin-top:0; }
  .page-actions .button { flex:1 1 120px; min-width:0; }
  .contact-details dd { font-size:25px; }
  .page-search { padding:36px 0 42px; }
  .site-search-form button { width:100%; }
  .search-results h2 { font-size:27px; }
}
