/* The model timeline belongs to the hub; model artwork keeps its own identity. */
.timeline-page { --forest:#273b32; --soft-green:#e9ede2; --timeline-line:#d4d9cc; }
.timeline-page .wrap { max-width:1140px; }
.timeline-page .masthead { padding-block:22px; }
.timeline-page .masthead [aria-current] { color:var(--forest); text-decoration:underline; text-underline-offset:7px; text-decoration-color:#84916d; }
.timeline-page .directory-hero { display:grid; grid-template-columns:1fr 220px; align-items:center; gap:40px; max-width:none; padding:30px 0 28px; }
.timeline-page .breadcrumb { margin-bottom:23px; font-size:11px; }
.timeline-page .eyebrow { font-size:10px; letter-spacing:.13em; color:#59634e; }
.timeline-page .directory-hero h1 { font-size:clamp(36px,4vw,55px); font-weight:550; line-height:1.12; letter-spacing:-2px; margin-top:12px; }
.directory-hero h1 em { font:italic 1.09em Georgia,serif; color:var(--forest); letter-spacing:-2px; }
.directory-description { color:var(--muted); font-size:14px; line-height:1.75; margin-top:14px; }
.collection-tally { display:flex; gap:24px; align-items:center; margin-top:24px; font-size:11px; color:var(--muted); }
.collection-tally>span { display:inline-flex; align-items:center; gap:7px; }
.collection-tally strong { font-size:13px; color:var(--forest); font-weight:650; }
.collection-tally .signal-dot,.collection-tally .reveal-dot { width:5px; height:5px; box-shadow:none; }
.timeline-guide { position:relative; height:210px; display:flex; flex-direction:column; align-items:center; justify-content:center; isolation:isolate; }
.timeline-guide img { width:118px; height:118px; transform:rotate(-9deg); transition:transform .55s cubic-bezier(.2,.8,.25,1); }
.timeline-guide:hover img { transform:translateY(-7px) rotate(7deg); }
.guide-orbit { position:absolute; width:174px; height:140px; border:1px solid #ccd2c0; border-radius:50%; transform:rotate(-30deg); top:13px; z-index:-1; background:radial-gradient(ellipse,#e6ebdca0,transparent 70%); }
.guide-star { position:absolute; color:#90996c; font-size:24px; }
.star-one { top:16px; right:28px; }.star-two { top:110px; left:17px; font-size:16px; }
.guide-note { font:italic 14px/1.35 Georgia,serif; color:#6b745e; text-align:center; transform:rotate(-5deg); margin-top:9px; }
.guide-trail { position:absolute; border-right:1px dashed #aeb89c; width:20px; height:35px; border-radius:0 50% 50% 0;/* radius: custom */ right:37px; bottom:-14px; transform:rotate(27deg); }
.timeline-page .directory-toolbar { position:sticky; top:12px; z-index:5; display:block; padding:19px 22px; margin-bottom:0; border:1px solid #d4dacb; border-radius:var(--radius-structure); background:#fffef9f5; box-shadow:0 6px 22px -17px #263b3245; backdrop-filter:blur(14px); }
.toolbar-primary { display:grid; grid-template-columns:minmax(200px,1fr) auto 142px; align-items:end; gap:24px; }
.timeline-page .directory-toolbar label,.timeline-page .control-label { font-size:10px; color:#5f695a; letter-spacing:.035em; margin-bottom:8px; }
.search-input { position:relative; }
.search-input svg { position:absolute; left:13px; top:13px; width:18px; height:18px; color:#78816f; pointer-events:none; }
.timeline-page .search-field input { border-radius:var(--radius-control); background:#f7f7f0; border-color:#dfe2d6; padding:11px 14px 11px 39px; font-size:13px; min-height:44px; }
.timeline-page .search-field input::placeholder { color:#7c8175; opacity:1; }
.timeline-page .search-field { min-width:200px; }
.timeline-page .filter-field { display:flex; gap:4px; flex-wrap:nowrap; background:#f0f2e9; padding:4px; border-radius:var(--radius-control); }
.timeline-page .filter-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:8px 12px; min-height:36px; border:0; border-radius:var(--radius-control); font-size:11px; white-space:nowrap; font-weight:550; color:#5e6858; transition:background .18s,color .18s,box-shadow .18s; }
.filter-button>span { font-size:10px; font-variant-numeric:tabular-nums; opacity:.8; }
.timeline-page .filter-button[aria-pressed=true] { background:var(--forest); color:#fffef4; box-shadow:0 2px 5px #24392c18; }
.filter-button .signal-dot,.filter-button .reveal-dot { width:5px; height:5px; box-shadow:none; }
.filter-button[aria-pressed=true] .signal-dot { background:#bfcb9b; }.filter-button[aria-pressed=true] .reveal-dot { background:#efc2a9; }
.timeline-page .sort-field select { min-width:0; width:100%; min-height:44px; border:1px solid #dfe2d6; border-radius:var(--radius-control); background:#f7f7f0; color:#344832; padding:10px; font-size:11px; font-weight:600; }
.timeline-page .directory-status { margin:12px 0 0; min-height:42px; font-size:11px; }
.directory-status #directory-result { letter-spacing:.015em; }
.timeline-page .clear-filters { padding:10px 0 10px 10px; min-height:40px; color:#596b47; }
.timeline-page .directory-list { position:relative; border:0; padding-bottom:1px; }
.directory-list::before { content:''; position:absolute; top:33px; bottom:0; left:95px; width:1px; background:var(--timeline-line); }
.timeline-month { display:flex; align-items:center; gap:18px; position:relative; font-size:12px; font-weight:650; color:#57624c; letter-spacing:.035em; padding:16px 0 18px 128px; }
.timeline-month::before { content:''; position:absolute; left:92px; top:21px; width:7px; height:7px; background:var(--paper); border:1px solid #a5b090; border-radius:50%; }
.month-rule { flex:1; height:1px; background:linear-gradient(to right,#dce1d2,transparent); }
.timeline-page .directory-row { --model-tone:#516f60; --model-wash:#e9eee5; position:relative; display:grid; grid-template-columns:64px 16px minmax(0,1fr); gap:24px; align-items:start; padding:0; border:0; margin:0 0 18px; border-radius:var(--radius-structure); }
.timeline-page .directory-row:hover { background:none; }
.timeline-page .directory-row[data-entry=space-bunny-alpha] { --model-tone:#77558e; --model-wash:#eee4f5; }
.timeline-page .directory-row[data-entry=pixel-canary] { --model-tone:#8b701d; --model-wash:#f3edcf; }
.timeline-page .directory-row[data-entry=ox-alpha] { --model-tone:#45785d; --model-wash:#e2eee1; }
.timeline-page .directory-row[data-entry=union-alpha] { --model-tone:#a96949; --model-wash:#e9e7df; }
.timeline-date { display:flex; flex-direction:column; align-items:center; margin-top:24px; color:#636d5c; font-variant-numeric:tabular-nums; }
.date-day { font-size:30px; font-weight:450; line-height:1; letter-spacing:-1.2px; color:#43563d; }
.date-month { margin-top:6px; font-size:11px; font-weight:600; }.date-year { margin-top:2px; font-size:10px; color:#838b7a; }
.date-kind { font-size:7px; letter-spacing:.12em; margin-top:9px; color:#818972; }
.timeline-node { position:relative; z-index:1; width:11px; height:11px; border:3px solid var(--paper); background:var(--model-tone); box-shadow:0 0 0 1px #bdc6b1; border-radius:50%; margin:34px auto 0; transition:box-shadow .2s; }
.timeline-card { display:grid; grid-template-columns:188px minmax(0,1fr); border:1px solid #dbdfd2; border-radius:var(--radius-structure); background:var(--white); overflow:hidden; box-shadow:0 3px 4px #273b3203; transition:border-color .2s,box-shadow .2s,transform .2s; }
.directory-row:hover .timeline-card,.directory-row:focus-visible .timeline-card { border-color:#a4b397; box-shadow:0 9px 27px -15px #273b3250; transform:translateY(-2px); }
.directory-row:hover .timeline-node,.directory-row:focus-visible .timeline-node { box-shadow:0 0 0 1px #9da98d,0 0 0 5px #71815412; }
.timeline-page .directory-row:focus-visible { outline:none; }.directory-row:focus-visible .timeline-card { outline:3px solid var(--accent); outline-offset:4px; }
.timeline-page .directory-mark { position:relative; align-self:stretch; width:auto; height:auto; min-height:224px; border-radius:0; background:var(--model-wash); overflow:hidden; isolation:isolate; }
.timeline-page .directory-row .directory-mark { background:var(--model-wash); }
.directory-mark::before { content:''; position:absolute; width:142px; height:142px; border:1px solid #ffffffa0; background:#ffffff26; border-radius:50%; top:50%; left:50%; transform:translate(-50%,-50%); z-index:-1; }
.timeline-page .directory-mark>.model-artwork { position:absolute; width:calc(100% - 16px); height:184px; max-height:100%; top:50%; left:8px; transform:translateY(-50%); object-fit:contain; transition:translate .45s,rotate .45s; }
.directory-row:hover .directory-mark>.model-artwork,.directory-row:focus-visible .directory-mark>.model-artwork { translate:0 -3px; rotate:-2deg; }
.timeline-page .directory-row[data-entry=union-alpha] .directory-mark { background:#060909; }
.directory-row[data-entry=union-alpha] .directory-mark::before { display:none; }
.directory-mark .union-artwork-image { width:100%; height:100%; object-fit:contain; mix-blend-mode:lighten; }
.portrait-corner { position:absolute; bottom:12px; left:15px; font-size:16px; color:var(--model-tone); opacity:.6; }
.directory-copy { min-width:0; padding:20px 25px 16px; }
.entry-topline { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.timeline-page .identity-label { border:0; padding:4px 8px; font-size:9px; font-weight:600; letter-spacing:.015em; color:#536740; background:#edf1e5; }
.timeline-page .identity-label[data-identity=revealed] { color:#965737; background:#f4ebe1; }
.timeline-page .directory-availability { margin:0; padding:0; font-size:9px; letter-spacing:.045em; color:#737c6d; }
.directory-availability[data-availability=active]::before { content:''; display:inline-block; width:4px; height:4px; margin:0 5px 1px 0; background:#859573; border-radius:50%; }
.timeline-page .directory-name { font-size:25px; font-weight:600; letter-spacing:-.8px; line-height:1.22; margin-top:10px; }
.directory-official { display:flex; gap:7px; align-items:baseline; font-size:13px; color:var(--model-tone); margin-top:5px; font-weight:600; }
.directory-official>span:first-child { color:#939b87; font-size:17px; line-height:1; }
.directory-official:has(.official-name:empty) { display:none; }
.timeline-page .directory-summary { font-size:13px; line-height:1.75; max-width:520px; margin-top:8px; color:#626b5d; }
.timeline-page .directory-row .model-specialties { font-size:10px; color:#677359; font-weight:500; line-height:1.9; margin-top:10px; }
.specialty-tag { display:inline-block; background:#f3f4ec; border:1px solid #e6e9dc; padding:2px 7px; margin:0 5px 4px 0; border-radius:var(--radius-label); font-size:10px; line-height:1.6; }
.entry-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid #ebede3; margin-top:13px; padding-top:12px; }
.entry-milestone { font-size:9px; color:#7b836f; line-height:1.5; }.entry-milestone time { color:#58624d; margin-left:4px; }
.directory-row[data-status=stealth] .entry-milestone { visibility:hidden; }
.entry-milestone:has(time:empty) { visibility:hidden; }
.entry-action { margin-left:auto; flex:none; font-size:10px; color:#465b3b; font-weight:650; }
.entry-action>span { display:inline-block; font-size:16px; margin-left:13px; transition:translate .2s; }.directory-row:hover .entry-action>span { translate:2px -2px; }
.timeline-page .directory-more { margin:25px auto 0; border-color:#b5bfa6; color:#40553a; background:#eef1e6; border-radius:var(--radius-control); }
.timeline-page .directory-bottom { display:grid; grid-template-columns:64px 16px minmax(0,1fr) auto; gap:24px; align-items:center; padding:7px 0 42px; border-bottom:1px solid var(--line); }
.timeline-end { grid-column:2; text-align:center; font-size:20px; color:#8d9a78; }
.directory-bottom p { font-size:12px; color:#57664c; line-height:1.7; }.directory-bottom p>span { color:#7d8575; font-size:11px; }
.timeline-page .directory-bottom a { font-size:10px; text-decoration:none; color:#58674b; }.directory-bottom a>span { margin-left:7px; }
.timeline-page .directory-empty { padding:45px 20px 60px; background:#eeefe6; border:1px dashed #cdd5c0; border-radius:var(--radius-structure); margin:15px 0 30px; }
.directory-empty img { margin:0 auto 14px; transform:rotate(12deg); }.directory-empty h2 { font-size:23px; font-weight:500; letter-spacing:-.6px; color:var(--forest); }
.directory-empty p { font-size:12px; margin-top:9px; }.empty-reset { border:0; background:none; padding:14px; margin-top:5px; color:#435d35; font-size:12px; text-decoration:underline; text-underline-offset:4px; }
.directory-list:empty::before { display:none; }
.directory-list[data-view=list]::before { opacity:.35; }
.timeline-page .site-footer { padding-block:27px; }
@media(min-width:1500px) { .timeline-page .directory-hero { padding-block:36px; } }
@media(max-width:1000px) {
  .timeline-page .wrap { width:calc(100% - 48px); }
  .toolbar-primary { gap:20px; }.timeline-page .filter-button { padding-inline:9px; }
  .timeline-card { grid-template-columns:160px minmax(0,1fr); }.directory-copy { padding:19px; }
  .timeline-page .directory-name { font-size:23px; }
  .timeline-page .directory-row { grid-template-columns:44px 14px minmax(0,1fr); gap:17px; }
  .directory-list::before { left:67px; }.timeline-month { padding-left:92px; }.timeline-month::before { left:64px; }
  .timeline-page .directory-bottom { grid-template-columns:44px 14px minmax(0,1fr) auto; gap:17px; }
}
@media(max-width:760px) {
  .timeline-page .wrap { width:calc(100% - 32px); }.timeline-page .masthead { padding-block:17px; }
  .timeline-page .directory-hero { grid-template-columns:minmax(0,1fr) 78px; gap:5px; padding:24px 0 23px; }
  .directory-intro { min-width:0; }
  .timeline-page .breadcrumb { font-size:10px; margin-bottom:20px; }.timeline-page .eyebrow { font-size:8px; letter-spacing:.065em; gap:7px; }
  .timeline-page .directory-hero h1 { font-size:36px; letter-spacing:-1.5px; line-height:1.06; }.directory-hero h1 em { display:block; letter-spacing:-1px; }
  .directory-description { font-size:12px; margin-top:13px; line-height:1.75; }.directory-description br { display:none; }
  .collection-tally { margin-top:18px; gap:12px; font-size:9px; flex-wrap:wrap; }.collection-tally>span { gap:5px; }.collection-tally strong { font-size:11px; }
  .timeline-guide { height:105px; align-self:center; margin-top:5px; }.timeline-guide img { width:75px; height:75px; }
  .guide-orbit { width:70px; height:62px; top:18px; }.guide-note,.guide-trail,.star-two { display:none; }.star-one { top:-3px; right:0; font-size:17px; }
  .timeline-page .directory-toolbar { top:0; padding:13px; }
  .toolbar-primary { display:block; }.timeline-page .directory-toolbar label,.timeline-page .control-label { font-size:9px; }
  .identity-filters { margin-top:11px; }.identity-filters .control-label { display:none; }.timeline-page .filter-field { justify-content:stretch; }
  .timeline-page .filter-button { flex:1; min-height:37px; gap:7px; font-size:10px; padding:8px; }
  .timeline-page .search-field input { font-size:12px; }
  .timeline-page .sort-field { display:flex; align-items:center; gap:12px; margin-top:10px; padding-top:8px; border-top:1px solid #e8eadf; min-width:0; }
  .timeline-page .sort-field label { margin:0; }
  .timeline-page .sort-field select { margin-left:auto; width:auto; min-height:34px; padding:6px 4px; border:0; background:transparent; font-size:10px; }
  .timeline-page .directory-status { font-size:10px; margin-top:7px; }.timeline-page .clear-filters { font-size:10px; }
  .timeline-page .directory-row { grid-template-columns:32px minmax(0,1fr); gap:13px; margin-bottom:15px; }
  .timeline-node { position:absolute; top:0; left:11px; margin-top:13px; width:9px; height:9px; border-width:2px; }
  .directory-list::before { left:15px; top:25px; }.timeline-month { padding:12px 0 15px 45px; gap:12px; font-size:11px; }.timeline-month::before { left:12px; top:17px; }
  .timeline-date { margin-top:33px; padding-bottom:7px; background:var(--paper); position:relative; z-index:1; }.date-day { font-size:24px; }.date-month { font-size:9px; margin-top:4px; }.date-year { font-size:8px; }.date-kind { font-size:6px; margin-top:7px; }
  .timeline-card { display:block; position:relative; min-width:0; }
  .timeline-page .directory-mark { position:absolute; top:16px; right:13px; width:75px; height:75px; min-height:0; border-radius:50%; }
  .directory-mark::before { width:61px; height:61px; }.timeline-page .directory-mark>.model-artwork { width:calc(100% - 4px); height:71px; left:2px; }.portrait-corner { display:none; }
  .directory-copy { padding:17px 15px 14px; }.entry-topline { padding-right:76px; display:block; }
  .timeline-page .directory-name { max-width:calc(100% - 77px); font-size:22px; line-height:1.12; letter-spacing:-.7px; margin-top:12px; min-height:49px; }
  .timeline-page .directory-availability { display:none; }.timeline-page .identity-label { font-size:8px; padding:4px 6px; white-space:nowrap; }
  .directory-official { font-size:12px; margin-top:5px; }.directory-official .official-name { overflow-wrap:anywhere; }
  .timeline-page .directory-summary { font-size:12px; line-height:1.75; margin-top:10px; }
  .timeline-page .directory-row .model-specialties { font-size:9px; margin-top:10px; }.specialty-tag { font-size:9px; padding:2px 5px; margin-right:3px; }
  .entry-bottom { flex-wrap:wrap; gap:8px; margin-top:10px; padding-top:10px; }.entry-milestone { font-size:8px; }.milestone-label { font-size:8px; }.entry-milestone time { margin-left:2px; }
  .entry-action { font-size:9px; }.entry-action>span { margin-left:8px; font-size:14px; }
  .directory-row[data-status=stealth] .entry-milestone,.entry-milestone:has(time:empty) { display:none; }
  .timeline-page .directory-bottom { grid-template-columns:32px 1fr; gap:13px; padding:7px 0 28px; }.timeline-end { grid-column:1; }.directory-bottom p { font-size:11px; }.directory-bottom p>span { font-size:10px; }.timeline-page .directory-bottom a { grid-column:2; font-size:10px; }
  .timeline-page .directory-empty { padding:30px 16px; }.directory-empty h2 { font-size:20px; }
}
@media(max-width:360px) { .timeline-page .wrap { width:calc(100% - 24px); }.timeline-page .filter-button { gap:5px; padding-inline:5px; }.collection-tally { gap:9px; }.timeline-page .directory-name { font-size:20px; }.timeline-page .directory-mark { width:65px; height:65px; right:10px; }.timeline-page .directory-name { max-width:calc(100% - 64px); }.entry-topline { padding-right:61px; } }
@media(prefers-reduced-motion:reduce) { .timeline-page *, .timeline-page *::before { transition:none!important; }.directory-row:hover .timeline-card,.directory-row:focus-visible .timeline-card { transform:none; }.directory-row:hover .directory-mark>.model-artwork { translate:none; rotate:none; }.timeline-guide:hover img { transform:rotate(-9deg); } }
/* Keep all three category choices readable at intermediate and narrow widths. */
.collection-tally{flex-wrap:wrap}
@media(min-width:761px) and (max-width:1080px){.toolbar-primary{grid-template-columns:minmax(200px,1fr) 142px}.identity-filters{grid-column:1/-1;grid-row:2}}
@media(max-width:420px){.timeline-page .filter-field{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-page .directory-row{scroll-margin-top:280px}}
