/* Labor timeline (loads after archive.css and archive-v4.css) */
body.arc-tl{--c:#b31b1b;--c-d:#8f1414;--ink:#222;--mut:#5c5c5c;--line:#e6e6e6;--tint:#f6f6f6;--soft:#fbeeea}
body.arc-tl .visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* hero */
.tl-hero{padding:clamp(22px,3vw,40px) 0 clamp(26px,4vw,44px);background:#fff}
.tl-hero h1{margin:0 0 12px;font-size:clamp(2.4rem,5vw,4rem);text-transform:uppercase;line-height:.98;letter-spacing:-.02em}
.tl-hero h1 span{color:var(--c)}
.tl-hero .arc-lede{margin:0 0 22px;max-width:64ch}
.tl-hero .tl-cta{display:flex;flex-wrap:wrap;gap:10px}
.tl-ghost{display:inline-flex;align-items:center;min-height:46px;padding:0 22px;border:1.5px solid #222;border-radius:999px;color:#222;font:700 1rem 'Roboto',Arial,sans-serif;text-decoration:none;transition:all .2s}
.tl-ghost:hover{border-color:var(--c);color:var(--c);transform:translateY(-2px)}

/* era rail */
.tl-rail{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.tl-rail ol{list-style:none;margin:0 auto;padding:0 clamp(16px,3.4vw,36px);max-width:1180px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:0}
.tl-rail li{border-left:1px solid var(--line)}
.tl-rail li:last-child{border-right:1px solid var(--line)}
.tl-rail a{display:flex;flex-direction:column;gap:4px;height:100%;padding:16px 12px 14px;text-decoration:none;color:#222;position:relative;transition:background .2s}
.tl-rail a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--c);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.tl-rail a:hover,.tl-rail a[aria-current="true"]{background:var(--soft)}
.tl-rail a[aria-current="true"]::after,.tl-rail a:hover::after{transform:scaleX(1)}
.tl-rail small{font:700 .72rem/1 'Roboto',Arial,sans-serif;letter-spacing:.1em;color:var(--c)}
.tl-rail b{font:700 .86rem/1.25 'Roboto',Arial,sans-serif}
.tl-rail i{font-style:normal;font-size:.76rem;color:var(--mut)}

/* density strip */
.tl-strip{max-width:1180px;margin:0 auto;padding:14px clamp(16px,3.4vw,36px) 0}
.tl-strip-bar{position:relative;height:38px}
.tl-strip-bar button{position:absolute;bottom:14px;width:3px;margin-left:-1px;border:0;padding:0;background:var(--c);opacity:.55;cursor:pointer;border-radius:2px;transition:opacity .2s,transform .2s}
.tl-strip-bar button:hover,.tl-strip-bar button:focus-visible{opacity:1;transform:scaleY(1.25);outline:0}
.tl-strip-bar button.dim{opacity:.12}
.tl-strip-axis{position:absolute;left:0;right:0;bottom:0;height:14px;border-top:1px solid #ccc;font:500 .7rem/1 'Roboto',Arial,sans-serif;color:var(--mut)}
.tl-strip-axis span{position:absolute;top:3px;transform:translateX(-50%)}

/* controls */
.tl-ctl{position:relative;z-index:5;background:#fff;border-bottom:1px solid var(--line);scroll-margin-top:130px}
.tl-ctl-in{max-width:1180px;margin:0 auto;padding:12px clamp(16px,3.4vw,36px);display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.tl-q{flex:1 1 260px;width:auto;min-width:0;max-width:none;margin:0;min-height:46px;padding:0 18px;border:2px solid var(--line);border-radius:999px;font:400 1rem 'Roboto',Arial,sans-serif;color:#222;background:#fff}
.tl-q:focus{border-color:var(--c);outline:0;box-shadow:0 0 0 4px rgba(179,27,27,.14)}
.tl-sel{flex:0 1 auto;width:auto;margin:0;min-height:46px;padding:0 14px;border:2px solid var(--line);border-radius:999px;font:500 .92rem 'Roboto',Arial,sans-serif;background:#fff;color:#222;max-width:100%}
.tl-sel:focus{border-color:var(--c);outline:0}
.tl-count{font:500 .9rem 'Roboto',Arial,sans-serif;color:var(--mut);white-space:nowrap}
.tl-reset{min-height:40px;padding:0 14px;border:0;background:none;color:var(--c);font:700 .9rem 'Roboto',Arial,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.tl-reset[hidden]{display:none}
.tl-themes{max-width:1180px;margin:0 auto;padding:0 clamp(16px,3.4vw,36px) 12px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin}
.tl-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:#222;font:500 .86rem 'Roboto',Arial,sans-serif;cursor:pointer;transition:all .2s}
.tl-chip b{font-weight:500;font-size:.74rem;color:var(--mut)}
.tl-chip:hover{border-color:var(--c);color:var(--c)}
.tl-chip[aria-pressed="true"]{background:var(--c);border-color:var(--c);color:#fff}
.tl-chip[aria-pressed="true"] b{color:#fff}

/* timeline body */
.tl-main{max-width:1180px;margin:0 auto;padding:clamp(28px,4vw,56px) clamp(16px,3.4vw,36px) clamp(48px,7vw,88px)}
.tl-era{margin:0 0 clamp(34px,5vw,60px);scroll-margin-top:130px}
.tl-era[hidden]{display:none}
.tl-era-h{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:6px 24px;padding:0 0 18px;margin:0 0 26px;border-bottom:3px solid #222}
.tl-era-h small{grid-column:1/-1;font:700 .8rem/1 'Roboto',Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--c)}
.tl-era-h h2{margin:0;font-size:clamp(1.6rem,3.2vw,2.4rem);text-transform:uppercase;line-height:1.05}
.tl-era-h p{grid-column:1/-1;margin:4px 0 0;max-width:70ch;color:#444;font-size:1.04rem;line-height:1.6}
.tl-era-h .tl-span{font:800 clamp(1.4rem,3vw,2.2rem)/1 'Open Sans',Arial,sans-serif;color:var(--c);white-space:nowrap}

.tl-list{list-style:none;margin:0;padding:0;position:relative}
.tl-list::before{content:"";position:absolute;left:118px;top:6px;bottom:6px;width:2px;background:var(--line)}
.tl-item{position:relative;display:grid;grid-template-columns:104px minmax(0,1fr);gap:0 34px;margin:0 0 18px}
.tl-item[hidden]{display:none}
.tl-when{padding-top:20px;text-align:right;font:700 .82rem/1.3 'Roboto',Arial,sans-serif;color:var(--c);letter-spacing:.02em}
.tl-when b[hidden]{display:none}
.tl-when b{display:block;font:800 1.5rem/1 'Open Sans',Arial,sans-serif;color:#222;letter-spacing:-.01em;margin-bottom:4px}
.tl-item::before{content:"";position:absolute;left:112px;top:24px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--c);box-sizing:border-box;z-index:1;transition:transform .2s}
.tl-item:hover::before{transform:scale(1.25);background:var(--c)}
.tl-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;width:100%;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:left;cursor:pointer;color:#222;font:inherit;transition:transform .25s,box-shadow .25s,border-color .25s}
.tl-card:hover,.tl-card:focus-visible{transform:translateY(-3px);box-shadow:0 16px 32px rgba(34,34,34,.12);border-color:#d9c9c5;outline:0}
.tl-card:focus-visible{box-shadow:0 0 0 4px rgba(179,27,27,.25)}
.tl-card h3{text-transform:none;margin:0 0 6px;font:800 1.14rem/1.28 'Open Sans',Arial,sans-serif;letter-spacing:-.005em}
.tl-card p{margin:0;color:#444;line-height:1.55;font-size:.98rem}
.tl-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.tl-tag{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--tint);font:500 .74rem/1.4 'Roboto',Arial,sans-serif;color:#444}
.tl-more{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font:700 .86rem 'Roboto',Arial,sans-serif;color:var(--c)}
.tl-docs{font:500 .78rem 'Roboto',Arial,sans-serif;color:var(--mut);margin-left:10px}
.tl-thumb{width:96px;height:120px;border-radius:10px;overflow:hidden;background:#f0f0f0;border:1px solid var(--line);align-self:start}
.tl-thumb img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform .5s}
.tl-card:hover .tl-thumb img{transform:scale(1.07)}
.tl-flag{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;background:#fff4e5;color:#8a4b00;font:700 .7rem/1.6 'Roboto',Arial,sans-serif;vertical-align:2px}
.tl-empty{padding:40px 0;text-align:center;color:var(--mut);font-size:1.05rem}
.tl-empty[hidden]{display:none}
mark{background:#fbd9d0;color:inherit;padding:0 1px;border-radius:2px}

/* drawer */
.tl-dlg{position:fixed;inset:0 0 0 auto;margin:0;width:min(640px,100vw);max-width:100vw;height:100%;max-height:100%;padding:0;border:0;background:#fff;color:#222;box-shadow:-20px 0 60px rgba(0,0,0,.18);overflow:hidden}
.tl-dlg::backdrop{background:rgba(20,20,20,.45)}
.tl-dlg[open]{display:flex;flex-direction:column;animation:tlin .28s ease-out}
@keyframes tlin{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
.tl-dlg-top{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);background:#fff}
.tl-dlg-top .sp{flex:1;font:700 .78rem/1.2 'Roboto',Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--c)}
.tl-ib{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:#222;font:700 .86rem 'Roboto',Arial,sans-serif;cursor:pointer;transition:all .2s}
.tl-ib:hover,.tl-ib:focus-visible{border-color:var(--c);color:var(--c);outline:0}
.tl-ib:disabled{opacity:.35;cursor:default}
.tl-dlg-body{flex:1;overflow-y:auto;padding:26px clamp(20px,4vw,34px) 40px}
.tl-dlg-body .when{margin:0 0 8px;font:700 .86rem 'Roboto',Arial,sans-serif;color:var(--c)}
.tl-dlg-body h2:focus{outline:0}
.tl-dlg-body h2{margin:0 0 14px;font:800 clamp(1.5rem,3vw,2rem)/1.15 'Open Sans',Arial,sans-serif;text-transform:none;letter-spacing:-.01em}
.tl-dlg-body .lead{font-size:1.1rem;line-height:1.6;color:#222;margin:0 0 16px}
.tl-dlg-body p{line-height:1.7;color:#333;margin:0 0 14px}
.tl-fig{margin:4px 0 20px}
.tl-fig a{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#f0f0f0;max-height:340px}
.tl-fig img{width:100%;max-height:340px;object-fit:cover;object-position:top;display:block}
.tl-fig figcaption{margin-top:6px;font-size:.8rem;color:var(--mut)}
.tl-note{margin:0 0 18px;padding:12px 14px;border-left:4px solid #d58b2a;background:#fff8ee;border-radius:0 10px 10px 0;font-size:.92rem;line-height:1.55;color:#5b3a10}
.tl-dlg-body h3{margin:26px 0 10px;text-transform:uppercase;font:800 .82rem/1 'Roboto',Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#222}
.tl-src{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.tl-src li{border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:#fff}
.tl-src a,.tl-src span.t{display:block;font:600 .95rem/1.4 'Roboto',Arial,sans-serif;color:#222;text-decoration:none}
.tl-src a:hover{color:var(--c);text-decoration:underline;text-underline-offset:3px}
.tl-src a::after{content:" →";color:var(--c)}
.tl-src a[href^="http"]::after{content:" ↗"}
.tl-src small{display:block;margin-top:2px;font-size:.78rem;color:var(--mut)}
.tl-src .ic{display:inline-block;min-width:62px;margin-right:6px;padding:1px 7px;border-radius:999px;background:var(--tint);font:700 .66rem/1.6 'Roboto',Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#555;text-align:center}
.tl-src .ic.a{background:#fbe2dc;color:#8f1414}
.tl-rel{display:flex;flex-direction:column;gap:6px}
.tl-rel button{display:block;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font:500 .92rem/1.35 'Roboto',Arial,sans-serif;color:#222;cursor:pointer}
.tl-rel button:hover{border-color:var(--c);color:var(--c)}
.tl-rel button small{display:block;color:var(--c);font-weight:700;font-size:.74rem;margin-bottom:2px}
.tl-dlg-tags{display:flex;flex-wrap:wrap;gap:6px}
.tl-dlg-tags button{border:0;cursor:pointer}
.tl-dlg-tags button:hover{background:var(--soft);color:var(--c)}
.tl-copied{font:600 .8rem 'Roboto',Arial,sans-serif;color:#2e7d32;margin-left:6px}

/* about */
.tl-about{background:var(--tint)}
.tl-about .cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.tl-about .cols div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px}
.tl-about h3{margin:0 0 8px;font-size:1.05rem}
.tl-about p,.tl-about li{color:#444;line-height:1.6;font-size:.96rem}
.tl-about ul{margin:0;padding-left:18px}

/* soft (dark-filter) mode */
html.soft body.arc-tl{--tint:#f3ece7;--soft:#f6e5df}
html.soft .tl-ctl{background:rgba(250,246,243,.96)}

@media (max-width:980px){
  .tl-rail ol{grid-template-columns:repeat(4,minmax(0,1fr))}
  .tl-rail li:nth-child(4n){border-right:1px solid var(--line)}
  .tl-rail li:nth-child(n+5){border-top:1px solid var(--line)}
  .tl-about .cols{grid-template-columns:1fr}
}
@media (max-width:640px){
  .tl-era-h{grid-template-columns:minmax(0,1fr)}
  .tl-era-h .tl-span{justify-self:start}
  .tl-rail ol{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tl-rail li:nth-child(2n){border-right:1px solid var(--line)}
  .tl-rail li:nth-child(n+3){border-top:1px solid var(--line)}
  .tl-list::before{left:7px}
  .tl-item{grid-template-columns:minmax(0,1fr);padding-left:28px}
  .tl-item::before{left:1px;top:6px}
  .tl-when{text-align:left;padding:0 0 8px}
  .tl-when b{display:inline;font-size:1.05rem;margin-right:8px}
  .tl-thumb{width:64px;height:80px}
  .tl-strip{display:none}
}
@media (prefers-reduced-motion:reduce){
  .tl-card,.tl-thumb img,.tl-item::before,.tl-dlg[open]{transition:none;animation:none}
}
@media print{
  .tl-ctl,.tl-themes,.tl-strip,.tl-rail,.site-header,.main-nav,.bottom-tabs,.tv3-foot,.tl-dlg{display:none!important}
  .tl-item[hidden],.tl-era[hidden]{display:grid!important}
  .tl-card{break-inside:avoid;box-shadow:none}
}
