/* ============================================================
   Shefali Bhalla — V4 "Doorway + Evidence Trail" build
   Loads AFTER site.css. Architecture:
   Cover (statement + manifest) → 01 Operating Model →
   02 Through-Line → 03 Latest Writing (Finding) →
   04 The Register → 05 Channel.
   ============================================================ */

/* ============================================================ COVER (identity card) */
.cover{border-bottom:.5px solid var(--line);display:flex;flex-direction:column;justify-content:center;
       min-height:min(640px, calc(100svh - var(--nav-h) - 80px));padding:3.8rem 0 3.2rem;}
.cover .hero__grid{align-items:stretch;gap:72px;}
.cover .hero__sub{margin-top:1.8rem;max-width:440px;}
.hero__proof{margin-top:2.1rem;display:flex;flex-direction:column;gap:.85rem;max-width:760px;}
.hero__proofline{font-family:var(--mono);font-size:12px;line-height:1.6;color:var(--bone-2);letter-spacing:.035em;}
.hero__proofline{color:var(--bone);}
.hero__credlabel{font-family:var(--mono);font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.18em;color:var(--bone-3);margin-top:.25rem;}
.hero__creds{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;}
.hero__creds span{font-family:var(--mono);font-size:13px;line-height:1;letter-spacing:.06em;color:var(--bone);
                  border:.5px solid var(--line-2);border-radius:4px;background:var(--panel-2);
                  padding:.72rem .95rem;min-width:62px;text-align:center;}
/* manifest latest-link row */
.manifest .mrow--wrap .v a{color:var(--bone);}
.manifest .mrow--wrap .v a:hover{color:var(--accent);}

/* ============================================================ SECTION SCAFFOLD (numbered meridian bands) */
.band{border-bottom:.5px solid var(--line);}
.band:last-of-type{border-bottom:none;}
/* tighten meridian vertical rhythm so columns read as one continuous register */
.band .meridian{padding-top:3rem;padding-bottom:3rem;}
.band .col{padding-top:3rem;padding-bottom:3rem;}
.band .meridian::before{top:3.2rem;}

/* shared band intro: lede + mono epigraph */
.bintro{max-width:680px;}
.bintro--model{max-width:none;}
.bintro--wide{max-width:920px;}
.bintro .lede-sm{margin-bottom:1.1rem;}
.bintro--model .lede-sm{max-width:900px;margin-bottom:1.25rem;}
.bintro--model p.body{max-width:900px;}
.model-signal{font-family:var(--grot);font-size:19px;line-height:1.55;color:var(--bone-2);
              margin:0 0 1.25rem;max-width:900px;}
.bintro--wide .lede-sm{max-width:900px;}
.bintro--wide p.body{max-width:860px;}
.bepi{font-family:var(--mono);font-size:12px;line-height:1.7;color:var(--bone-3);
      max-width:660px;margin:0;display:flex;gap:.7em;}
.bepi::before{content:attr(data-tag);flex:none;letter-spacing:.14em;color:var(--bone-3);opacity:.8;}

/* ============================================================ 01 · OPERATING MODEL — the doorway */
.om{margin-top:2rem;position:relative;border:.5px solid var(--line-2);border-top:1px solid var(--accent-dim);
    background:var(--panel);}
.om__grid{display:grid;grid-template-columns:repeat(4,1fr);}
.om__cell{padding:26px 26px 28px;border-left:.5px solid var(--line);min-width:0;
          display:flex;flex-direction:column;}
.om__cell:first-child{border-left:none;}
.om__k{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
       color:var(--accent);margin-bottom:1rem;display:flex;align-items:center;gap:.55em;}
.om__k .ix{color:var(--bone-3);letter-spacing:.06em;}
.om__v{font-family:var(--grot);font-weight:500;font-size:16.5px;line-height:1.34;letter-spacing:-.012em;
       color:var(--bone);text-wrap:pretty;}
.om__foot{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;
          margin-top:1.5rem;font-family:var(--mono);font-size:11px;color:var(--bone-3);}
.om__foot .ck{color:var(--accent);}

/* ============================================================ 02 · THROUGH-LINE — the accumulation */
.arc{margin-top:2.1rem;max-width:980px;}
.arc__track{display:grid;grid-template-columns:repeat(5,1fr);position:relative;column-gap:16px;}
.arc__track::before{content:"";position:absolute;left:5px;right:5px;top:5px;height:.5px;background:var(--line-2);}
.arc__stage{position:relative;padding:22px 10px 0 0;min-width:0;text-align:left;color:inherit;}
.arc__stage .node{position:absolute;top:0;left:0;width:11px;height:11px;border-radius:50%;
                  border:1px solid var(--line-2);background:var(--bg);box-sizing:border-box;
                  transition:background .45s ease,border-color .45s ease,box-shadow .45s ease;}
.arc__stage .nm{font-family:var(--grot);font-weight:500;font-size:14.5px;color:var(--bone);
                line-height:1.25;letter-spacing:-.008em;display:block;}
.arc__stage .yr{font-size:12.5px;line-height:1.55;color:var(--bone-3);margin-top:.45rem;display:block;}
/* activated states (powered up left→right by JS) */
.arc__stage.on .node{background:rgba(92,214,162,.30);border-color:rgba(92,214,162,.45);}
.arc__stage.live.on .node{background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px var(--accent-dim);}
.arc__stage.live.on .nm{color:var(--accent);}
.arc__foot{font-family:var(--mono);font-size:11px;color:var(--bone-3);margin-top:2.3rem;display:flex;align-items:center;gap:.6em;}

/* ============================================================ 03 · LATEST WRITING — the Finding */
.ffeature{position:relative;display:block;border:.5px solid var(--line-2);max-width:880px;margin:2rem 0 0;
  background:
    linear-gradient(0deg,rgba(92,214,162,.022),rgba(92,214,162,.022)),
    repeating-linear-gradient(0deg,transparent,transparent 27px,rgba(236,231,220,.03) 27px,rgba(236,231,220,.03) 28px),
    repeating-linear-gradient(90deg,transparent,transparent 27px,rgba(236,231,220,.03) 27px,rgba(236,231,220,.03) 28px);
  padding:28px 32px;transition:border-color .25s;}
.ffeature:hover{border-color:var(--accent-dim);}
.ffeature__top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;
               padding-bottom:1.05rem;border-bottom:.5px solid var(--line);margin-bottom:1.4rem;}
.ffeature__stamp{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.2em;
                 color:var(--bone-2);display:flex;align-items:center;}
.ffeature__no{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--accent);
              white-space:nowrap;display:flex;align-items:center;gap:.5em;}
.ffeature__t{font-family:var(--grot);font-weight:500;font-size:clamp(23px,2.7vw,30px);line-height:1.2;
             letter-spacing:-.018em;color:var(--bone);margin:0 0 .9rem;transition:color .25s;}
.ffeature:hover .ffeature__t{color:var(--accent);}
.ffeature__d{font-size:15.5px;line-height:1.72;color:var(--body);margin:0 0 1.5rem;max-width:700px;}
.ffeature__foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;
                padding-top:1.2rem;border-top:.5px solid var(--line);}
.ffeature__cls{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--bone-3);}
.ffeature__cta{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--accent);
               display:inline-flex;align-items:center;gap:.5em;border:.5px solid var(--accent-dim);
               border-radius:3px;padding:.55rem 1.1rem;transition:background .25s;white-space:nowrap;}
.ffeature:hover .ffeature__cta{background:var(--accent-faint);}

/* ============================================================ 04 · THE REGISTER */
.rgi__lede{font-family:var(--grot);font-weight:400;font-size:23px;line-height:1.4;letter-spacing:-.01em;
           color:var(--bone);max-width:700px;margin:0 0 1.1rem;}
.rgi__epi{font-size:14.5px;line-height:1.75;color:var(--bone-2);
          max-width:880px;margin:0;}

/* filter chips */
.rgi__filters{display:flex;gap:.65rem;flex-wrap:wrap;margin:2rem 0 0;}
.fchip{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--bone-2);
       border:.5px solid rgba(236,231,220,.24);border-radius:4px;background:rgba(236,231,220,.025);
       padding:.5rem .95rem;cursor:pointer;transition:color .25s,border-color .25s,background .25s;
       display:inline-flex;align-items:center;gap:.65rem;}
.fchip:hover{color:var(--bone);border-color:rgba(236,231,220,.34);background:rgba(236,231,220,.045);}
.fchip.on{color:var(--accent);border-color:var(--accent-dim);background:var(--accent-faint);
          box-shadow:inset 0 0 0 .5px rgba(92,214,162,.28);}
.fchip .ct{color:var(--bone-2);font-variant-numeric:tabular-nums;}
.fchip.on .ct{color:var(--accent);}

/* spine with self-drawing rail */
.spine{position:relative;margin-top:1.7rem;padding-left:28px;}
.spine__rail{position:absolute;left:0;top:0;bottom:0;width:.5px;background:var(--line-2);}
.spine__fill{position:absolute;left:-.5px;top:0;width:1.5px;height:0;background:var(--accent);
             box-shadow:0 0 8px var(--accent-dim);transition:height .12s linear;}

/* year / era group head */
.ygrp{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
      padding:1.6rem 0 .5rem;font-family:var(--mono);}
.ygrp:first-child{padding-top:.4rem;}
.ygrp .y{font-size:13px;letter-spacing:.18em;color:var(--bone);}
.ygrp .y .gloss{color:var(--bone-3);letter-spacing:.04em;font-size:11px;margin-left:.9em;text-transform:none;}
.ygrp .ct{font-size:10px;letter-spacing:.12em;color:var(--bone-3);white-space:nowrap;}

/* rows */
.rrow{position:relative;display:grid;grid-template-columns:74px 92px minmax(0,1fr) auto;gap:1.1rem;
      align-items:baseline;padding:1.05rem 0;border-top:.5px solid var(--line);}
.rrow .dt{font-family:var(--mono);font-size:11px;color:var(--bone-3);font-feature-settings:"tnum" 1;}
.rrow .ty{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:var(--bone-2);}
.rrow.t-career .ty,.rrow.t-record .ty{color:var(--accent);}
.rrow .ti{font-family:var(--grot);font-weight:500;font-size:17px;line-height:1.3;color:var(--bone);
          letter-spacing:-.01em;min-width:0;}
.rrow .ti small{font-family:var(--sans);font-weight:400;font-size:13px;color:var(--bone-3);}
.rrow .st{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--bone-3);
          white-space:nowrap;text-align:right;}
.rrow .st .live{color:var(--accent);}

/* spine nodes for career rows */
.rrow .node{position:absolute;left:-33px;top:1.4rem;width:9px;height:9px;border-radius:50%;
            background:rgba(92,214,162,.30);border:1px solid rgba(92,214,162,.45);box-sizing:border-box;}
.rrow .node.live{left:-33.5px;width:10px;height:10px;background:var(--accent);border-color:var(--accent);
                 box-shadow:0 0 9px var(--accent-dim);}

/* link rows (Findings — navigate with →) */
a.rrow{display:grid;}
a.rrow:hover .ti{color:var(--accent);transition:color .25s;}
a.rrow .arr{font-family:var(--mono);font-size:12px;color:var(--accent);opacity:.45;transition:opacity .25s;}
a.rrow:hover .arr{opacity:1;}

/* expandable rows (Open / Record — drawer with bare + ) */
.rrow--x{cursor:pointer;transition:background .2s;}
.rrow--x:hover{background:rgba(92,214,162,.035);}
.rrow--x:hover .ti{color:var(--accent);transition:color .25s;}
.rrow--x:focus-visible{outline:1px solid var(--accent-dim);outline-offset:2px;}
/* bare green + affordance — NO circle */
.rrow .plus{display:inline-block;font-family:var(--mono);font-size:16px;font-weight:500;line-height:1;
            color:var(--accent);margin-left:.45em;vertical-align:-.03em;transition:transform .3s ease;}
.rrow.open .plus{transform:rotate(45deg);}
/* expand hint in status cell */
.rrow--x .st{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;}
.rrow--x .st .xp{font-size:8.5px;letter-spacing:.16em;color:var(--bone-3);opacity:.7;transition:color .25s,opacity .25s;}
.rrow--x:hover .st .xp,.rrow.open .st .xp{color:var(--accent);opacity:1;}
.rrow--x .st .xp::after{content:"EXPAND";}
.rrow.open .st .xp::after{content:"CLOSE";}
.rrow.open{background:rgba(92,214,162,.035);}
/* drawer — animated height (grid-rows ease) */
.rrow__drawer{grid-column:1 / -1;display:grid;grid-template-rows:0fr;
              transition:grid-template-rows .42s cubic-bezier(.2,.6,.2,1);}
.rrow.open .rrow__drawer{grid-template-rows:1fr;}
.rrow__body{overflow:hidden;min-height:0;max-width:680px;font-size:14px;line-height:1.7;
            color:var(--bone-2);margin:0;}
.rrow__body .inner{display:block;padding:.85rem 0 .3rem 1rem;border-left:2px solid var(--accent-dim);}
.rrow__body .inner,.rrow__body .inner > span,.range-text{font-size:14px;line-height:1.7;color:var(--bone-2);}

/* register origin line */
.ropen{padding:1.6rem 0 .2rem;font-family:var(--mono);font-size:10px;letter-spacing:.18em;
       text-transform:uppercase;color:var(--bone-3);}

/* filtered-out rows */
.rrow.hide,.ygrp.hide{display:none;}

/* flash highlight when jumped to from the arc */
@media (prefers-reduced-motion: no-preference){
  .rrow.flash .ti{animation:rowflash 1.8s ease;}
  @keyframes rowflash{0%{color:var(--accent);}100%{color:var(--bone);}}
}

/* ============================================================ 05 · CHANNEL (sign-off, folded onto page) */
.rchannel .console{margin:1.5rem 0 0;max-width:none;}

/* ============================================================ THROUGH-LINE activation motion */
@media (prefers-reduced-motion: reduce){
  .arc__stage .node{background:rgba(92,214,162,.30);border-color:rgba(92,214,162,.45);}
  .arc__stage.live .node{background:var(--accent);border-color:var(--accent);box-shadow:0 0 9px var(--accent-dim);}
  .arc__stage.live .nm{color:var(--accent);}
}

/* ============================================================ RESPONSIVE */
@media(max-width:1180px){
  .cover{min-height:0;}
  .cover .hero__grid{gap:48px;}
  .om__grid{grid-template-columns:1fr 1fr;}
  .om__cell:nth-child(3){border-left:none;}
  .om__cell:nth-child(3),.om__cell:nth-child(4){border-top:.5px solid var(--line);}
}
@media(max-width:820px){
  .hero__proof{margin-top:1.8rem;}
  .hero__creds span{font-size:12px;padding:.68rem .82rem;min-width:58px;}
  .om__grid{grid-template-columns:1fr;}
  .om__cell{border-left:none;border-top:.5px solid var(--line);}
  .om__cell:first-child{border-top:none;}
  .om__cell:nth-child(3){border-top:.5px solid var(--line);}
  /* arc → vertical */
  .arc__track{grid-template-columns:1fr;column-gap:0;}
  .arc__track::before{left:5px;right:auto;top:5px;bottom:5px;width:.5px;height:auto;}
  .arc__stage{padding:0 0 1.3rem 1.7rem;}
  .arc__stage:last-child{padding-bottom:0;}
  .arc__stage .node{top:3px;}
  .ffeature{padding:24px 22px;}
  .ffeature__foot{align-items:flex-start;}
  /* register rows reflow */
  .rrow{grid-template-columns:minmax(0,1fr) auto;row-gap:.25rem;}
  .rrow .dt{order:1;}
  .rrow .ty{order:2;text-align:right;}
  .rrow .ti{order:3;grid-column:1 / -1;}
  .rrow .st{order:4;grid-column:1 / -1;text-align:left;align-items:flex-start;}
  .rrow--x .st{align-items:flex-start;}
  .rrow__drawer{order:5;}
  .rrow .node{top:1.2rem;left:-25px;}
  .rrow .node.live{left:-25.5px;}
  .spine{padding-left:22px;}
}
@media(max-width:600px){
  .ffeature__t{font-size:23px;}
  .hero__creds{gap:.45rem;}
  .hero__creds span{flex:0 0 auto;min-width:74px;}
}

/* ============================================================ FINDING (reading page)
   two-column: reading column + sticky dossier aside (kills stranded space) */
.fwrap{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:56px;align-items:start;padding-bottom:1rem;}
.faside{position:sticky;top:calc(var(--nav-h) + 28px);}
.fdossier{position:relative;border:.5px solid var(--line-2);background:var(--panel);padding:22px 24px;}
.fdossier__top{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:.9rem;
               border-bottom:.5px solid var(--line);margin-bottom:1rem;}
.fdossier__top .sc{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--bone-3);}
.fdossier__top .rev{font-family:var(--mono);font-size:10px;color:var(--accent);}
.dfield{padding:.7rem 0;border-top:.5px solid var(--line);}
.dfield:first-of-type{border-top:none;}
.dfield .k{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:var(--bone-3);display:block;margin-bottom:.4rem;}
.dfield .v{font-size:13.5px;line-height:1.5;color:var(--bone);}
.dfield .v.mono{font-family:var(--mono);font-size:12px;}
.dfield .v a{color:var(--bone);border-bottom:1px solid var(--accent-dim);padding-bottom:1px;transition:color .25s;}
.dfield .v a:hover{color:var(--accent);}
.fdossier__back{display:block;margin-top:1.1rem;padding-top:1rem;border-top:.5px solid var(--line);
                font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--accent);}
.fmast{padding:3.6rem 0 2.4rem;}
.fmast .crumb{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
              color:var(--bone-3);margin-bottom:1.6rem;}
.fmast .crumb .no{color:var(--accent);}
.fmast h1{font-family:var(--grot);font-weight:500;font-size:clamp(30px,4.2vw,46px);line-height:1.12;
          letter-spacing:-.02em;color:var(--bone);margin:0;max-width:760px;}
.fmast .ftags{font-family:var(--mono);font-size:12.5px;font-style:normal;color:var(--bone-2);letter-spacing:.02em;margin:1.5rem 0 0;}
.fmast .ftags .k{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--bone-3);margin-right:.7em;}
.fbody{max-width:680px;padding-bottom:1rem;}
.fbody p{font-size:16.5px;line-height:1.85;color:var(--body);margin:0 0 1.4rem;}
.fbody p.flede{font-family:var(--grot);font-size:21px;line-height:1.5;color:var(--bone);letter-spacing:-.005em;margin-bottom:1.8rem;}
.fquote{border-left:2px solid var(--accent);padding:.3rem 0 .3rem 1.4rem;margin:2rem 0;
        font-family:var(--grot);font-weight:500;font-size:20px;line-height:1.45;color:var(--bone);max-width:620px;}
.fmeta{margin-top:2.6rem;padding-top:1.4rem;border-top:.5px solid var(--line);display:flex;flex-direction:column;gap:.55rem;max-width:680px;}
.fmeta .row{display:flex;align-items:baseline;gap:.8rem;font-family:var(--mono);font-size:12px;color:var(--bone-2);line-height:1.6;}
.fmeta .k{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--bone-3);min-width:62px;flex:none;}
.fnav{display:flex;justify-content:space-between;align-items:center;gap:1rem;
      margin-top:3rem;padding:1.4rem 0;border-top:.5px solid var(--line);font-family:var(--mono);font-size:11.5px;}
.fnav a{color:var(--bone-3);transition:color .25s;}
.fnav a:hover,.fnav a.idx{color:var(--accent);}
.fnav .off{color:var(--bone-3);opacity:.45;}
@media(max-width:980px){
  .fwrap{grid-template-columns:1fr;gap:0;}
  .faside{position:static;margin-top:2.4rem;}
  .fdossier{max-width:520px;}
}
