/* Restored elegant desert lanterns. Catalogue lanterns are unaffected.
   The lower handle is inside the SVG; the label gap also accommodates a 28px pull. */
.directions .lamp-pull-canonical{
  --nav-lamp-light:255,185,74;
  --nav-lamp-light-level:0;
  --nav-lamp-fire-level:0;
  isolation:isolate;
  overflow:visible;
}
.directions .lamp-pull-canonical:before{content:none}
.directions .lamp-pull-canonical .nav-lantern{
  position:relative;z-index:1;display:block;width:100%;height:100%;
  overflow:visible;pointer-events:none;
  /* Small cached silhouette shadows: broad cast + sharp edge separation.
     Move the object, not an animated blur/filter or a page-sized layer. */
  filter:drop-shadow(12px 19px 8px #160e0a80) drop-shadow(2px 3px 1px #130d0a99);
  transform-origin:50% 15.2%;
  transform:perspective(650px) rotateY(-9deg) rotateX(3deg);
  transition:transform .5s cubic-bezier(.2,.7,.3,1);
}
.directions .lamp-suspension{
  position:absolute;left:50%;transform:translateX(-50%);z-index:0;
  display:block;pointer-events:none;
}
.directions .lamp-suspension{top:-130px;height:calc(130px + 15.2%)}
.directions .lamp-suspension-metal{width:12px;overflow:hidden}
.directions .lamp-suspension .nav-chain-art{display:block;width:12px;height:100%;max-width:none}
.directions .lamp-suspension{filter:drop-shadow(4px 5px 2px #21150c55)}
.directions .lamp-suspension-yarn{
  width:24px;background:url(assets/portal-yarn.svg) center top/24px 115.2px repeat-y;
}
.directions .lamp-suspension-yarn{top:-132px;height:calc(132px + 15.2%)}
.directions .lamp-pull-canonical+.lamp-label{margin-top:40px}
.directions .nav-lantern-aura{
  position:absolute;z-index:0;left:-66%;top:8%;width:232%;height:100%;
  pointer-events:none;border-radius:50%;opacity:var(--nav-lamp-light-level);
  transition:opacity 1.2s cubic-bezier(.2,.7,.3,1);contain:layout paint;
}
.directions .nav-lantern-aura:before{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:radial-gradient(ellipse,rgba(var(--nav-lamp-light),.55),rgba(var(--nav-lamp-light),.16) 35%,transparent 70%);
  transform-origin:center;
}
.directions .nav-lantern :is(.fire,.glass-warmth,.wax-pool,.fire-edge-reflection){
  opacity:var(--nav-lamp-fire-level);transition:opacity .8s cubic-bezier(.2,.7,.3,1);
}
.directions .nav-lantern .glass-warmth{opacity:calc(var(--nav-lamp-fire-level) * .8)}
.directions .nav-lantern :is(.flame-outer,.flame-inner){
  transform-box:fill-box;transform-origin:50% 100%;
}
.directions .direction.is-active .lamp-pull-canonical{
  --nav-lamp-light-level:1;--nav-lamp-fire-level:1;
}
.directions .direction:not(.is-active) .nav-lantern :is(.flame-outer,.flame-inner),
.directions .direction:not(.is-active) .nav-lantern-aura:before{animation-play-state:paused!important}
@media(prefers-reduced-motion:no-preference){
  .directions .direction.is-pulling .nav-lantern{animation:portal-lamp-depth .82s cubic-bezier(.2,.7,.3,1)}
  .directions .nav-lantern .flame-outer{animation:portal-wick-flicker 3.3s ease-in-out var(--nav-flame-delay) infinite}
  .directions .nav-lantern .flame-inner{animation:portal-wick-flicker 2.1s ease-in-out calc(var(--nav-flame-delay) - .7s) infinite reverse}
  .directions .nav-lantern-aura:before{animation:portal-lamp-breathe 5.7s ease-in-out var(--nav-flame-delay) infinite}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .directions .direction:hover .nav-lantern{transform:perspective(650px) rotateY(-3deg) rotateX(1deg) translateZ(8px)}
 .directions .direction:active .nav-lantern{transform:perspective(650px) rotateY(5deg) rotateX(-3deg) translateZ(15px)}
}
@keyframes portal-lamp-depth{
 0%,100%{transform:perspective(650px) rotateY(-9deg) rotateX(3deg)}
 28%{transform:perspective(650px) rotateY(7deg) rotateX(-4deg) translateZ(15px)}
 64%{transform:perspective(650px) rotateY(-5deg) rotateX(2deg) translateZ(4px)}
}
/* Gentle wick motion. Metal, filigree, glass, chains and yarn stay still. */
@keyframes portal-wick-flicker{
  0%,100%{transform:skewX(0) scale(.96,1)}
  17%{transform:skewX(-5deg) scale(.91,1.08)}
  38%{transform:skewX(3deg) scale(1.02,.95)}
  61%{transform:skewX(-2deg) scale(.94,1.04)}
  79%{transform:skewX(4deg) scale(1,.97)}
}
@keyframes portal-lamp-breathe{0%,100%{transform:scale(1)}31%{transform:scale(1.025)}67%{transform:scale(.985)}}
:is(.lamps-asleep,.atmosphere-paused) .directions .nav-lantern :is(.flame-outer,.flame-inner),
:is(.lamps-asleep,.atmosphere-paused) .directions .nav-lantern-aura:before{animation-play-state:paused!important}
@media(max-width:1100px){.directions .nav-lantern-aura{left:-26%;width:152%}}
@media(max-width:760px){
  .directions .lamp-suspension{top:-92px;height:calc(92px + 15.2%)}
  .directions .lamp-suspension-metal{width:10px}
  .directions .lamp-suspension .nav-chain-art{width:10px;height:100%}
  .directions .lamp-suspension-yarn{width:20px;top:-93px;height:calc(93px + 15.2%);background-size:20px 96px}
  .directions .lamp-pull-canonical+.lamp-label{margin-top:36px}
  .directions .nav-lantern-aura{left:-26%;width:152%}
}
@media(prefers-reduced-motion:reduce){
  .directions .lamp-pull-canonical .nav-lantern{transform:none;transition:none;animation:none!important}
  .directions .nav-lantern *, .directions .nav-lantern-aura, .directions .nav-lantern-aura:before{animation:none!important;transition:none!important}
}
