/* night doors + environment entry polish */

.night-doors{
  position:absolute;inset:0;z-index:220;display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .45s cubic-bezier(.22,.61,.36,1);
  border-radius:inherit;overflow:hidden;
}
.night-doors.in{opacity:1;pointer-events:auto}
.night-doors.out{opacity:0;pointer-events:none}
.nd-sky{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 90% 55% at 50% -10%,rgba(196,165,116,.22),transparent 55%),
    radial-gradient(ellipse 70% 50% at 100% 80%,rgba(47,93,80,.18),transparent 50%),
    linear-gradient(165deg,#121820 0%,#1a2838 42%,#24302c 100%);
}
.nd-sky::after{
  content:'';position:absolute;inset:0;opacity:.08;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.nd-inner{
  position:relative;z-index:1;width:100%;max-width:340px;padding:28px 20px 36px;text-align:center;
}
.nd-brand{
  font-family:var(--font-brand);font-size:clamp(1.8rem,6vw,2.3rem);font-weight:500;
  letter-spacing:-.025em;color:#f2ebe0;margin:0 0 .4rem;
  animation:nd-rise .8s cubic-bezier(.22,.61,.36,1) both;
}
.nd-kicker{
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(196,165,116,.9);
  margin:0 0 .75rem;animation:nd-rise .85s .05s cubic-bezier(.22,.61,.36,1) both;
}
.nd-title{
  font-family:var(--font-brand);font-size:clamp(1.25rem,4.2vw,1.55rem);font-weight:500;
  letter-spacing:-.02em;line-height:1.25;color:rgba(242,235,224,.95);margin:0 auto .65rem;max-width:16ch;
  animation:nd-rise .9s .1s cubic-bezier(.22,.61,.36,1) both;
}
.nd-sub{
  font-size:13.5px;font-weight:300;line-height:1.55;color:rgba(214,228,216,.72);max-width:28ch;margin:0 auto 1.35rem;
  animation:nd-rise .9s .16s cubic-bezier(.22,.61,.36,1) both;
}
.nd-doors{display:flex;flex-direction:column;gap:10px;margin:0 0 1rem}
.nd-door{
  appearance:none;border:1px solid rgba(242,235,224,.14);background:rgba(255,255,255,.05);
  border-radius:14px;padding:14px 14px 13px;text-align:left;cursor:pointer;font:inherit;color:#f2ebe0;
  transition:transform .3s cubic-bezier(.22,.61,.36,1),border-color .25s,background .25s;
  animation:nd-rise .85s cubic-bezier(.22,.61,.36,1) both;
}
.nd-door:hover,.nd-door:focus-visible{
  outline:none;transform:translateY(-2px);border-color:rgba(196,165,116,.45);background:rgba(255,255,255,.09);
}
.nd-door:active{transform:scale(.98)}
.nd-door-k{display:block;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:rgba(196,165,116,.85);margin-bottom:4px}
.nd-door-t{display:block;font-family:var(--font-brand);font-size:1.05rem;font-weight:500;letter-spacing:-.015em;margin-bottom:4px}
.nd-door-b{display:block;font-size:12.5px;line-height:1.45;color:rgba(242,235,224,.58);font-weight:300}
.nd-skip{
  appearance:none;border:none;background:none;color:rgba(242,235,224,.4);font:inherit;font-size:12.5px;
  text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:8px;
  animation:nd-rise .9s .4s cubic-bezier(.22,.61,.36,1) both;
}
.nd-skip:hover{color:rgba(242,235,224,.7)}

@keyframes nd-rise{
  from{opacity:0;transform:translateY(14px) scale(.98)}
  to{opacity:1;transform:none}
}

/* cairn tonight door CTA */
.tonight-door-cta{
  display:block;width:100%;margin-top:14px;padding:14px 16px;text-align:left;cursor:pointer;
  border:1px solid rgba(82,121,111,.22);border-radius:14px;background:rgba(82,121,111,.06);
  font:inherit;color:inherit;transition:transform .3s ease,border-color .25s,background .25s;
}
.tonight-door-cta:hover{transform:translateY(-1px);border-color:rgba(82,121,111,.4);background:rgba(82,121,111,.1)}
.tonight-door-cta .td-k{display:block;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--sage,#2f5d50);margin-bottom:4px}
.tonight-door-cta .td-t{display:block;font-family:var(--font-brand);font-size:1.05rem;font-weight:500;letter-spacing:-.015em;margin-bottom:3px}
.tonight-door-cta .td-b{display:block;font-size:12.5px;opacity:.7;line-height:1.4}

/* expedition cards — clearer enter affordance */
.expcard{position:relative;transition:transform .3s cubic-bezier(.22,.61,.36,1),border-color .25s}
.expcard:hover{transform:translateY(-2px)}
.expcard .go{opacity:.55;transition:opacity .2s,transform .25s}
.expcard:hover .go{opacity:1;transform:translateX(2px)}
.expcard.flagship{border-left:2px solid var(--sage,#52796F)}

/* ensure overlays don't trap — nav hint when modal open without exp-active */
#ovl{z-index:40}
.device.has-modal .nav{opacity:.55}

@media (prefers-reduced-motion:reduce){
  .nd-brand,.nd-kicker,.nd-title,.nd-sub,.nd-door,.nd-skip,.night-doors{animation:none!important;transition:none!important}
  .expcard:hover,.tonight-door-cta:hover,.nd-door:hover{transform:none}
}
