/* Landau Lab · site menu on the guided-tour homepage (phase 8, Annie 10 Oct 2026).
   Same palette as the tour's dark chapters (home-c.css) and the header's type. Loaded only on /. */
:root{--p8-rail:256px}
html.p8-lock{overflow:hidden}
.p8-side{position:fixed;z-index:130;top:0;bottom:0;left:0;width:min(88vw,340px);
  color:rgba(245,242,236,.74);background:#0b1b1e;
  background:radial-gradient(560px 700px at 0% 0%,#14303a 0%,#0b1b1e 55%,#061012 100%);
  overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(245,242,236,.2) transparent;
  transform:translateX(-102%);visibility:hidden;
  transition:transform .45s cubic-bezier(.22,1,.36,1),visibility 0s linear .45s}
.p8-side.is-open{transform:none;visibility:visible;transition-delay:0s;box-shadow:24px 0 60px -30px rgba(6,16,18,.7)}
.p8-side:focus{outline:none}
.p8-side a{color:#f5f2ec;text-decoration:none}
.p8-side a:focus-visible,.p8-side button:focus-visible{outline:2px solid #d2ae72;outline-offset:3px;border-radius:2px}
.p8-side-in{display:flex;flex-direction:column;min-height:100%;padding:1.25rem 1.45rem 1.4rem}
.p8-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.p8-k{display:flex;align-items:center;gap:.6rem;font-family:var(--mono);font-size:.62rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:#d2ae72}
.p8-k::before{content:"";width:18px;height:1px;background:currentColor;opacity:.8}
.p8-close{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid rgba(245,242,236,.22);border-radius:50%;background:transparent;color:#f5f2ec;font-size:1.35rem;line-height:1;cursor:pointer}
.p8-close:hover{border-color:#d2ae72}
.p8-group{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;margin-top:1rem;
  font-family:var(--mono);font-size:.6rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,242,236,.52)}
.p8-side .p8-group a{color:inherit}
.p8-side .p8-group a:hover{color:#f5f2ec}
.p8-of{letter-spacing:.1em;color:rgba(245,242,236,.4)}
.p8-themes,.p8-links,.p8-stops{list-style:none;margin:.45rem 0 0;padding:0}
.p8-themes a{display:grid;grid-template-columns:1.7rem minmax(0,1fr);align-items:baseline;padding:.3rem 0;
  font-family:var(--serif);font-size:1.02rem;line-height:1.22}
.p8-themes .n{font-family:var(--mono);font-size:.6rem;color:#d2ae72}
.p8-themes em{font-style:italic;font-weight:300;color:#9cc8cb}
.p8-themes .t{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .3s ease}
.p8-themes a:hover .t{background-size:100% 1px}
.p8-links{margin-top:.75rem;border-top:1px solid rgba(245,242,236,.12);padding-top:.35rem}
.p8-links a{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;padding:.38rem 0;font-size:.92rem;font-weight:500;letter-spacing:.01em}
.p8-links a::after{content:"→";font-size:.8rem;color:rgba(245,242,236,.3);transition:transform .2s ease,color .2s ease}
.p8-links small{margin-left:auto;font-family:var(--mono);font-size:.56rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,242,236,.45)}
.p8-links a:hover::after{transform:translateX(3px);color:#d2ae72}
.p8-cta{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.05rem .6rem;margin-top:.7rem;padding:.55rem .85rem;
  border:1px solid rgba(210,174,114,.55);border-radius:4px;font-size:.92rem;font-weight:500;background:rgba(210,174,114,.06);transition:background .2s ease,border-color .2s ease}
.p8-cta small{grid-column:1;grid-row:2;font-family:var(--mono);font-size:.56rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,242,236,.5)}
.p8-cta > span[aria-hidden]{grid-column:2;grid-row:1 / span 2;font-size:1.05rem;color:#d2ae72}
.p8-cta:hover{background:rgba(210,174,114,.16);border-color:#d2ae72}
.p8-stops{position:relative}
.p8-prog-li{position:absolute;left:4px;top:.85rem;bottom:.85rem;width:1px;background:rgba(245,242,236,.16)}
.p8-prog{position:absolute;inset:0;background:#7fb9bd;transform-origin:top;transform:scaleY(0)}
.p8-stops a{position:relative;display:grid;grid-template-columns:1.25rem 1.6rem minmax(0,1fr);align-items:center;padding:.24rem 0;font-size:.86rem;color:rgba(245,242,236,.7)}
.p8-side .p8-stops a{color:rgba(245,242,236,.7)}
.p8-stops i{display:block;width:9px;height:9px;border-radius:50%;border:1px solid rgba(245,242,236,.42);background:#0b1b1e;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}
.p8-stops .n{font-family:var(--mono);font-size:.58rem;color:rgba(245,242,236,.45)}
.p8-side .p8-stops a:hover,.p8-side .p8-stops a.is-now{color:#f5f2ec}
.p8-stops a.is-past i{background:#4f8a90;border-color:#4f8a90}
.p8-stops a.is-now i{background:#7fb9bd;border-color:#7fb9bd;box-shadow:0 0 0 4px rgba(127,185,189,.2)}
.p8-stops a.is-now .n{color:#d2ae72}
.p8-ov{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:.1rem .6rem;margin-top:auto;padding-top:1rem;border-top:1px solid rgba(245,242,236,.12);font-size:.86rem;font-weight:500}
.p8-ov small{grid-column:1;grid-row:2;font-size:.74rem;font-weight:400;color:rgba(245,242,236,.52)}
.p8-ov > span{grid-column:2;grid-row:1}
.p8-side .p8-ov{margin-top:auto}
.p8-scrim{position:fixed;inset:0;z-index:129;background:rgba(6,16,18,.5);opacity:0;transition:opacity .3s ease}
.p8-scrim.is-on{opacity:1}
.p8-scrim[hidden]{display:none}

/* header: an obvious, labelled Menu button (replaces the bare icon toggle on this page) */
html.p8-home .nav-toggle{display:none!important}
html.p8-home .nav{justify-content:flex-start}
html.p8-home .nav .brand{margin-right:auto}
html.p8-home .nav .p8-menu-btn{order:3}
.p8-menu-btn{display:inline-flex;align-items:center;gap:.6rem;height:42px;padding:0 1rem 0 .85rem;
  border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:#f5f2ec;cursor:pointer;
  font-family:var(--sans);font-size:.86rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;transition:background .2s ease}
.p8-menu-btn:hover{background:var(--accent-deep)}
.p8-menu-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.p8-ic{display:inline-grid;gap:3px}
.p8-ic i{display:block;width:16px;height:1.5px;background:currentColor;border-radius:1px}
.p8-ic i:nth-child(2){width:11px}
@media (min-width:861px) and (max-width:1279px){
  html.p8-home .nav-links a:not(.cta){padding-inline:.55rem}
  html.p8-home .nav-links a::after{left:.55rem;right:.55rem}
  .p8-menu-btn{margin-left:.4rem;height:38px;padding:0 .8rem 0 .7rem;font-size:.78rem}
}
@media (min-width:861px) and (max-width:1100px){
  html.p8-home .nav-links a:not(.cta){display:none}
}

/* desktop: the menu is always there, as a rail beside the page */
@media (min-width:1280px){
  html.p8-home body{padding-left:var(--p8-rail)}
  html.p8-home header.site{margin-left:calc(-1 * var(--p8-rail))}
  html.p8-home header.site .wrap{max-width:none;padding-left:1.35rem;padding-right:calc(max(0px,(100vw - var(--p8-rail) - var(--wrap)) / 2) + var(--gutter))}
  html.p8-home .route{left:var(--p8-rail)}
  html.p8-home .pv,html.p8-home body.review .review-legend{left:calc(var(--p8-rail) + 14px)}
  .p8-side{top:72px;width:var(--p8-rail);z-index:96;transform:none;visibility:visible;transition:none;box-shadow:inset -1px 0 0 rgba(245,242,236,.06)}
  .p8-side-in{padding:1.05rem 1.35rem .9rem}
  .p8-themes a{padding:.22rem 0}
  .p8-links a{padding:.3rem 0}
  .p8-stops a{padding:.19rem 0}
  .p8-ov{padding-top:.75rem}
  .p8-close,.p8-menu-btn,.p8-scrim{display:none!important}
  .p8-side-in > *{animation:p8in .7s cubic-bezier(.22,1,.36,1) both}
  .p8-side-in > :nth-child(2){animation-delay:.05s}.p8-side-in > :nth-child(3){animation-delay:.1s}
  .p8-side-in > :nth-child(4){animation-delay:.15s}.p8-side-in > :nth-child(5){animation-delay:.2s}
  .p8-side-in > :nth-child(6){animation-delay:.25s}.p8-side-in > :nth-child(7){animation-delay:.3s}
  .p8-side-in > :nth-child(8){animation-delay:.35s}.p8-side-in > :nth-child(9){animation-delay:.4s}
}
@media (min-width:1280px) and (max-height:860px){
  .p8-themes a{padding:.2rem 0;font-size:.96rem}
  .p8-links a{padding:.26rem 0;font-size:.88rem}
  .p8-stops a{padding:.15rem 0}
  .p8-group{margin-top:.85rem}
  .p8-ov small{display:none}
  .p8-cta{padding:.45rem .8rem}
}
@keyframes p8in{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.p8-side,.p8-scrim,.p8-stops i{transition:none}.p8-side-in > *{animation:none!important}}
@media print{.p8-side,.p8-menu-btn,.p8-scrim{display:none!important}html.p8-home body{padding-left:0}html.p8-home header.site{margin-left:0}}
