/* White directory menus; ordinary links and native disclosure semantics. */
.desktop-nav{gap:28px}.desktop-nav>a{min-height:44px;display:flex;align-items:center}
.nav-disclosure>summary{display:flex;align-items:center;gap:7px;min-height:44px;list-style:none;cursor:pointer;font-size:15px;color:var(--navy);border-bottom:2px solid transparent}
.nav-disclosure>summary::-webkit-details-marker,.mobile-disclosure>summary::-webkit-details-marker{display:none}
.nav-chevron{width:15px;height:15px;transition:transform .2s}.nav-disclosure[open]>summary .nav-chevron,.mobile-disclosure[open]>summary .nav-chevron{transform:rotate(180deg)}
.nav-disclosure.is-current>summary,.nav-disclosure[open]>summary,.nav-disclosure>summary:hover{border-color:var(--green)}
.mega-menu{position:absolute;inset:calc(100% + 12px) 0 auto;background:var(--white);border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 48px #042f5f16;max-height:calc(100dvh - 132px);overflow:auto;overscroll-behavior:contain;text-align:left}
.mega-layout{display:grid;grid-template-columns:240px 1fr;gap:32px;padding:32px}
.mega-intro{padding:12px 24px 12px 0;border-right:1px solid var(--line)}.mega-intro .eyebrow{font-size:10px;margin-bottom:16px}
.mega-title{font-family:var(--heading);font-size:32px;line-height:1.2;letter-spacing:-.035em;color:var(--navy)}.mega-intro>p:not(.eyebrow):not(.mega-title){font-size:14px;line-height:1.7;margin-top:16px}
.desktop-nav .mega-intro .text-link{display:inline-flex;border:0;font-size:13px;padding:0;gap:8px;min-height:44px;margin-top:20px;white-space:normal}.mega-intro .text-link svg{width:17px}
.mega-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;align-content:start}
.desktop-nav .mega-link{display:flex;align-items:flex-start;gap:12px;padding:16px 12px;border:1px solid transparent;border-radius:10px;min-width:0;color:var(--navy)}
.desktop-nav .mega-link:hover,.desktop-nav .mega-link:focus-visible{border-color:var(--line);background:var(--white)}.desktop-nav .mega-link:active{border-color:var(--navy)}
.mega-number{font-size:10px;line-height:24px;color:var(--navy)}.mega-link>span:not(.mega-number){min-width:0;flex:1}.mega-link strong{display:block;font-weight:400;font-size:18px;line-height:1.3;letter-spacing:-.01em}.mega-link small{display:block;font-size:13px;line-height:1.5;color:var(--muted);margin-top:6px}
.mega-link>svg{width:16px;height:24px;opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s}.mega-link:hover>svg,.mega-link:focus-visible>svg{opacity:1;transform:none}
.mega-products .mega-link{padding-block:12px}.mega-products .mega-link strong{font-size:20px}
.nav-company{position:relative}.company-menu{inset:calc(100% + 12px) 0 auto auto;width:310px;padding:10px;border-radius:16px}
.desktop-nav .company-menu a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:80px;padding:16px;border:1px solid transparent;border-radius:9px;white-space:normal}.company-menu strong{display:block;font-size:18px;font-weight:400;line-height:1.35}.company-menu small{display:block;color:var(--muted);font-size:13px;line-height:1.5;margin-top:5px}.company-menu svg{width:17px}.desktop-nav .company-menu a:hover,.desktop-nav .company-menu a:focus-visible,.desktop-nav .company-menu a[aria-current]{border-color:var(--connection-line)}
.mega-bottom{border-top:1px solid var(--line);padding:16px 32px;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:13px;color:var(--muted)}
.desktop-nav .mega-bottom>a{border:0;display:flex;align-items:center;gap:12px;color:var(--navy);padding:0;min-height:44px;font-size:14px}.mega-bottom>a:hover{text-decoration:underline;text-underline-offset:5px}.mega-bottom svg{width:18px}
.mobile-nav{display:none}.mobile-disclosure>summary{list-style:none;min-height:56px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:18px;color:var(--navy);border-bottom:1px solid var(--line)}
.mobile-submenu{padding:0 12px 12px;border-bottom:1px solid var(--line)}.mobile-nav .mobile-submenu a{font-size:15px;min-height:48px;gap:16px;padding:14px 0}.mobile-submenu strong{font-size:16px;font-weight:400;display:block;line-height:1.4}.mobile-submenu small{display:block;margin-top:4px;font-size:12px;line-height:1.5;color:var(--muted)}.mobile-submenu svg{width:16px}.mobile-nav .mobile-overview{font-size:13px;font-weight:700}.mobile-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.mobile-nav .mobile-project{margin-top:20px;justify-content:center;border:1px solid var(--navy);color:var(--white);min-height:48px}
.mobile-nav a:hover{text-decoration:underline;text-underline-offset:5px}.mobile-disclosure>summary:hover{border-color:var(--green)}

.site-footer{padding-top:64px}.footer-directory{display:grid;grid-template-columns:1.2fr 1.1fr .7fr .8fr;gap:40px;padding-bottom:48px;border-bottom:1px solid var(--line)}
.footer-identity{min-width:0}.footer-identity .brand img{width:220px;max-width:100%}.footer-identity .brand{max-width:100%}.footer-identity .footer-slogan{font-size:18px;line-height:1.55;margin-top:24px}
.footer-enquiry{margin-top:32px}.footer-enquiry .eyebrow{font-size:9px;margin-bottom:12px}.footer-enquiry>a{display:inline-block;color:var(--navy);font-size:15px;line-height:1.7;min-height:44px;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:var(--green);text-underline-offset:5px}.footer-enquiry>a:hover{text-decoration-color:var(--navy)}
.footer-links h2{font-family:var(--body);font-size:16px;letter-spacing:0;font-weight:700;line-height:1.4;margin:4px 0 20px}.footer-links ul{list-style:none;margin:0;padding:0}.footer-links a{display:flex;align-items:center;gap:8px;min-height:36px;font-size:14px;line-height:1.5;padding:6px 0;color:var(--muted)}.footer-links a:hover{color:var(--navy);text-decoration:underline;text-underline-offset:5px}.footer-links a:active{color:var(--navy)}.footer-links svg{width:14px;height:14px}
.footer-bottom{padding-top:20px}.footer-back{min-height:44px;display:inline-flex;align-items:center;gap:12px;font-size:12px;color:var(--navy)}.footer-back span{font-size:18px}.footer-back:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px){.desktop-nav{gap:20px}.mega-layout{grid-template-columns:200px 1fr;gap:24px;padding:24px}.mega-intro{padding-right:20px}.mega-title{font-size:29px}.mega-links{gap:4px}.desktop-nav .mega-link{padding:14px 10px;gap:8px}.mega-link strong{font-size:16px}.mega-link small{font-size:12px}.mega-number{display:none}.mega-bottom{padding:12px 24px}.footer-directory{grid-template-columns:1.1fr 1.1fr .7fr .8fr;gap:24px}.footer-identity .brand img{width:200px}.footer-enquiry>a{font-size:14px}}
@media(max-width:900px){.desktop-nav{display:none}.mobile-nav{display:block}.site-header:not(.navigation-ready) .mobile-nav{position:static;max-height:none;box-shadow:none;border:none}.site-header:not(.navigation-ready) .header-cta{display:none}.mobile-nav{padding:8px 24px 24px;max-height:calc(100dvh - 116px);overscroll-behavior:contain}.footer-directory{grid-template-columns:1fr 1fr 1fr;gap:32px}.footer-identity{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:40px}.footer-identity .brand{grid-column:1;grid-row:1}.footer-identity .footer-slogan{grid-column:1;grid-row:2;margin-top:16px}.footer-enquiry{grid-column:2;grid-row:1/3;align-self:center;margin-top:0}.footer-links a{min-height:44px}.footer-links h2{margin-bottom:16px}.footer-bottom{flex-direction:row;align-items:center}}
@media(max-width:600px){.mobile-nav{max-height:calc(100dvh - 94px);padding-inline:20px}.mobile-submenu{padding-inline:8px}.site-footer{padding-top:40px}.footer-directory{grid-template-columns:1fr 1fr;gap:32px 24px;padding-bottom:32px}.footer-identity{display:block}.footer-identity .brand img{width:200px}.footer-identity .footer-slogan{font-size:17px;margin-top:20px}.footer-enquiry{margin-top:24px}.footer-enquiry .eyebrow{font-size:10px}.footer-enquiry>a{font-size:15px}.footer-links h2{font-size:16px;margin-top:0;margin-bottom:12px}.footer-links a{font-size:13px;min-height:44px}.footer-links:last-child{grid-column:1/-1}.footer-links:last-child ul{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.footer-bottom p{font-size:11px}.footer-back{font-size:12px}}
@media(prefers-reduced-motion:reduce){.nav-chevron,.mega-link>svg{transition:none}}
