/* Night Vendor · The Living Inventory Pass 01
   Additive, local-only custody, orientation, continuity, and cross-house passage. */
:root{
  --nv-inventory-h:52px;
  --nv-inventory-bg:rgba(2,6,10,.94);
  --nv-inventory-line:rgba(185,216,248,.18);
  --nv-inventory-cold:#b9d8f8;
  --nv-inventory-paper:#d9c6a2;
  --nv-inventory-ink:#eef7ff;
  --nv-inventory-muted:#8fa2b7;
}
html.nv-inventory-transitioning{background:#010305}
body.nv-inventory-ready{padding-bottom:calc(var(--nv-inventory-h) + env(safe-area-inset-bottom,0px))!important}
body.nv-inventory-ready::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:2147482000;
  pointer-events:none;
  opacity:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.74)),
    radial-gradient(ellipse at 50% 5%,rgba(185,216,248,.08),transparent 38%),
    #010305;
  transition:opacity .18s ease;
}
html.nv-inventory-transitioning body::after{opacity:1}

.nv-inventory-rail{
  position:fixed;
  left:50%;
  bottom:max(0px,env(safe-area-inset-bottom,0px));
  transform:translateX(-50%);
  z-index:2147482100;
  width:min(100%,1180px);
  color:var(--nv-inventory-ink);
  background:linear-gradient(180deg,rgba(8,17,27,.97),var(--nv-inventory-bg));
  border:1px solid var(--nv-inventory-line);
  border-bottom:0;
  box-shadow:0 -18px 70px rgba(0,0,0,.48),inset 0 1px rgba(217,198,162,.08);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.nv-inventory-rail::before{
  content:"";
  position:absolute;
  left:18%;right:18%;top:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(217,198,162,.62),transparent);
}
.nv-inventory-rail__bar{
  min-height:var(--nv-inventory-h);
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(126px,.7fr) auto;
  align-items:center;
  gap:14px;
  padding:8px clamp(12px,3vw,24px);
}
.nv-inventory-rail__cell{min-width:0}
.nv-inventory-rail__label{
  display:block;
  color:var(--nv-inventory-muted);
  font-size:.56rem;
  font-weight:850;
  letter-spacing:.18em;
  line-height:1.2;
  text-transform:uppercase;
}
.nv-inventory-rail__value{
  display:block;
  margin-top:3px;
  overflow:hidden;
  color:var(--nv-inventory-ink);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.72rem;
  font-weight:750;
  letter-spacing:.055em;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.nv-inventory-rail__custody .nv-inventory-rail__value{color:var(--nv-inventory-paper)}
.nv-inventory-rail__toggle{
  min-height:34px;
  border:1px solid rgba(185,216,248,.22);
  background:rgba(185,216,248,.035);
  color:var(--nv-inventory-ink);
  cursor:pointer;
  padding:7px 10px;
  font:800 .58rem/1 system-ui,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.nv-inventory-rail__toggle:hover,.nv-inventory-rail__toggle:focus-visible{
  border-color:rgba(217,198,162,.54);
  outline:2px solid rgba(185,216,248,.12);
  outline-offset:2px;
}
.nv-inventory-rail__drawer{
  display:none;
  border-top:1px solid rgba(185,216,248,.10);
  padding:16px clamp(14px,3vw,24px) 18px;
  background:linear-gradient(180deg,rgba(185,216,248,.025),rgba(0,0,0,.16));
}
.nv-inventory-rail.is-open .nv-inventory-rail__drawer{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}
.nv-inventory-rail__condition{
  margin:0;
  color:#c5d3df;
  font-size:.86rem;
  line-height:1.55;
}
.nv-inventory-rail__condition strong{
  display:block;
  margin-bottom:4px;
  color:var(--nv-inventory-paper);
  font-size:.58rem;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.nv-inventory-rail__actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}
.nv-inventory-rail__action{
  border:0;
  background:transparent;
  color:var(--nv-inventory-muted);
  cursor:pointer;
  padding:4px 0;
  font:800 .58rem/1.3 system-ui,sans-serif;
  letter-spacing:.12em;
  text-decoration:underline;
  text-decoration-color:rgba(143,162,183,.34);
  text-underline-offset:4px;
  text-transform:uppercase;
}
.nv-inventory-rail__action:hover,.nv-inventory-rail__action:focus-visible{color:#fff;outline:0;text-decoration-color:rgba(217,198,162,.7)}
.nv-three-houses-global{
  display:grid;
  align-content:start;
  justify-items:end;
  gap:8px;
}
.nv-three-houses-global__label{
  color:var(--nv-inventory-muted);
  font-size:.56rem;
  font-weight:850;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.nv-three-houses-global__links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 15px}
.nv-three-houses-global a{
  color:rgba(185,216,248,.68);
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.13em;
  text-decoration:none;
  text-transform:uppercase;
}
.nv-three-houses-global a:hover,.nv-three-houses-global a:focus-visible{color:#fff;outline:1px solid rgba(217,198,162,.45);outline-offset:4px}
.nv-three-houses-global a[aria-current="page"]{color:var(--nv-inventory-paper)}

.nv-resume-record,.nv-cross-contamination,.nv-release-disturbance,.nv-second-record-note{
  position:relative;
  width:min(calc(100% - 32px),1120px);
  margin:18px auto;
  border:1px solid rgba(185,216,248,.16);
  background:linear-gradient(180deg,rgba(9,18,28,.78),rgba(1,4,7,.86));
  box-shadow:0 22px 70px rgba(0,0,0,.28);
  padding:15px 17px;
  color:#c4d2df;
}
.nv-resume-record::before,.nv-cross-contamination::before,.nv-release-disturbance::before,.nv-second-record-note::before{
  content:"";position:absolute;left:14px;right:14px;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(217,198,162,.5),transparent)
}
.nv-resume-record__label,.nv-cross-contamination__label,.nv-release-disturbance__label,.nv-second-record-note__label{
  display:block;color:var(--nv-inventory-paper);font:850 .59rem/1.2 system-ui,sans-serif;letter-spacing:.17em;text-transform:uppercase
}
.nv-resume-record p,.nv-cross-contamination p,.nv-release-disturbance p,.nv-second-record-note p{margin:7px 0 0!important;color:#c4d2df!important;font-size:.9rem!important;line-height:1.55!important}
.nv-resume-record__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.nv-resume-record button{
  min-height:36px;border:1px solid rgba(217,198,162,.36);background:rgba(217,198,162,.055);color:#eef7ff;cursor:pointer;padding:9px 13px;
  font:800 .61rem/1 system-ui,sans-serif;letter-spacing:.13em;text-transform:uppercase
}
.nv-resume-record button:hover,.nv-resume-record button:focus-visible{border-color:rgba(238,247,255,.64);outline:2px solid rgba(185,216,248,.12);outline-offset:2px}

/* First visit: one dominant entrance, alternatives remain available without becoming a directory. */
.first-visit-panel.nv-guided-first-visit .page-title{max-width:780px}
.first-visit-panel.nv-guided-first-visit .first-visit-grid{display:block}
.first-visit-primary{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:24px;
  min-height:280px;
  border:1px solid rgba(217,198,162,.34)!important;
  background:
    radial-gradient(circle at 78% 24%,rgba(185,216,248,.10),transparent 27%),
    linear-gradient(180deg,rgba(9,20,31,.92),rgba(1,4,7,.96))!important;
  box-shadow:0 32px 120px rgba(0,0,0,.52)!important;
  padding:clamp(24px,5vw,48px)!important;
}
.first-visit-primary::after{
  content:"001";
  position:absolute;right:22px;top:17px;color:rgba(185,216,248,.09);
  font:900 clamp(3.4rem,10vw,7.6rem)/1 ui-monospace,monospace;letter-spacing:-.08em
}
.first-visit-primary h2{font-size:clamp(2.2rem,7vw,5rem)!important;line-height:.95!important;max-width:700px}
.first-visit-primary p{max-width:690px}
.first-visit-primary .small-link{position:relative;z-index:2;min-width:190px;text-align:center}
.nv-first-visit-alternatives{margin-top:20px;border:1px solid rgba(185,216,248,.12);background:rgba(0,0,0,.14)}
.nv-first-visit-alternatives summary{
  cursor:pointer;list-style:none;padding:16px 18px;color:var(--nv-inventory-muted);
  font:850 .64rem/1.3 system-ui,sans-serif;letter-spacing:.15em;text-transform:uppercase
}
.nv-first-visit-alternatives summary::-webkit-details-marker{display:none}
.nv-first-visit-alternatives summary::after{content:" +";color:var(--nv-inventory-paper)}
.nv-first-visit-alternatives[open] summary::after{content:" −"}
.nv-first-visit-alternatives__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 14px 14px}

/* Home: the human signal remains real, but the full statement lives at the Owner's Desk. */
.nv-owner-desk-doorway{
  display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:clamp(22px,5vw,54px);align-items:center
}
.nv-owner-desk-doorway figure{margin:0;border:1px solid rgba(185,216,248,.18);overflow:hidden;background:#020509;box-shadow:0 24px 90px rgba(0,0,0,.35)}
.nv-owner-desk-doorway img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;filter:contrast(1.04) saturate(.84) brightness(.82)}
.nv-owner-desk-doorway .signature-line{margin-top:18px}

/* House I · II · III is a shared passage, not a decorative indicator. */
.three-house-mark-wrap{width:min(100%,520px)!important}
.three-house-mark--passage{display:grid;gap:7px;max-width:100%}
.three-house-mark--passage .three-house-mark__houses,.three-house-mark--passage .three-house-mark__words{display:flex!important;gap:12px;align-items:center;flex-wrap:wrap}
.three-house-mark--passage a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;padding:2px 0}
.three-house-mark--passage a:hover,.three-house-mark--passage a:focus-visible{color:#fff;border-color:rgba(217,198,162,.55);outline:0}
.three-house-mark--passage a[aria-current="page"]{color:rgba(217,198,162,.9)}
.three-house-mark__divider{color:rgba(143,162,183,.34)}


/* Portal headings remain cinematic without swallowing the document. */
.nv-portal-shell .page-title{
  font-size:clamp(2.7rem,6vw,4.8rem)!important;
  line-height:.9!important;
  letter-spacing:.045em;
  max-width:900px;
  overflow-wrap:anywhere;
}

/* On wide screens the original hero now flows as a deliberate two-column counter scene. */
@media(min-width:821px){
  .scene-first .home-anchor-scene{
    min-height:0!important;
    padding:72px clamp(38px,4vw,58px) 48px!important;
  }
  .home-anchor-scene .scene-copy{
    position:relative!important;
    left:auto!important;right:auto!important;bottom:auto!important;
    width:100%!important;max-width:none!important;
    display:grid!important;
    grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
    gap:18px 36px;
    align-items:start;
  }
  .home-anchor-scene .scene-copy > .kicker,
  .home-anchor-scene .scene-copy > h1,
  .home-anchor-scene .scene-copy > .three-house-mark-wrap,
  .home-anchor-scene .scene-copy > p{grid-column:1}
  .home-anchor-scene .night-vendor-home-anchor{
    grid-column:2;grid-row:1 / 6;margin:0;align-self:center;
  }
  .home-anchor-scene .first-visit-door,
  .home-anchor-scene .scene-actions,
  .home-anchor-scene .night-bell-feature{grid-column:1 / -1}
  .home-anchor-scene .scene-copy > h1{
    font-size:clamp(4rem,7vw,6.2rem)!important;
    line-height:.9!important;
  }
}

/* A release changes the cabinet instead of arriving as an announcement card. */
body.nv-release-unhandled .nv-late-files-page-anchor,
body.nv-release-unhandled [href*="late-files"] .nv-mark{filter:drop-shadow(0 0 8px rgba(185,216,248,.22))}
body[data-nv-nightly="clock-behind"] time,body[data-nv-nightly="clock-behind"] .clock{font-variant-numeric:tabular-nums}
body[data-nv-nightly="cabinet-b4"] .nv-cross-contamination{border-left-color:rgba(217,198,162,.48)}
body[data-nv-nightly="receipt-no-order"] .nv-inventory-rail__condition{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
body[data-nv-nightly="handwriting"] .nv-inventory-rail__condition{font-style:italic}
body[data-nv-nightly="aisle-light"] .nv-inventory-rail{box-shadow:0 -18px 78px rgba(86,143,194,.11),0 -18px 70px rgba(0,0,0,.48)}

/* Ledger and shift threshold pages. */
.nv-portal-page main{min-height:70vh}
.nv-portal-shell{width:min(calc(100% - 32px),980px);margin:clamp(34px,7vw,86px) auto;padding:clamp(24px,5vw,52px);border:1px solid rgba(185,216,248,.18);background:linear-gradient(180deg,rgba(8,17,27,.92),rgba(1,4,7,.96));box-shadow:0 36px 130px rgba(0,0,0,.52);position:relative}
.nv-portal-shell::before{content:"";position:absolute;left:18%;right:18%;top:0;height:2px;background:linear-gradient(90deg,transparent,rgba(217,198,162,.72),transparent)}
.nv-ledger-frame{width:100%;min-height:720px;border:1px solid rgba(185,216,248,.13);background:#fff;margin-top:24px}
.nv-portal-disclosure{margin-top:14px;color:var(--nv-inventory-muted);font-size:.8rem;line-height:1.55}
.nv-shift-gate{display:grid;grid-template-columns:1fr .8fr;gap:clamp(24px,5vw,56px);align-items:center}
.nv-shift-camera{aspect-ratio:4/3;border:1px solid rgba(185,216,248,.18);background:radial-gradient(circle at 50% 28%,rgba(185,216,248,.08),transparent 26%),linear-gradient(180deg,#09131d,#010305);display:grid;place-items:center;overflow:hidden;position:relative}
.nv-shift-camera::before{content:"CAM 04";position:absolute;left:14px;top:12px;color:rgba(185,216,248,.55);font:800 .6rem ui-monospace,monospace;letter-spacing:.12em}
.nv-shift-camera::after{content:"ONE CUSTOMER REMAINS";color:rgba(217,198,162,.78);font:850 clamp(.72rem,2vw,1rem)/1.4 ui-monospace,monospace;letter-spacing:.13em;text-align:center;padding:20px}

@media(max-width:760px){
  .nv-inventory-rail__bar{grid-template-columns:minmax(0,1fr) auto;gap:10px}
  .nv-inventory-rail__custody{display:none}
  .nv-inventory-rail.is-open .nv-inventory-rail__drawer{grid-template-columns:1fr}
  .nv-three-houses-global{justify-items:start}
  .nv-three-houses-global__links{justify-content:flex-start}
  .first-visit-primary{grid-template-columns:1fr;min-height:0}
  .first-visit-primary .small-link{width:100%}
  .nv-first-visit-alternatives__grid{grid-template-columns:1fr}
  .nv-owner-desk-doorway,.nv-shift-gate{grid-template-columns:1fr}
  .nv-ledger-frame{min-height:780px}
}
@media(max-width:440px){
  :root{--nv-inventory-h:50px}
  .nv-inventory-rail__bar{padding:7px 10px}
  .nv-inventory-rail__value{font-size:.64rem}
  .nv-inventory-rail__toggle{font-size:.54rem;padding:7px 8px}
}
@media(prefers-reduced-motion:reduce){
  body.nv-inventory-ready::after{transition:none}
  html.nv-inventory-transitioning body::after{opacity:0}
}
@media print{
  .nv-inventory-rail,.nv-resume-record,.nv-cross-contamination,.nv-release-disturbance,.nv-second-record-note{display:none!important}
  body.nv-inventory-ready{padding-bottom:0!important}
}
