.submitbg-home-intro { margin: 8px 0 28px; max-width: 900px; }
.submitbg-home-intro h1 { font-size: clamp(1.6rem, 3.2vw, 2.4rem); line-height: 1.2; margin: 0 0 14px; color: var(--ink, #192330); }
.submitbg-home-intro p { margin: 0; max-width: 78ch; color: var(--ink-muted, #6d7b8f); font-size: 1.05rem; }
.submitbg-home-copy { background: var(--bg-soft, #fff); border: 1px solid var(--line, #e5ebf4); border-radius: 8px; padding: clamp(20px, 4vw, 40px); margin: 32px 0; box-shadow: 0 16px 40px rgba(25,35,48,.04); }
.submitbg-home-copy h2 { font-size: clamp(1.3rem, 2.5vw, 1.7rem); line-height: 1.3; margin: 32px 0 14px; }
.submitbg-home-copy h2:first-child { margin-top: 0; }
.submitbg-home-copy p { max-width: 85ch; margin: 0 0 14px; }
.submitbg-home-copy p:last-child { margin-bottom: 0; }
.submitbg-home-copy a { color: var(--brand, #0154ac); text-decoration: underline; text-underline-offset: .15em; }
.archive-description { max-width: 85ch; line-height: 1.75; margin: 14px 0 24px; }
.archive-description p { margin: 0 0 12px; }
.primary-navigation .submitbg-more { position: relative; }
.primary-navigation .submitbg-submenu-toggle { font: inherit; color: var(--ink, #192330); border: 0; background: transparent; padding: 0 12px; min-height: 42px; cursor: pointer; border-radius: 6px; }
.primary-navigation .submitbg-submenu-toggle:hover, .primary-navigation .submitbg-submenu-toggle:focus-visible { color: var(--brand, #0154ac); background: var(--chip, #eef3fb); }
.primary-navigation .submitbg-more > .sub-menu { display: none; flex-direction: column; flex-wrap: nowrap; padding: 8px; margin: 0; min-width: 180px; background: #fff; border: 1px solid var(--line, #e5ebf4); border-radius: 8px; box-shadow: 0 10px 30px rgba(25,35,48,.12); z-index: 100; }
.primary-navigation .submitbg-more > .sub-menu a { display: flex; align-items: center; min-height: 42px; padding: 6px 12px; white-space: nowrap; }
.primary-navigation .submitbg-more.submenu-open > .sub-menu,
.primary-navigation:not(.submitbg-dropdown-ready) .submitbg-more:hover > .sub-menu,
.primary-navigation:not(.submitbg-dropdown-ready) .submitbg-more:focus-within > .sub-menu { display: flex; }
@media (min-width: 760px) { .primary-navigation .submitbg-more > .sub-menu { position: absolute; top: 100%; left: 0; } }
@media (max-width: 759px) { .primary-navigation .submitbg-submenu-toggle { width: 100%; text-align: left; } .primary-navigation .submitbg-more > .sub-menu { box-shadow: none; margin: 4px 0; } }
@media (max-width: 359px) { html body { min-width: 0; } .site-header__inner { min-width: 0; } .site-branding { min-width: 0; } .site-logo img { max-width: 100%; height: auto; } }

/* Keep the dropdown control on the same baseline and touch target as links. */
.primary-navigation #primary-menu { align-items: center; }
.primary-navigation #primary-menu > li > a,
.primary-navigation #primary-menu > li > .submitbg-submenu-toggle {
    display: flex; align-items: center; justify-content: flex-start;
    box-sizing: border-box; min-height: 42px; height: 42px;
    margin: 0; padding: 0 12px; line-height: 1.4; gap: 6px;
}
.primary-navigation .submitbg-submenu-toggle span { font-size: .7em; line-height: 1; }
@media (max-width: 759px) {
    .primary-navigation #primary-menu { align-items: stretch; gap: 4px; }
}
.site-footer .site-footer__inner {
    grid-template-columns: minmax(0, 1fr); gap: 30px;
    padding-block: 40px 30px; align-items: start;
}
.site-footer .footer-brand { margin-bottom: 16px; }
.site-footer .footer-description { max-width: 36ch; margin: 0; font-size: .95rem; line-height: 1.7; }
.site-footer .footer-widget-area .widget-title { margin: 0 0 14px; font-size: 1rem; }
.site-footer .footer-widget-area ul { list-style: none; padding: 0; margin: 0; }
.site-footer .footer-widget-area .menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; }
.site-footer .footer-widget-area li + li { margin-top: 0; }
.site-footer .footer-widget-area a { display: inline-flex; align-items: center; min-height: 38px; text-decoration: none; color: var(--ink-muted); }
.site-footer .footer-widget-area a:hover { color: var(--brand); text-decoration: underline; text-underline-offset: 3px; }
.site-footer .footer-bottom { width: min(100% - 32px, 1180px); margin-inline: auto; border-top: 1px solid var(--line); padding: 18px 0; font-size: .85rem; }
.site-footer .footer-bottom p { margin: 0; }
@media (min-width: 760px) {
    .site-footer .site-footer__inner { grid-template-columns: 1.1fr 1.2fr .8fr; gap: 40px; }
    .site-footer .footer-widget-area--2 .menu { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 1040px) { .site-footer .footer-bottom { width: min(100% - 48px, 1180px); } }
