/* 77Labs site menu (Leclerc-style overlay) — shared by every page */
.xm{--xm-bg:#052B2F;--xm-ink:#F2F3F2;--xm-dim:rgba(242,243,242,.62);--xm-line:rgba(242,243,242,.14);--xm-aqua:#5FE3D6;--xm-teal:#0B6D72;--xm-card:#0A3A3F;--xm-orange:#F26A1F;
  position:fixed;inset:0;z-index:300;visibility:hidden;pointer-events:none;color:var(--xm-ink);font-family:'Manrope',system-ui,sans-serif}
.xm.is-open{visibility:visible;pointer-events:auto}
.xm-bg{position:absolute;inset:0;background:var(--xm-bg);clip-path:inset(0 0 100% 0)}
.xm-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:48px 48px}
.xm-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 55% at 78% 18%,rgba(95,227,214,.16),transparent 70%),radial-gradient(50% 50% at 10% 100%,rgba(22,163,160,.18),transparent 70%)}
.xm-bars{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:3}
.xm-bars i{position:absolute;left:-10vw;width:140vw;transform:translateX(110vw) skewX(-24deg)}
.xm-bars i.o{background:var(--xm-orange)}.xm-bars i.t{background:var(--xm-teal)}.xm-bars i.d{background:#063B40}
.xm-in{position:relative;z-index:2;height:100%;overflow-y:auto;overscroll-behavior:contain;display:grid;grid-template-columns:minmax(250px,300px) 1fr minmax(170px,220px);grid-template-rows:auto 1fr auto;padding:22px clamp(16px,2.4vw,34px) 26px;gap:0 24px}
.xm-top{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;height:48px}
.xm-logo{display:flex;align-items:center;gap:10px;color:var(--xm-ink);text-decoration:none}
.xm-logo b{font:400 40px/1 'League Gothic',sans-serif;letter-spacing:-.02em}
.xm-logo span{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;line-height:1.25}
.xm-close{width:44px;height:44px;border:0;background:none;color:var(--xm-ink);cursor:pointer;position:relative}
.xm-close::before,.xm-close::after{content:"";position:absolute;left:8px;right:8px;top:21px;height:2px;background:currentColor;transform:rotate(45deg);transition:transform .35s cubic-bezier(.7,0,.2,1)}
.xm-close::after{transform:rotate(-45deg)}
.xm-close:hover::before{transform:rotate(135deg)}.xm-close:hover::after{transform:rotate(45deg)}
.xm-main{grid-column:2;grid-row:2/4;align-self:center;justify-self:center;display:flex;flex-direction:column;align-items:flex-start;padding:18px 0;max-width:100%}
.xm-big{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:flex-start}
.xm-big li{padding:0 .04em}
.xm-big a{display:block;position:relative;color:var(--xm-ink);text-decoration:none;font:400 clamp(56px,min(11.5vh,6.1vw),128px)/.9 'League Gothic',sans-serif;white-space:nowrap;text-transform:uppercase;letter-spacing:-.005em}
.xm-big a .r{display:block;overflow:hidden;height:.9em}
.xm-big a .r span{display:block;transition:transform .55s cubic-bezier(.7,0,.2,1)}
.xm-big a .r span+span{color:var(--xm-aqua)}
.xm-big a:hover .r span,.xm-big a:focus-visible .r span{transform:translateY(-100%)}
.xm-big a sup{position:absolute;left:100%;top:.22em;margin-left:.35em;font:700 11px/1 'Manrope',sans-serif;letter-spacing:.14em;color:var(--xm-orange)}
.xm-small{list-style:none;margin:30px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 26px;max-width:640px}
.xm-small a{color:var(--xm-ink);text-decoration:none;font-size:clamp(16px,1.35vw,20px);font-weight:500;position:relative}
.xm-small a::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--xm-aqua);transform:scaleX(0);transform-origin:right;transition:transform .35s}
.xm-small a:hover::after{transform:scaleX(1);transform-origin:left}
.xm-soc{display:flex;gap:30px;align-items:center;margin-top:34px}
.xm-soc a{color:var(--xm-dim);display:inline-flex;transition:color .2s,transform .25s}
.xm-soc a:hover{color:var(--xm-ink);transform:translateY(-3px)}
.xm-soc svg{width:20px;height:20px}
.xm-cards{grid-column:1;grid-row:2/4;align-self:end;display:flex;flex-direction:column;gap:8px}
.xm-card{display:grid;text-decoration:none;color:var(--xm-ink);background:var(--xm-card);border-radius:6px;overflow:hidden;position:relative;transition:transform .35s cubic-bezier(.2,.7,.2,1),background .25s}
.xm-card:hover{transform:translateX(6px);background:#0D464C}
.xm-card .lb{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.xm-card .ar{position:absolute;right:14px;bottom:12px;width:16px;height:16px;transition:transform .3s}
.xm-card:hover .ar{transform:translateX(4px)}
.xm-card.f{background:var(--xm-aqua);color:#052B2F;padding:16px 16px 14px;min-height:168px;grid-template-rows:auto 1fr auto}
.xm-card.f:hover{background:#7CEDE2}
.xm-card.f .lb{justify-self:end}
.xm-card.f .ic{position:absolute;left:16px;top:14px;width:52px;height:40px}
.xm-card.f strong{font:400 46px/.9 'League Gothic',sans-serif;text-transform:uppercase;align-self:end;margin-top:40px}
.xm-card.f p{margin:4px 32px 0 0;font-size:13px;font-weight:500;line-height:1.35}
.xm-card.s{grid-template-columns:76px 1fr;gap:12px;padding:9px 34px 9px 9px;min-height:86px}
.xm-card.s img{width:76px;height:68px;object-fit:cover;border-radius:3px;display:block;align-self:center}
.xm-card.s .lb{color:var(--xm-dim);align-self:start;margin-top:4px}
.xm-card.s p{margin:6px 0 0;font-size:13.5px;font-weight:600;line-height:1.3}
.xm-card.s .tx{display:flex;flex-direction:column}
.xm-side{grid-column:3;grid-row:3;align-self:end;justify-self:end;text-align:right;font-size:12px;line-height:1.5;color:var(--xm-dim)}
.xm-side a{color:var(--xm-ink);text-decoration:none;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:11px;display:inline-block;background:var(--xm-orange);padding:12px 18px 11px;border-radius:4px;margin-bottom:10px}
.xm-side a:hover{background:#ff7d33}
html.xm-lock,html.xm-lock body{overflow:hidden !important}
@media (max-width:900px){
  .xm-in{grid-template-columns:1fr;grid-template-rows:auto;padding:16px 16px 28px;display:flex;flex-direction:column}
  .xm-top{height:44px}
  .xm-main{align-items:flex-start;padding:26px 0 0}
  .xm-big a{font-size:clamp(38px,10.6vw,64px)}
  .xm-big a sup{font-size:9px}
  .xm-small{justify-content:flex-start;margin-top:22px;gap:10px 22px}
  .xm-small a{font-size:17px}
  .xm-soc{margin:26px 0 24px;gap:28px}
  .xm-cards{width:100%}
  .xm-side{text-align:left;justify-self:start;padding-top:22px}
}
@media (prefers-reduced-motion:reduce){.xm-big a .r span,.xm-card,.xm-close::before,.xm-close::after{transition:none}}
