.ra-header { background:#fff; color:#004942; font-family:program,sans-serif; }
.ra-header .promo-banner { pointer-events:none; overflow:hidden; width:100%; background:#004942; padding:17px 0 15px; }
.ra-header .promo-banner .swiper-wrapper { display:flex; width:100%; height:100%; box-sizing:content-box; transition-property:transform; transition-timing-function:linear; }
.ra-header .promo-banner .swiper-slide { flex-shrink:0; width:max-content; display:flex; align-items:center; }
.ra-header .promo-banner .text { width:max-content; margin:0 50px 0 0; color:#fff; line-height:1; font-weight:500; white-space:nowrap; }
.ra-header .promo-banner svg { flex:0 0 auto; margin-right:50px; }
@media (max-width:767px) {
 .ra-header .promo-banner { padding:9px 0 8px; }
 .ra-header .promo-banner .text { font-size:23px; }
}
.ra-header [hidden] { display:none !important; }
.ra-top { position:relative; max-width:1600px; margin:auto; min-height:94px; padding:20px clamp(36px,4vw,72px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; }
.ra-logo { display:block; width:310px; max-width:100%; }
.ra-logo picture { display:block; }
.ra-logo img { display:block; width:100%; height:auto; }
.ra-header .ra-control { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:4px; color:#004942; border:0; background:transparent; font-family:inherit; font-size:0.944444rem; line-height:1.3; cursor:pointer; border-radius:0; white-space:nowrap; }
.ra-header .ra-control svg { width:30px; height:30px; flex-shrink:0; }
.ra-header .ra-control > svg { display:block; }
.ra-header .ra-control.cart > svg { transform:translateY(2px); }
.ra-header .ra-control span { color:inherit; font-family:program,sans-serif; font-weight:500; }
.ra-header .ra-desktop-search { justify-self:start; }
.ra-header .ra-actions { display:flex; justify-content:flex-end; align-items:center; gap:30px; }
.ra-header .ra-actions .cart, .ra-header .ra-drawer-actions .cart { width:auto; height:auto; position:static; }
.ra-header .cart .total { position:static; display:inline; width:auto; height:auto; margin:0; padding:0; border:0; background:transparent; border-radius:0; font:inherit; color:inherit; }
.ra-header .cart .total span { font:inherit; color:inherit; }
.ra-header .ra-mobile-menu, .ra-header .ra-mobile-search { display:none; }
.ra-header button:focus-visible, .ra-header a:focus-visible, .ra-header input:focus-visible { outline:3px solid #007d70; outline-offset:3px; }
.ra-header a:hover, .ra-header button:hover { color:#00786d; }
.ra-desktop-nav { position:relative; max-width:1600px; margin:auto; padding:0 clamp(36px,4vw,72px); }
.ra-top-links { display:flex; align-items:stretch; justify-content:space-between; gap:14px; border-top:1px solid #e6ecea; list-style:none; padding:0; margin:0; }
.ra-top-links > li { display:flex; align-items:stretch; }
.ra-top-links > li > a, .ra-top-links > li > button { display:flex; align-items:center; justify-content:center; gap:14px; min-height:50px; padding:10px 3px; border:0; border-bottom:2px solid transparent; color:#004942; background:transparent; font-family:inherit; font-size:0.944444rem; font-weight:600; line-height:1.3; text-transform:uppercase; text-decoration:none; cursor:pointer; text-align:left; }
.ra-top-links .ra-journal { position:relative; margin-left:16px; }
.ra-top-links .ra-journal::before { content:''; height:16px; border-left:1px solid #9db4b0; position:absolute; left:-17px; top:17px; }
.ra-top-links button[aria-expanded=true] { border-bottom-color:#004942; }
.ra-header .ra-top-links > li > a, .ra-header .ra-top-links > li > button { font-family:program,sans-serif; font-weight:500; }
.ra-chevron { display:inline-block; flex-shrink:0; width:9px; height:9px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-3px); }
[aria-expanded=true] .ra-chevron { transform:rotate(225deg) translate(-2px,-1px); }
.ra-mega { position:absolute; left:0; right:0; top:100%; background:#fff; box-shadow:0 8px 12px #0049420a; border-top:1px solid #edf1f0; padding:24px 7% 26px; z-index:10; }
.ra-mega-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.ra-mega-column { padding:0 36px; min-height:240px; }
.ra-mega-column + .ra-mega-column { border-left:1px solid #e0e8e5; }
.ra-mega-column h2 { font-family:program-narrow,sans-serif; font-weight:900; text-transform:uppercase; font-size:23px; line-height:1.2; margin:4px 0 12px; }
.ra-mega-column ul { list-style:none; margin:0; padding:0; }
.ra-mega-column a { display:block; color:#3d5667; font-family:program,sans-serif; font-size:16px; line-height:1.5; padding:4px 0; }
.ra-header .ra-mega-column a:hover, .ra-header .ra-mobile-links ul a:hover { color:#004942; text-decoration:none; }
.ra-top > :not(.ra-search-panel) { transition:opacity 180ms ease; }
.ra-search-open .ra-top > .ra-desktop-search { opacity:0; visibility:hidden; pointer-events:none; }
.ra-top .ra-search-panel { position:absolute; inset:20px 28px; display:flex; align-items:center; margin:0; padding:0; opacity:0; visibility:hidden; transform:scaleX(.92); transform-origin:left center; transition:opacity 220ms ease,transform 320ms cubic-bezier(.22,1,.36,1),visibility 320ms; pointer-events:none; }
.ra-search-open .ra-top .ra-search-panel { opacity:1; visibility:visible; transform:scaleX(1); pointer-events:auto; transition:opacity 220ms ease,transform 320ms cubic-bezier(.22,1,.36,1); }
.ra-search-panel .ra-search { min-height:50px; border:1px solid #d6e3e0; border-radius:4px; background:#f6f9f8; }
.ra-search-panel .ra-search:focus-within { border-color:#004942; box-shadow:0 0 0 2px #00494226; }
.ra-header .ra-search-panel input[type=search] { font-family:program,sans-serif; font-size:1rem; }
.ra-header .ra-search-panel input[type=search]:focus-visible { outline:none; }
.ra-header .ra-search-panel .ra-close { width:48px; min-height:44px; margin-right:3px; }
.ra-header .ra-search-panel .ra-close > span { transform:none; }
.ra-search { display:flex; align-items:center; width:100%; background:#f1f3f2; border-radius:7px; }
.ra-search .ra-control { width:44px; flex-shrink:0; }
.ra-search .ra-control svg { width:20px; height:20px; }
.ra-search input[type=search] { min-width:0; width:100%; height:44px; padding:8px 12px 8px 0; border:0; background:transparent; font:inherit; font-size:16px; color:#004942; }
.ra-search input::placeholder { color:#596774; opacity:1; }
.ra-header .ra-drawer .ra-search input[type=search]:focus { outline:none; border:0; box-shadow:none; }
.ra-drawer .ra-search:has(input:focus-visible) { box-shadow:0 0 0 2px #00494226; }
.site-main .ra-breadcrumbs.site-container { box-sizing:border-box; width:100%; max-width:1600px; margin:0 auto; padding:16px 28px; }
.site-main .ra-breadcrumbs ol { display:flex; flex-wrap:wrap; gap:6px 10px; list-style:none; margin:0; padding:0; font-family:program,sans-serif; font-size:0.833333rem; line-height:1.5; font-weight:400; color:#385c54; }
.site-main .ra-breadcrumbs ol > li { display:flex; align-items:baseline; gap:10px; min-width:0; list-style:none; margin:0; padding:0; overflow-wrap:anywhere; }
.site-main .ra-breadcrumbs li + li::before { content:'/'; flex-shrink:0; margin:0; color:#728b86; }
.site-main .ra-breadcrumbs li:last-child { color:#004942; }
.site-main .ra-breadcrumbs a { color:#385c54; text-decoration:none; }
.site-main .ra-breadcrumbs a:hover { color:#004942; text-decoration:underline; text-underline-offset:3px; }
.site-main .ra-breadcrumbs a:focus-visible { outline:2px solid #007d70; outline-offset:3px; }
.ra-breadcrumbs ~ * .woocommerce-breadcrumb { display:none; }
.ra-skip { position:absolute; left:12px; top:-200px; padding:12px 20px; background:#fff; color:#004942; z-index:100001; }
.ra-skip:focus { top:12px; }
.ra-menu-symbol { display:block; width:22px; height:16px; position:relative; border-top:1.5px solid; border-bottom:1.5px solid; }
.ra-menu-symbol::after { content:''; position:absolute; left:0; right:0; top:6px; border-top:1.5px solid; }
.ra-header .ra-close { width:44px; flex-shrink:0; }
.ra-close span { position:relative; width:20px; height:20px; display:block; }
.ra-close span::before, .ra-close span::after { content:''; position:absolute; left:0; top:9px; width:20px; border-top:1.5px solid; transform:rotate(45deg); }
.ra-close span::after { transform:rotate(-45deg); }
.ra-drawer { position:fixed; inset:0; width:100%; height:100dvh; background:#fff; z-index:100005; padding:24px; padding-bottom:max(24px,env(safe-area-inset-bottom)); overflow-y:auto; overscroll-behavior:contain; }
.ra-drawer-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:14px; }
.ra-drawer-head .ra-logo { width:230px; max-width:calc(100% - 64px); }
.ra-mobile-links, .ra-mobile-links ul { list-style:none; margin:0; padding:0; }
.ra-mobile-links { margin-top:18px; }
.ra-mobile-links li { position:relative; }
.ra-header .ra-mobile-links > li > a { display:block !important; padding:10px 44px 10px 0; font-family:program-narrow,sans-serif; font-weight:900; font-size:22px; line-height:1.25; text-transform:uppercase; color:#004942; }
.ra-mobile-links > li:not(.menu-item-has-children) > a::after { content:''; position:absolute; right:9px; top:20px; width:8px; height:8px; border-top:1.5px solid; border-right:1.5px solid; transform:rotate(45deg); }
.ra-header .ra-sub-toggle { position:absolute; right:0; top:3px; width:36px; min-height:44px; font:26px/1 sans-serif; padding:0; }
.ra-mobile-links ul { padding:0 0 10px 12px; }
.ra-mobile-links ul a { display:block; padding:8px 0; font-size:16px; color:#3d5667; }
.ra-mobile-links .ra-journal { margin-top:30px; padding:12px 0; border-top:1px solid #769f96; border-bottom:1px solid #769f96; }
.ra-mobile-links .ra-journal > a::after { top:31px; }
.ra-drawer-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:28px; }
.ra-header .ra-drawer-actions .ra-control { gap:12px; font-size:15px; }
html.ra-drawer-open, body.ra-drawer-open { overflow:hidden; }
/* Align Program's visible lettering with the centre of the supplied icons. */
.ra-header .ra-drawer-actions .ra-control > span { transform:translateY(2px); }
@media (min-width:1200px) {
 .ra-top .ra-search-panel { right:calc(50% + 187px); }
 .ra-header .ra-top .ra-control > span { transform:translateY(2px); }
}
@media (max-width:1199.98px) {
 .site-main .ra-breadcrumbs.site-container { padding-inline:20px; }
 .ra-top { padding-inline:36px; }
 .ra-desktop-nav { padding-inline:36px; }
 .ra-top-links { gap:10px; }
 .ra-top-links > li > a, .ra-top-links > li > button { gap:8px; }
 .ra-top-links .ra-journal { margin-left:10px; }
 .ra-top-links .ra-journal::before { left:-10px; }
}
@media (max-width:1199.98px) {
 .ra-search-open .ra-top > :not(.ra-search-panel) { opacity:0; visibility:hidden; pointer-events:none; }
 .ra-top { grid-template-columns:32px minmax(0,1fr) auto; gap:12px; padding:12px 16px; min-height:76px; }
 .ra-top > .ra-logo { width:120px; }
 .ra-header .ra-mobile-menu, .ra-header .ra-mobile-search { display:inline-flex; }
 .ra-header .ra-mobile-menu { width:32px; }
 .ra-header .ra-desktop-search, .ra-desktop-nav { display:none; }
 .ra-header .ra-actions { gap:14px; margin-left:8px; }
 .ra-header .ra-actions .ra-control { flex-direction:column; gap:8px; min-width:44px; font-size:15px; padding:0; }
 .ra-header .ra-actions .ra-control svg { width:24px; height:24px; }
 .ra-header .ra-top .ra-control svg [stroke] { stroke-width:1.9; }
 .ra-header .ra-mobile-menu .ra-menu-symbol { border-width:2px 0; }
 .ra-header .ra-mobile-menu .ra-menu-symbol::after { border-top-width:2px; }
 .ra-header .ra-actions .ra-control > span { line-height:1.2; font-weight:400; }
 .ra-top .ra-search-panel { inset:16px; }
 .site-main .ra-breadcrumbs.site-container { padding:12px 16px; }
}
@media (max-width:480px) {
 .site-main .ra-breadcrumbs.site-container { padding-inline:12px; }
 .ra-top { padding:12px; gap:12px; }
 .ra-top > .ra-logo { width:clamp(82px,25vw,100px); }
 .ra-top .ra-search-panel { inset:12px; }
 .ra-header .ra-actions { gap:4px; margin-left:0; }
 .ra-header .ra-actions .ra-control { min-width:36px; }
 .ra-header .ra-actions .cart { min-width:58px; }
 .ra-drawer { padding:20px; }
}
@media (prefers-reduced-motion:reduce) { .ra-header * { scroll-behavior:auto; transition:none !important; } }
