/* v1.1.2: two-row desktop navigation avoids compressing labels and buttons. */
#site-header{background:#fff;border-bottom:1px solid #c5d5e0}
#site-header .nav-wrap{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px 24px;height:auto;min-height:86px;position:relative;padding-top:16px;padding-bottom:12px}
#site-header .brand{grid-column:1;display:flex;align-items:center;gap:12px;margin:0;min-width:0;white-space:nowrap}
#site-header .brand img,#site-header .brand .custom-logo{width:170px;max-width:170px;height:auto;flex-shrink:0}
#site-header .brand span{font-size:11px;letter-spacing:.08em;padding-left:12px;color:#151C32}
#site-header .store-link{grid-column:3;font-size:14px;color:#12326E;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}
#site-header .nav-cta{grid-column:4;margin:0;max-width:240px;padding:12px 18px;min-height:48px;font-size:14px;line-height:1.5;white-space:normal;text-align:center;background:#12326E;color:#fff;border-radius:0}
#site-header .nav-cta:hover{background:#151C32}
#site-header .menu-toggle{display:none}
#site-header .primary-nav{grid-column:1/-1;grid-row:2;width:100%;margin:0;min-width:0;border-top:1px solid #dbe5ed;padding-top:5px}
#site-header .primary-nav>ul{display:flex;align-items:center;justify-content:space-between;gap:8px 20px;flex-wrap:wrap;margin:0;padding:0;list-style:none}
#site-header .primary-nav>ul>li{margin:0;min-width:0}
#site-header .primary-nav a{display:block;padding:12px 0;min-height:44px;font-size:14px;line-height:1.5;color:#151C32;word-break:normal;overflow-wrap:normal;text-decoration:none}
#site-header .primary-nav a:hover,#site-header .primary-nav .current-menu-item>a{color:#12326E;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
#site-header .menu-toggle:focus-visible,#site-header a:focus-visible{outline:3px solid #151C32;outline-offset:4px}
@media(max-width:1099px){
#site-header .nav-wrap{grid-template-columns:1fr auto auto;gap:14px;padding-block:12px;min-height:78px}
#site-header .brand{grid-column:1}
#site-header .store-link{display:none}
#site-header .nav-cta{grid-column:2;grid-row:1;max-width:220px}
#site-header .menu-toggle{grid-column:3;grid-row:1;display:block;min-width:48px;min-height:48px;cursor:pointer;color:#151C32}
#site-header .primary-nav{grid-column:1/-1;grid-row:2;display:none;position:static;padding:8px 0 4px;max-height:calc(100dvh - 120px);overflow-y:auto;background:#fff;box-shadow:none}
#site-header .primary-nav.is-open{display:block}
#site-header .primary-nav>ul{display:block}
#site-header .primary-nav>ul>li{border-bottom:1px solid #dbe5ed}
#site-header .primary-nav a{padding:13px 4px;font-size:16px}
#site-header .primary-nav .sub-menu{position:static;display:block;padding-left:18px;box-shadow:none}
}
@media(max-width:600px){#site-header .nav-wrap{grid-template-columns:1fr auto;gap:12px;min-height:72px}#site-header .brand img,#site-header .brand .custom-logo{width:148px;max-width:148px}#site-header .brand span,#site-header .nav-cta{display:none}#site-header .menu-toggle{grid-column:2}#site-header .primary-nav{max-height:calc(100dvh - 100px)}}
/* Display original colour artwork without flattening the fine lettering. */
.site-footer{background:#f4f7f9;color:#465468;border-top:1px solid #dbe5ed}.site-footer .footer-brand img{content:url("fortem-logo-original.png");width:220px;max-width:100%;height:auto;filter:none!important;object-fit:contain;display:block}.site-footer h3,.site-footer .footer-brand strong{color:#151c32}.site-footer a{color:#12326e}.site-footer .legal{border-top-color:#cbd6df;color:#465468}.site-footer .footer-brand p{color:#465468}

/* Campaign owns its hero and enquiry CTA; avoid duplicated theme sections. */
body.fewr-connect-campaign #main > .page-hero,
body.fewr-connect-campaign .footer-cta{display:none}
body.fewr-connect-campaign #site-header{background:#fff}

body.fewr-editorial-page #main>.page-hero,body.fewr-editorial-page .footer-cta{display:none}body.fewr-editorial-page .entry-content.wrap{max-width:none;width:100%;padding:0}

#site-header .brand img,#site-header .brand .custom-logo{width:250px;max-width:250px;height:auto}#site-header .brand{padding:8px 0}#site-header .brand span{display:none}.site-footer .footer-brand img{width:250px;max-width:100%;height:auto}@media(max-width:600px){#site-header .brand img,#site-header .brand .custom-logo{width:250px;max-width:250px}#site-header .nav-wrap{column-gap:12px;padding-inline:10px}#site-header .menu-toggle{min-width:44px}}

/* v1.2.3: keep search available but give the formerly blank field a clear label. */
.site-search.wrap{display:flex;justify-content:flex-end;padding-block:12px;max-width:1240px}
.site-search #searchform{width:min(100%,420px);margin:0}
.site-search #searchform>div{display:flex;align-items:center;gap:10px}
.site-search #searchform label.screen-reader-text{position:static!important;clip:auto!important;clip-path:none!important;width:auto!important;height:auto!important;overflow:visible!important;white-space:nowrap;font-size:14px;color:#151C32}
.site-search #searchform input[type=text]{flex:1;min-width:0;min-height:44px;border:1px solid #8090a8;padding:8px 12px;font:inherit;font-size:15px;background:#fff;color:#151C32}
.site-search #searchform input[type=submit]{min-height:44px;padding:8px 16px;border:0;background:#12326E;color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.site-search #searchform input:focus-visible{outline:3px solid #004F9F;outline-offset:3px}
@media(max-width:600px){.site-search.wrap{padding:10px 22px}.site-search #searchform{width:100%}.site-search #searchform label{font-size:12px!important}}
