/* Signal Editions: selected by Ethan. Shared by all portfolio routes.
   White product stages, confident indigo, ink type. The artefacts keep their
   own visual contracts; this stylesheet styles the portfolio around them. */
[data-design="editions"] {
  --edition-indigo: var(--edition-palette-indigo);
  --edition-white: var(--edition-palette-white);
  --edition-secondary: var(--edition-palette-on-indigo-secondary);
  --edition-line: var(--edition-palette-on-indigo-rule);
  --ground: var(--edition-palette-white);
  --paper: var(--edition-palette-white);
  --paper-2: var(--edition-palette-paper-tint);
  --paper-3: var(--edition-palette-paper-raised);
  --ink: var(--edition-palette-ink);
  --ink-2: var(--edition-palette-ink-secondary);
  --graphite: var(--edition-palette-ink-quiet);
  --accent: var(--edition-palette-indigo);
  --accent-2: var(--edition-palette-link-hover);
  --accent-soft: var(--edition-palette-selection);
  --accent-line: var(--edition-palette-selection-rule);
  --accent-ink: var(--edition-palette-white);
  --rule: var(--edition-palette-rule);
  --rule-soft: var(--edition-palette-rule-soft);
  --rule-strong: var(--edition-palette-rule-strong);
  --focus: var(--edition-palette-indigo);
  /* One container for every page. Wide surfaces (the Archive wall) opt
     into --wide with .wrap-wide; nothing sets its own left edge. */
  --container: 1280px;
  --wide: 1520px;
  --gutter: clamp(20px, 5vw, 72px);
  /* Type roles for the whole shell. Page styles consume these; they do not
     declare sizes of their own. Specimens and the work inside frames keep
     their own contracts. */
  --t-display: clamp(3rem, 2.1rem + 3.9vw, 5.75rem);      /* cover headlines: home, about */
  --t-page: clamp(2.75rem, 2rem + 3vw, 4.5rem);           /* page openings */
  --t-section: clamp(1.75rem, 1.4rem + 1.6vw, 2.75rem);   /* section headings */
  --t-title: clamp(1.375rem, 1.2rem + .7vw, 1.875rem);    /* card and row titles */
  --t-lede: clamp(1.0625rem, 1rem + .45vw, 1.25rem);      /* the paragraph under a heading */
  --lh-display: 1.02;
  --ls-display: -.035em;
  --ls-heading: -.025em;
  --edition-body: 1rem;
  background: var(--ground);
  color: var(--ink);
  caret-color: var(--accent);
  scrollbar-color: var(--rule-strong) var(--ground);
}
[data-theme="dark"] [data-design="editions"] {
  --ground: var(--edition-palette-dark-ground);
  --paper: var(--edition-palette-dark-paper);
  --paper-2: var(--edition-palette-dark-tint);
  --paper-3: var(--edition-palette-dark-raised);
  --ink: var(--edition-palette-dark-ink);
  --ink-2: var(--edition-palette-dark-secondary);
  --graphite: var(--edition-palette-dark-quiet);
  --accent: var(--edition-palette-dark-link);
  --accent-2: var(--edition-palette-dark-hover);
  --accent-soft: var(--edition-palette-dark-selection);
  --accent-line: var(--edition-palette-dark-selection-rule);
  --accent-ink: var(--edition-palette-dark-paper);
  --rule: var(--edition-palette-dark-rule);
  --rule-soft: var(--edition-palette-dark-rule-soft);
  --rule-strong: var(--edition-palette-dark-rule-strong);
  --focus: var(--edition-palette-dark-focus);
}
[data-design="editions"] .masthead { background: var(--ground); backdrop-filter: none; border-color: var(--rule); }
[data-design="editions"] .masthead > .wrap { min-height: 76px; }
[data-design="editions"] { --nav-h: 76px; }
[data-design="editions"] .namemark { font-size: 1.0625rem; font-weight: 600; letter-spacing: -.025em; gap: 11px; }
[data-design="editions"] .glyph { width: 32px; height: 32px; border-radius: 0; }
[data-design="editions"] .nav a { border-radius: 4px; }
[data-design="editions"] .nav a[aria-current] { color: var(--accent); }
[data-design="editions"] .sitefoot { background: var(--paper-2); border-top: 1px solid var(--rule); margin-top: 64px; }
[data-design="editions"] .sitefoot > .wrap { padding-block: 42px; }
@media(max-width:650px) {
  [data-design="editions"] .sitefoot .who { flex-direction: column; align-items: flex-start; gap: 6px; }
  [data-design="editions"] .sitefoot .links { flex-basis: 100%; }
}
[data-design="editions"] .pagehead,
[data-design="editions"] .ds-heading {
  background: var(--edition-indigo); color: var(--edition-white);
  padding: clamp(30px, 4vw, 60px); margin-block: 32px 48px; border-radius: 12px;
  --ink: var(--edition-palette-white); --ink-2: var(--edition-palette-on-indigo-secondary); --graphite: var(--edition-palette-on-indigo-secondary);
  --accent: var(--edition-palette-white); --accent-2: var(--edition-palette-on-indigo-secondary); --focus: var(--edition-palette-white);
  --rule: var(--edition-palette-on-indigo-rule); --rule-soft: var(--edition-palette-on-indigo-rule);
}
[data-design="editions"] :is(.pagehead,.ds-heading) h1 {
  font-size: var(--t-page); font-weight: 550; line-height: 1.04; letter-spacing: var(--ls-display);
}
[data-design="editions"] :is(.pagehead,.ds-heading) :is(.lede,.eyebrow,.ds-lede) { color: var(--edition-secondary); }
[data-design="editions"] :is(.pagehead,.ds-heading) .lede { max-width: 60ch; margin-top: 24px; font-size: var(--t-lede); line-height: 1.5; }
[data-design="editions"] :is(.pagehead,.ds-heading) a { color: var(--edition-white); text-decoration-color: var(--edition-line); }
[data-design="editions"] .pagehead .chip { background: transparent; color: var(--edition-white); border-color: var(--edition-line); }
[data-design="editions"] .pagehead .eyebrow { margin-bottom: 18px; }
[data-design="editions"] .section { padding-block: clamp(42px, 5vw, 72px); }
[data-design="editions"] .row { padding-block: 24px; border-color: var(--rule); }
[data-design="editions"] .row h3 { font-size: 1.25rem; }
[data-design="editions"] .row .sub { max-width: 75ch; }
[data-design="editions"] .ds-heading .ds-primary { background: var(--edition-white); color: var(--edition-indigo); }
[data-design="editions"] .flagship-player video { border: 0; border-radius: 8px; }
.film-surface { position:relative; aspect-ratio:16/9; border-radius:8px; isolation:isolate; }
.film-surface video { width:100%; height:100%; display:block; }
.film-play { position:absolute; inset:0; display:flex; align-items:flex-end; padding:clamp(12px,2vw,24px); background:transparent; border:0; border-radius:8px; cursor:pointer; }
.film-play[hidden] { display:none; }
.film-play-label { display:inline-flex; align-items:center; gap:12px; min-height:44px; padding:12px 18px; border-radius:7px; color:var(--edition-palette-ink); background:#fff; border:1px solid var(--edition-palette-rule); font-size:13px; font-weight:550; box-shadow:0 3px 12px var(--edition-player-shadow); }
.film-play-label::before { content:''; width:0; height:0; border-left:8px solid var(--edition-palette-indigo); border-top:5px solid transparent; border-bottom:5px solid transparent; }
.film-play:focus-visible { outline:3px solid var(--edition-palette-indigo); outline-offset:5px; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .film-play-label { transition:transform 180ms cubic-bezier(.23,1,.32,1); }.film-play:hover .film-play-label { transform:translateY(-2px); } }
.edition-next { padding-block: 32px; border-top: 1px solid var(--rule); display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.edition-next > a { display: flex; align-items: center; gap: 20px; min-height: 48px; color: var(--ink); text-decoration: none; font-size: .9375rem; }
.edition-next > a:last-child { font-size: 1.5rem; letter-spacing: -.025em; }
.edition-next svg { width: 22px; height: 22px; }
.edition-next img { background: var(--edition-palette-white-short); border-radius: 8px; padding: 5px; }
/* Exhibit's shell follows Editions; original component motion remains intact. */
[data-design="editions"] .exhibit-note { color: var(--ink-2); }
[data-design="editions"] .site .site-hero { background: var(--edition-indigo); color: var(--edition-palette-white-short); border-radius: 12px; padding: 40px; }
[data-design="editions"] .site .site-hero :is(h1,p) { color: inherit; }
[data-design="editions"] .site .site-hero h1 span { color: var(--edition-white); }
[data-design="editions"] .site .site-hero :is(.site-hero-note,.site-demo-caption),
[data-design="editions"] .site .site-hero :is(.site-hero-note,.site-demo-caption) > span { color: var(--edition-secondary); }
[data-design="editions"] .site .site-hero .site-button-primary { background: var(--edition-white); color: var(--edition-indigo); }
[data-design="editions"] .gallery-header { background: var(--edition-indigo); color: var(--edition-white); padding: 30px; border-radius: 12px; border: 0; }
[data-design="editions"] .gallery-header :is(h1,h2,p,span) { color: inherit; }
[data-design="editions"] .gallery-header p { color: var(--edition-secondary); }
[data-design="editions"] .collection-switch button[aria-pressed="true"] { background: var(--edition-indigo); color: var(--edition-white); }
@media (hover: hover) and (pointer: fine) {
  .edition-next a:hover { color: var(--accent); }
}
@media (max-width: 1100px) {
  [data-design="editions"] .masthead > .wrap { min-height: 68px; }
  [data-design="editions"] { --nav-h: 68px; }
}
@media (max-width: 760px) {
  [data-design="editions"] { --gutter: 20px; --nav-h: 60px; }
  [data-design="editions"] .masthead > .wrap { min-height: 60px; }
  [data-design="editions"] .glyph { width: 28px; height: 28px; }
  [data-design="editions"] :is(.pagehead,.ds-heading) { padding: 28px 22px; margin-block: 24px 32px; border-radius: 10px; }
  [data-design="editions"] :is(.pagehead,.ds-heading) h1 { font-size: 2.75rem; }
  .edition-next { flex-wrap: wrap; gap: 22px; }
  .edition-next > a:last-child { font-size: 1.25rem; }
}
