
/* NOUNUniversity 18.3.15 — icon-led desktop mega menu. Square corners throughout. */
@media (min-width: 1024px) {
  body.ns-approved-prototype > .mega {
    --mega-foreground: var(--ink, #12251b);
    --mega-secondary: var(--muted, #56685f);
    --mega-panel: var(--surface, #fff);
    --mega-hover: #edf5f0;
    --mega-border: #d8e2dc;
    --mega-accent: var(--green-deep, #07522f);
    top:var(--header,72px)!important;
    max-height:min(75dvh,680px);
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    border-top:1px solid var(--mega-border)!important;
    border-bottom:1px solid var(--mega-border)!important;
    background:var(--mega-panel)!important;
    color:var(--mega-foreground)!important;
    box-shadow:0 24px 48px rgba(5,24,13,.15)!important;
    opacity:0;
    visibility:hidden;
    transform:translate3d(0,-12px,0);
    pointer-events:none;
    transition:opacity .2s ease,transform .23s cubic-bezier(.2,.7,.2,1),visibility .23s;
  }
  body.ns-approved-prototype > .mega.open {
    opacity:1;
    visibility:visible;
    transform:translate3d(0,0,0);
    pointer-events:auto;
  }
  body.ns-approved-prototype > .mega .mega-inner {
    display:grid;
    width:min(100%,var(--max,1420px));
    grid-template-columns:minmax(245px,.86fr) minmax(0,2.85fr);
    min-height:305px;
    align-items:stretch;
    gap:0;
  }
  body.ns-approved-prototype > .mega .mega-intro {
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    align-items:flex-start;
    gap:0;
    padding:32px 28px 34px 0;
    border-right:1px solid var(--mega-border);
    min-width:0;
  }
  body.ns-approved-prototype > .mega .mega-intro-icon {
    display:flex;
    align-items:center;
    justify-content:center;
    width:54px;
    height:54px;
    margin-bottom:24px;
    flex:0 0 auto;
    border:1px solid var(--mega-border);
    background:var(--mega-hover);
    color:var(--mega-accent);
  }
  body.ns-approved-prototype > .mega .mega-intro-symbol {width:26px;height:26px;display:block;flex-shrink:0}
  body.ns-approved-prototype > .mega .mega-intro .mega-title {
    margin:0;
    font-size:clamp(24px,2.25vw,31px);
    line-height:1.15;
    letter-spacing:-.045em;
    font-weight:750;
    color:var(--mega-foreground);
  }
  body.ns-approved-prototype > .mega .mega-intro p:not(.mega-title) {
    font-size:14px;
    line-height:1.65;
    color:var(--mega-secondary);
    margin:12px 0 0;
    max-width:275px;
  }
  body.ns-approved-prototype > .mega .mega-links {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-content:start;
    min-width:0;
    border-right:1px solid var(--mega-border);
  }
  body.ns-approved-prototype > .mega .mega-link {
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 18px;
    grid-template-rows:auto;
    gap:14px 12px;
    align-items:start;
    align-content:center;
    position:relative;
    min-width:0;
    min-height:154px;
    padding:25px 20px 20px;
    border-right:1px solid var(--mega-border);
    border-bottom:1px solid var(--mega-border);
    border-radius:0!important;
    background:transparent;
    color:var(--mega-foreground);
    text-decoration:none;
    transition:background-color .18s ease;
  }
  body.ns-approved-prototype > .mega .mega-link:nth-child(3n){border-right:0}
  body.ns-approved-prototype > .mega .mega-link:hover,
  body.ns-approved-prototype > .mega .mega-link:focus-visible {
    background:var(--mega-hover)!important;
    color:var(--mega-foreground);
  }
  body.ns-approved-prototype > .mega .mega-link:focus-visible {
    outline:3px solid var(--mega-accent);
    outline-offset:-3px;
  }
  body.ns-approved-prototype > .mega .mega-link::after {
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:3px;
    background:var(--mega-accent);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .22s cubic-bezier(.2,.7,.2,1);
  }
  body.ns-approved-prototype > .mega .mega-link:hover::after,
  body.ns-approved-prototype > .mega .mega-link:focus-visible::after {transform:scaleX(1)}
  body.ns-approved-prototype > .mega .mega-link-icon {
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border:1px solid var(--mega-border);
    background:var(--mega-panel);
    color:var(--mega-accent);
    transition:transform .22s ease,border-color .22s ease,background-color .22s ease;
  }
  body.ns-approved-prototype > .mega .mega-link-symbol {display:block;width:21px;height:21px}
  body.ns-approved-prototype > .mega .mega-link-copy {display:block;min-width:0;max-width:100%}
  body.ns-approved-prototype > .mega .mega-link-copy strong {
    display:block;
    margin:1px 0 7px;
    color:var(--mega-foreground);
    font-size:15px;
    font-weight:730;
    line-height:1.33;
    letter-spacing:-.015em;
    overflow-wrap:anywhere;
  }
  body.ns-approved-prototype > .mega .mega-link-copy small {
    display:block;
    color:var(--mega-secondary);
    font-size:12.5px;
    line-height:1.55;
    overflow-wrap:anywhere;
    font-weight:440;
  }
  body.ns-approved-prototype > .mega .mega-link-arrow {
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--mega-secondary);
    margin-top:12px;
    transition:transform .22s ease,color .22s ease;
  }
  body.ns-approved-prototype > .mega .mega-link-arrow-svg{display:block;width:17px;height:17px}
  body.ns-approved-prototype > .mega .mega-link:hover .mega-link-icon,
  body.ns-approved-prototype > .mega .mega-link:focus-visible .mega-link-icon {
    transform:translateY(-3px);
    border-color:var(--mega-accent);
  }
  body.ns-approved-prototype > .mega .mega-link:hover .mega-link-arrow,
  body.ns-approved-prototype > .mega .mega-link:focus-visible .mega-link-arrow {
    color:var(--mega-accent);
    transform:translateX(3px);
  }
  body.ns-approved-prototype > .site-header .nav-trigger {
    transition:color .18s ease,background-color .18s ease!important;
  }
  body.ns-approved-prototype > .site-header .nav-trigger[aria-expanded="true"],
  body.ns-approved-prototype > .site-header .nav-trigger:hover,
  body.ns-approved-prototype > .site-header .nav-trigger:focus-visible {
    color:var(--green-deep, #07522f)!important;
    background:var(--mega-hover)!important;
  }
  body.ns-approved-prototype > .site-header .nav-trigger[aria-expanded="true"]::after {
    transform:scaleX(1);
  }
}
@media (min-width:1024px) and (max-width:1219px) {
  body.ns-approved-prototype > .mega .mega-inner{grid-template-columns:minmax(205px,.8fr) minmax(0,2.4fr)}
  body.ns-approved-prototype > .mega .mega-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.ns-approved-prototype > .mega .mega-link:nth-child(3n){border-right:1px solid var(--mega-border)}
  body.ns-approved-prototype > .mega .mega-link:nth-child(2n){border-right:0}
  body.ns-approved-prototype > .mega .mega-intro {padding:24px 22px 28px 0}
  body.ns-approved-prototype > .mega .mega-link {min-height:132px;padding:18px 16px}
  body.ns-approved-prototype > .site-header .header-row{grid-template-columns:minmax(0,198px) 1fr auto!important;gap:10px!important}
  body.ns-approved-prototype > .site-header .nav-trigger{padding:0 8px!important;font-size:.86rem!important}
}
html[data-theme="dark"] body.ns-approved-prototype > .mega {
  --mega-foreground:#f1f7f3;
  --mega-secondary:#b8c9c0;
  --mega-panel:#101c16;
  --mega-hover:#1e3529;
  --mega-border:#344c3f;
  --mega-accent:#9be3b8;
  background:var(--mega-panel)!important;
  color:var(--mega-foreground)!important;
  border-color:var(--mega-border)!important;
}
html[data-theme="dark"] body.ns-approved-prototype > .mega .mega-link:hover,
html[data-theme="dark"] body.ns-approved-prototype > .mega .mega-link:focus-visible {
  background:var(--mega-hover)!important;
}
html[data-theme="dark"] body.ns-approved-prototype > .mega .mega-intro .mega-title,
html[data-theme="dark"] body.ns-approved-prototype > .mega .mega-link-copy strong {
  color:var(--mega-foreground)!important;
  -webkit-text-fill-color:var(--mega-foreground)!important;
}
html[data-theme="dark"] body.ns-approved-prototype > .mega .mega-intro p:not(.mega-title),
html[data-theme="dark"] body.ns-approved-prototype > .mega .mega-link-copy small {
  color:var(--mega-secondary)!important;
  -webkit-text-fill-color:var(--mega-secondary)!important;
}
html[data-theme="dark"] body.ns-approved-prototype > .mega .mega-link-icon{background:#16271e}
html[data-theme="dark"] body.ns-approved-prototype > .site-header .nav-trigger[aria-expanded="true"],
html[data-theme="dark"] body.ns-approved-prototype > .site-header .nav-trigger:hover,
html[data-theme="dark"] body.ns-approved-prototype > .site-header .nav-trigger:focus-visible{
  color:#a8efc1!important;
  -webkit-text-fill-color:#a8efc1!important;
  background:#1c3226!important;
}
@media (max-width:1023px){
  body.ns-approved-prototype > .mega {display:none!important}
}
@media (prefers-reduced-motion:reduce){
  body.ns-approved-prototype > .mega,
  body.ns-approved-prototype > .mega .mega-link,
  body.ns-approved-prototype > .mega .mega-link-icon,
  body.ns-approved-prototype > .mega .mega-link-arrow,
  body.ns-approved-prototype > .mega .mega-link::after,
  body.ns-approved-prototype > .site-header .nav-trigger {transition:none!important;animation:none!important}
}
