@import url('preview-base.css');
@import url('preview-enhancements.css');
:root{--ink:#163b4d;--teal:#0e7490;--mist:#e8f4f4;--canvas:#f8fafc;--body:#315465;--coral:#df8065;--red:#ef3948;--line:#d7e4e8;--radius:18px}

/* Final WordPress header parity: shared by the local preview pages. */
.notice{display:none}.site-header{box-sizing:border-box;width:100%;max-width:none;height:140px;min-height:140px;margin:0;padding:20px max(24px,calc((100vw - 1360px)/2));background:var(--canvas);display:flex;align-items:center;gap:24px}.site-header .brand{display:block;flex:0 0 100px;width:100px;height:100px;overflow:hidden}.site-header .brand img{display:block;width:100%;height:100%;object-fit:contain}.primary-nav{margin-left:auto;display:flex;align-items:center;gap:22px}.primary-nav>a,.nav-label,.nav-parent{font-size:16px!important;line-height:1.2!important;font-weight:700}
@media(max-width:760px){.site-header{height:auto;min-height:202px;padding:32px 32px 30px 50px;align-items:flex-start;gap:0}.site-header .brand{width:145px;height:138px;flex-basis:145px}.menu-toggle{box-sizing:border-box!important;display:block!important;width:84px!important;min-width:84px!important;max-width:84px!important;height:84px!important;min-height:84px!important;max-height:84px!important;margin:28px 0 0 auto!important;padding:19px!important;border-radius:15px!important}.menu-toggle span{display:block!important;width:40px!important;min-width:40px!important;max-width:40px!important;height:4px!important;min-height:4px!important;max-height:4px!important;margin:5px auto!important}.primary-nav{display:none;flex-basis:100%;order:3}.primary-nav.is-open{position:relative;left:-50px;display:flex;width:calc(100% + 82px);margin:0;padding:32px 34px 42px;background:var(--canvas);flex-direction:column;align-items:stretch;gap:0}.primary-nav.is-open>a,.primary-nav.is-open .nav-group{box-sizing:border-box;min-height:85px;padding:0;display:flex;align-items:center}.primary-nav.is-open .nav-group{display:grid;grid-template-columns:1fr auto}.primary-nav.is-open>a,.primary-nav.is-open .nav-label{font-size:1.5rem!important;font-weight:700}.primary-nav.is-open .nav-parent{font-size:1.5rem!important;width:45px!important;height:45px!important}.primary-nav.is-open .submenu{grid-column:1/-1}}

/* The footer logo decoration must never apply to the header logo. */
.site-header .brand::before{content:none!important;display:none!important;background:none!important}
@media(min-width:761px){.site-header .brand{flex:0 0 100px!important;width:100px!important;height:100px!important;min-width:100px!important}.site-header .brand img{width:100px!important;height:100px!important;max-width:100px!important;max-height:100px!important;object-fit:contain!important}}
@media(max-width:760px){.site-header .brand{flex:0 0 145px!important;width:145px!important;height:138px!important;min-width:145px!important}.site-header .brand img{width:145px!important;height:138px!important;max-width:145px!important;max-height:138px!important;object-fit:contain!important}}

/* Mobile header: match the compact proportions of the approved reference. */
@media(max-width:760px){
  .site-header{min-height:67px!important;height:67px!important;padding:11px 11px 10px 17px!important}
  .site-header .brand{flex:0 0 48px!important;width:48px!important;height:46px!important;min-width:48px!important}
  .site-header .brand img{width:48px!important;height:46px!important;max-width:48px!important;max-height:46px!important}
  .menu-toggle{width:28px!important;min-width:28px!important;max-width:28px!important;height:28px!important;min-height:28px!important;max-height:28px!important;margin:9px 0 0 auto!important;padding:6px!important;border-radius:5px!important}
  .menu-toggle span{width:13px!important;min-width:13px!important;max-width:13px!important;height:1.5px!important;min-height:1.5px!important;max-height:1.5px!important;margin:2px auto!important}
  .primary-nav.is-open{left:-17px!important;width:calc(100% + 28px)!important;padding:11px 12px 14px!important}
  .primary-nav.is-open>a,.primary-nav.is-open .nav-label{font-size:14px!important}
  .primary-nav.is-open .nav-parent{font-size:14px!important;width:28px!important;height:28px!important}
}

/* Open mobile navigation: the compact, evenly spaced reference layout. */
@media(max-width:760px){
  .primary-nav.is-open{padding:16px 11px 22px!important;gap:0!important}
  .primary-nav.is-open>a,
  .primary-nav.is-open .nav-group{min-height:28px!important;padding:0!important;margin:0!important}
  .primary-nav.is-open>a,
  .primary-nav.is-open .nav-label{font-size:14px!important;font-weight:700!important;line-height:20px!important}
  .primary-nav.is-open .nav-group{grid-template-columns:minmax(0,1fr) 28px!important;align-items:center!important}
  .primary-nav.is-open .nav-parent{justify-self:end!important;align-self:center!important}
}

/* Mobile accessibility sizing: comfortable 48px control with balanced logo and inset menu. */
@media(max-width:760px){
  .site-header{min-height:140px!important;height:140px!important;padding:22px 24px 22px 32px!important}
  .site-header .brand{flex:0 0 112px!important;width:112px!important;height:96px!important;min-width:112px!important}
  .site-header .brand img{width:112px!important;height:96px!important;max-width:112px!important;max-height:96px!important}
  .menu-toggle{width:48px!important;min-width:48px!important;max-width:48px!important;height:48px!important;min-height:48px!important;max-height:48px!important;margin:24px 0 0 auto!important;padding:10px!important;border-radius:10px!important}
  .menu-toggle span{width:24px!important;min-width:24px!important;max-width:24px!important;height:3px!important;min-height:3px!important;max-height:3px!important;margin:3px auto!important}
  .primary-nav.is-open{left:-32px!important;width:calc(100% + 56px)!important;padding:22px 32px 28px!important}
  .primary-nav.is-open>a,.primary-nav.is-open .nav-group{min-height:44px!important}
  .primary-nav.is-open>a,.primary-nav.is-open .nav-label{font-size:14px!important;font-weight:700!important;line-height:20px!important}
  .primary-nav.is-open .nav-group{grid-template-columns:minmax(0,1fr) 32px!important}
}

/* Keep the complete mobile logo visible; never clip its lower tagline. */
@media(max-width:760px){
  .site-header .brand{height:106px!important;overflow:visible!important}
  .site-header .brand img{height:auto!important;max-height:none!important}
}

/* Final mobile header: contained logo with equal top and bottom space. */
@media(max-width:760px){
  .site-header{min-height:67px!important;height:67px!important;padding:10px 17px!important;align-items:center!important}
  .site-header .brand{flex:0 0 48px!important;width:48px!important;height:46px!important;min-width:48px!important;overflow:visible!important}
  .site-header .brand img{display:block!important;width:48px!important;height:46px!important;max-width:48px!important;max-height:46px!important;object-fit:contain!important}
  .menu-toggle{width:28px!important;min-width:28px!important;max-width:28px!important;height:28px!important;min-height:28px!important;max-height:28px!important;margin:0 0 0 auto!important;padding:6px!important;border-radius:5px!important}
  .menu-toggle span{width:13px!important;min-width:13px!important;max-width:13px!important;height:1.5px!important;min-height:1.5px!important;max-height:1.5px!important;margin:2px auto!important}
}
