/* NZ-style hierarchy, UK type tokens and solid surfaces. Shared header only. */
.site-header .mega{padding:0;isolation:isolate}
.site-header .mega a{text-decoration:none}
.site-header .mega-top{padding:var(--space-2) var(--space-5);margin:0;min-height:60px}
.site-header .mega-top>a{font-size:var(--text-small);font-weight:var(--weight-strong)}
.site-header .mega-top>p{margin:0;font-size:var(--text-small);line-height:1.5;color:var(--muted)}
.site-header .mega-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:var(--space-4)}
.site-header .mega-group{display:flex;flex-direction:column;padding:var(--space-3) var(--space-4);min-width:0}
.site-header .mega-group+.mega-group{border-left:1px solid var(--line)}
.site-header .mega-group-intro{padding:0 var(--space-4) var(--space-4);min-height:124px}
.site-header .mega-label{display:block;margin:0;color:var(--muted);font-size:var(--text-caption);line-height:1.5;font-weight:var(--weight-strong)}
.site-header .mega-group h2{margin:var(--space-1) 0 var(--space-2);font-size:var(--text-h3);line-height:1.2;letter-spacing:var(--tracking-heading);font-weight:var(--weight-strong)}
.site-header .mega-description{margin:0;font-size:var(--text-small);line-height:1.5;color:var(--muted)}
.site-header .mega-group ul{padding:0;margin:0;list-style:none}
.site-header .mega-group li{padding:0;margin:0;list-style:none}
.site-header .mega-columns a{display:block;min-height:60px;margin:0;padding:var(--space-2) var(--space-4);line-height:1.5;border-radius:0}
.site-header .mega-columns a strong{display:block;font-size:var(--text-small);font-weight:var(--weight-strong)}
.site-header .mega-columns a>span{display:block;margin-top:var(--space-1);font-size:var(--text-caption);color:var(--muted)}
.site-header .mega-support{border-top:1px solid var(--line)}
.site-header .mega-support>a{display:grid;grid-template-columns:1fr 2fr;align-items:center;gap:var(--space-5);min-height:100px;padding:var(--space-4) var(--space-7)}
.site-header .mega-support-title strong{display:block;margin-top:var(--space-1);font-size:var(--text-h4);line-height:1.2;font-weight:var(--weight-strong)}
.site-header .mega-support-description{max-width:76ch;color:var(--muted);font-size:var(--text-small);line-height:1.5}
.site-header .mega a:is(:hover,:focus-visible,[aria-current="page"]){background:var(--blue);color:var(--paper)}
.site-header .mega a:is(:hover,:focus-visible,[aria-current="page"]) :is(span,strong){color:var(--paper)}
.site-header .mega a:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}
@media(min-width:851px){
 .site-header .mega{left:max(var(--gutter),calc((100% - var(--container))/2));right:max(var(--gutter),calc((100% - var(--container))/2));max-height:calc(100dvh - var(--header) - var(--space-4));overflow-y:auto;overscroll-behavior:contain}
}
@media(min-width:851px) and (max-width:1100px){
 .site-header .mega-columns{padding:var(--space-2)}
 .site-header .mega-group{padding-inline:var(--space-2)}
 .site-header .mega-group-intro{min-height:148px}
}
/* Laptop-height optimisation changes spacing, never the approved type scale. */
@media(min-width:1101px) and (max-height:800px){
 .site-header .mega-top{min-height:52px;padding-block:var(--space-1)}
 .site-header .mega-columns{padding:var(--space-2)}
 .site-header .mega-group{padding:var(--space-2)}
 .site-header .mega-group-intro{min-height:96px;padding-bottom:var(--space-2)}
 .site-header .mega-columns a{min-height:56px;line-height:1.4}
 .site-header .mega-support>a{min-height:76px;padding:var(--space-3) var(--space-6)}
}
@media(max-width:850px){
 .site-header .mega{max-height:none;overflow:visible;padding:0}
 .site-header .mega-top{padding:var(--space-3) 0;gap:var(--space-2);align-items:flex-start}
 .site-header .mega-top p{padding-inline:var(--space-4)}
 .site-header .mega-columns{grid-template-columns:1fr;padding:0}
 .site-header .mega-group{padding:var(--space-5) 0}
 .site-header .mega-group+.mega-group{border-left:0;border-top:1px solid var(--line)}
 .site-header .mega-group-intro{min-height:0;padding-bottom:var(--space-5)}
 .site-header .mega-columns a{padding-block:var(--space-3);min-height:64px}
 .site-header .mega-support>a{grid-template-columns:1fr;gap:var(--space-3);padding:var(--space-5) var(--space-4)}
}
