/* Presentation layer only; no content, templates or stored settings are changed. */
:root {
  --pf-ink: #182d45;
  --pf-muted: #526477;
  --pf-blue: #234f81;
  --pf-paper: #f4f6f8;
  --pf-line: #d7e0e8;
  --wp--style--global--wide-size: 1200px;
}
body {background: var(--pf-paper); color: var(--pf-ink);}
::selection {background: #c9dff2; color: #142e49;}
a {text-underline-offset: .22em;}
a:focus-visible, button:focus-visible, input:focus-visible {outline: 3px solid #376da2; outline-offset: 4px;}
.wp-site-blocks {padding-top: 0; padding-bottom: 0;}
.wp-site-blocks > header {background: #fff; border-bottom: 1px solid var(--pf-line);}
.wp-site-blocks > header .alignwide {max-width: 1200px; min-height: 86px; gap: 28px; padding-top: 18px !important; padding-bottom: 18px !important;}
.wp-site-blocks > header .wp-block-site-title {font-size: 21px; font-weight: 750; letter-spacing: -.035em; white-space: nowrap;}
.wp-site-blocks > header .wp-block-site-title a {color: var(--pf-ink);}
.wp-site-blocks > header .wp-block-navigation {font-size: 13px; font-weight: 600;}
.wp-site-blocks > header .wp-block-navigation__container {gap: 22px;}
.wp-block-navigation-item__content {text-decoration: none;}
.wp-block-navigation-item__content:hover {color: var(--pf-blue); text-decoration: underline;}
.wp-block-navigation-item.current-menu-item > a {color: var(--pf-blue); text-decoration: underline; text-decoration-thickness: 2px !important;}
main.wp-block-group {margin-top: 0 !important;}
body.home main > .wp-block-group {padding-top: 0 !important; padding-bottom: 0 !important;}
body.home .entry-content {max-width: 1200px; margin-inline: auto !important; padding-inline: 0;}
body.home .entry-content > * {max-width: none;}
body.home .entry-content > .wp-block-group:first-child {
  display: grid; grid-template-columns: 1.17fr 1fr; column-gap: 80px; row-gap: 24px;
  padding: 76px 0 68px !important; align-items: start;
}
body.home .entry-content > .wp-block-group:first-child > * {max-width: none; margin: 0 !important;}
body.home .entry-content > .wp-block-group:first-child > p:first-child {
  grid-column: 1 / -1; color: var(--pf-blue); font-size: 12px !important; font-weight: 700; letter-spacing: .05em !important;
}
body.home .entry-content h1.wp-block-heading {
  grid-column: 1; grid-row: 2 / 4; font-size: clamp(2.6rem, 4.4vw, 3.8rem) !important;
  line-height: 1.08 !important; font-weight: 650; letter-spacing: -.04em; text-wrap: balance;
}
body.home .entry-content > .wp-block-group:first-child > p.has-large-font-size {
  grid-column: 2; grid-row: 2; padding-top: 4px; font-size: 18px !important; line-height: 1.75; color: var(--pf-muted);
}
body.home .entry-content .wp-block-buttons {grid-column: 2; grid-row: 3; gap: 12px; align-self: end;}
body.home .wp-block-button__link {background: var(--pf-blue); color: #fff; border-radius: 6px; font-size: 14px; font-weight: 650; padding: 15px 24px; border: 1px solid var(--pf-blue); transition: background-color .18s ease, color .18s ease;}
body.home .wp-block-button__link:hover {background: #173b64;}
body.home .wp-block-button.is-style-outline .wp-block-button__link {background: transparent; color: var(--pf-blue); border-color: #aabacc; padding: 15px 24px;}
body.home .wp-block-button.is-style-outline .wp-block-button__link:hover {background: #e3ebf2;}
body.home .entry-content > .wp-block-separator {border-top: 1px solid var(--pf-line); margin: 0; width: 100%; color: var(--pf-line);}
body.home .entry-content > .wp-block-columns {gap: 40px; margin: 0; padding-block: 42px 48px !important;}
body.home .entry-content > .wp-block-columns > .wp-block-column + .wp-block-column {border-left: 1px solid var(--pf-line); padding-left: 32px;}
body.home .entry-content h3 {font-size: 20px; font-weight: 700; line-height: 1.35; letter-spacing: -.025em; margin: 0 0 16px;}
body.home .entry-content .wp-block-column p {font-size: 14px !important; line-height: 1.8; color: var(--pf-muted); margin: 0;}
body.home .entry-content > .wp-block-group:last-child {
  display: grid; grid-template-columns: 1fr 2fr; gap: 18px 64px; padding: 44px 40px !important;
  margin-block: 42px 56px; background: #e6edf3; border-radius: 12px;
}
body.home .entry-content > .wp-block-group:last-child > * {max-width: none; margin: 0;}
body.home .entry-content > .wp-block-group:last-child h2 {grid-column: 1; grid-row: 1 / 3; font-size: 27px; font-weight: 650; line-height: 1.25; letter-spacing: -.03em;}
body.home .entry-content > .wp-block-group:last-child p {grid-column: 2; font-size: 15px; line-height: 1.8; color: #3d5268;}
body.home .entry-content > .wp-block-group:last-child p:last-child {font-size: 13px;}
.wp-site-blocks footer {background: #182d45; color: #e3ebf3; padding: 40px max(24px, calc((100% - 1200px) / 2)) 24px; margin-top: 0;}
.wp-site-blocks footer > * {max-width: 1200px;}
.wp-site-blocks footer > .wp-block-separator {color: #476079; border-top-width: 1px; margin: 0 0 32px;}
.wp-site-blocks footer .wp-block-columns {gap: 64px; margin-block: 0 36px;}
.wp-site-blocks footer .wp-block-column:first-child > p:first-child {font-size: 22px !important; font-weight: 700; letter-spacing: -.03em; margin-bottom: 16px;}
.wp-site-blocks footer p {font-size: 13px !important; line-height: 1.8; color: #c0cddd;}
.wp-site-blocks footer a {color: #e3ebf3; text-decoration: none;}
.wp-site-blocks footer a:hover {text-decoration: underline;}
.wp-site-blocks footer > p:last-child {border-top: 1px solid #476079; padding-top: 20px; font-size: 12px !important;}
/* Forum: retain wpForo's native row structure, controls and information density. */
body:has(#wpforo) main > .wp-block-group {padding-top: 36px !important; padding-bottom: 48px !important;}
body:has(#wpforo) .entry-content {max-width: 1200px; margin-inline: auto;}
#wpforo #wpforo-wrap {font-family: Manrope, sans-serif; color: var(--pf-ink); background: #fff; padding: 24px !important; border-radius: 12px; box-sizing: border-box;}
#wpforo #wpforo-menu {background: #182d45; border: 0; border-radius: 7px; padding: 6px 12px;}
#wpforo #wpforo-menu li a {color: #fff; font-size: 13px;}
#wpforo #wpforo-menu li:hover > a {background: #2d4c6d; color: #fff;}
#wpforo #wpforo-title {font-size: 30px; font-weight: 700; color: var(--pf-ink); margin-block: 24px; letter-spacing: -.03em;}
#wpforo #wpforo-wrap .wpforo-section {margin-bottom: 30px;}
#wpforo #wpforo-wrap .wpforo-category {background: #e6edf3; border: 0; border-radius: 6px 6px 0 0; padding: 12px 16px;}
#wpforo #wpforo-wrap .wpforo-category .cat-title, #wpforo #wpforo-wrap .wpforo-category .cat-title a {color: #203e5e; font-size: 15px; font-weight: 750;}
#wpforo #wpforo-wrap .forum-wrap {border-bottom: 1px solid #e1e7ee; padding-block: 8px;}
#wpforo #wpforo-wrap .wpforo-forum-title a {font-size: 16px; font-weight: 700; color: #234f81;}
#wpforo #wpforo-wrap .wpforo-forum-description {font-size: 13px; line-height: 1.65; color: #526477;}
#wpforo #wpforo-wrap .wpforo-last-topics-list {background: #f6f8fa; border-radius: 6px; padding: 8px 12px;}
#wpforo #wpforo-wrap .wpforo-last-topic-title a {color: #315c87;}
#wpforo #wpforo-wrap input[type='text'], #wpforo #wpforo-wrap input[type='password'], #wpforo #wpforo-wrap input[type='email'], #wpforo #wpforo-wrap textarea {border-radius: 5px; border-color: #aabacc;}
#wpforo #wpforo-footer {border-top: 1px solid var(--pf-line); padding-top: 20px;}
@media (max-width: 1280px) {
  body.home .entry-content {margin-inline: 32px !important;}
  body.home .entry-content > .wp-block-group:first-child {column-gap: 48px;}
  .wp-site-blocks > header .wp-block-navigation__container {gap: 15px;}
}
@media (min-width: 600px) and (max-width: 1000px) {
  .wp-site-blocks > header .alignwide {flex-wrap: wrap; justify-content: center; gap: 14px;}
  body.home .entry-content > .wp-block-group:first-child {column-gap: 32px;}
  body.home .entry-content h1.wp-block-heading {font-size: 42px !important;}
  body.home .entry-content > .wp-block-columns {gap: 24px;}
  body.home .entry-content > .wp-block-columns > .wp-block-column + .wp-block-column {padding-left: 20px;}
}
@media (max-width: 781px) {
  body.home .entry-content {margin-inline: 24px !important;}
  body.home .entry-content > .wp-block-group:first-child {display: flex; flex-direction: column; gap: 24px; padding-block: 42px !important;}
  body.home .entry-content h1.wp-block-heading {font-size: clamp(36px, 7.5vw, 52px) !important; max-width: 650px;}
  body.home .entry-content > .wp-block-group:first-child > p.has-large-font-size {font-size: 16px !important; line-height: 1.75;}
  body.home .entry-content .wp-block-buttons {align-self: start;}
  body.home .entry-content > .wp-block-columns {flex-wrap: wrap !important; gap: 28px; padding-block: 32px !important;}
  body.home .entry-content > .wp-block-columns > .wp-block-column {flex-basis: 100% !important;}
  body.home .entry-content > .wp-block-columns > .wp-block-column + .wp-block-column {border-left: 0; border-top: 1px solid var(--pf-line); padding: 24px 0 0;}
  body.home .entry-content h3 {margin-bottom: 10px;}
  body.home .entry-content > .wp-block-group:last-child {display: block; padding: 28px 24px !important; margin-block: 32px;}
  body.home .entry-content > .wp-block-group:last-child > * + * {margin-top: 18px;}
  .wp-site-blocks footer .wp-block-columns {flex-wrap: wrap !important; gap: 24px;}
  .wp-site-blocks footer .wp-block-column {flex-basis: 100% !important;}
  #wpforo #wpforo-wrap {padding: 12px !important; border-radius: 8px;}
  #wpforo #wpforo-title {font-size: 25px;}
}
@media (max-width: 599px) {
  .wp-site-blocks > header .alignwide {min-height: 72px; padding-block: 16px !important;}
  .wp-site-blocks > header .wp-block-site-title {font-size: 19px;}
  .wp-block-navigation__responsive-container.is-menu-open {background: #fff; color: var(--pf-ink); padding: 28px;}
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {gap: 24px; font-size: 18px;}
  body.home .entry-content > .wp-block-group:first-child > p:first-child {font-size: 10px !important; line-height: 1.8;}
  body.home .wp-block-button__link {padding: 14px 19px;}
  body.home .wp-block-button.is-style-outline .wp-block-button__link {padding: 14px 19px;}
}
@media (prefers-reduced-motion: reduce) {
  body.home .wp-block-button__link {transition: none;}
}
/* Remove the block theme's nested content-width constraint on these surfaces. */
body.home main > .wp-block-group {padding-inline: 0;}
body:has(#wpforo) .entry-content {padding-inline: 0;}
body:has(#wpforo) #wpforo {max-width: none; width: 100%;}
#wpforo #wpforo-wrap #wpforo-menu {background: #182d45; border: 0;}
#wpforo #wpforo-wrap #wpforo-menu li a {color: #fff;}
#wpforo #wpforo-wrap #wpforo-menu li.wpforo-active > a {background: #2d4c6d; color: #fff; border-color: #9dc2e4;}
#wpforo #wpforo-wrap .wpfl-1 .wpforo-category {background: #e6edf3; border-bottom: 1px solid #c3d2df;}
#wpforo #wpforo-wrap #wpforo-title {font-size: 30px; font-weight: 700; color: var(--pf-ink);}
@media (max-width: 781px) {
  body:has(#wpforo) main > .wp-block-group {padding-inline: 16px; padding-top: 24px !important;}
  body:has(#wpforo) #wpforo {margin-inline: 0;}
  #wpforo #wpforo-wrap #wpforo-title {font-size: 25px;}
}
/* Keep the native responsive menu control visible on the navy surface. */
#wpforo #wpforo-wrap .wpf-res-menu,
#wpforo #wpforo-wrap .wpf-res-menu i {color: #fff;}
