/* Ultra Build - header and footer (Astra child theme) */
.ub-header,.ub-footer{font-family:'Manrope','Segoe UI',system-ui,sans-serif;color:#18201E;font-size:16px;line-height:1.5}
.ub-header *,.ub-footer *{box-sizing:border-box}
.ub-wrap{width:100%;max-width:1360px;margin-inline:auto;padding-inline:20px}
.ub-header a,.ub-footer a{text-decoration:none;box-shadow:none}

/* ---------- header ---------- */
.ub-header{position:sticky;top:0;z-index:999;background:rgba(243,245,244,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #D7DDDA}
.admin-bar .ub-header{top:32px}
@media (max-width:782px){.admin-bar .ub-header{top:46px}}
.ub-hrow{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.ub-brand{display:flex;align-items:center;gap:10px;color:#18201E;min-width:0}
.ub-brand:hover{color:#18201E}
.ub-brand-mark{flex:none;display:block}
.ub-brand-name{font:700 21.6px/1 'Barlow Condensed','Arial Narrow',Arial,sans-serif;text-transform:uppercase;letter-spacing:.02em}
.ub-brand-name small{display:block;font:500 10px/1.3 'IBM Plex Mono',ui-monospace,Menlo,monospace;letter-spacing:.2em;color:#5B6662}

.ub-nav{display:flex;align-items:center;gap:4px}
.ub-nav .ub-menu{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.ub-nav .ub-menu>li{position:relative;margin:0}
.ub-nav .ub-menu a{display:block;font-weight:600;font-size:15px;padding:8px 12px;border-radius:6px;color:#18201E}
.ub-nav .ub-menu a:hover,.ub-nav .ub-menu a:focus{background:#E5ECE9;color:#18201E}
.ub-nav .ub-menu .current-menu-item>a,.ub-nav .ub-menu .current-menu-ancestor>a,.ub-nav .ub-menu .current_page_item>a{color:#0E5A4C}
.ub-nav .ub-menu .menu-item-has-children>a::after{content:" \25BE"}
.ub-nav .ub-menu .sub-menu{position:absolute;top:100%;left:0;min-width:230px;margin:0;padding:6px;list-style:none;background:#FFFFFF;border:1px solid #D7DDDA;border-radius:6px;box-shadow:0 12px 30px rgba(0,0,0,.12);display:none}
.ub-nav .ub-menu li:hover>.sub-menu,.ub-nav .ub-menu li:focus-within>.sub-menu{display:grid}
.ub-nav .ub-menu .sub-menu a{font-weight:500}
.ub-nav a.ub-btn{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;padding:11px 18px;border:1.5px solid #0E5A4C;border-radius:6px;background:#0E5A4C;color:#FFFFFF;font-weight:700;font-size:15px;line-height:1}
.ub-nav a.ub-btn:hover,.ub-nav a.ub-btn:focus{background:#0A4A3E;border-color:#0A4A3E;color:#FFFFFF}
.ub-header :focus-visible,.ub-footer :focus-visible{outline:2px solid #E0A21B;outline-offset:3px}

/* hamburger button (hidden on desktop) */
.ub-header button.ub-menu-btn{display:none;align-items:center;justify-content:center;flex:none;width:44px;height:44px;min-width:44px;padding:0;margin:0;background:transparent;border:1px solid #D7DDDA;border-radius:6px;color:#18201E;cursor:pointer;box-shadow:none;line-height:1}
.ub-header button.ub-menu-btn:hover,.ub-header button.ub-menu-btn:focus{background:#E5ECE9;color:#18201E}
.ub-header .ub-bars{position:relative;display:block;width:20px;height:14px;pointer-events:none}
.ub-header .ub-bars span{position:absolute;left:0;display:block;width:100%;height:2px;border-radius:2px;background:#18201E;transition:transform .2s,opacity .2s,top .2s}
.ub-header .ub-bars span:nth-child(1){top:0}
.ub-header .ub-bars span:nth-child(2){top:6px}
.ub-header .ub-bars span:nth-child(3){top:12px}
.ub-header button.ub-menu-btn[aria-expanded="true"] .ub-bars span:nth-child(1){top:6px;transform:rotate(45deg)}
.ub-header button.ub-menu-btn[aria-expanded="true"] .ub-bars span:nth-child(2){opacity:0}
.ub-header button.ub-menu-btn[aria-expanded="true"] .ub-bars span:nth-child(3){top:6px;transform:rotate(-45deg)}

@media (max-width:920px){
  .ub-header button.ub-menu-btn{display:inline-flex}
  .ub-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:#FFFFFF;border-bottom:1px solid #D7DDDA;padding:10px 20px 18px;max-height:calc(100vh - 80px);overflow-y:auto}
  .ub-nav.open{display:flex}
  .ub-nav .ub-menu{flex-direction:column;align-items:stretch;gap:0}
  .ub-nav .ub-menu .sub-menu{position:static;display:grid;border:0;box-shadow:none;padding:0 0 0 14px;background:none;min-width:0}
  .ub-nav a.ub-btn{margin:8px 0 0}
}

/* ---------- footer ---------- */
.ub-footer{background:#F3F5F4;border-top:1px solid #D7DDDA;padding-block:56px 32px;overflow:hidden}
.ub-foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
.ub-foot-grid>*{min-width:0}
.ub-foot-brand{display:grid;gap:18px;align-content:start}
.ub-foot-brand p{margin:0;color:#5B6662;font-size:15px}

/* column heading: bigger and bolder than the links under it */
.ub-footer .ub-foot-grid h4{margin:0 0 14px;font:700 16px/1.3 'IBM Plex Mono',ui-monospace,Menlo,monospace;letter-spacing:.1em;text-transform:uppercase;color:#18201E}

/* links: smaller than the heading */
.ub-footer .ub-foot-menu{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ub-footer .ub-foot-menu li{margin:0;font-size:14px;line-height:1.5}
.ub-footer .ub-foot-menu a{color:#5B6662;font-size:14px;font-weight:500;overflow-wrap:anywhere}
.ub-footer .ub-foot-menu a:hover{color:#0E5A4C}
.ub-footer .ub-foot-menu .ub-mono,.ub-footer .ub-foot-menu .ub-mono a{font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace;font-size:13px;overflow-wrap:anywhere}
.ub-footer .ub-foot-menu .ub-muted{color:#5B6662;font-size:14px}

.ub-foot-base{margin-top:40px;padding-top:20px;border-top:1px solid #D7DDDA;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:#5B6662}
.ub-foot-base .ub-credit{flex-basis:100%;text-align:center;padding-top:12px;border-top:1px solid #E5ECE9}
.ub-footer .ub-foot-base .ub-credit a{color:#0E5A4C;font-weight:600}
.ub-footer .ub-foot-base .ub-credit a:hover,.ub-footer .ub-foot-base .ub-credit a:focus{color:#0A4A3E;text-decoration:underline}
@media (max-width:860px){.ub-foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.ub-foot-grid{grid-template-columns:minmax(0,1fr)}.ub-footer{padding-block:40px 24px}}
