footer:has(.footer-expanded){display:block!important;padding:0!important;font-size:14px!important}footer:has(.footer-expanded)>span{display:none}footer:has(.footer-expanded){font-size:0!important}.footer-expanded{font-size:14px;margin-top:22px;padding:40px 0 18px;border-top:1px solid var(--line);color:var(--muted)}.footer-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px}.footer-wordmark{display:inline-flex;gap:14px;font-size:27px;font-weight:800;color:var(--ink);text-decoration:none}.footer-wordmark span{color:var(--blue)}.footer-intro p{font-size:14px;max-width:300px}.footer-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}.footer-columns h2{font-size:14px;color:var(--ink);margin:0 0 16px}.footer-columns a,.footer-preview{display:block;width:fit-content;font-size:13px;line-height:1.5;margin-bottom:12px;color:var(--muted);text-decoration:none}.footer-preview{font-size:12px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:22px;margin-top:24px}.footer-bottom>div{display:flex;gap:18px;flex-wrap:wrap}.footer-bottom a,.footer-bottom button{font:inherit;font-size:12px;color:var(--muted);border:0;background:none;padding:0;text-decoration:none;cursor:pointer}.footer-bottom a[aria-current]{color:var(--ink);font-weight:700}.footer-expanded a:focus-visible,.footer-expanded button:focus-visible{outline:2px solid var(--blue);outline-offset:5px;border-radius:3px}@media(hover:hover) and (prefers-reduced-motion:no-preference){.footer-columns a{transition:color .2s,transform .2s}.footer-columns a:hover{transform:translateX(4px);color:var(--blue)}}@media(max-width:650px){.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.footer-intro,.footer-bottom{align-items:flex-start;flex-direction:column}.footer-expanded{padding-top:28px}}.scroll-menu[hidden]{display:none!important}.scroll-menu{position:fixed;top:14px;left:50%;transform:translateX(-50%);width:min(1600px,calc(100% - 48px));z-index:35;display:flex;align-items:center;gap:28px;padding:13px 20px;border:1px solid var(--line);border-radius:20px;background:var(--white);background:color-mix(in srgb,var(--white) 88%,transparent);backdrop-filter:blur(20px);box-shadow:0 12px 40px #0002;font-size:13px;color:var(--ink)}.scroll-menu a{text-decoration:none;color:var(--ink)}.scroll-brand{font-size:22px;font-weight:850;letter-spacing:-1px}.scroll-account{margin-left:auto;border:1px solid var(--line);padding:9px 16px;border-radius:24px;font-weight:650}.scroll-menu details{position:relative}.scroll-menu summary{cursor:pointer;list-style:none;font-weight:600;padding:8px 0}.scroll-menu summary::after{content:'⌄';margin-left:7px}.scroll-menu details>div{position:absolute;top:42px;left:-12px;min-width:180px;padding:12px;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 35px #0002}.scroll-menu details a{display:block;padding:10px;border-radius:6px}.scroll-menu a:hover{color:var(--blue)}.scroll-menu a:focus-visible,.scroll-menu summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.scroll-menu details a:hover{background:var(--bg)}@media(max-width:650px){.scroll-menu{gap:16px;padding:10px 14px;top:8px;border-radius:16px}.scroll-brand{font-size:19px}.scroll-news,.scroll-support{display:none}.scroll-account{padding:8px 12px}}.scroll-menu{min-height:64px;box-sizing:border-box;height:64px;line-height:1.3}.scroll-menu .scroll-brand{display:block;line-height:1.2}.scroll-menu .scroll-account{border:1px solid var(--line);padding:9px 16px}@media(max-width:650px){.scroll-menu{height:60px;min-height:60px}}
.footer-expanded{padding-left:28px;padding-right:28px}.footer-columns a{padding:0!important;border-radius:0;background:transparent!important;min-height:0}.footer-columns a::before,.footer-columns a::after{display:none}.footer-intro{flex-wrap:wrap}.footer-intro p{margin:0}.footer-bottom small{font-size:12px}@media(max-width:650px){.footer-expanded{padding-left:20px;padding-right:20px}}

@media(max-width:650px){.scroll-menu{width:calc(100% - 24px)}}
/* Unified footer rhythm and a single separator above the link area. */
footer:has(.footer-expanded){border-top:0}.footer-expanded{margin-top:0;padding-top:36px;border-top:1px solid var(--line)}.footer-intro{margin-bottom:30px}.footer-columns{align-items:start}.footer-columns>div{display:flex;flex-direction:column;gap:12px;min-width:0}.footer-columns h2{margin:0 0 5px}.footer-columns a,.footer-columns .footer-preview{margin:0;line-height:1.5;white-space:normal;font-size:13px}.footer-columns .footer-preview{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted)}.footer-preview small{font-size:10px;font-weight:500;padding:2px 6px;border:1px solid var(--line);border-radius:5px}.footer-bottom{margin-top:30px;padding-top:20px}.footer-bottom small{line-height:1.5}

/* Footer layout reset: isolate it from global navigation and span rules. */
footer:has(.footer-expanded){border:0!important;gap:0!important}.footer-expanded{width:min(1280px,100%);margin:0 auto;padding:38px 28px 22px;border:0}.footer-expanded span{margin-left:0}.footer-intro{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;margin:0 0 32px}.footer-wordmark{justify-self:start}.footer-intro p{text-align:right}.footer-columns{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;overflow:visible!important}.footer-columns>div{gap:11px}.footer-columns a,.footer-columns .footer-preview{display:block;width:100%;margin:0;padding:0!important;line-height:22px}.footer-columns .footer-preview small{display:inline-block;margin-left:6px;font-size:9px;line-height:16px;vertical-align:middle}.footer-bottom{border-top:1px solid var(--line);margin-top:28px;padding-top:18px}.footer-bottom>div{align-items:center}.footer-wordmark span{margin:0}@media(max-width:650px){.footer-expanded{padding:28px 20px 20px}.footer-intro{grid-template-columns:1fr;gap:10px;margin-bottom:26px}.footer-intro p{text-align:left}.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 22px}.footer-bottom{gap:14px}.footer-bottom>div{gap:14px}}
/* Match the main content container and its responsive gutters exactly. */
.footer-expanded{width:100%;max-width:1330px;padding-left:44px;padding-right:44px}@media(max-width:1100px){.footer-expanded{padding-left:28px;padding-right:28px}}@media(max-width:760px){.footer-expanded{padding-left:20px;padding-right:20px}}

/* Categorised programme menu, sized to the viewport rather than the trigger. */
.scroll-menu>details{position:static}.scroll-menu details>.program-mega{position:absolute;top:calc(100% + 10px);left:0;right:0;width:100%;min-width:0;display:grid;grid-template-columns:1.2fr 1fr;gap:24px;padding:26px;border:1px solid var(--line);border-radius:20px;background:var(--white);box-shadow:0 18px 50px #0003;max-height:calc(100dvh - 108px);overflow:auto;overscroll-behavior:contain}.program-group{min-width:0}.program-group h2{font-size:15px;line-height:1.4;margin:0 0 5px;letter-spacing:-.3px;color:var(--ink)}.program-group>p{font-size:11px;color:var(--muted);margin:0 0 15px}.program-group+.program-group{border-left:1px solid var(--line);padding-left:24px}.program-items{display:grid;gap:8px}.scroll-menu .program-entry{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:12px;white-space:normal;line-height:1.5}.program-entry .product-logo{width:36px;height:36px;flex:0 0 36px;background:transparent;border:0;box-shadow:none}.program-entry .product-logo img{width:36px;height:36px;object-fit:contain;border-radius:9px}.program-entry-copy{display:block;min-width:0}.program-entry-copy .program-entry-name{display:block;font-size:13px;color:var(--ink)}.program-entry-copy small{display:block;font-size:11px;color:var(--muted);margin-top:2px}.program-entry-status{display:block;font-size:9px;color:var(--muted);margin-top:4px}.program-mega-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:15px;display:flex;align-items:center;justify-content:space-between;gap:16px}.scroll-menu .program-mega-bottom a{padding:0;font-size:11px}.program-mega-bottom>span{font-size:10px;color:var(--muted)}#wavedesk,#lumacraft{scroll-margin-top:100px}@media(max-width:650px){.scroll-menu details>.program-mega{grid-template-columns:1fr;padding:20px;gap:22px;max-height:calc(100dvh - 94px)}.program-group+.program-group{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:20px}.program-mega-bottom{align-items:flex-start;flex-direction:column;gap:10px}.scroll-menu .program-entry{padding:10px 8px}.program-group>p{margin-bottom:10px}}
/* GastroEye's black symbol needs its own light tile in every context. */
img[src$="/gastroeye-icon.png"]{background:#fff!important;padding:5px;border-radius:10px;box-sizing:border-box}
.scroll-menu .program-entry{justify-content:flex-start}.scroll-menu .program-entry span{margin-left:0}.scroll-menu .program-entry .program-entry-copy{flex:1 1 auto}.scroll-menu .program-entry .product-logo{margin:0}

.program-entry-name{font-weight:700}

.scroll-menu details>.use-case-menu{display:block;max-width:760px}.use-case-menu .use-case-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.use-case-menu .program-mega-bottom{margin-top:16px}.scroll-menu summary::-webkit-details-marker{display:none}@media(max-width:650px){.scroll-menu{gap:12px;font-size:12px}.scroll-menu .scroll-account{padding:8px 10px}.use-case-menu .use-case-links{grid-template-columns:1fr}}@media(max-width:480px){.scroll-menu .scroll-brand{display:none}}

/* Keep flyouts outside the compact navigation bar on narrow screens. */
.scroll-menu{overflow:visible!important}

/* Font-independent menu chevrons, centred on the text line. */
.scroll-menu summary{display:inline-flex;align-items:center;gap:10px;line-height:1.3}.scroll-menu summary::after{content:'';display:block;flex:0 0 6px;width:6px;height:6px;margin:0 1px 3px 0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);box-sizing:border-box}.scroll-menu details[open]>summary::after{transform:rotate(225deg);margin-top:3px;margin-bottom:0}
