/* Detail ("full tour") pages. Builds on story.css tokens: a sticky index rail
   beside a long, measured column of chapters. */
.tour-hero{position:relative;min-height:56svh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.tour-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.tour-hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,var(--ink) 2%,rgba(6,9,15,.7) 45%,rgba(6,9,15,.35) 100%)}
.tour-hero .copy{padding-block:clamp(7rem,12vw,9rem) clamp(3rem,6vw,4.5rem)}
.tour-hero h1{font-size:clamp(2.6rem,6vw,5rem);line-height:.95;max-width:16ch}
.tour-hero p{margin-top:1.3rem;max-width:52ch;color:#cfd7e3;font-size:clamp(1rem,1.4vw,1.15rem)}

.tour{display:grid;gap:clamp(2rem,5vw,5rem);grid-template-columns:minmax(0,1fr);padding-block:clamp(3rem,6vw,5rem)}
@media(min-width:1020px){.tour{grid-template-columns:220px minmax(0,1fr)}}
.index{display:none}
@media(min-width:1020px){
  .index{display:block;position:sticky;top:92px;align-self:start;max-height:calc(100vh - 110px);overflow:auto}
}
.index p{font:700 .66rem/1 Inter,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-3);margin-bottom:1rem}
.index a{display:block;padding:.42rem 0 .42rem .9rem;border-left:1px solid var(--line);font-size:.84rem;
  color:var(--fg-2);text-decoration:none;transition:color .2s,border-color .2s}
.index a:hover{color:var(--fg)}
.index a[aria-current=true]{color:var(--fg);border-left-color:var(--brass)}

.chap{padding-block:clamp(2.5rem,5vw,4rem);border-top:1px solid var(--line);scroll-margin-top:84px}
.chap:first-child{border-top:0;padding-top:0}
.chap .label{font:700 .7rem/1 'JetBrains Mono',monospace;color:var(--brass);letter-spacing:.04em}
.chap h2{margin:.9rem 0 1.1rem;font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1.02;letter-spacing:-.03em;max-width:22ch}
.chap .intro{color:var(--fg-2);max-width:62ch;font-size:1.02rem}

.rows{margin-top:2rem;border-top:1px solid var(--line)}
.row{display:grid;gap:.4rem 2.5rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}
@media(min-width:760px){.row{grid-template-columns:13rem minmax(0,1fr)}}
.row h3{font-size:1rem;letter-spacing:-.01em;line-height:1.35}
.row p{color:var(--fg-2);font-size:.95rem;max-width:64ch}
.row p+p{margin-top:.6rem}

pre.formula{margin:1.8rem 0 0;padding:1.3rem 1.4rem;border:1px solid rgba(212,168,87,.22);border-radius:14px;
  background:#050910;color:#dfe7f2;font:500 .8rem/1.8 'JetBrains Mono',monospace;overflow-x:auto;white-space:pre}
pre.formula .c{color:#5b6a80}
pre.formula .k{color:var(--brass)}

.tablewrap{margin-top:1.8rem;overflow-x:auto;border:1px solid var(--line);border-radius:14px}
table.t{border-collapse:collapse;width:100%;min-width:560px;font-size:.88rem}
table.t th,table.t td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--line)}
table.t th{font:700 .68rem/1.3 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);background:var(--ink-2)}
table.t td{color:var(--fg-2)}
table.t td:first-child{color:var(--fg);font-weight:600}
table.t tr:last-child td{border-bottom:0}
.y{color:#7ee2b8;font-weight:700}.n{color:var(--fg-3)}

.flow-steps{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.6rem}
.flow-steps span{font:700 .72rem/1 'JetBrains Mono',monospace;padding:.55rem .8rem;border-radius:999px;
  border:1px solid var(--line-2,rgba(255,255,255,.14));color:var(--fg-2)}
.flow-steps span.on{border-color:var(--brass);color:var(--brass)}

.pullband{margin-top:2rem;padding:1.4rem 1.5rem;border-left:2px solid var(--brass);background:var(--ink-2);
  border-radius:0 12px 12px 0;color:#d8dfe9;font-size:1.02rem;line-height:1.6;max-width:66ch}

/* Same long establishing push as the story pages' hero. */
@media(prefers-reduced-motion:no-preference){
  .tour-hero>img{animation:settle 7.5s cubic-bezier(.16,.84,.3,1) both}
  @keyframes settle{from{transform:scale(1.2)}to{transform:scale(1)}}
}
