:root { --header-height: 88px; }
html { scroll-padding-top: calc(var(--header-height) + 24px); }
.fbg-header { height: var(--header-height); padding: 14px max(24px, calc((100vw - 1280px)/2)); gap: 16px; background: #fff; z-index: 50; isolation: isolate; }
.fbg-header .logo { flex: 0 0 132px; }
.fbg-header .logo img { width: 132px; height: 48px; object-fit: contain; }
.fbg-header .main-nav { margin: 0 auto; gap: 0; }
.fbg-header .main-nav > a, .fbg-header .nav-trigger { font: 800 13px/1.3 'Open Sans', sans-serif; padding: 0 12px; white-space: nowrap; border-radius: 7px; }
.fbg-header .nav-trigger span { font-size: 15px; margin-left: 7px; }
.fbg-header .nav-drop { position: static; }
.fbg-header .mega-panel { top: 100%; left: max(24px,calc((100vw - 920px)/2)); right: max(24px,calc((100vw - 920px)/2)); padding: 24px; border: 3px solid #171717; border-top: 0; border-radius: 0 0 20px 20px; box-shadow: 5px 7px 0 #171717; transform: none; transition: opacity 150ms ease-out; }
.fbg-header .nav-drop:hover .mega-panel, .fbg-header .nav-drop:focus-within .mega-panel { opacity: 0; visibility: hidden; }
.fbg-header .nav-drop.is-open .mega-panel { opacity: 1; visibility: visible; transform: none; }
.fbg-header .mega-grid { gap: 18px; }
.fbg-header .mega-card { min-width: 0; min-height: 154px; padding: 20px; text-align: left; }
.fbg-header .mega-card strong { font-size: 28px; }
.fbg-header .mega-card small { font-size: 13px; }
.fbg-header .mega-action { font-size: 13px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.fbg-header .header-cta { flex-shrink: 0; font-size: 13px; letter-spacing: .01em; padding: 12px 14px; }
.fbg-header :focus-visible { outline: 3px solid #171717; outline-offset: 5px; }
.fbg-header .menu-button { display: none; }
@media (max-width: 1100px) {
  .fbg-header { gap: 10px; padding-inline: 20px; }
  .fbg-header .main-nav > a, .fbg-header .nav-trigger { padding-inline: 8px; font-size: 12px; }
  .fbg-header .header-cta { font-size: 12px; padding-inline: 10px; }
}
@media (max-width: 1060px) {
  :root { --header-height: 76px; }
  .fbg-header { justify-content: space-between; }
  .fbg-header .header-cta { display: none; }
  .fbg-header .menu-button { display: flex; gap: 14px; align-items: center; border: 2px solid #171717; border-radius: 8px; padding: 9px 14px; background: #fff; font: 800 14px 'Open Sans',sans-serif; cursor: pointer; }
  .fbg-header .main-nav { position: absolute; left: 0; right: 0; top: 100%; height: auto; max-height: calc(100dvh - var(--header-height)); overflow-y: auto; display: none; padding: 14px 20px 24px; background: #fff; border-bottom: 3px solid #171717; margin: 0; }
  .fbg-header .main-nav.open { display: flex; flex-direction: column; align-items: stretch; }
  .fbg-header .main-nav > a, .fbg-header .nav-trigger { min-height: 48px; width: 100%; padding: 12px 8px; font-size: 15px; justify-content: space-between; }
  .fbg-header .nav-drop { height: auto; display: block; }
  .fbg-header .mega-panel { position: static; display: none; padding: 12px 4px 20px; border: 0; box-shadow: none; }
  .fbg-header .nav-drop.is-open .mega-panel { display: block; }
  .fbg-header .mega-grid { grid-template-columns: 1fr; gap: 12px; }
  .fbg-header .mega-card { min-height: 125px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .fbg-header *, .fbg-header *::after { transition: none !important; } }

/* A continuous, viewport-wide navigation surface. */
.fbg-header{width:100%;max-width:none;margin:0;inset-inline:0;box-sizing:border-box}
.fbg-header .mega-panel{left:0;right:0;top:calc(100% - 3px);width:100%;padding:26px max(24px,calc((100% - 1120px)/2)) 30px;border:0;border-top:3px solid var(--ink);border-bottom:2px solid var(--ink);border-radius:0;box-shadow:0 6px 0 var(--ink);background:#fff}
.fbg-header .mega-grid{max-width:1120px;gap:28px}
.fbg-header .menu-kicker{max-width:1120px;margin:0 auto 16px;color:var(--ink);letter-spacing:.1em}
.fbg-header .mega-card{border:3px solid var(--ink);border-radius:20px;box-shadow:5px 5px 0 var(--ink);min-height:144px;padding:18px;background:#fff;display:grid;grid-template-columns:104px minmax(0,1fr);gap:8px 20px;align-content:center;transition:transform 160ms ease-out,box-shadow 160ms ease-out}
.fbg-header .mega-card strong{font:400 25px/1.12 'Lilita One',sans-serif;text-transform:uppercase;letter-spacing:-.02em;grid-column:2}
.fbg-header .mega-card small,.fbg-header .mega-card b,.fbg-header .mega-card .mega-action{grid-column:2;max-width:none}
.fbg-header .mega-card:not(:has(.menu-thumb)){grid-template-columns:1fr}
.fbg-header .mega-card:not(:has(.menu-thumb))>*{grid-column:1}
.fbg-header .menu-thumb{width:104px;height:104px;object-fit:cover;border-radius:6px;grid-column:1;grid-row:1/4;align-self:center}
.fbg-header .mega-card:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--ink);background:var(--mint)}
.fbg-header .main-nav>a:hover,.fbg-header .nav-trigger:hover,.fbg-header .nav-trigger[aria-expanded="true"]{background:var(--lime)}
@media(max-width:1060px){.fbg-header .main-nav{width:100%;left:0;right:0;top:calc(100% - 3px);border-top:3px solid var(--ink)}.fbg-header .mega-panel{width:auto;top:auto;border:0;padding:10px 2px 18px;box-shadow:none}.fbg-header .mega-grid{gap:16px}.fbg-header .mega-card{min-height:124px;grid-template-columns:76px minmax(0,1fr);gap:6px 14px;padding:14px}.fbg-header .menu-thumb{width:76px;height:92px}.fbg-header .mega-card strong{font-size:18px}.fbg-header .menu-kicker{font-size:10px}}
@media(prefers-reduced-motion:reduce){.fbg-header .mega-card{transition:none}}

@media(min-width:1061px){.fbg-header .mega-panel{top:100%}}

.fbg-header .mega-card strong{min-width:0;hyphens:auto;overflow-wrap:anywhere}@media(max-width:620px){.fbg-header .mega-card strong{font-size:17px}}

/* Shared social links in every public footer. */
footer .footer-socials { display:flex; align-items:center; flex-wrap:wrap; gap:10px 22px; margin-left:auto; }
footer .footer-socials a { display:inline-flex; align-items:center; gap:8px; min-height:44px; text-decoration:none; }
footer .footer-socials a:hover span { text-decoration:underline; text-underline-offset:4px; }
footer .footer-socials svg { flex-shrink:0; }
footer .footer-socials a:focus-visible { outline:3px solid var(--ink); outline-offset:4px; }
@media(max-width:760px) { footer .footer-socials { margin-left:0; flex-basis:100%; } }

.fbg-header .mega-card:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}

/* Language is always accessible, including when the mobile menu is closed. */
.fbg-header .language-switch{display:flex;align-items:center;flex:0 0 auto;border:2px solid var(--ink);border-radius:10px;overflow:hidden;background:var(--white);margin-left:2px}
.fbg-header .language-switch a{display:grid;place-items:center;min-width:36px;min-height:38px;font:400 16px/1 'Lilita One',sans-serif;letter-spacing:.02em}
.fbg-header .language-switch a+a{border-left:2px solid var(--ink)}
.fbg-header .language-switch a[aria-current="page"]{background:var(--lime)}
.fbg-header .language-switch a:hover{background:var(--mint)}
.fbg-header .language-switch a:focus-visible{outline:3px solid var(--ink);outline-offset:-4px}
@media(max-width:1200px) and (min-width:1061px){.fbg-header .logo{flex-basis:84px}.fbg-header .logo img{width:84px}.fbg-header{gap:10px}.fbg-header .main-nav>a,.fbg-header .nav-trigger{padding-inline:8px;font-size:12px}}
@media(max-width:1060px){.fbg-header .menu-button{margin-left:auto}.fbg-header .logo{flex-basis:106px}.fbg-header .logo img{width:106px}.fbg-header .language-switch{margin-left:4px}}
@media(max-width:400px){.fbg-header{padding-inline:16px;gap:9px}.fbg-header .menu-button{padding-inline:10px;gap:8px}.fbg-header .language-switch a{min-width:32px}}
