/* Shared layout rules, loaded after the theme and campaign styles. */
:root {
  --color-science-blue: #174975;
  --color-valhalla: #174975;
  --jp-content-width: 1120px;
  --jp-section-gap: clamp(40px, 5vw, 64px);
}
.site-content > .site-main {
  width: 100%;
  max-width: 1248px;
  padding-inline: clamp(20px, 4vw, 64px);
  padding-bottom: var(--jp-section-gap);
}
.site-main > .call-to-action-block {
  margin-top: var(--jp-section-gap);
}
.site-main .call-to-action-block .cta-text > :last-child { margin-bottom: 0; }
.banner-container.teemat .text-wrapper h1 {
  color: #fff;
  font-size: clamp(30px, 4vw, 56px);
  line-height: 1.2;
}
.site-main a:focus-visible, .site-header a:focus-visible, .site-header button:focus-visible {
  outline: 3px solid #174975;
  outline-offset: 5px;
}
.site-footer a:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
.site-header .current-menu-item > a { font-weight: 700; text-decoration: underline; text-underline-offset: 6px; }
.site-main .button, .site-main .back-button, .site-main .wp-block-button__link {
  border-radius: 6px;
  min-height: 44px;
  white-space: normal;
  text-overflow: clip;
  line-height: 1.5;
}
.site-content .site-main .block-blog { width: 100%; max-width: var(--jp-content-width); padding-top: 40px; }
.block-blog > .container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 28px;
  padding: 0;
}
.blog .block-blog > .container > h1 {
  clip: auto;
  clip-path: none;
  height: auto;
  width: auto;
  position: static;
  overflow: visible;
  margin: 0 0 4px;
  grid-column: 1 / -1;
  color: #174975;
  font-size: clamp(30px, 4vw, 40px);
}
.block-blog .post-card {
  width: 100%;
  margin: 0;
  min-width: 0;
  border-radius: 8px;
  box-shadow: 0 3px 16px #172d4114;
}
.block-blog .post-card .post-card__image-link { height: 200px; }
.block-blog .post-card .post-card__image {
  position: static;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center 35%;
  transform: none;
}
.block-blog .post-card .post-card__content { padding: 24px; }
.block-blog .post-card .post-card__title { font-size: 25px; line-height: 1.3; }
.block-blog .post-card .post-card__title a { color: #174975; }
.block-blog .post-card .post-card__excerpt p { font-size: 17px; line-height: 1.7; }
.block-blog .post-card .post-card__meta { flex-wrap: wrap; }
.block-blog .post-card .post-card__button { margin: 20px 0 0; }
.block-blog > .container > .navigation { grid-column: 1 / -1; }
.block-blog > div:last-child { padding-top: 32px; }
.site-main .block-single { margin-bottom: 0 !important; padding-top: 40px; }
.block-single .article-content {
  min-width: 0;
  width: 100%;
  max-width: 800px;
  margin-inline: auto;
}
.block-single .article-content > h1 { font-size: clamp(30px, 4vw, 40px); line-height: 1.25; color: #174975; }
.block-single .back-button { margin-top: 36px; }
.page-id-93 .profile-cv { max-width: 850px; margin-inline: auto; padding-top: 48px; }
.page-id-93 .profile-cv > h2 { color: #174975; font-size: clamp(26px, 3vw, 32px); line-height: 1.3; margin-top: 48px; margin-bottom: 20px; }
.page-id-93 .profile-cv > h2:first-child { margin-top: 0; }
.page-id-93 .profile-cv > p { font-size: 18px; line-height: 1.8; margin-top: 0; margin-bottom: 24px; }
.page-id-93 .profile-cv > :last-child { margin-bottom: 0; }
.site-footer .footer-content-container .bottom-side .footer-menu-items { flex-wrap: wrap; gap: 8px 24px; }
.site-footer .footer-content-container .bottom-side .footer-menu-items li { margin: 0; }
.site-footer .footer-content-container .bottom-side .footer-menu-items li a { display: inline-flex; align-items: center; min-height: 44px; margin: 0; }
@media (min-width: 961px) {
  .banner-container, .banner-container .banner-image-wrapper { height: 550px; }
  .banner-container .banner-image {
    height: 760px;
    width: auto;
    left: calc(26% - 410px);
    right: auto;
    top: 50%;
    transform: translateY(-50%);
    transition: none;
  }
  .banner-container .text-wrapper { width: 44%; min-width: 0; right: 4%; }
  .home .banner-container .text-wrapper .banner-name-line { font-size: clamp(44px, 5vw, 72px) !important; }
}
@media (max-width: 960px) {
  .banner-container, .banner-container .banner-image-wrapper { height: 630px !important; }
  .banner-container .banner-image, .home .banner-container .banner-image {
    height: 700px;
    width: auto;
    left: 50%;
    right: auto;
    top: 64px !important;
    transform: translateX(-36%);
    transition: none;
  }
  .banner-container .text-wrapper { width: min(85%, 420px); min-width: 0; right: auto; }
}
@media (max-width: 600px) {
  .home .banner-container .text-wrapper { width: 250px; max-width: calc(100% - 40px); }
  .banner-container .banner-logo p { font-size: 24px; }
  .banner-container .banner-logo img { max-width: 80px; }
  .page-id-93 .profile-cv { padding-top: 32px; }
  .page-id-93 .profile-cv > p { font-size: 17px; }
  .block-blog .post-card .post-card__content { padding: 22px; }
  .block-blog .post-card .post-card__title { font-size: 23px; }
  .block-blog .post-card .post-card__image-link { height: 180px; }
}
@media (max-width: 781px) {
  .block-blog > .container { grid-template-columns: 1fr; }
}
