
.head{position:fixed;left:0;right:0;top:14px;z-index:80;pointer-events:none;
  transition:transform .6s var(--ease-exp),opacity .4s}
.head.is-hidden{transform:translateY(calc(-100% - 20px))}
.head__bar{pointer-events:auto;position:relative;display:flex;align-items:stretch;width:100%;--sk:26px;
  
  filter:drop-shadow(1.5px 0 0 var(--dark)) drop-shadow(-1.5px 0 0 var(--dark)) drop-shadow(0 1.5px 0 var(--dark)) drop-shadow(0 -1.5px 0 var(--dark))}
.head__pl{position:relative;display:flex;align-items:stretch;flex:1 1 auto;min-width:0;padding:0 12px}
.head__pl::before{content:'';position:absolute;inset:0;z-index:0;background:var(--dark);
  clip-path:polygon(0 0,100% 0,calc(100% - var(--sk)) 100%,var(--sk) 100%);transition:background .4s;
  box-shadow:inset 0 1px 0 rgba(242,243,241,.09),inset 0 -1px 0 rgba(242,243,241,.05)}
.head.is-stuck .head__pl::before{background:var(--dark-2)}
.head__bar::after{content:'';position:absolute;left:var(--sk);right:var(--sk);bottom:-1px;height:22px;z-index:-1;
  box-shadow:0 14px 30px -12px rgba(8,9,11,.45);opacity:0;transition:opacity .4s;pointer-events:none}
.head.is-stuck .head__bar::after{opacity:1}
.head__pl > *{position:relative;z-index:1}
.head__logo{display:flex;align-items:center;gap:.45em;padding:15px 24px;color:var(--paper);flex:0 0 auto;
  font-family:var(--f-d);font-weight:500;font-size:15px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.head__logo svg{flex:0 0 auto;width:23px;height:23px;display:block;margin-right:2px}
.head__nav{display:flex;align-items:stretch;flex:1 1 auto;justify-content:center;gap:clamp(4px,1.6vw,34px)}
.head__t{position:relative;display:flex;align-items:center;gap:8px;padding:0 clamp(11px,1.4vw,19px);white-space:nowrap;
  font-family:var(--f-d);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(242,243,241,.62);transition:color .3s}
.head__t em{font-style:normal;font-size:9px;letter-spacing:.2em;color:var(--acc);opacity:.85}
.head__t::after{content:'';position:absolute;left:clamp(11px,1.4vw,19px);right:clamp(11px,1.4vw,19px);bottom:12px;height:1px;
  background:var(--acc);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease-exp)}
.head__t:hover,.head__t.is-on{color:var(--paper)}
.head__t:hover::after,.head__t.is-on::after{transform:scaleX(1);transform-origin:left}
.head__side{display:flex;align-items:center;gap:12px;padding:0 calc(16px + var(--sk)) 0 16px;flex:0 0 auto;
  font-family:var(--f-d);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--paper);white-space:nowrap}
.head__side i{width:5px;height:5px;background:var(--acc);display:block;flex:0 0 auto}
.head__side small{font:inherit;color:rgba(242,243,241,.55)}
.head__cta{display:flex;align-items:center;gap:10px;flex:0 0 auto;
  padding:0 30px 0 40px;margin-left:calc(var(--sk) * -1);
  background:var(--acc);color:var(--acc-ink);
  font-family:var(--f-d);font-weight:500;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;
  clip-path:polygon(var(--sk) 0,100% 0,calc(100% - var(--sk)) 100%,0 100%);
  transition:background .3s,color .3s}
.head__cta svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .45s var(--ease-exp)}
.head__cta:hover{background:var(--paper);color:var(--ink)}
.head__cta:hover svg{transform:translate(2px,-2px)}
.head__burger{position:relative;z-index:2;display:none;flex-direction:column;justify-content:center;
  gap:5px;width:48px;height:48px;padding:0 13px;margin-left:auto;background:transparent;border:0;cursor:pointer}
.head__burger i{display:block;height:1.5px;background:var(--paper);transition:transform .4s var(--ease-exp),opacity .3s}
.menu-open .head__burger i:first-child{transform:translateY(6.5px) rotate(45deg)}
.menu-open .head__burger i:nth-child(2){opacity:0}
.menu-open .head__burger i:last-child{transform:translateY(-6.5px) rotate(-45deg)}



/* Mobile navigation shares the engraved ticket and paper language of the page. */
.head__cta-short{display:none}
.mnav{position:fixed;inset:0;z-index:79;display:block;height:100%;height:100dvh;
  padding:calc(84px + env(safe-area-inset-top,0px)) 20px calc(18px + env(safe-area-inset-bottom,0px));
  background:#0e1115 url(../images/card-black.webp) center/512px;color:var(--paper);
  overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;
  opacity:0;visibility:hidden;pointer-events:none;clip-path:none;
  transition:opacity .3s,visibility 0s .3s}
.menu-open .mnav{opacity:1;visibility:visible;pointer-events:auto;clip-path:none;transition:opacity .3s,visibility 0s}
.menu-open body{position:fixed;left:0;right:0;top:var(--menu-y,0px);width:100%;overflow:hidden}
.mnav__inner{display:flex;flex-direction:column;width:100%;max-width:560px;min-height:100%;margin-inline:auto}
.mnav__route{position:relative;display:flex;flex-direction:column;justify-content:center;flex:1 0 auto;padding:24px 22px;border:1px solid rgba(41,197,255,.34)}
.mnav__route::before{content:'';position:absolute;inset:5px;border:1px solid rgba(202,227,238,.16);pointer-events:none}
.mnav__intro{position:relative;padding-right:52px}
.mnav__eyebrow{margin-bottom:8px;font:400 10px/1.3 var(--f-d);letter-spacing:.22em;text-transform:uppercase;color:var(--acc)}
.mnav__title{font:600 clamp(28px,7.5vw,38px)/1.12 'Rakurs Title','Oswald',sans-serif;letter-spacing:.01em;text-transform:uppercase}
.mnav__title span{color:var(--acc)}
.mnav__seal{position:absolute;right:0;top:50%;width:40px;height:40px;transform:translateY(-50%);opacity:.65}
.mnav__list{display:flex;flex-direction:column;margin-top:24px}
.mnav.mnav .mnav__sec{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:14px;
  min-height:88px;padding:14px 0;border-top:1px solid rgba(192,220,234,.18);border-bottom:0;
  font-family:var(--f-d);font-weight:500;font-size:clamp(28px,8vw,38px);line-height:1.12;letter-spacing:0;text-transform:none;color:var(--paper);
  transition:color .25s;transform:translateY(10px);opacity:0}
.menu-open .mnav.mnav .mnav__sec{transform:translateY(0);opacity:1;transition:transform .45s var(--ease-exp),opacity .4s,color .25s}
.menu-open .mnav__sec:nth-child(1){transition-delay:.08s}
.menu-open .mnav__sec:nth-child(2){transition-delay:.14s}
.menu-open .mnav__sec:nth-child(3){transition-delay:.2s}
.mnav .mnav__sec span{margin:0;vertical-align:baseline;font:inherit;letter-spacing:inherit;color:inherit}
.mnav .mnav__sec .mnav__num{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(41,197,255,.7);border-radius:50%;box-shadow:inset 0 0 0 3px #0e1115,inset 0 0 0 4px rgba(41,197,255,.25);font:500 14px/1 var(--f-d);color:var(--acc);font-variant-numeric:tabular-nums}
.mnav__copy{display:flex;flex-direction:column;min-width:0;gap:5px}
.mnav__copy b{font:inherit;text-transform:uppercase}
.mnav__copy small{font:400 12px/1.25 var(--f-t);letter-spacing:.01em;text-transform:none;color:#a7b7c2}
.mnav .mnav__go{display:block;width:32px;height:32px;margin:0;padding:6px;border:1px solid rgba(41,197,255,.3);border-radius:5px;color:var(--acc);fill:none;stroke:currentColor;stroke-width:1.6;transition:background .25s,color .25s}
.mnav .mnav__sec:hover,.mnav .mnav__sec:focus-visible{color:var(--acc)}
.mnav__sec:hover .mnav__go,.mnav__sec:focus-visible .mnav__go{background:var(--acc);color:var(--acc-ink)}
.mnav__foot{position:relative;flex:0 0 auto;margin-top:-1px;padding:22px;background:var(--paper) url(../images/paper.webp) center/512px;color:var(--ink);clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px)}
.mnav__foot::before{content:'';position:absolute;inset:5px;border:1px solid rgba(11,111,153,.25);pointer-events:none}
.mnav__facts{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:12px;margin-bottom:20px}
.mnav__fact{display:flex;align-items:flex-start;gap:9px;min-width:0}
.mnav__fact>svg{flex:0 0 20px;width:20px;height:20px;margin-top:3px;color:#0b6f99}
.mnav__fact p{min-width:0}
.mnav__fact b{display:block;font:500 17px/1.2 var(--f-d)}
.mnav__fact span{display:block;margin-top:5px;font:400 12px/1.3 var(--f-t);color:#52616b}
.mnav.mnav .mnav__invite{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:10px;align-items:center;min-height:56px;padding:8px 8px 8px 18px;margin:0;
  border:1px solid var(--acc);border-radius:8px;background:var(--acc);color:var(--acc-ink);font:500 13px/1.25 var(--f-d);letter-spacing:.1em;text-transform:uppercase;transition:background .25s,color .25s}
.mnav .mnav__invite span{margin:0;font:inherit;line-height:inherit;letter-spacing:inherit;vertical-align:baseline;color:inherit}
.mnav__invite>svg{display:block;width:36px;height:36px;padding:10px;border-radius:5px;background:rgba(4,38,58,.1);fill:none;stroke:currentColor;stroke-width:1.8}
.mnav.mnav .mnav__invite:hover,.mnav.mnav .mnav__invite:focus-visible{background:#101820;border-color:#101820;color:var(--acc)}
.mnav :focus-visible{outline:2px solid var(--acc);outline-offset:4px}

@media (max-width:1280px){.head__side small{display:none}}
@media (max-width:1180px){.head__side{display:none}.head__nav{justify-content:flex-end;padding-right:calc(var(--sk) + 4px)}}
@media (min-width:901px){.mnav{display:none}}
@media (max-width:900px){
  .head{top:calc(8px + env(safe-area-inset-top,0px))}
  .head>.wrap{padding-inline:12px}
  .head__bar{min-height:60px;--sk:0px;gap:0;filter:none;background:#11171d;border:1px solid rgba(41,197,255,.3);border-radius:10px}
  .head__pl{padding:0 7px 0 12px;gap:8px}
  .head__pl::before,.head__bar::after{display:none}
  .head__nav,.head__side{display:none}
  .head__logo{padding:8px 0;gap:8px;font-size:12px;letter-spacing:.08em;line-height:1.1;min-width:0}
  .head__logo svg{width:27px;height:27px;margin:0}
  .head__brand{display:block}
  .head__brand>span{display:block;margin-top:2px}
  .head__burger{display:flex;align-self:center;flex:0 0 42px;width:42px;height:42px;padding:0 10px;border:1px solid rgba(192,220,234,.2);border-radius:6px;background:rgba(192,220,234,.04)}
  .head__burger i{flex:0 0 1.5px;width:20px}
  .head__cta{align-self:center;min-height:42px;padding:0 12px;margin:0 8px 0 0;gap:8px;border-radius:6px;clip-path:none;font-size:11px;letter-spacing:.1em}
  .head__cta-full{display:none}
  .head__cta-short{display:inline}
  .head__cta svg{width:14px;height:14px}
  .menu-open .head{transform:none}
  .menu-open .head__bar{background:#11171d}
  .head :focus-visible{outline:2px solid var(--acc);outline-offset:2px}
}
@media (max-width:360px){
  .head>.wrap{padding-inline:10px}
  .head__pl{padding-left:10px;gap:6px}
  .head__logo{font-size:11px;gap:6px;letter-spacing:.06em}
  .head__logo svg{width:25px;height:25px}
  .head__cta{padding-inline:10px;font-size:10.5px;gap:6px}
  .mnav{padding-inline:14px}
  .mnav__route{padding:20px 16px}
  .mnav__intro{padding-right:36px}
  .mnav__seal{width:30px;height:30px}
  .mnav__title{font-size:27px}
  .mnav.mnav .mnav__sec{grid-template-columns:30px minmax(0,1fr) 28px;gap:10px;font-size:28px}
  .mnav .mnav__sec .mnav__num{width:30px;height:30px;font-size:13px}
  .mnav .mnav__go{width:28px;height:28px;padding:5px}
  .mnav__foot{padding:20px 16px}
  .mnav__facts{gap:8px}
  .mnav__fact{gap:6px}
  .mnav__fact>svg{width:18px;height:18px;flex-basis:18px}
  .mnav__fact b{font-size:15px}
  .mnav__fact span{font-size:11px}
  .mnav.mnav .mnav__invite{padding-left:12px;font-size:12px;letter-spacing:.08em}
}
@media(max-height:700px){
  .mnav{padding-top:calc(80px + env(safe-area-inset-top,0px));padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
  .mnav__route{padding:16px 20px}
  .mnav__eyebrow{margin-bottom:5px}
  .mnav__title{font-size:28px}
  .mnav__list{margin-top:14px}
  .mnav.mnav .mnav__sec{min-height:68px;padding-block:9px;font-size:29px}
  .mnav__copy{gap:3px}
  .mnav__foot{padding:18px 20px}
  .mnav__facts{margin-bottom:14px}
}
@media(max-height:560px) and (min-width:600px) and (max-width:900px){
  .mnav__inner{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;min-height:0}
  .mnav__route{padding:16px}
  .mnav__foot{margin-top:0}
  .mnav__facts{grid-template-columns:1fr;gap:18px}
  .mnav__title{font-size:27px}
  .mnav.mnav .mnav__sec{min-height:64px;padding-block:8px;font-size:27px}
  .mnav__seal{display:none}
  .mnav__intro{padding-right:0}
}
@media(prefers-reduced-motion:reduce){.mnav,.menu-open .mnav,.mnav.mnav .mnav__sec,.menu-open .mnav.mnav .mnav__sec,.head__burger i{transition:none;transform:none}.menu-open .head__burger i:first-child{transform:translateY(6.5px) rotate(45deg)}.menu-open .head__burger i:last-child{transform:translateY(-6.5px) rotate(-45deg)}}

/* Reuse the invitation's existing engraved frames and numbered seals. */
.mnav__route[data-ticket-location]{border:0}
.mnav__route[data-ticket-location]::before,.mnav__foot[data-ticket-location]::before{display:none}
.mnav__route>.ticket-frame path{stroke:#b6e6f5;stroke-opacity:.35}
.mnav .mnav__sec .mnav__num[data-ticket-seal]{position:relative;border:0;box-shadow:none}
.mnav__num[data-ticket-seal]>svg{position:absolute;inset:-2px;width:calc(100% + 4px);height:calc(100% + 4px);fill:none;stroke:var(--acc);stroke-width:.9;opacity:.7;pointer-events:none}
