/* skrupt — styles are scoped so several independently designed blocks can coexist. */
.skrupt-menu {
  --skm-color: #263b63;
  --skm-accent: #c83868;
  --skm-background: #fff;
  --skm-muted: #65738a;
  --skm-border: #e4e8ef;
  --skm-hover: #f5f7fb;
  --skm-radius: 12px;
  --skm-columns: 3;
  --skm-gap: 20px;
  --skm-font-size: 14px;
  position: relative;
  width: 100%;
  min-width: 0;
  color: var(--skm-color);
  background: var(--skm-background);
  font-family: inherit;
  font-size: var(--skm-font-size);
  line-height: 1.45;
  text-align: start;
}
.skrupt-menu *, .skrupt-menu *::before, .skrupt-menu *::after { box-sizing: border-box; }
.skrupt-menu [hidden] { display: none !important; }
.skrupt-menu .skm-title { margin: 0 0 16px; color: var(--skm-color); font: inherit; font-size: 18px; font-weight: 700; line-height: 1.35; text-transform: none; }
.skrupt-menu .skm-list { display: block; float: none; width: auto; margin: 0; padding: 0; list-style: none; }
.skrupt-menu .skm-item { display: block; float: none; min-width: 0; margin: 0; padding: 0; list-style: none; }
.skrupt-menu .skm-row { display: flex; align-items: center; min-width: 0; }
.skrupt-menu .skm-link { display: flex; flex: 1 1 auto; align-items: center; gap: 10px; min-width: 0; min-height: 44px; padding: 10px 12px; border: 0; border-radius: 8px; color: var(--skm-color); background: transparent; font: inherit; line-height: 1.4; text-align: start; text-decoration: none; text-transform: none; white-space: normal; }
.skrupt-menu a.skm-link:hover, .skrupt-menu a.skm-link:focus-visible { color: var(--skm-accent); background: var(--skm-hover); text-decoration: none; }
.skrupt-menu .skm-link[aria-current="page"] { color: var(--skm-accent); font-weight: 700; }
.skrupt-menu .skm-copy { display: block; min-width: 0; }
.skrupt-menu .skm-label { display: block; overflow-wrap: anywhere; }
.skrupt-menu .skm-description { display: block; margin-top: 3px; color: var(--skm-muted); font-size: 12px; font-weight: 400; line-height: 1.5; }
.skrupt-menu .skm-image { display: block; flex: 0 0 40px; width: 40px; height: 40px; margin: 0; border: 0; border-radius: 6px; object-fit: contain; }
.skrupt-menu .skm-group { font-weight: 600; }
.skrupt-menu .skm-disclosure, .skrupt-menu .skm-mobile-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-width: 44px; min-height: 44px; margin: 0; padding: 10px; border: 0; border-radius: 8px; color: var(--skm-color); background: transparent; font: inherit; font-weight: 600; line-height: 1.4; text-align: start; text-transform: none; cursor: pointer; appearance: none; box-shadow: none; }
.skrupt-menu .skm-disclosure { flex: 0 0 44px; }
.skrupt-menu .skm-disclosure:hover, .skrupt-menu .skm-mobile-toggle:hover { color: var(--skm-accent); background: var(--skm-hover); }
.skrupt-menu .skm-disclosure[aria-expanded="true"] { color: var(--skm-accent); background: var(--skm-hover); }
.skrupt-menu a:focus-visible, .skrupt-menu button:focus-visible { outline: 2px solid var(--skm-accent); outline-offset: 3px; }
.skrupt-menu .skm-chevron { display: block; flex: 0 0 8px; width: 8px; height: 8px; margin-top: -4px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.skrupt-menu [aria-expanded="true"] > .skm-chevron { margin-top: 4px; transform: rotate(225deg); }
.skrupt-menu .skm-menu-icon { position: relative; display: block; width: 18px; height: 14px; border-top: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; }
.skrupt-menu .skm-menu-icon span { position: absolute; top: 5px; left: 0; width: 18px; border-top: 1.5px solid currentColor; }
.skrupt-menu .skm-panel { padding: 0 0 12px 14px; }
.skrupt-menu .skm-panel-heading { margin: 0 0 8px; }
.skrupt-menu .skm-view-all { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 12px; border-radius: 8px; color: var(--skm-accent); font: inherit; font-size: 13px; font-weight: 600; line-height: 1.5; text-decoration: none; }
.skrupt-menu .skm-view-all:hover { background: var(--skm-hover); text-decoration: underline; text-underline-offset: 3px; }
.skrupt-menu .skm-arrow { display: block; flex: 0 0 6px; width: 6px; height: 6px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); }
.skrupt-menu .skm-list--level-2 > .skm-item > .skm-row .skm-link { font-weight: 600; }
.skrupt-menu .skm-list--level-3 .skm-link { min-height: 40px; font-size: 13px; }
.skrupt-menu .skm-list--secondary { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--skm-border); }
.skrupt-menu .skm-sr-only { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skrupt-menu.skm-layout-list .skm-panel { padding-top: 0; padding-bottom: 0; }
.skrupt-menu.skm-layout-list .skm-list--level-1 > .skm-item + .skm-item { margin-top: 4px; }
.skrupt-menu.skm-layout-inline .skm-list--level-1 { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 4px 12px; }
.skrupt-menu.skm-layout-inline .skm-list--level-1 > .skm-item { position: relative; }
.skrupt-menu.skm-layout-inline .skm-list--secondary { margin-top: 8px; padding-top: 8px; }
.skrupt-menu.skm-is-enhanced.skm-layout-menu .skm-list--level-1 > .skm-item > .skm-row { border-bottom: 1px solid var(--skm-border); }
.skrupt-menu.skm-is-enhanced.skm-layout-menu .skm-mobile-toggle { padding-inline: 14px; border: 1px solid var(--skm-border); }
.skrupt-menu.skm-is-enhanced.skm-layout-menu .skm-mobile-toggle[aria-expanded="true"] { margin-bottom: 8px; }

.skrupt-menu.skm-is-wide .skm-item--mobile { display: none; }
.skrupt-menu.skm-is-wide.skm-layout-menu:not(.skm-is-enhanced) .skm-list--level-1 { display: grid; grid-template-columns: repeat(var(--skm-columns), minmax(0, 1fr)); gap: var(--skm-gap); }
.skrupt-menu.skm-is-wide.skm-is-enhanced.skm-layout-menu .skm-content { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.skrupt-menu.skm-is-wide.skm-is-enhanced.skm-layout-menu .skm-list--level-1 { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.skrupt-menu.skm-is-wide.skm-is-enhanced.skm-layout-menu .skm-list--secondary { flex-shrink: 0; margin: 0; padding: 0; border: 0; }
.skrupt-menu.skm-is-wide.skm-is-enhanced.skm-layout-menu .skm-list--level-1 > .skm-item > .skm-row { border: 0; }
.skrupt-menu.skm-is-wide.skm-is-enhanced.skm-layout-menu .skm-list--level-1 > .skm-item > .skm-row .skm-link { min-height: 50px; padding-inline: 12px; font-weight: 600; }
.skrupt-menu.skm-is-wide.skm-is-enhanced.skm-layout-menu .skm-list--level-1 > .skm-item--parent > .skm-row .skm-link { padding-inline-end: 2px; }
.skrupt-menu.skm-is-wide.skm-is-enhanced.skm-layout-menu .skm-list--level-1 > .skm-item > .skm-row .skm-description { display: none; }
.skrupt-menu.skm-is-wide.skm-is-enhanced.skm-layout-menu .skm-panel--level-1 { position: absolute; z-index: 60; inset-inline: 0; top: 100%; max-height: 70vh; overflow-y: auto; overscroll-behavior: contain; padding: 20px; border: 1px solid var(--skm-border); border-radius: var(--skm-radius); background: var(--skm-background); box-shadow: 0 18px 40px rgb(38 59 99 / 12%); }
.skrupt-menu.skm-is-wide.skm-is-enhanced.skm-layout-menu .skm-panel--level-1 > .skm-list--level-2 { display: grid; grid-template-columns: repeat(var(--skm-columns), minmax(0, 1fr)); align-items: start; gap: var(--skm-gap); }
.skrupt-menu.skm-is-wide.skm-is-enhanced.skm-layout-menu .skm-panel--level-1 > .skm-panel-heading { padding-bottom: 12px; margin-bottom: 12px; border-bottom: 1px solid var(--skm-border); }
.skrupt-menu.skm-is-wide.skm-is-enhanced.skm-layout-menu .skm-panel--level-2 { padding: 0 0 0 12px; }
.skrupt-menu.skm-is-wide.skm-is-enhanced.skm-layout-menu .skm-panel--level-2 > .skm-panel-heading { display: none; }
.skrupt-menu.skm-is-wide.skm-is-enhanced.skm-layout-inline .skm-panel--level-1 { position: absolute; z-index: 60; top: 100%; inset-inline-start: 0; width: 300px; max-width: 85vw; max-height: 65vh; overflow-y: auto; overscroll-behavior: contain; padding: 12px; border: 1px solid var(--skm-border); border-radius: var(--skm-radius); background: var(--skm-background); box-shadow: 0 12px 30px rgb(38 59 99 / 12%); }
.skrupt-menu.skm-is-wide.skm-is-enhanced.skm-layout-inline .skm-panel--level-2 > .skm-panel-heading { display: none; }

.skrupt-menu.skm-is-compact .skm-item--desktop { display: none; }
.skrupt-menu.skm-is-compact .skm-panel--level-1 { padding: 8px 0 12px 12px; }
.skrupt-menu.skm-is-compact .skm-panel--level-2 { padding: 4px 0 8px 12px; }
.skrupt-menu.skm-is-compact.skm-layout-menu .skm-list--level-1 > .skm-item > .skm-row .skm-link { min-height: 48px; }
.skrupt-menu.skm-is-compact.skm-layout-menu .skm-list--level-1 > .skm-item > .skm-row .skm-disclosure { min-height: 48px; }
.skrupt-menu.skm-is-compact.skm-layout-menu.skm-mode-theme { width: 100%; margin: 0; }
.skrupt-menu.skm-is-compact.skm-layout-inline .skm-list--level-1 > .skm-item--parent { max-width: 100%; }

@media (forced-colors: active) {
  .skrupt-menu .skm-disclosure, .skrupt-menu .skm-mobile-toggle { border: 1px solid ButtonText; }
  .skrupt-menu .skm-link[aria-current="page"] { text-decoration: underline; }
}

@media (min-width: 768px) { .skrupt-menu[data-skm-breakpoint="767"] .skm-item--mobile { display:none; } }
@media (max-width: 767px) { .skrupt-menu[data-skm-breakpoint="767"] .skm-item--desktop { display:none; } }

@media (min-width: 1025px) { .skrupt-menu[data-skm-breakpoint="1024"] .skm-item--mobile { display:none; } }
@media (max-width: 1024px) { .skrupt-menu[data-skm-breakpoint="1024"] .skm-item--desktop { display:none; } }

@media (min-width: 1280px) { .skrupt-menu[data-skm-breakpoint="1279"] .skm-item--mobile { display:none; } }
@media (max-width: 1279px) { .skrupt-menu[data-skm-breakpoint="1279"] .skm-item--desktop { display:none; } }

/* Independent link lists can use a compact disclosure, including footer columns. */
.skrupt-menu .skm-title--toggle { position:relative; }
.skrupt-menu.skm-is-compact .skm-title--toggle { display:flex; align-items:center; min-height:48px; padding-inline-end:32px; }
.skrupt-menu .skm-title--toggle > .skm-list-toggle { position:absolute; inset:0; min-height:0; padding:0; justify-content:flex-end; }
.skrupt-menu .skm-list-toggle { display:flex; justify-content:space-between; align-items:center; gap:16px; width:100%; min-height:48px; padding:12px 0; border:0; background:transparent; color:inherit; font:inherit; text-align:start; cursor:pointer; }
.skm-footer-menus > .row { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:32px; margin:0; }
.skm-footer-menus > .row > .wrapper { float:none; width:auto; max-width:none; padding:0; min-width:0; }
#footer .skm-footer-menus .skrupt-menu .skm-title { margin:0 0 24px; font-size:14px; font-weight:700; line-height:1.4; letter-spacing:.08em; text-transform:uppercase; }
#footer .skm-footer-menus .skrupt-menu .skm-list { display:flex; flex-direction:column; gap:12px; margin:0; padding:0; }
#footer .skm-footer-menus .skrupt-menu .skm-link { min-height:0; padding:0; color:var(--skm-color); font-size:var(--skm-font-size); }
#footer .skm-footer-menus .skrupt-menu a.skm-link:hover { color:var(--skm-accent); background:transparent; }
#footer .skm-footer-menus .skrupt-menu.skm-is-compact .skm-title { margin-bottom:0; }
#footer .skm-footer-menus .skrupt-menu.skm-is-compact .skm-content { padding-bottom:16px; }
#footer .skm-footer-menus .skrupt-menu.skm-is-compact .skm-list { gap:0; }
#footer .skm-footer-menus .skrupt-menu.skm-is-compact .skm-link { min-height:44px; }
@media(max-width:767px) { .skm-footer-menus { width:100%; float:none; } .skm-footer-menus > .row { grid-template-columns:1fr; gap:0; } }

/* Gallery panels share the source tree with standard menus and keep every
   destination server-rendered. The unenhanced panel remains in normal flow. */
.skrupt-menu .skm-panel--gallery { padding: 0; margin-top: 12px; color: var(--skm-color); }
.skrupt-menu .skm-gallery-surface { border: 1px solid var(--skm-border); border-radius: 24px; background: #fff; overflow: hidden; }
.skrupt-menu .skm-gallery-content { display: grid; grid-template-columns: repeat(var(--skm-gallery-columns, 4), minmax(0, 1fr)); gap: 16px; padding: 26px; }
.skrupt-menu .skm-gallery-intro { display: flex; flex-direction: column; align-items: stretch; justify-content: center; gap: 14px; min-width: 0; padding: 0 10px 0 0; }
.skrupt-menu .skm-gallery-heading { margin: 0; }
.skrupt-menu .skm-gallery-kicker { display: block; margin: 0 0 8px; color: var(--skm-muted); font-size: 10px; font-weight: 600; line-height: 1.5; letter-spacing: 2px; text-transform: uppercase; }
.skrupt-menu .skm-gallery-title { margin: 0; max-width: 15ch; color: var(--skm-color); font: inherit; font-size: 24px; font-weight: 600; line-height: 1.15; letter-spacing: -.55px; text-transform: none; overflow-wrap: anywhere; text-wrap: balance; }
.skrupt-menu .skm-gallery-entry { min-width: 0; }
.skrupt-menu .skm-gallery-link { display: flex; position: relative; min-width: 0; color: var(--skm-color); font: inherit; line-height: 1.4; text-decoration: none; text-transform: none; }
.skrupt-menu a.skm-gallery-link:hover, .skrupt-menu a.skm-gallery-link:focus-visible { color: var(--skm-accent); text-decoration: none; }
.skrupt-menu .skm-gallery-copy { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.skrupt-menu .skm-gallery-label { display: block; font-size: 17px; font-weight: 500; line-height: 1.3; letter-spacing: -.3px; overflow-wrap: anywhere; }
.skrupt-menu .skm-gallery-description { display: block; color: var(--skm-muted); font-size: 11px; font-weight: 400; line-height: 1.5; }
.skrupt-menu .skm-gallery-picture { display: flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 100%; height: 82px; }
.skrupt-menu .skm-gallery-picture img { display: block; width: 82px; height: 82px; margin: 0; border: 0; object-fit: contain; }
.skrupt-menu .skm-gallery-arrow { display: block; flex: 0 0 16px; width: 16px; height: 16px; }
.skrupt-menu .skm-gallery-link--main { flex-direction: column; align-items: center; justify-content: center; gap: 11px; min-height: 204px; height: 100%; padding: 18px 14px; border-radius: 18px; background: #f7f8fa; text-align: center; }
.skrupt-menu a.skm-gallery-link--main:hover, .skrupt-menu a.skm-gallery-link--main:focus-visible { background: #eef0f3; }
.skrupt-menu .skm-gallery-link--main .skm-gallery-arrow { position: absolute; top: 12px; right: 12px; opacity: 0; }
.skrupt-menu a.skm-gallery-link--main:hover .skm-gallery-arrow, .skrupt-menu a.skm-gallery-link--main:focus-visible .skm-gallery-arrow { opacity: 1; }
.skrupt-menu .skm-gallery-link--guide { flex-direction: column; align-items: flex-start; gap: 8px; min-height: 44px; width: 100%; padding: 14px; border-radius: 13px; color: #fff; background: var(--skm-color); }
.skrupt-menu .skm-gallery-guide-type { display: flex; align-items: center; gap: 7px; color: #dae3f5; font-size: 11px; font-weight: 400; line-height: 1.4; }
.skrupt-menu .skm-gallery-guide-type svg { display: block; flex: 0 0 15px; }
.skrupt-menu .skm-gallery-link--guide .skm-gallery-label { font-size: 14px; line-height: 1.4; letter-spacing: 0; }
.skrupt-menu .skm-gallery-link--guide .skm-gallery-description { color: #dae3f5; }
.skrupt-menu a.skm-gallery-link--guide:hover, .skrupt-menu a.skm-gallery-link--guide:focus-visible { color: #fff; background: #344d7e; }
.skrupt-menu .skm-gallery-secondary { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(var(--skm-gallery-columns, 4), minmax(0, 1fr)); align-items: stretch; gap: 16px; min-width: 0; padding-top: 4px; }
.skrupt-menu .skm-gallery-link--secondary { align-items: center; gap: 11px; min-height: 0; height: 100%; padding: 10px; border-radius: 12px; background: transparent; text-align: start; }
.skrupt-menu a.skm-gallery-link--secondary:hover, .skrupt-menu a.skm-gallery-link--secondary:focus-visible { background: #f7f8fa; }
.skrupt-menu .skm-gallery-link--secondary .skm-gallery-picture { align-items: center; flex: 0 0 44px; width: 44px; height: 57px; padding: 0; }
.skrupt-menu .skm-gallery-link--secondary .skm-gallery-picture img { width: 44px; height: 57px; }
.skrupt-menu .skm-gallery-link--secondary .skm-gallery-label { font-size: 15px; }
.skrupt-menu .skm-gallery-link--secondary .skm-gallery-arrow { display: none; }
.skrupt-menu .skm-gallery-footer { background: #eef0f3; }
.skrupt-menu .skm-gallery-link--footer { align-items: center; justify-content: space-between; gap: 18px; min-height: 60px; padding: 18px 30px; }
.skrupt-menu .skm-gallery-link--footer .skm-gallery-copy { flex: 1; }
.skrupt-menu .skm-gallery-link--footer .skm-gallery-label { font-size: 14px; line-height: 1.45; letter-spacing: 0; }
.skrupt-menu .skm-gallery-link--footer .skm-gallery-picture { flex: 0 0 32px; width: 32px; height: 32px; }
.skrupt-menu .skm-gallery-link--footer .skm-gallery-picture img { width: 32px; height: 32px; }
.skrupt-menu .skm-gallery-footer > .skm-list { padding: 0 18px 12px; }
.skrupt-menu .skm-gallery-entry--main:has(> .skm-list) .skm-gallery-link--main { height: auto; }
.skrupt-menu.skm-is-wide.skm-is-enhanced.skm-layout-menu .skm-panel--gallery { inset-inline: auto; left: var(--skm-gallery-left, 0px); top: var(--skm-gallery-top, calc(100% + 12px)); width: var(--skm-gallery-width, 100%); max-width: calc(100vw - 32px); max-height: none; overflow: visible; padding: 0; margin: 0; border: 0; border-radius: 24px; background: transparent; box-shadow: 0 16px 38px rgb(37 57 98 / 9%); }
.skrupt-menu.skm-is-wide.skm-is-enhanced.skm-layout-menu .skm-panel--gallery::before { position: absolute; top: -12px; right: 0; left: 0; height: 12px; content: ""; }
.skrupt-menu.skm-is-wide.skm-is-enhanced .skm-gallery-surface { max-height: min(70vh, 720px); overflow-y: auto; overscroll-behavior: contain; }
.skrupt-menu.skm-is-compact .skm-gallery-content { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 20px; }
.skrupt-menu.skm-is-compact .skm-gallery-intro { grid-column: 1 / -1; }
.skrupt-menu.skm-is-compact .skm-gallery-secondary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.skrupt-menu.skm-is-compact .skm-gallery-link--secondary { flex-direction: column; }
.skrupt-menu.skm-is-compact .skm-gallery-link--footer { padding-inline: 20px; }
.skrupt-menu[data-skm-preview="true"] .skm-panel--gallery { position: relative !important; inset: auto !important; width: 100% !important; max-width: none !important; margin: 12px 0 !important; }
.skrupt-menu[data-skm-preview="true"] .skm-gallery-surface { max-height: none; }
