:root{
  --fcom-bg:#0b2545;
  --fcom-fg:#ffffff;
  --fcom-accent:#ffde59;
  --fcom-border:rgba(255,255,255,0.12);
  --fcom-z: 9999;
  --fcom-num-w: 3ch;
  --fcom-maxw: 1200px;
  --fcom-gap: clamp(16px, 3vw, 32px);
}

/* Toggle */
.fcom-toggle, .fcom-toggle:active{
  position:fixed; top:1.1rem; right:1.1rem; z-index:var(--fcom-z);
 background-color: #ECCAA7;
    font-weight: bold;
    fill: #000000;
    color: #000000;
    border-style: solid;
    border-width: 0px 0px 0px 0px;
    border-color: #ECCAA7;
    border-radius: 7px 7px 7px 7px;
    padding: 16px 32px 16px 32px;
  cursor:pointer; line-height:1; font-weight:600; font-family: inherit;
      fill: var( --e-global-color-primary );
    color: var( --e-global-color-primary );
}
.fcom-toggle:hover, .fcom-toggle:focus {background-color: #ECCAA7; backdrop-filter: saturate(180%) blur(8px);}
.fcom-toggle[aria-expanded="true"]{ background:rgba(255,255,255,.08); }

/* Overlay */
.fcom-overlay{
  position:fixed;
  inset: 0;
    background: #363636eb;
    backdrop-filter: saturate(180%) blur(8px);
    color: var(--fcom-fg);
    z-index: var(--fcom-z);
    display: none;
    font-family: inherit;
    border-radius: 7px 7px 7px 7px;
    padding: 16px 32px 16px 32px;
}

.fcom-overlay.is-open{ display:block; }
.fcom-overlay__inner{
  height:100%; display:flex; flex-direction:column; padding:clamp(16px, 3vw, 32px);
  gap:var(--fcom-gap);
}
.fcom-overlay__head{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.fcom-close{
  border:1px solid var(--fcom-border); background:transparent!important; color:var(--fcom-fg);
  padding:.4rem .75rem; border-radius:999px; cursor:pointer; font-weight:600; font-family: inherit;border-radius: 7px 7px 7px 7px;
    padding: 16px 32px 16px 32px;
}

/* Panels (stacked) */
.fcom-menuwrap{
  flex:1 1 auto; position:relative; max-width:var(--fcom-maxw); margin:0 auto; width:100%;
  border-top:1px solid var(--fcom-border);
}

.fcom-panel{
  position:absolute; inset:0;
  width:100%; height:calc(100% - 0px);
  padding-top:var(--fcom-gap);
  display:grid;
  grid-template-columns: var(--fcom-num-w) 1fr;
  column-gap: var(--fcom-gap); align-content:start;
  opacity:0; visibility:hidden; transition: opacity .25s ease, visibility .25s ease;
}
.fcom-panel.is-active{
  opacity:1; visibility:visible;
}
.fcom-panel--root .fcom-num{ display:block; }
.fcom-panel .fcom-num{ font-variant-numeric: tabular-nums; opacity:.5; }

.fcom-list{ list-style:none; margin:0; padding:0; }
.fcom-item{ display:grid; grid-template-columns: subgrid; align-items:center; min-height:60px; border-bottom:1px solid var(--fcom-border); }

/* Top-level headings */
.fcom-h2{
  margin:0; font-size:clamp(20px, 2.4vw, 26px); font-weight:700; line-height:1.25; font-family: inherit;
}
.fcom-h2 > a{
  display:flex; align-items:center; justify-content:space-between; gap:.75rem;
  text-decoration:none; color:var(--fcom-fg); padding:.6rem 0;
}

.fcom-link{
  display:flex; align-items:center; justify-content:space-between; gap:.75rem;
  text-decoration:none; color:var(--fcom-fg); font-size:clamp(18px, 2.2vw, 22px); padding:.6rem 0; font-family: inherit;
}

.fcom-h2 a:active, .fcom-h2 a:hover, .fcom-link a:hover, .fcom-link a:active, .fcom-link:hover, .fcom-link:active, .fcom-cta a:active, .fcom-cta a:hover
 {
    color: #e8caa9!important;
}

.fcom-item .fcom-chevron{ margin-left:auto; opacity:.6; }

.fcom-back{
  grid-column: 1 / -1; display:inline-flex; gap:.5rem; align-items:center;
  margin-bottom: .25rem; text-decoration:none; color:var(--fcom-fg); opacity:.8;
  font-size:14px; font-family: inherit;
}
.fcom-back:hover {
    color: #e8caa9!important;
}

.fcom-cta{
  margin-top:auto; display:flex; gap:.75rem; flex-wrap:wrap;
}
.fcom-cta a{
  color:var(--fcom-bg); background:var(--fcom-accent);
  text-decoration:none; padding:.6rem .9rem; border-radius:999px; font-weight:700; font-family: inherit;
}

/* Ensure hidden truly hidden */
.fcom-panel[hidden]{ display:none !important; }

.fcom-visually-hidden{
  position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important;
}