/* Silas OZOYA v4.3.14 — mobile navigation, touch focus and contact/legal polish. */
.so-header, .so-header .so-header-row{overflow:visible!important}
.so-header :is(a,button){-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.so-header :is(.so-logo a,.wp-block-navigation__responsive-container-open,.wp-block-navigation__responsive-container-close):focus:not(:focus-visible){outline:0!important;box-shadow:none!important}
.so-header :is(.so-logo a,.wp-block-navigation__responsive-container-open,.wp-block-navigation__responsive-container-close):focus-visible{outline:2px solid #541592!important;outline-offset:3px!important;box-shadow:none!important;border-radius:6px}
.so-header .so-logo a{display:block;line-height:0;border:0!important;box-shadow:none!important}
.so-header .so-logo img{border:0!important;box-shadow:none!important}
.so-header .wp-block-navigation__responsive-container-open,
.so-header .wp-block-navigation__responsive-container-close{display:none;align-items:center;justify-content:center;min-width:46px;min-height:46px;padding:10px!important;color:#541592!important;background:#f5eefb!important;border:1px solid rgba(84,21,146,.14)!important;border-radius:12px!important;cursor:pointer}
.so-header .wp-block-navigation__responsive-container-open svg,
.so-header .wp-block-navigation__responsive-container-close svg{width:23px!important;height:23px!important;stroke-width:1.8}
.so-header .wp-block-navigation__responsive-container-open:hover{background:#eae0f4!important}
.so-header .wp-block-navigation-item a:focus-visible{outline:2px solid #541592!important;outline-offset:3px!important}

/* WordPress core navigation remains editable and controls opening/closing. */
@media(max-width:960px){
 .so-header .so-header-row{grid-template-columns:minmax(0,1fr) auto!important;min-height:76px!important;gap:12px!important;padding-block:9px!important;width:calc(100% - 44px)!important}
 .so-header .so-logo{grid-column:1!important;grid-row:1!important;justify-self:start!important;margin:0!important;width:52px!important;min-width:0!important;max-width:52px!important}
 .so-header .so-logo img{width:auto!important;height:58px!important;max-width:100%!important;object-fit:contain!important}
 .so-header-row>.wp-block-buttons{display:none!important}
 .so-header-row>.wp-block-navigation{grid-column:2!important;grid-row:1!important;justify-self:end!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;position:static!important;margin:0!important;max-width:100%!important}
 .so-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
 .so-header .wp-block-navigation__responsive-container-open{display:inline-flex!important}
 .so-header .wp-block-navigation__responsive-container-open:after{content:"Menu";font-size:12px;font-weight:750;letter-spacing:.025em;margin-left:8px;text-transform:none}
 .so-header .wp-block-navigation__responsive-container.is-menu-open{display:flex!important;position:fixed!important;inset:0!important;top:0!important;left:0!important;width:100vw!important;width:100dvw!important;height:100vh!important;height:100dvh!important;z-index:100000!important;overflow-y:auto!important;overscroll-behavior:contain!important;padding:84px clamp(22px,5vw,42px) 36px!important;background:#fff!important;color:#1c1428!important;box-shadow:0 24px 80px rgba(27,10,46,.19)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;align-items:flex-start!important;justify-content:flex-start!important;animation:so-menu-slide .2s ease-out both}
 .so-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;padding:0!important;margin:0!important;max-width:520px!important}
 .so-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;width:100%!important;max-width:none!important;flex-wrap:nowrap!important;justify-content:flex-start!important}
 .so-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{display:block!important;width:100%!important;margin:0!important;padding:0!important;border-bottom:1px solid #ece6f2}
 .so-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{display:flex!important;align-items:center!important;min-height:57px!important;padding:13px 4px!important;font-size:17px!important;line-height:1.4!important;font-weight:650!important;color:#241334!important;text-decoration:none!important;white-space:normal!important}
 .so-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover{color:#541592!important}
 .so-header .wp-block-navigation__responsive-container-close{display:inline-flex!important;position:fixed!important;top:22px!important;right:clamp(22px,5vw,42px)!important;margin:0!important;z-index:100001!important}
 .so-header .wp-block-navigation__responsive-container.is-menu-open:before{content:'MENU';position:absolute;top:35px;left:clamp(22px,5vw,42px);font-size:11px;letter-spacing:.18em;font-weight:800;color:#8e48a0}
 body:has(.so-header .wp-block-navigation__responsive-container.is-menu-open){overflow:hidden!important}
 .wp-block-template-part:has(.so-header .wp-block-navigation__responsive-container.is-menu-open) .so-topbar{visibility:hidden!important}
}
@media(max-width:600px){
 .so-topbar{padding:7px 0!important}
 .so-topbar .so-topbar-inner{justify-content:center!important;text-align:center!important;width:calc(100% - 28px)!important}
 .so-topbar p{font-size:11px!important;line-height:1.4!important}
 .so-header .so-header-row{width:calc(100% - 30px)!important;min-height:70px!important;grid-template-columns:minmax(0,1fr) auto!important;padding-block:8px!important}
 .so-header .so-logo{width:48px!important;max-width:48px!important;min-width:0!important}
 .so-header .so-logo img{height:56px!important}
}
@media(max-width:360px){.so-header .so-header-row{width:calc(100% - 24px)!important}.so-header .so-logo{width:44px!important;max-width:44px!important}.so-header .so-logo img{height:53px!important}}
@media(prefers-reduced-motion:reduce){.so-header .wp-block-navigation__responsive-container.is-menu-open{animation:none!important}}
@keyframes so-menu-slide{from{opacity:.85;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}

/* Four equally aligned contact cards, including two full postal addresses. */
.wp-site-blocks .so-contact-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;align-items:stretch!important}
.wp-site-blocks .so-contact-cards>.wp-block-column{margin:0!important;min-width:0!important;width:100%!important;flex:initial!important;max-width:none!important}
.wp-site-blocks .so-contact-cards .so-community-card{display:flex!important;flex-direction:column!important;min-height:240px!important;border:1px solid rgba(84,21,146,.12);background:rgba(255,255,255,.92);border-radius:20px!important;padding:28px!important;box-shadow:0 14px 38px rgba(40,19,58,.055)!important}
.so-contact-cards .so-card-index{color:#7d419b!important;font-weight:800!important;letter-spacing:.12em!important;font-size:11px!important}
.so-contact-cards h3{font-size:clamp(1.12rem,2vw,1.4rem)!important;line-height:1.35!important;margin:5px 0 16px!important;overflow-wrap:anywhere}
.so-contact-cards .so-contact-address{font-size:15px!important;line-height:1.8!important;color:#4a4055!important;margin:0!important}
.so-contact-cards .so-office-action{margin-top:auto!important;padding-top:18px!important}
.so-contact-cards .so-office-action a{font-weight:750;text-underline-offset:4px}
@media(max-width:781px){.wp-site-blocks .so-contact-cards{grid-template-columns:1fr!important;gap:14px!important}.wp-site-blocks .so-contact-cards .so-community-card{min-height:auto!important;padding:23px 20px!important}.so-contact-cards .so-office-action{margin-top:12px!important;padding-top:4px!important}}

/* The legal hub is editorial, not a wall of legalese. */
.so-legal-overview{background:#f8f4fb!important}
.wp-site-blocks .so-legal-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px!important}
.wp-site-blocks .so-legal-grid>.wp-block-column{width:100%!important;min-width:0!important;flex:auto!important;margin:0!important}
.so-legal-card{display:flex!important;flex-direction:column;min-height:260px;padding:32px!important;border-radius:22px!important}
.so-legal-card h3{margin:4px 0 12px!important}
.so-legal-card-link{margin-top:auto!important;padding-top:18px!important}
.so-legal-prose .so-shell{max-width:850px}
.so-legal-prose h2{font-size:clamp(1.25rem,2.3vw,1.6rem)!important;margin:32px 0 12px!important}
.so-legal-prose p{line-height:1.9!important;margin-bottom:16px!important}
.so-legal-date{font-size:13px!important;color:#7b6b87!important;margin-bottom:32px!important}
@media(max-width:781px){.wp-site-blocks .so-legal-grid{grid-template-columns:1fr!important;gap:14px!important}.so-legal-card{min-height:210px;padding:24px!important}}
