.soooa-site-header{position:relative;z-index:1000;width:100%;background:#fff;border-bottom:1px solid #eee;box-sizing:border-box}
.soooa-site-header--home-overlay{position:absolute;top:0;left:0;right:0;background:transparent;border-bottom:0;color:#fff}
.soooa-site-header__inner{position:relative;width:min(100%,var(--soooa-frame-header-width));min-height:var(--soooa-frame-header-height);margin:0 auto;padding:0 18px;display:flex;align-items:center;box-sizing:border-box}
.soooa-site-logo{display:inline-flex;align-items:center;color:#222;text-decoration:none;white-space:nowrap;font-size:var(--soooa-frame-logo-size);font-weight:600;line-height:1.2;z-index:2}
.soooa-site-logo--left{margin-right:30px}
.soooa-site-logo--right{order:3;margin-left:30px}
.soooa-site-logo--center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.soooa-site-logo__image{display:block;max-width:180px;max-height:50px;width:auto;height:auto;object-fit:contain}
.soooa-mobile-menu{display:flex;align-items:center;margin-left:auto}.soooa-nav-stack{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.soooa-admin-nav{display:flex;align-items:center;gap:var(--soooa-frame-menu-gap);white-space:nowrap}.soooa-admin-nav__link{font-size:calc(var(--soooa-frame-font-size) - 1px);opacity:.9}.soooa-site-nav{display:flex;align-items:center;gap:var(--soooa-frame-menu-gap);white-space:nowrap}.soooa-mobile-toggle{display:none}
.soooa-site-logo--right~.soooa-site-nav{order:2;margin-left:auto}
.soooa-site-logo--center~.soooa-site-nav{margin-left:auto}
.soooa-site-nav__link{display:inline-flex;align-items:center;justify-content:center;color:#444;text-decoration:none;font-size:var(--soooa-frame-font-size);line-height:1.2;transition:opacity .2s ease,transform .2s ease,text-decoration-color .2s ease}
.soooa-site-nav__link:hover{opacity:.65}
.soooa-site-nav__link--active{color:#111 !important;font-weight:500 !important;opacity:1 !important}
.soooa-menu-image-wrap{display:inline-flex;position:relative;align-items:center}
.soooa-menu-image{display:block;max-height:36px;width:auto;object-fit:contain}
.soooa-menu-image--hover{display:none}
.soooa-menu-image-wrap:hover .soooa-menu-image--normal{display:none}
.soooa-menu-image-wrap:hover .soooa-menu-image--hover{display:block}
.soooa-site-footer{width:100%;box-sizing:border-box;background:#fff;border-top:1px solid #eee;padding:30px 20px 36px;text-align:center;color:#777;font-size:13px;line-height:1.8}
.soooa-site-footer__socials{display:flex;justify-content:center;align-items:center;gap:14px;margin:0 0 18px}
.soooa-site-footer__social{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;text-decoration:none;transition:transform .2s ease}
.soooa-footer-icon{display:block;width:30px;height:30px;object-fit:contain}
.soooa-footer-icon--color{display:none}
.soooa-site-footer__social:hover{transform:translateY(-2px)}
.soooa-site-footer__social:hover .soooa-footer-icon--mono{display:none}
.soooa-site-footer__social:hover .soooa-footer-icon--color{display:block}
.soooa-site-footer__social--disabled{cursor:default}
.soooa-site-footer__items{display:flex;justify-content:center;align-items:center;gap:22px;flex-wrap:wrap;margin-bottom:18px}.soooa-site-footer__items--manual{margin-top:var(--soooa-footer-items-top-spacing,0px)}
.soooa-site-footer__item{display:inline-flex;align-items:center;justify-content:center;color:#777;text-decoration:none;transition:opacity .2s ease,transform .2s ease}
.soooa-site-footer__item img{display:block;width:var(--soooa-frame-footer-icon-size);height:var(--soooa-frame-footer-icon-size);object-fit:contain}.soooa-site-footer__item .soooa-footer-manual-image--hover{display:none}.soooa-site-footer__item:hover .soooa-footer-manual-image--normal{display:none}.soooa-site-footer__item:hover .soooa-footer-manual-image--hover{display:block}
.soooa-site-footer__item:hover{opacity:.8;transform:translateY(-2px)}
.soooa-site-footer__item span{display:none}
.soooa-site-header--home-overlay .soooa-site-logo,
.soooa-site-header--home-overlay .soooa-site-nav__link{color:#fff;text-shadow:0 2px 7px rgba(0,0,0,.65)}
.soooa-site-header--home-overlay .soooa-site-nav__link:hover{opacity:1;text-shadow:0 2px 9px rgba(0,0,0,.8)}
.soooa-site-header--home-overlay .soooa-site-nav__link--active{color:#fff !important;text-shadow:0 2px 7px rgba(0,0,0,.65)}
@media (max-width:1100px){
 .soooa-site-header__inner{overflow-x:auto;justify-content:flex-start}
 .soooa-site-logo--center{position:static;transform:none}
}
@media (max-width:700px){
 .soooa-site-header__inner{min-height:62px;padding:14px;display:flex;flex-direction:row;align-items:center;gap:0;overflow:visible}
 .soooa-site-logo,.soooa-site-logo--left,.soooa-site-logo--right,.soooa-site-logo--center{position:static;order:0;margin:0;transform:none;align-self:center;font-size:18px}
 .soooa-mobile-toggle{display:flex;position:relative;z-index:1003;width:40px;height:40px;margin-left:auto;padding:8px;border:0;background:transparent;cursor:pointer;flex-direction:column;justify-content:center;gap:5px}
 .soooa-mobile-toggle span{display:block;width:24px;height:2px;margin:0 auto;background:#222;transition:transform .2s ease,opacity .2s ease}
 .soooa-site-header--home-overlay .soooa-mobile-toggle span{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.45)}
 .soooa-mobile-menu{position:absolute;top:100%;left:0;right:0;z-index:1002;display:block;margin:0;padding:12px 18px 18px;background:rgba(255,255,255,.97);box-sizing:border-box;visibility:hidden;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
 .soooa-mobile-menu-open .soooa-mobile-menu{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}
 .soooa-nav-stack{width:100%;align-items:stretch;gap:0}.soooa-site-nav,.soooa-admin-nav,.soooa-site-logo--right~.soooa-site-nav,.soooa-site-logo--center~.soooa-site-nav{width:auto;order:0;margin:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;white-space:normal}
 .soooa-admin-nav{display:flex;flex-direction:column;align-items:stretch;gap:0;margin-top:4px;border-top:1px solid rgba(0,0,0,.12);padding-top:4px}.soooa-admin-nav__link{font-size:var(--soooa-frame-mobile-font-size)}
 .soooa-site-nav__link{width:100%;min-height:44px;padding:10px 4px;box-sizing:border-box;justify-content:flex-start;color:#222;font-size:var(--soooa-frame-mobile-font-size);line-height:1.35;border-bottom:1px solid rgba(0,0,0,.08)}
 .soooa-menu-image{max-height:30px}
 .soooa-site-header--home-overlay .soooa-site-nav__link{color:#222;text-shadow:none}
 .soooa-mobile-menu-open .soooa-mobile-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .soooa-mobile-menu-open .soooa-mobile-toggle span:nth-child(2){opacity:0}
 .soooa-mobile-menu-open .soooa-mobile-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .soooa-site-header--home-overlay{position:absolute}
}

/* WordPress admin bar compensation: keep the home overlay header below the admin toolbar for logged-in users. */
body.admin-bar .soooa-site-header--home-overlay {
 top:32px;
}
@media (max-width:782px){
 body.admin-bar .soooa-site-header--home-overlay {
  top:46px;
 }
}

/* Home hero scroll behavior: the header follows the viewport only while the main image is visible. */
.soooa-site-header--home-overlay.soooa-home-header-follow{
 position:fixed;
 top:0;
 left:0;
 right:0;
 background:transparent;
 border-bottom:0;
}
.soooa-site-header--home-overlay.soooa-home-header-hidden{
 opacity:0;
 transform:translateY(-100%);
 pointer-events:none;
 transition:opacity .18s ease,transform .18s ease;
}
.soooa-site-header--home-overlay.soooa-home-header-follow:not(.soooa-home-header-hidden){
 opacity:1;
 transform:none;
 transition:opacity .18s ease,transform .18s ease;
}
@media (max-width:700px){
 .soooa-site-header--home-overlay.soooa-home-header-follow{
  position:absolute;
 }
 .soooa-site-header--home-overlay.soooa-home-header-hidden{
  opacity:1;
  transform:none;
  pointer-events:auto;
 }
}
