/* Homepage shaping: extend the existing Palace palette, type and page shell. */
.shaped-home .v25-hero { min-height: 720px; gap: clamp(32px, 4.5vw, 72px); }
.home-sidepaths { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; color: var(--cream-200); font-size: .94rem; }
.home-sidepaths a { text-underline-offset: 5px; }
.archive-window { border-radius: 12px; }
.archive-window__bar { display: flex; justify-content: space-between; gap: 12px; padding: 12px 18px; color: var(--gold-300); background: var(--burgundy-950); font: 700 .75rem/1.5 ui-monospace, monospace; letter-spacing: .1em; }
.archive-window__image-link { display: block; }
.archive-window img { display: block; width: 100%; height: auto; image-rendering: pixelated; }
.archive-window figcaption strong { font: 400 1.6rem/1.2 var(--font-serif); letter-spacing: -.015em; text-transform: none; }
.archive-window figcaption { font-size: 1rem; }
.archive-window figcaption a { width: fit-content; color: var(--gold-300); text-underline-offset: 4px; }
.archive-window figcaption small { font-size: .8rem; }
.home-collection { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); align-items: center; gap: clamp(32px,6vw,90px); }
.home-collection__copy > p:not(.eyebrow) { max-width: 40rem; }
.home-collection .page-actions { align-items: center; }
.collection-note { color: var(--muted); font-size: .88rem; margin: 24px 0 0; }
.smiley-sampler { display: block; overflow: hidden; color: var(--cream-50); background: var(--burgundy-950); border: 1px solid var(--burgundy-950); border-radius: 8px; box-shadow: 8px 8px 0 var(--cream-200); text-decoration: none; }
.smiley-sampler__image { display: grid; place-items: center; padding: 28px; background: #171415; }
.smiley-sampler img { display: block; width: 176px; max-width: 100%; height: auto; image-rendering: pixelated; }
.smiley-sampler > span { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 16px 20px; }
.smiley-sampler strong { font-family: var(--font-serif); font-size: 1.4rem; font-weight: 400; }
.smiley-sampler small { color: var(--gold-300); font-size: .875rem; }
.smiley-sampler:hover strong { text-decoration: underline; text-underline-offset: 4px; }
.smiley-sampler--nino .smiley-sampler__image { padding: 12px; }
.smiley-sampler--nino img { width: 100%; }
.museum-object--nino figcaption { display: grid; gap: 4px; }
.museum-object--nino figcaption strong { color: var(--gold-300); }
.museum-object--nino figcaption span { font-size: .8rem; }
.home-demo-details { max-width: 760px; margin-top: 32px; border-top: 1px solid var(--border-light); }
.home-demo-details summary { padding: 20px 0; cursor: pointer; font-weight: 650; }
.home-demo-details .palace-demo { margin: 8px 0 24px; }
.home-care { border-top: 1px solid var(--border-dark); }
.home-care h2 { font-size: clamp(2.2rem,3.5vw,3.5rem); }
.home-care > div:first-child { max-width: 750px; margin-bottom: 32px; }
.home-care .v25-link-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.home-care__links { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 24px; color: var(--gold-300); }
.home-care__links a { text-underline-offset: 4px; }
.museum-intro { padding-top: 140px; padding-bottom: 64px; background: var(--burgundy-950); }
.museum-intro h1 { margin: 16px 0 28px; font: 500 clamp(3rem,6vw,6rem)/1 var(--font-serif); letter-spacing: -.045em; }
.museum-intro > p:not(.eyebrow) { max-width: 42rem; font-size: 1.15rem; }
.museum-jump { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 32px; color: var(--gold-300); }
.museum-jump a { padding-block: 6px; text-underline-offset: 5px; }
.museum-exhibit { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; gap: clamp(32px,6vw,90px); scroll-margin-top: 24px; }
.museum-exhibit h2 { font-size: clamp(2.5rem,4.5vw,4.5rem); }
.museum-exhibit__copy > p:not(.eyebrow) { max-width: 38rem; }
.museum-object { margin: 0; padding: 16px; border: 1px solid var(--border-dark); border-radius: 8px; background: var(--charcoal-950); color: var(--cream-100); }
.museum-object img { display: block; width: 100%; height: auto; image-rendering: pixelated; }
.museum-object figcaption { padding-top: 14px; font-size: .875rem; }
.palace32-enlarged { display: grid; place-items: center; padding: 18px 0 28px; }
.palace32-enlarged img { width: 352px; max-width: 100%; }
.palace32-originals { display: flex; justify-content: center; align-items: start; gap: 28px; padding: 20px 0; border-top: 1px solid var(--border-dark); }
.palace32-originals > div { display: grid; justify-items: center; gap: 12px; }
.palace32-originals img { width: auto; max-width: 100%; }
.palace32-originals span { font-size: .8rem; text-align: center; }
.palace32-file-links { display: flex; flex-wrap: wrap; gap: 16px 28px; }
.artifact-facts { margin: 30px 0; font-size: .94rem; }
.artifact-facts > div { padding: 12px 0; border-top: 1px solid var(--border-dark); }
.v25-section--cream .artifact-facts > div { border-color: var(--border-light); }
.artifact-facts dt { margin-bottom: 4px; font-weight: 750; }
.artifact-facts dd { margin: 0; overflow-wrap: anywhere; }
.museum-notes h2 { font-size: clamp(2.3rem,4vw,3.75rem); }
.museum-notes > p { max-width: 52rem; }
.museum-note-links { display: flex; flex-wrap: wrap; gap: 14px 30px; margin-top: 28px; }
.museum-note-links a { text-underline-offset: 5px; }
.museum-timeline { scroll-margin-top: 24px; }
.timeline-heading { max-width: 46rem; }
.timeline-heading h2 { font: 500 clamp(2.8rem,5vw,4.8rem)/1.05 var(--font-serif); letter-spacing: -.035em; }
.timeline-reading-note { color: var(--cream-200); font-size: .9rem; }
.software-timeline { list-style: none; padding: 0; margin: 48px 0 0; }
.software-timeline > li { display: grid; grid-template-columns: 132px minmax(0,1fr); gap: 28px; position: relative; padding: 0 0 64px 28px; margin: 0; border-left: 1px solid var(--gold-400); scroll-margin-top: 32px; }
.software-timeline > li::before { content: ''; position: absolute; left: -6px; top: 9px; width: 11px; height: 11px; border: 2px solid var(--gold-300); background: var(--burgundy-950); }
.software-timeline > li:last-child { padding-bottom: 0; border-left-color: transparent; }
.timeline-date { padding-top: 1px; color: var(--gold-300); font: 600 1.15rem/1.6 var(--font-serif); }
.timeline-date > span { display: block; margin-top: 4px; font: 400 .8rem/1.5 var(--font-sans); color: var(--cream-200); }
.software-timeline h3 { margin: 0 0 14px; font: 500 clamp(1.7rem,2.8vw,2.3rem)/1.2 var(--font-serif); }
.software-timeline p { max-width: 48rem; margin: 0 0 16px; }
.software-timeline a, .timeline-tail a { color: var(--gold-300); text-underline-offset: 4px; }
.timeline-source { font-size: .85rem; }
.timeline-links { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px 24px; }
.archive-filename { overflow-wrap: anywhere; }
.timeline-present { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; margin-top: 24px; }
.timeline-present > div { padding-top: 20px; border-top: 1px solid var(--border-dark); }
.timeline-present .eyebrow { margin: 0 0 10px; }
.timeline-present h4 { font: 500 1.5rem/1.2 var(--font-serif); margin: 0 0 16px; }
.timeline-present p:not(.eyebrow) { font-size: .95rem; }
.timeline-tail { margin: 40px 0 0 32px; }
.software-sources { border-top: 1px solid var(--border-light); margin-top: 32px; padding-top: 28px; max-width: 58rem; font-size: .9rem; }
.software-sources h3 { font: 500 1.6rem/1.3 var(--font-serif); }
.software-sources ol { padding-left: 24px; }
.software-sources li { padding-left: 6px; margin: 0 0 18px; scroll-margin-top: 28px; }
.software-sources a { text-underline-offset: 3px; }
@media (max-width: 1040px) { .home-care .v25-link-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 720px) {
  .home-collection, .museum-exhibit { grid-template-columns: minmax(0,1fr); }
  .shaped-home .v25-hero { gap: 38px; min-height: 0; }
  .home-collection { padding-block: 58px; }
  .smiley-sampler { max-width: 480px; }
  .museum-intro { padding-top: 120px; }
  .museum-jump { flex-direction: column; gap: 8px; }
  .museum-object { padding: 10px; }
  .museum-exhibit__copy { display: contents; }
  .museum-exhibit .museum-object { grid-row: 3; }
  .museum-exhibit { row-gap: 20px; }
  .museum-exhibit__copy > p, .museum-exhibit__copy > h2 { margin-block: 0; }
  .software-timeline > li { grid-template-columns: minmax(0,1fr); gap: 14px; padding-left: 24px; }
  .timeline-date > span { display: inline; margin-left: 10px; }
  .timeline-present { grid-template-columns: minmax(0,1fr); }
  .timeline-tail { margin-left: 24px; }
}
@media (max-width: 480px) { .home-care .v25-link-grid { grid-template-columns: minmax(0,1fr); } .archive-window__bar { font-size: .75rem; letter-spacing: .04em; } .palace32-enlarged img { width: 264px; } }
@media (forced-colors: active) { .archive-window, .smiley-sampler, .museum-object { border: 1px solid CanvasText; box-shadow: none; } }

/* Let each software chapter lead with a human activity and an actual source image. */
.timeline-chapter { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.92fr); align-items: start; gap: clamp(24px,3vw,40px); }
.software-timeline .timeline-moment { color: var(--gold-300); font: 500 1.18rem/1.4 var(--font-serif); margin-bottom: 20px; }
.timeline-visual { min-width: 0; margin: 4px 0 0; padding: 10px; background: var(--charcoal-950); border: 1px solid var(--border-dark); border-radius: 6px; }
.timeline-visual > a { display: block; }
.timeline-visual img { display: block; width: 100%; height: auto; }
.timeline-visual figcaption { display: grid; gap: 5px; padding: 14px 4px 4px; font: 400 .78rem/1.5 var(--font-sans); color: var(--cream-200); }
.timeline-visual figcaption strong { color: var(--cream-50); font-size: .88rem; }
.timeline-visual--editor { max-width: 390px; }
.software-timeline .timeline-current-note { margin-top: 28px; font-size: .86rem; color: var(--cream-200); }
.timeline-return { margin: 52px 0 0 28px; padding-top: 32px; border-top: 1px solid var(--border-dark); max-width: 52rem; }
.timeline-return h3 { font: 500 clamp(1.8rem,3vw,2.6rem)/1.15 var(--font-serif); margin: 0 0 18px; }
.timeline-return .timeline-links { margin-top: 24px; color: var(--gold-300); }
.timeline-return a { text-underline-offset: 4px; }
@media (max-width: 1100px) { .software-timeline > li { grid-template-columns: minmax(0,1fr); gap: 16px; } .timeline-date > span { display: inline; margin-left: 12px; } }
@media (max-width: 720px) {
  .timeline-chapter { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .timeline-story { display: contents; }
  .software-timeline .timeline-story > h3, .software-timeline .timeline-story > p { margin: 0; }
  .timeline-visual { grid-row: 3; max-width: 512px; margin: 0; }
  .timeline-visual--editor { max-width: 360px; }
  .timeline-return { margin-left: 24px; }
}
@media (forced-colors: active) { .timeline-visual { border: 1px solid CanvasText; } }

/* First public selection: source invitations retain the historical chapters. */
.public-story-note, .timeline-source-invitation { padding:28px; border:1px solid currentColor; border-radius:6px; }
.public-story-note h3, .timeline-source-invitation h4 { font:500 1.7rem/1.2 var(--font-serif); margin:0 0 20px; }
.public-story-note p:last-child, .timeline-source-invitation p:last-child { margin-bottom:0; }
.public-collection-invitation { display:grid; gap:24px; padding:40px; color:var(--cream-50); background:var(--burgundy-800); border:1px solid var(--gold-400); box-shadow:8px 8px 0 var(--cream-200); border-radius:6px; text-decoration:none; }
.public-collection-invitation strong { font:500 clamp(2rem,4vw,3.5rem)/1.05 var(--font-serif); }
.public-collection-invitation__link { color:var(--gold-300); text-decoration:underline; text-underline-offset:5px; }
@media(max-width:720px){ .timeline-source-invitation{grid-row:3;} .museum-exhibit--story{display:block;} .public-story-note{margin-top:28px;} }
