{
  "id": "v1-em-7112",
  "long_id": "v1.editorial-minimal.portal.s07.p01.t01.u02",
  "name": "Editorial minimalism interview series",
  "era": {
    "slug": "editorial-minimal",
    "code": "em",
    "name": "Editorial minimalism",
    "years": [
      2012,
      2018
    ],
    "description": "Reading-first pages of 2012 to 2018: one narrow column of large serif text on white, a thin header, generous white space, hairline rules, a single accent colour and almost no boxes."
  },
  "archetype": "portal",
  "mode": "mix",
  "viewport": {
    "width": 1280,
    "fluid": false,
    "responsive": true
  },
  "summary": "Editorial minimalism is the reading-first page of 2012 to 2018: carefully set text on a plain page, hairline rules, a single accent colour and almost no boxes or decoration. This layout is its interview series, the weekly conversation with one person that small independent publications of those years ran: the newest guest shown as two halves, a portrait plate and a name set large, earlier guests as a wall of plates three across, one sentence of a guest set very large, and the interview itself as bold questions over plain answers. The picture carries the front page and the type carries everything else, so the plates are flat tones and the names do the work.",
  "url": "https://chrono.skin/s/v1-em-7112",
  "preview_url": "https://chrono.skin/s/v1-em-7112/specimen.html",
  "files": {
    "STYLE.md": "# Editorial minimalism interview series\n\n## Summary\n\nEditorial minimalism is the reading-first page of 2012 to 2018: carefully set text on a plain page, hairline rules, a single accent colour and almost no boxes or decoration. This layout is its interview series, the weekly conversation with one person that small independent publications of those years ran: the newest guest shown as two halves, a portrait plate and a name set large, earlier guests as a wall of plates three across, one sentence of a guest set very large, and the interview itself as bold questions over plain answers. The picture carries the front page and the type carries everything else, so the plates are flat tones and the names do the work.\n\n## Layout\n\n- The page is a fixed centred sheet of `--size-page` (1120px), designed for a 1280px viewport; `.ds-wrap` holds every row. Only the navigation bar, the inverted `.ds-band` and the footer strip paint edge to edge.\n- Navigation is one bar `--size-nav` (64px) tall on `--fill-bar` with a hairline under it: the brand at the left edge of the sheet, three words at the right. Each word is as tall as the bar and the current one hangs from a `--border-width-strong` accent stroke on the bar's upper edge.\n- The home view is the newest interview and the way into the rest. The `.ds-hero` is two equal halves: at the left `.ds-hero__plate`, a picture tone `--size-plate` (480px) tall that carries only the interview's number, at the right `.ds-hero__copy`, centred: a label, the guest's name at `--text-display`, the trades as a tracked line, two lines of lead and one button. Then `.ds-grid`, six earlier guests three across; `.ds-voice`, one quotation centred at `--text-h1`; `.ds-stat`, four figures; `.ds-duo`, seven and five parts, with the numbered `.ds-list` at the left and the `.ds-panel` at the right; and the inverted `.ds-band` with the subscription. Rows that need a name begin with a `.ds-rule`: small capitals at the left, one quiet link at the right, a hairline under both. Rows are `--space-6` apart.\n- Inner pages have no hero. They start with the `.ds-breadcrumb`, then the `.ds-page-header` (an optional label, the title at `--text-h1`, one grey line at `--text-large`, one action at the right) closed by a hairline. An interview is `.ds-article`: a column of `--size-side` (200px) with the date, the credit and a `.ds-sidebar`, the text in `--size-measure` (620px, about 68 characters), and a quotation in the remaining 220px; both side columns stay in view while the text scrolls. A list page puts `.ds-tabs` directly over the table. A form page is `.ds-split`: the form in the wide column and a column of `--size-aside` (360px) for notes and the dialog.\n- Views. The specimen is a weekly series of interviews with people who make things by hand, with four views. `home` is the newest guest, six recent guests, a quotation, the series in figures, five interviews from the archive beside the printed annual, and the subscription band. `interview` is one conversation: breadcrumb, page header, the particulars and other guests of the trade at the left, the questions and answers, a quotation at the right, then links to more. `archive` is the list page: tabs by trade, the table with pagination and the label legend, and the empty trade. `nominate` is the form page: the notices, the suggestion form with its button row, and beside it two notes and the open discard dialog. Below 1040px the quotation falls under the interview and the pairs stack; below 720px the words move to a second row of the bar, the hero stacks under a lower plate, the plates go two across, the figures two by two, form rows stack and a wide table scrolls inside `.ds-table__wrap`, while the page itself never scrolls sideways.\n- Spacing scale: `--space-1` 4px (inside badges and tabs, under a title), `--space-2` 8px (between a label and its field, between tabs, under a rule's words), `--space-3` 16px (list row padding, under a plate, gaps in a button row), `--space-4` 24px (paragraph gap, panel padding, side padding of the sheet), `--space-5` 40px (grid gutter, under a rule, between stacked blocks, between the columns of an interview), `--space-6` 64px (between rows, between the columns of a pair, the band's padding), `--space-7` 96px (with `--space-5` it sets the height of a text field).\n- Other sizes: `--size-dialog` 440px, `--size-icon` 40px.\n- On a phone (720px and below) there is no menu button: `.ds-nav__links` takes a row of its own under the brand, spread over the full width, and the current link's accent stroke moves from above the word to below it. At 600px and below a tooltip opens as a note fixed to the bottom of the window, `--space-3` from its edges.\n\n## Typography and colour roles\n\nThis style combines the parts of different styles of one era. Where a note below names a value that differs from `tokens.css`, the tokens are right.\n\n- Body and headings share one book serif (`--font-body`, `--font-heading`); the references used commercial text faces and open ones such as Cardo, so the stack is Iowan Old Style, Palatino, then EB Garamond and Georgia. `--font-ui` is a humanist sans used only small: navigation, buttons, labels, meta lines, table heads, footer. `--font-mono` is for inline code.\n- Body is `--text-base` 20px at `--line-body` 1.6 in `--color-text`. Headings are the same face at regular weight (`--weight-heading` 400): hierarchy comes from size and white space, not from bold or colour. `--weight-bold` 700 is for `strong` only; `--weight-ui` 600 for the small sans.\n- Sizes: `--text-display` 44px (hero title only), `--text-h1` 36px (page title, part titles in an essay, figures), `--text-h2` 26px (list titles, section headings, pull quotes, panel and dialog titles), `--text-h3` 20px (brand name, grid titles), `--text-large` 24px (hero lead, first paragraph, page header line), `--text-small` 13px (labels and meta), `--text-ui` 12px (navigation, buttons, tabs, form labels). Tables, form fields, notices and footnotes use the body face at 85% or 80% of `--text-base`, a one-off size made with `calc()`.\n- Labels and meta lines are always small capitals of the sans: `text-transform: uppercase` with letter spacing of a tenth of the size (`calc(var(--text-small) * 0.1)`). This is part of the structure and does not follow `--ui-transform`, which sets navigation, buttons, tabs and form labels; those carry a spacing of 4% of their size. An `h3` in running text is such a label, in `--color-heading-alt`.\n- The drop cap (`.ds-prose__dropcap`) is three lines deep: its size is computed from `--text-base` and `--line-body`, and it shares a baseline with an unseen strut in the text face set two lines down, so it stands on the third baseline with any type set. The pull quote is `--text-h2` at a line height of 1.35.\n- Links in text are `--color-link` with `--link-decoration`; hover changes to `--color-link-hover`. Quiet links (`--color-link-quiet`, `--link-decoration-quiet`) are for titles, breadcrumbs and margin lists.\n- Which text sits on which fill (the convention of this era, kept by every layout and token set):\n  - `--color-page`, `--color-canvas`, `--color-surface`, `--color-surface-alt`, `--color-surface-strong` and `--fill-panel` carry `--color-text`, `--color-heading`, `--color-heading-alt`, `--color-text-muted` and the link colours. The surfaces are the page colour or a pale step from it.\n  - `--fill-bar` carries `--color-bar-text` (navigation and table head); the brand name is `--color-bar-text`. `--fill-bar-alt` carries `--color-bar-alt-text` only.\n  - `--fill-inverse` carries `--color-inverse-text`; quieter text on it is the same colour at an opacity of 0.65 to 0.75. The only button allowed on it is `.ds-button--inverse`.\n  - `--fill-accent` carries `--color-accent-text`. `--color-danger` used as a fill also carries `--color-accent-text`.\n  - `--color-fill-1` to `--color-fill-4` are picture tones: they stand where a photograph or cover would be. They carry nothing but a numeral, mark or short title in `--color-inverse-text`, never running text.\n  - `--fill-button` carries `--color-button-text` inside a `--color-border-strong` border; `--fill-button-hover` carries `--color-button-hover-text`. `--fill-button-secondary` carries `--color-button-secondary-text` inside a `--color-border` hairline. Buttons stand on page and surface colours only.\n  - `--fill-input` carries `--color-input-text` inside `--color-input-border`; `--color-notice` carries `--color-notice-text`; `--color-danger-surface` carries `--color-danger`; `--color-disabled` carries `--color-disabled-text`.\n  - `--color-success`, `--color-warning` and `--color-danger` are text and outline colours on the page (status labels, the destructive button), so each must be readable on `--color-page`.\n- `--color-accent` is the single accent: the underline of the current navigation item, tab and page number, the checkbox, the default badge. `--color-accent-alt` only outlines the `--alt` badge.\n- Rules: hairlines are `--border-width` in `--color-border`; faint row dividers use `--color-border-muted`; `--border-width-strong` in `--color-border-strong` marks the top of a pull quote, the figures and the foot of a table head. `--radius-page` and `--shadow-panel` dress the picture tones, `--radius-panel` the panel and dialog, `--radius-control` buttons, fields and the brand tile, `--radius-pill` badges.\n- One-off values the vocabulary has no token for: the slash of the breadcrumb is `--color-border-strong` at an opacity of 0.4; text on the inverted band is dimmed by opacity.\n\n## Components\n\n- `.ds-page`: on `<body>`. Sets the page fill, the body face, size and line height. It has no width; `.ds-wrap` is the sheet.\n- `.ds-wrap`: the 1120px sheet with 24px side padding. `.ds-section` puts 64px above a row (`--first` 40px, directly under a page header; `--last` adds 64px below the last row of a view). `.ds-stack` stacks blocks 40px apart. `.ds-duo` is two columns of seven and five parts; `.ds-split` (`.ds-split__main`, `.ds-split__side`) is a wide column and a 360px one.\n- `.ds-label`: a small tracked capital line: a kicker above a title, a date under a plate. `.ds-rule` is the section head: the same lettering at the left, a quiet link at the right, a hairline below.\n- `.ds-brand`: the site's mark and name at the left of the bar. `.ds-brand__mark` is a 32px tile dressed like the primary button (`--fill-button`, `--color-button-text`, a `--color-border-strong` border, `--radius-control`, `--shadow-control`); `.ds-brand__name` is the name in the heading face at `--text-h3`. Both are placeholders for the installing project's own name and logo.\n- `.ds-nav`: the bar on `--fill-bar`. `.ds-nav__inner` is the sheet; `.ds-nav__links` holds `.ds-nav__link` items; the current one (`is-current`) has the accent stroke above it. In the specimen the showing view marks its item with one `:has()` rule per view; a project sets `is-current` itself.\n- `.ds-hero`: the newest interview on the home page. `.ds-hero__plate` is the picture tone with a small line and `.ds-hero__numeral`; `.ds-hero__copy` holds a `.ds-label`, `.ds-hero__title`, `.ds-hero__roles`, `.ds-hero__lead` and `.ds-hero__actions` with one button and one `.ds-link--more`.\n- `.ds-page-header`: head of an inner page, after the breadcrumb: `.ds-page-header__copy` with an optional `.ds-label`, `.ds-page-header__title` and one `.ds-page-header__text` line, `.ds-page-header__actions` at the right with a single button, and a hairline below.\n- `.ds-article`: the three columns of an interview: `.ds-article__meta` (date, `.ds-article__note`, a sidebar), `.ds-article__main` and `.ds-article__aside` (a `.ds-quote--aside`).\n- `.ds-prose`: running text: `h1` (a part title), `h2`, `h3` (a label), paragraphs, lists, `strong`, `code`. `.ds-prose__lead` is a larger first paragraph; `.ds-prose__q` is a question. `.ds-quote` with `.ds-quote__text` is the pull quote between a strong and a hairline rule; `--aside` is its smaller form for the side column. `.ds-footnotes` with `.ds-footnotes__item` is a numbered note list. `.ds-note` is a short paragraph of small print beside a form.\n- `.ds-voice`: one sentence of a guest across the sheet: `.ds-voice__text` at `--text-h1`, centred, with a `.ds-label` naming the speaker.\n- `.ds-link`: text link. States `is-visited`, `is-hover`, `is-active`, `is-focus`. `--quiet` for names and meta; `--more` is a small capital link with a chevron. `.ds-linklist` with `.ds-linklist__item` sets links as rows on faint rules.\n- `.ds-button`: a small tracked word on `--fill-button` inside a `--color-border-strong` border. Variants: `--secondary` (hairline border, coloured text), `--danger` (outlined in `--color-danger`, filled on hover; destructive actions only), `--inverse` (on the inverted band), `--small`. States `is-hover`, `is-active`, `is-focus`, `is-disabled`. `.ds-buttonrow` spaces buttons 16px apart.\n- `.ds-form`: vertical form, 24px between fields. `.ds-form__row` sets fields side by side; `.ds-form__field` wraps `.ds-form__label` and one of `.ds-form__input`, `.ds-form__select`, `.ds-form__textarea`. Error: `is-error` on the input plus `.ds-form__error`. `.ds-form__hint`, `.ds-form__check` with `.ds-form__checkbox`, `.ds-form__actions`. `--inline` puts one field and its button on a line.\n- `.ds-table`: text rows on faint hairlines, no box and no stripes; the head is small capitals over a strong rule. `.ds-table__num` right-aligns figures; `.ds-table__caption` is a note below. Wrap it in `.ds-table__wrap`; `.ds-table__foot` is the row under it with the pagination and a legend.\n- `.ds-list`: numbered interviews: each `.ds-list__item` is a `.ds-list__num`, a block with the `.ds-list__title` and one `.ds-list__text` line, and a `.ds-list__meta` date at the right, on faint rules. `.ds-list__more` holds a link below.\n- `.ds-panel`: the one bordered box of a page, on `--fill-panel` with 24px padding: `.ds-panel__art` (a wide picture tone with a short title), a `.ds-label`, `.ds-panel__title` and `.ds-panel__body`.\n- `.ds-stat`: the row of four figures. `.ds-stat` is the row; each `.ds-stat__item` hangs from its own strong rule and holds a `.ds-stat__figure` (`--text-display`) over a `.ds-stat__label`.\n- `.ds-grid`: three equal columns of `.ds-grid__cell`, each a `.ds-grid__tile` plate in a picture tone (`--2`, `--3`, `--4` for the others) holding the interview's number, then a `.ds-label`, `.ds-grid__title` and `.ds-grid__text`. The cell has no border.\n- `.ds-tabs`: a row of small outlined words, `.ds-tabs__tab`; the one with `is-current` is filled with the accent.\n- `.ds-badge`: a small capital label on `--fill-accent`. `--alt` is outlined in `--color-accent-alt`, `--quiet` sits on `--color-surface-strong` for counts. Status variants are outlines in their own colour: `--success`, `--warning`, `--danger`. `.ds-badgerow` for several.\n- `.ds-sidebar`: a short list in the side column of an interview: `.ds-sidebar__title` over a hairline, `.ds-sidebar__list` of `.ds-sidebar__item`; the current row is `is-current`, bold and not a link.\n- `.ds-notice`: a tinted line with a strong rule at its left; `--error` uses the danger colours. `.ds-notice__title` is the bold lead-in. `.ds-noticerow` stacks notices.\n- `.ds-pagination`: a row of small words and numbers, `.ds-pagination__link`; `is-current` is underlined in the accent, `is-disabled` is grey.\n- `.ds-breadcrumb`: a small capital trail of `.ds-breadcrumb__item` separated by slashes; the last is `.ds-breadcrumb__current`.\n- `.ds-dialog`: a veil of `--color-overlay` centring a plain `.ds-dialog__box` with a strong hairline border: `.ds-dialog__head` (`.ds-dialog__title`, `.ds-dialog__close`), `.ds-dialog__body`, right-aligned `.ds-dialog__actions`.\n- `.ds-empty`: a centred message closed by a hairline, standing where a list would be: `.ds-empty__icon`, `.ds-empty__title`, `.ds-empty__text` and one button.\n- `.ds-band`: the inverted block that closes the home page: `.ds-band__inner` puts a label, `.ds-band__title` and `.ds-band__text` at the left and an inline form at the right.\n- `.ds-footer`: one pale strip on `--fill-bar-alt`, centred: `.ds-footer__inner` holds `.ds-footer__links` of `.ds-footer__link` over a line of text.\n- `.ds-avatar`: a person, as initials in a `--size-avatar` circle on a picture tone (`--1`, `--4` for the other tones). Use it beside a name, never alone as decoration. `.ds-credit`: the row that holds an avatar, a `.ds-credit__name` and one quiet line (`--centre` under a centred quote).\n- `.ds-progress`: a `--border-width-strong` line with a `.ds-progress__bar` in the accent (`--third`, `--most` set its length; a project sets the width itself) and a `.ds-progress__label` under it that says the same in words. Use it for how far a reader or a count has come, inside a margin, sidebar or panel.\n- `.ds-tooltip`: a word with a hairline under it and a `.ds-tooltip__tip` shown on hover or focus (`--plain` drops the hairline, for a badge). Use it for a definition or a footnote of one sentence; it is never forced open.\n- `.ds-accordion`: `<details class=\"ds-accordion__item\">` rows on hairlines, each a `.ds-accordion__head` question and a `.ds-accordion__body` answer. Use it for a short list of questions or notes in a side column or panel.\n\n## Never\n\n- `block-gap <= 64px`: rows of the sheet are 64px apart.\n- `font-size <= 110px`: the three-line drop cap is the largest letter; the largest title is 44px.\n- `font-size >= 12px`: the small sans of navigation and buttons is the smallest text.\n- `font-weight <= 700`: headings are regular; bold is for emphasis in text.\n- `font-families <= 3`: one serif, one small sans, monospace for code.\n- `line-height <= 1.6`: body text is set at 1.6.\n- `letter-spacing <= 1.3px`: only small capitals are tracked, by a tenth of their size.\n- `box-shadow = none`: nothing is lifted off the page; rules divide it.\n- `text-shadow = none`: text is flat.\n- `gradient-fills = 0%`: every fill is one solid colour.\n- `border-radius <= 0px`: every corner is square; only the drawn disc is round.\n- `border-width <= 3px`: hairlines are 1px; the strong rule is 3px.\n- `transition = none`: states change at once.\n- `animation = none`: nothing moves.\n\n## Extending\n\nDerive a new component from the nearest one in the specimen and use tokens only. A new row is a `.ds-section` in the `.ds-wrap` sheet that begins with a `.ds-rule`; separate things with white space from the `--space-*` scale first, a hairline second, and a box only once per page (`.ds-panel`). A new picture is a flat plate in a `--color-fill-*` tone with `--radius-page` and `--shadow-panel` that carries at most a numeral or a short title. New small text is a `.ds-label`; new names and titles take `--text-h2` in the heading face at `--weight-heading`. Keep to the fill and text pairs listed above so that the component works with every palette of the era: never put running text on a picture tone, and put only `.ds-button--inverse` on an inverted band.\n",
    "components.css": ":root {\n  --size-page: 1120px;\n  --size-measure: 620px;\n  --size-side: 200px;\n  --size-aside: 360px;\n  --size-nav: 64px;\n  --size-plate: 480px;\n  --size-dialog: 440px;\n  --size-icon: 40px;\n  --size-avatar: 32px;\n  --space-1: 4px;\n  --space-2: 8px;\n  --space-3: 16px;\n  --space-4: 24px;\n  --space-5: 40px;\n  --space-6: 64px;\n  --space-7: 96px;\n}\n\n/* shell: a quiet page; all content sits in one centred reading column */\n.ds-page {\n  margin: 0;\n  padding: 0;\n  background: var(--fill-page);\n  color: var(--color-text);\n  font-family: var(--font-body);\n  font-size: var(--text-base);\n  font-weight: var(--weight-body);\n  line-height: var(--line-body);\n  text-rendering: optimizeLegibility;\n}\n.ds-page *,\n.ds-page *::before,\n.ds-page *::after {\n  box-sizing: border-box;\n}\n\n/* views: one screen of the example site shows at a time */\n.ds-view { display: none; }\n.ds-view:target, .ds-page:not(:has(.ds-view:target)) .ds-view--home { display: block; }\n.ds-view:target { scroll-margin-top: 100vh; }\n\n/* label: the small tracked capitals of meta lines and section heads */\n.ds-label {\n  display: block;\n  margin: 0;\n  color: var(--color-text-muted);\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  font-weight: var(--weight-ui);\n  line-height: var(--line-heading);\n  letter-spacing: calc(var(--text-small) * 0.1);\n  text-transform: uppercase;\n}\n\n/* typography: the interview; questions are bold lines, answers plain paragraphs */\n.ds-prose {\n  color: var(--color-text);\n}\n.ds-prose h1,\n.ds-prose h2,\n.ds-prose h3 {\n  color: var(--color-heading);\n  font-family: var(--font-heading);\n  font-weight: var(--weight-heading);\n  line-height: var(--line-heading);\n  letter-spacing: var(--heading-tracking);\n  text-transform: var(--heading-transform);\n}\n.ds-prose h1 {\n  margin: var(--space-6) 0 var(--space-4);\n  font-size: var(--text-h1);\n}\n.ds-prose h1:first-child {\n  margin-top: 0;\n}\n.ds-prose h2 {\n  margin: var(--space-5) 0 var(--space-3);\n  font-size: var(--text-h2);\n}\n.ds-prose h3 {\n  margin: var(--space-5) 0 var(--space-2);\n  color: var(--color-heading-alt);\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  font-weight: var(--weight-ui);\n  letter-spacing: calc(var(--text-small) * 0.1);\n  text-transform: uppercase;\n}\n.ds-prose p {\n  margin: 0 0 var(--space-4);\n}\n.ds-prose ul,\n.ds-prose ol {\n  margin: 0 0 var(--space-4);\n  padding-left: var(--space-4);\n}\n.ds-prose li {\n  margin-bottom: var(--space-2);\n}\n.ds-prose strong {\n  color: var(--color-heading);\n  font-weight: var(--weight-bold);\n}\n.ds-prose code {\n  padding: 0 var(--space-1);\n  background: var(--color-surface-alt);\n  color: var(--color-heading);\n  border-radius: var(--radius-control);\n  font-family: var(--font-mono);\n  font-size: calc(var(--text-base) * 0.8);\n}\n.ds-prose a {\n  color: var(--color-link);\n  text-decoration: var(--link-decoration);\n}\n.ds-prose sup {\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  line-height: 0;\n}\n.ds-prose__lead {\n  font-size: var(--text-large);\n}\n\n/* pull quote: larger than the text, between two rules, the upper one strong */\n.ds-quote {\n  margin: var(--space-5) 0;\n  padding: var(--space-4) 0;\n  border-top: var(--border-width-strong) var(--border-style) var(--color-border-strong);\n  border-bottom: var(--border-width) var(--border-style) var(--color-border);\n  color: var(--color-heading);\n  font-family: var(--font-heading);\n  font-size: var(--text-h2);\n  font-weight: var(--weight-heading);\n  line-height: 1.35;\n  letter-spacing: var(--heading-tracking);\n}\n.ds-quote__text {\n  margin: 0;\n}\n.ds-footnotes {\n  margin: var(--space-6) 0 0;\n  padding: var(--space-4) 0 0 var(--space-4);\n  border-top: var(--border-width) var(--border-style) var(--color-border);\n  color: var(--color-text-muted);\n  font-size: calc(var(--text-base) * 0.8);\n}\n.ds-footnotes__item {\n  margin-bottom: var(--space-2);\n  padding-left: var(--space-1);\n}\n\n/* links */\n.ds-link {\n  color: var(--color-link);\n  text-decoration: var(--link-decoration);\n  text-underline-offset: calc(var(--text-small) * 0.25);\n  transition: var(--transition);\n}\n.ds-link:visited,\n.ds-link.is-visited {\n  color: var(--color-link-visited);\n}\n.ds-link:hover,\n.ds-link.is-hover {\n  color: var(--color-link-hover);\n  text-decoration: var(--link-decoration-hover);\n}\n.ds-link:active,\n.ds-link.is-active {\n  color: var(--color-link-active);\n}\n.ds-link:focus-visible,\n.ds-link.is-focus {\n  outline: var(--focus-ring);\n}\n.ds-link--quiet,\n.ds-link--quiet:visited {\n  color: var(--color-link-quiet);\n  text-decoration: var(--link-decoration-quiet);\n}\n.ds-link--quiet:hover,\n.ds-link--quiet.is-hover {\n  color: var(--color-link);\n}\n.ds-link--more {\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  font-weight: var(--weight-ui);\n  letter-spacing: calc(var(--text-small) * 0.1);\n  text-transform: uppercase;\n}\n.ds-link--more::after {\n  content: \" \\203A\";\n}\n.ds-linklist {\n  margin: 0;\n  padding: 0;\n  list-style: none;\n}\n.ds-linklist__item {\n  padding: var(--space-2) 0;\n  border-bottom: var(--border-width) var(--border-style) var(--color-border-muted);\n}\n\n/* buttons: outlined or flat, small tracked words; the palette decides which */\n.ds-button {\n  display: inline-block;\n  margin: 0;\n  padding: var(--space-2) var(--space-4);\n  background: var(--fill-button);\n  color: var(--color-button-text);\n  border: var(--border-width) var(--border-style) var(--color-border-strong);\n  border-radius: var(--radius-control);\n  box-shadow: var(--shadow-control);\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n  font-weight: var(--weight-ui);\n  line-height: var(--line-body);\n  letter-spacing: calc(var(--text-ui) * 0.04);\n  text-align: center;\n  text-decoration: none;\n  text-shadow: var(--shadow-text);\n  text-transform: var(--ui-transform);\n  white-space: nowrap;\n  cursor: pointer;\n  transition: var(--transition);\n}\n.ds-button:hover,\n.ds-button.is-hover {\n  background: var(--fill-button-hover);\n  color: var(--color-button-hover-text);\n  box-shadow: var(--shadow-control-hover);\n}\n.ds-button:active,\n.ds-button.is-active {\n  background: var(--fill-button-hover);\n  color: var(--color-button-hover-text);\n  box-shadow: var(--shadow-control-pressed);\n}\n.ds-button:focus-visible,\n.ds-button.is-focus {\n  outline: var(--focus-ring);\n  outline-offset: var(--border-width-strong);\n}\n.ds-button--secondary {\n  background: var(--fill-button-secondary);\n  color: var(--color-button-secondary-text);\n  border-color: var(--color-border);\n}\n.ds-button--secondary:hover,\n.ds-button--secondary.is-hover {\n  background: var(--fill-button-secondary);\n  color: var(--color-button-secondary-text);\n  border-color: currentColor;\n}\n.ds-button--secondary:active,\n.ds-button--secondary.is-active {\n  background: var(--fill-button-secondary);\n  color: var(--color-link-active);\n  border-color: currentColor;\n}\n.ds-button--danger {\n  background: transparent;\n  color: var(--color-danger);\n  border-color: var(--color-danger);\n}\n.ds-button--danger:hover,\n.ds-button--danger.is-hover,\n.ds-button--danger:active,\n.ds-button--danger.is-active {\n  background: var(--color-danger);\n  color: var(--color-accent-text);\n}\n\n/* inverse: the only button allowed on an inverted band */\n.ds-button--inverse {\n  background: var(--color-inverse-text);\n  color: var(--color-inverse);\n  border-color: var(--color-inverse-text);\n}\n.ds-button--inverse:hover,\n.ds-button--inverse.is-hover {\n  background: transparent;\n  color: var(--color-inverse-text);\n}\n.ds-button--small {\n  padding: var(--space-1) var(--space-3);\n}\n.ds-button:disabled,\n.ds-button.is-disabled {\n  background: var(--color-disabled);\n  color: var(--color-disabled-text);\n  border-color: transparent;\n  box-shadow: none;\n  cursor: default;\n}\n.ds-buttonrow {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: var(--space-3);\n}\n\n/* form */\n.ds-form {\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-4);\n  color: var(--color-text);\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n}\n.ds-form__row {\n  display: flex;\n  gap: var(--space-4);\n}\n.ds-form__field {\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-2);\n  flex: 1 1 0;\n  min-width: 0;\n}\n.ds-form__label {\n  color: var(--color-heading);\n  font-weight: var(--weight-ui);\n  letter-spacing: calc(var(--text-ui) * 0.04);\n  text-transform: var(--ui-transform);\n}\n.ds-form__input,\n.ds-form__select,\n.ds-form__textarea {\n  width: 100%;\n  margin: 0;\n  padding: var(--space-2) var(--space-3);\n  background: var(--fill-input);\n  color: var(--color-input-text);\n  border: var(--border-width) var(--border-style) var(--color-input-border);\n  border-radius: var(--radius-control);\n  box-shadow: var(--shadow-control);\n  font-family: var(--font-body);\n  font-size: calc(var(--text-base) * 0.85);\n  font-weight: var(--weight-body);\n  line-height: var(--line-body);\n  transition: var(--transition);\n}\n.ds-form__textarea {\n  min-height: calc(var(--space-7) + var(--space-5));\n  resize: vertical;\n}\n.ds-form__input::placeholder,\n.ds-form__textarea::placeholder {\n  color: var(--color-text-muted);\n  opacity: 1;\n}\n.ds-form__input:focus,\n.ds-form__select:focus,\n.ds-form__textarea:focus,\n.ds-form__input.is-focus {\n  border-color: var(--color-focus);\n  outline: var(--focus-ring);\n}\n.ds-form__input.is-error {\n  border-color: var(--color-danger);\n}\n.ds-form__error {\n  color: var(--color-danger);\n}\n.ds-form__hint {\n  color: var(--color-text-muted);\n}\n.ds-form__check {\n  display: flex;\n  align-items: baseline;\n  gap: var(--space-2);\n}\n.ds-form__checkbox {\n  margin: 0;\n  accent-color: var(--color-accent);\n}\n.ds-form__actions {\n  display: flex;\n  flex-wrap: wrap;\n  gap: var(--space-3);\n  padding-top: var(--space-2);\n}\n\n/* inline: one field and its button on a line, for a subscription */\n.ds-form--inline {\n  flex-direction: row;\n  align-items: stretch;\n  gap: var(--space-2);\n}\n.ds-form--inline .ds-form__input {\n  flex: 1 1 0;\n  min-width: 0;\n  width: auto;\n}\n\n/* table: the archive; text rows on hairlines, no box, no stripes */\n.ds-table {\n  width: 100%;\n  border-collapse: collapse;\n  color: var(--color-text);\n  font-size: calc(var(--text-base) * 0.85);\n}\n.ds-table th,\n.ds-table td {\n  padding: var(--space-3) var(--space-3) var(--space-3) 0;\n  text-align: left;\n  vertical-align: baseline;\n  border-bottom: var(--border-width) var(--border-style) var(--color-border-muted);\n}\n.ds-table th:last-child,\n.ds-table td:last-child {\n  padding-right: 0;\n}\n.ds-table thead th {\n  padding-top: var(--space-2);\n  padding-bottom: var(--space-2);\n  background: var(--fill-bar);\n  color: var(--color-bar-text);\n  border-bottom: var(--border-width-strong) var(--border-style) var(--color-border-strong);\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  font-weight: var(--weight-ui);\n  letter-spacing: calc(var(--text-small) * 0.1);\n  text-transform: uppercase;\n}\n.ds-table tbody th {\n  color: var(--color-heading);\n  font-weight: var(--weight-body);\n}\n.ds-table .ds-table__num {\n  text-align: right;\n  font-variant-numeric: tabular-nums;\n}\n.ds-table__caption {\n  caption-side: bottom;\n  padding-top: var(--space-3);\n  color: var(--color-text-muted);\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  text-align: left;\n}\n.ds-table__wrap {\n  overflow-x: auto;\n}\n.ds-table__foot {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: space-between;\n  gap: var(--space-3);\n  margin-top: var(--space-5);\n}\n\n/* badge */\n.ds-badge {\n  display: inline-block;\n  padding: 0 var(--space-2);\n  background: var(--fill-accent);\n  color: var(--color-accent-text);\n  border: var(--border-width) var(--border-style) transparent;\n  border-radius: var(--radius-pill);\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  font-style: normal;\n  font-weight: var(--weight-ui);\n  line-height: var(--line-body);\n  letter-spacing: calc(var(--text-small) * 0.08);\n  text-transform: uppercase;\n  vertical-align: middle;\n  white-space: nowrap;\n}\n.ds-badge--alt {\n  background: transparent;\n  color: var(--color-heading);\n  border-color: var(--color-accent-alt);\n}\n.ds-badge--quiet {\n  background: var(--color-surface-strong);\n  color: var(--color-text);\n}\n.ds-badge--success {\n  background: transparent;\n  color: var(--color-success);\n  border-color: currentColor;\n}\n.ds-badge--warning {\n  background: transparent;\n  color: var(--color-warning);\n  border-color: currentColor;\n}\n.ds-badge--danger {\n  background: transparent;\n  color: var(--color-danger);\n  border-color: currentColor;\n}\n.ds-badgerow {\n  display: flex;\n  flex-wrap: wrap;\n  gap: var(--space-2);\n}\n\n/* sidebar: the guest's particulars beside the interview */\n.ds-sidebar {\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  line-height: var(--line-body);\n}\n.ds-sidebar__title {\n  margin: 0 0 var(--space-2);\n  padding-bottom: var(--space-2);\n  color: var(--color-heading-alt);\n  border-bottom: var(--border-width) var(--border-style) var(--color-border);\n  font-size: var(--text-small);\n  font-weight: var(--weight-ui);\n  line-height: var(--line-heading);\n  letter-spacing: calc(var(--text-small) * 0.1);\n  text-transform: uppercase;\n}\n.ds-sidebar__list {\n  margin: 0;\n  padding: 0;\n  list-style: none;\n}\n.ds-sidebar__item {\n  padding: var(--space-1) 0;\n  color: var(--color-text-muted);\n}\n.ds-sidebar__item.is-current {\n  color: var(--color-heading);\n  font-weight: var(--weight-bold);\n}\n\n/* notice: a tinted line with a strong rule at its left */\n.ds-notice {\n  margin: 0;\n  padding: var(--space-3) var(--space-4);\n  background: var(--color-notice);\n  color: var(--color-notice-text);\n  border-left: var(--border-width-strong) var(--border-style) currentColor;\n  border-radius: var(--radius-panel);\n  font-size: calc(var(--text-base) * 0.85);\n}\n.ds-notice--error {\n  background: var(--color-danger-surface);\n  color: var(--color-danger);\n}\n.ds-notice__title {\n  font-weight: var(--weight-bold);\n}\n.ds-noticerow {\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-2);\n}\n\n/* pagination */\n.ds-pagination {\n  display: flex;\n  align-items: center;\n  gap: var(--space-3);\n  margin: 0;\n  padding: 0;\n  list-style: none;\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n}\n.ds-pagination__link {\n  display: block;\n  padding: var(--space-1) var(--space-1);\n  color: var(--color-link-quiet);\n  font-weight: var(--weight-ui);\n  letter-spacing: calc(var(--text-ui) * 0.04);\n  border-bottom: var(--border-width-strong) var(--border-style) transparent;\n  text-decoration: var(--link-decoration-quiet);\n  text-transform: var(--ui-transform);\n  transition: var(--transition);\n}\n.ds-pagination__link:hover,\n.ds-pagination__link.is-hover {\n  color: var(--color-link-hover);\n}\n.ds-pagination__link.is-current {\n  color: var(--color-heading);\n  border-bottom-color: var(--color-accent);\n}\n.ds-pagination__link.is-disabled {\n  color: var(--color-disabled-text);\n}\n\n/* breadcrumb */\n.ds-breadcrumb {\n  display: flex;\n  flex-wrap: wrap;\n  gap: var(--space-2);\n  margin: 0;\n  padding: var(--space-5) 0 0;\n  list-style: none;\n  color: var(--color-text-muted);\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  letter-spacing: calc(var(--text-small) * 0.1);\n  text-transform: uppercase;\n}\n.ds-breadcrumb__item + .ds-breadcrumb__item::before {\n  content: \"/\";\n  margin-right: var(--space-2);\n  color: var(--color-border-strong);\n  opacity: 0.4;\n}\n.ds-breadcrumb__current {\n  color: var(--color-heading);\n}\n\n/* dialog: a plain sheet on a veil */\n.ds-dialog {\n  display: flex;\n  justify-content: center;\n  padding: var(--space-5) var(--space-4);\n  background: var(--color-overlay);\n  border-radius: var(--radius-panel);\n}\n.ds-dialog__box {\n  width: 100%;\n  max-width: var(--size-dialog);\n  background: var(--fill-panel);\n  color: var(--color-text);\n  border: var(--border-width) var(--border-style) var(--color-border-strong);\n  border-radius: var(--radius-panel);\n  box-shadow: var(--shadow-dialog);\n}\n.ds-dialog__head {\n  display: flex;\n  align-items: baseline;\n  justify-content: space-between;\n  gap: var(--space-3);\n  padding: var(--space-4) var(--space-4) 0;\n}\n.ds-dialog__title {\n  margin: 0;\n  color: var(--color-heading);\n  font-family: var(--font-heading);\n  font-size: var(--text-h2);\n  font-weight: var(--weight-heading);\n  line-height: var(--line-heading);\n  letter-spacing: var(--heading-tracking);\n}\n.ds-dialog__close {\n  color: var(--color-text-muted);\n  font-family: var(--font-ui);\n  font-size: var(--text-large);\n  line-height: 1;\n  text-decoration: none;\n}\n.ds-dialog__close::before {\n  content: \"\";\n  display: inline-block;\n  width: calc(var(--text-large) * 0.75);\n  height: calc(var(--text-large) * 0.75);\n  background: currentColor;\n  clip-path: polygon(calc(50% - var(--space-2) / 8) 0, calc(50% + var(--space-2) / 8) 0, calc(50% + var(--space-2) / 8) calc(50% - var(--space-2) / 8), 100% calc(50% - var(--space-2) / 8), 100% calc(50% + var(--space-2) / 8), calc(50% + var(--space-2) / 8) calc(50% + var(--space-2) / 8), calc(50% + var(--space-2) / 8) 100%, calc(50% - var(--space-2) / 8) 100%, calc(50% - var(--space-2) / 8) calc(50% + var(--space-2) / 8), 0 calc(50% + var(--space-2) / 8), 0 calc(50% - var(--space-2) / 8), calc(50% - var(--space-2) / 8) calc(50% - var(--space-2) / 8));\n  rotate: 45deg;\n  vertical-align: middle;\n}\n.ds-dialog__body {\n  padding: var(--space-2) var(--space-4) var(--space-4);\n  font-size: calc(var(--text-base) * 0.85);\n}\n.ds-dialog__body p {\n  margin: 0;\n}\n.ds-dialog__actions {\n  display: flex;\n  justify-content: flex-end;\n  gap: var(--space-2);\n  padding: var(--space-3) var(--space-4);\n  border-top: var(--border-width) var(--border-style) var(--color-border-muted);\n}\n\n/* empty state: a centred sentence between two hairlines */\n.ds-empty {\n  padding: var(--space-6) var(--space-4);\n  border-bottom: var(--border-width) var(--border-style) var(--color-border);\n  text-align: center;\n}\n.ds-empty__icon {\n  width: var(--size-icon);\n  height: var(--size-icon);\n  margin-bottom: var(--space-3);\n  color: var(--color-text-muted);\n}\n.ds-empty__title {\n  margin: 0 0 var(--space-1);\n  color: var(--color-heading);\n  font-family: var(--font-heading);\n  font-size: var(--text-h2);\n  font-weight: var(--weight-heading);\n  line-height: var(--line-heading);\n  letter-spacing: var(--heading-tracking);\n}\n.ds-empty__text {\n  margin: 0 auto var(--space-4);\n  max-width: 44ch;\n  color: var(--color-text-muted);\n  font-style: italic;\n}\n\n/* sheet: every row sits in one wide centred sheet; sections follow each other a fixed space apart */\n.ds-wrap {\n  max-width: calc(var(--size-page) + var(--space-4) + var(--space-4));\n  margin: 0 auto;\n  padding: 0 var(--space-4);\n}\n.ds-section {\n  padding-top: var(--space-6);\n}\n.ds-section--first {\n  padding-top: var(--space-5);\n}\n.ds-section--last {\n  padding-bottom: var(--space-6);\n}\n.ds-stack {\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-5);\n}\n/* rule: a section head; its name at the left, one link at the right, a hairline under both */\n.ds-rule {\n  display: flex;\n  align-items: baseline;\n  justify-content: space-between;\n  gap: var(--space-3);\n  margin: 0 0 var(--space-5);\n  padding-bottom: var(--space-2);\n  border-bottom: var(--border-width) var(--border-style) var(--color-border);\n  color: var(--color-heading);\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  font-weight: var(--weight-ui);\n  line-height: var(--line-heading);\n  letter-spacing: calc(var(--text-small) * 0.1);\n  text-transform: uppercase;\n}\n/* split: a working column and a narrower one beside it */\n.ds-split {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr) var(--size-aside);\n  column-gap: var(--space-6);\n  align-items: start;\n}\n.ds-split__main,\n.ds-split__side {\n  min-width: 0;\n}\n/* duo: two unequal columns of the front page */\n.ds-duo {\n  display: grid;\n  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);\n  column-gap: var(--space-6);\n  align-items: start;\n}\n\n/* nav: one bar as wide as the sheet; the current word hangs from an accent stroke on the bar's upper edge */\n.ds-nav {\n  background: var(--fill-bar);\n  color: var(--color-bar-text);\n  border-bottom: var(--border-width) var(--border-style) var(--color-border);\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n  text-shadow: var(--shadow-text);\n}\n.ds-nav__inner {\n  max-width: calc(var(--size-page) + var(--space-4) + var(--space-4));\n  margin: 0 auto;\n  padding: 0 var(--space-4);\n  display: flex;\n  align-items: stretch;\n  justify-content: space-between;\n  gap: var(--space-4);\n}\n.ds-brand {\n  display: inline-flex;\n  align-items: center;\n  gap: var(--space-2);\n  min-height: var(--size-nav);\n  text-decoration: none;\n}\n.ds-brand__mark {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex: 0 0 auto;\n  width: calc(var(--space-4) + var(--space-2));\n  height: calc(var(--space-4) + var(--space-2));\n  background-color: var(--color-button);\n  background: var(--fill-button);\n  color: var(--color-button-text);\n  border: var(--border-width) var(--border-style) var(--color-border-strong);\n  border-radius: var(--radius-control);\n  box-shadow: var(--shadow-control);\n}\n.ds-brand__mark svg {\n  display: block;\n  width: 68%;\n  height: 68%;\n}\n.ds-brand__name {\n  color: var(--color-bar-text);\n  font-family: var(--font-heading);\n  font-size: var(--text-h3);\n  font-weight: var(--weight-heading);\n  line-height: var(--line-heading);\n  letter-spacing: var(--heading-tracking);\n  text-transform: var(--heading-transform);\n}\n.ds-nav__links {\n  display: flex;\n  align-items: stretch;\n  gap: var(--space-5);\n  margin: 0;\n  padding: 0;\n  list-style: none;\n}\n.ds-nav__links li {\n  display: flex;\n}\n.ds-nav__link {\n  display: flex;\n  align-items: center;\n  color: var(--color-bar-text);\n  font-weight: var(--weight-ui);\n  letter-spacing: calc(var(--text-ui) * 0.04);\n  text-decoration: var(--link-decoration-quiet);\n  text-transform: var(--ui-transform);\n  border-top: var(--border-width-strong) var(--border-style) transparent;\n  border-bottom: var(--border-width-strong) var(--border-style) transparent;\n  transition: var(--transition);\n}\n.ds-nav__link:hover,\n.ds-nav__link.is-hover {\n  border-top-color: var(--color-border);\n}\n.ds-nav__link.is-current {\n  border-top-color: var(--color-accent);\n}\n/* the current view marks its navigation item; an interview marks Interviews */\n.ds-page:not(:has(.ds-view:target)) .ds-nav__link[href=\"#home\"] {\n  border-top-color: var(--color-accent);\n}\n.ds-page:has(#home:target) .ds-nav__link[href=\"#home\"] {\n  border-top-color: var(--color-accent);\n}\n.ds-page:has(#interview:target) .ds-nav__link[href=\"#home\"] {\n  border-top-color: var(--color-accent);\n}\n.ds-page:has(#archive:target) .ds-nav__link[href=\"#archive\"] {\n  border-top-color: var(--color-accent);\n}\n.ds-page:has(#nominate:target) .ds-nav__link[href=\"#nominate\"] {\n  border-top-color: var(--color-accent);\n}\n\n/* hero: the newest interview as two halves; a portrait plate in a picture tone, and the guest's name centred beside it */\n.ds-hero {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n  min-height: var(--size-plate);\n  margin-top: var(--space-5);\n}\n.ds-hero__plate {\n  display: flex;\n  flex-direction: column;\n  justify-content: space-between;\n  padding: var(--space-4) var(--space-5);\n  background: var(--color-fill-1);\n  color: var(--color-inverse-text);\n  border-radius: var(--radius-page);\n  box-shadow: var(--shadow-panel);\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  letter-spacing: calc(var(--text-small) * 0.1);\n  text-transform: uppercase;\n}\n.ds-hero__numeral {\n  font-family: var(--font-heading);\n  font-size: calc(var(--text-display) * 2);\n  font-weight: var(--weight-display);\n  line-height: 1;\n  letter-spacing: var(--display-tracking);\n  font-variant-numeric: lining-nums;\n}\n.ds-hero__copy {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  min-width: 0;\n  padding: var(--space-5) var(--space-6);\n  text-align: center;\n}\n.ds-hero__title {\n  max-width: 100%;\n  margin: var(--space-4) 0 var(--space-3);\n  color: var(--color-heading);\n  font-family: var(--font-heading);\n  font-size: var(--text-display);\n  font-weight: var(--weight-display);\n  line-height: var(--line-display);\n  letter-spacing: var(--display-tracking);\n  text-transform: var(--heading-transform);\n  overflow-wrap: break-word;\n}\n.ds-hero__roles {\n  margin: 0 0 var(--space-4);\n  color: var(--color-heading);\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  font-weight: var(--weight-ui);\n  letter-spacing: calc(var(--text-small) * 0.1);\n  text-transform: uppercase;\n}\n.ds-hero__lead {\n  margin: 0 0 var(--space-5);\n  max-width: 40ch;\n}\n.ds-hero__actions {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: center;\n  gap: var(--space-3) var(--space-4);\n}\n\n/* page header: the head of an inner page; label, title and one line at the left, the action at the right, a hairline under it */\n.ds-page-header {\n  display: flex;\n  align-items: center;\n  gap: var(--space-5);\n  padding: var(--space-4) 0 var(--space-5);\n  border-bottom: var(--border-width) var(--border-style) var(--color-border);\n}\n.ds-page-header__copy {\n  flex: 1 1 0;\n  min-width: 0;\n}\n.ds-page-header__title {\n  margin: var(--space-2) 0 var(--space-2);\n  color: var(--color-heading);\n  font-family: var(--font-heading);\n  font-size: var(--text-h1);\n  font-weight: var(--weight-heading);\n  line-height: var(--line-heading);\n  letter-spacing: var(--heading-tracking);\n  text-transform: var(--heading-transform);\n}\n.ds-page-header__text {\n  margin: 0;\n  max-width: 60ch;\n  color: var(--color-text-muted);\n  font-size: var(--text-large);\n  line-height: var(--line-heading);\n}\n.ds-page-header__actions {\n  display: flex;\n  flex: 0 0 auto;\n  align-items: center;\n  gap: var(--space-2);\n}\n\n/* article: the interview between two side columns; particulars at the left, a quotation at the right, both staying in view */\n.ds-article {\n  display: grid;\n  grid-template-columns: var(--size-side) minmax(0, var(--size-measure)) minmax(0, 1fr);\n  column-gap: var(--space-5);\n  align-items: start;\n}\n.ds-article__meta,\n.ds-article__aside {\n  position: sticky;\n  top: var(--space-4);\n  min-width: 0;\n}\n.ds-article__meta {\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-4);\n}\n.ds-article__note {\n  margin: var(--space-2) 0 0;\n  color: var(--color-text-muted);\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  line-height: var(--line-body);\n}\n.ds-article__main {\n  min-width: 0;\n}\n/* question: a line of the interviewer, bold, directly over its answer */\n.ds-prose .ds-prose__q {\n  margin: var(--space-5) 0 var(--space-2);\n  color: var(--color-heading);\n  font-weight: var(--weight-bold);\n}\n/* note: a short paragraph of small print beside a form */\n.ds-note {\n  margin: var(--space-2) 0 0;\n  color: var(--color-text-muted);\n  font-size: calc(var(--text-base) * 0.85);\n}\n.ds-quote--aside {\n  margin: 0;\n  font-size: var(--text-large);\n}\n/* voice: one sentence of a guest set large across the sheet */\n.ds-voice {\n  margin: 0;\n  padding: var(--space-6) 0 0;\n  text-align: center;\n}\n.ds-voice__text {\n  max-width: 30ch;\n  margin: 0 auto var(--space-4);\n  color: var(--color-heading);\n  font-family: var(--font-heading);\n  font-size: var(--text-h1);\n  font-weight: var(--weight-heading);\n  line-height: var(--line-heading);\n  letter-spacing: var(--heading-tracking);\n}\n\n/* list: numbered interviews; number, name with one line under it, the date at the right */\n.ds-list {\n  margin: 0;\n  padding: 0;\n  list-style: none;\n}\n.ds-list__item {\n  display: grid;\n  grid-template-columns: var(--space-6) minmax(0, 1fr) auto;\n  column-gap: var(--space-3);\n  align-items: baseline;\n  padding: var(--space-3) 0;\n  border-bottom: var(--border-width) var(--border-style) var(--color-border-muted);\n}\n.ds-list__item:first-child {\n  padding-top: 0;\n}\n.ds-list__num {\n  color: var(--color-text-muted);\n  font-family: var(--font-heading);\n  font-size: var(--text-h2);\n  font-weight: var(--weight-heading);\n  line-height: var(--line-heading);\n  font-variant-numeric: tabular-nums lining-nums;\n}\n.ds-list__title {\n  color: var(--color-heading);\n  font-family: var(--font-heading);\n  font-size: var(--text-h2);\n  font-weight: var(--weight-heading);\n  line-height: var(--line-heading);\n  letter-spacing: var(--heading-tracking);\n  text-decoration: var(--link-decoration-quiet);\n  transition: var(--transition);\n}\n.ds-list__title:hover,\n.ds-list__title.is-hover {\n  color: var(--color-link-hover);\n}\n.ds-list__text {\n  margin: var(--space-1) 0 0;\n  color: var(--color-text-muted);\n  font-size: calc(var(--text-base) * 0.85);\n}\n.ds-list__meta {\n  color: var(--color-text-muted);\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  letter-spacing: calc(var(--text-small) * 0.1);\n  text-align: right;\n  text-transform: uppercase;\n  white-space: nowrap;\n}\n.ds-list__more {\n  margin: var(--space-4) 0 0;\n}\n\n/* panel: the one box on a page; a wide picture tone over its text */\n.ds-panel {\n  background: var(--fill-panel);\n  border: var(--border-width) var(--border-style) var(--color-border);\n  border-radius: var(--radius-panel);\n  box-shadow: var(--shadow-panel);\n  padding: var(--space-4);\n}\n.ds-panel__art {\n  display: flex;\n  align-items: flex-end;\n  aspect-ratio: 5 / 2;\n  margin-bottom: var(--space-4);\n  padding: var(--space-3);\n  background: var(--color-fill-4);\n  color: var(--color-inverse-text);\n  border-radius: var(--radius-page);\n  font-family: var(--font-heading);\n  font-size: var(--text-h2);\n  font-weight: var(--weight-heading);\n  line-height: var(--line-heading);\n}\n.ds-panel__title {\n  margin: var(--space-2) 0 var(--space-2);\n  color: var(--color-heading);\n  font-family: var(--font-heading);\n  font-size: var(--text-h2);\n  font-weight: var(--weight-heading);\n  line-height: var(--line-heading);\n  letter-spacing: var(--heading-tracking);\n}\n.ds-panel__body {\n  font-size: calc(var(--text-base) * 0.85);\n}\n.ds-panel__body p {\n  margin: 0 0 var(--space-3);\n}\n\n/* stats: four figures, each hanging from its own strong rule */\n.ds-stat {\n  display: grid;\n  grid-template-columns: repeat(4, minmax(0, 1fr));\n  column-gap: var(--space-5);\n  margin: 0;\n  padding: 0;\n  list-style: none;\n}\n.ds-stat__item {\n  min-width: 0;\n  padding-top: var(--space-3);\n  border-top: var(--border-width-strong) var(--border-style) var(--color-border-strong);\n}\n.ds-stat__figure {\n  display: block;\n  color: var(--color-heading);\n  font-family: var(--font-heading);\n  font-size: var(--text-display);\n  font-weight: var(--weight-display);\n  line-height: var(--line-display);\n  letter-spacing: var(--display-tracking);\n  font-variant-numeric: lining-nums;\n}\n.ds-stat__label {\n  display: block;\n  margin-top: var(--space-2);\n  color: var(--color-text-muted);\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  letter-spacing: calc(var(--text-small) * 0.1);\n  text-transform: uppercase;\n}\n\n/* grid: recent interviews, three across; a portrait plate with the number, then the name and the trade */\n.ds-grid {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: var(--space-5);\n}\n.ds-grid__cell {\n  display: block;\n  min-width: 0;\n  color: var(--color-text);\n  text-decoration: none;\n}\n.ds-grid__tile {\n  display: flex;\n  align-items: flex-end;\n  aspect-ratio: 4 / 3;\n  margin-bottom: var(--space-3);\n  padding: var(--space-3) var(--space-4);\n  background: var(--color-fill-1);\n  color: var(--color-inverse-text);\n  border-radius: var(--radius-page);\n  box-shadow: var(--shadow-panel);\n  font-family: var(--font-heading);\n  font-size: var(--text-h1);\n  font-weight: var(--weight-display);\n  line-height: 1;\n  font-variant-numeric: lining-nums;\n}\n.ds-grid__tile--2 {\n  background: var(--color-fill-2);\n}\n.ds-grid__tile--3 {\n  background: var(--color-fill-3);\n}\n.ds-grid__tile--4 {\n  background: var(--color-fill-4);\n}\n.ds-grid__title {\n  margin: var(--space-1) 0 0;\n  color: var(--color-heading);\n  font-family: var(--font-heading);\n  font-size: var(--text-h2);\n  font-weight: var(--weight-heading);\n  line-height: var(--line-heading);\n  letter-spacing: var(--heading-tracking);\n}\n.ds-grid__text {\n  margin: var(--space-1) 0 0;\n  color: var(--color-text-muted);\n  font-size: calc(var(--text-base) * 0.85);\n}\n\n/* tabs: small outlined words in a row; the current one is filled with the accent */\n.ds-tabs {\n  display: flex;\n  flex-wrap: wrap;\n  gap: var(--space-2);\n  margin: 0 0 var(--space-5);\n  padding: 0;\n  list-style: none;\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n}\n.ds-tabs__tab {\n  display: block;\n  padding: var(--space-1) var(--space-3);\n  color: var(--color-text-muted);\n  border: var(--border-width) var(--border-style) var(--color-border);\n  border-radius: var(--radius-pill);\n  font-weight: var(--weight-ui);\n  line-height: var(--line-body);\n  letter-spacing: calc(var(--text-ui) * 0.04);\n  text-decoration: var(--link-decoration-quiet);\n  text-transform: var(--ui-transform);\n  white-space: nowrap;\n  transition: var(--transition);\n}\n.ds-tabs__tab:hover,\n.ds-tabs__tab.is-hover {\n  color: var(--color-heading);\n  border-color: var(--color-border-strong);\n}\n.ds-tabs__tab.is-current {\n  background: var(--fill-accent);\n  color: var(--color-accent-text);\n  border-color: transparent;\n}\n\n/* band: the inverted block that closes the front page; the offer at the left, its field at the right */\n.ds-band {\n  margin-top: var(--space-6);\n  padding: var(--space-6) 0;\n  background: var(--fill-inverse);\n  color: var(--color-inverse-text);\n}\n.ds-band__inner {\n  display: grid;\n  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);\n  column-gap: var(--space-6);\n  align-items: center;\n}\n.ds-band__title {\n  margin: var(--space-2) 0 var(--space-2);\n  font-family: var(--font-heading);\n  font-size: var(--text-h1);\n  font-weight: var(--weight-heading);\n  line-height: var(--line-heading);\n  letter-spacing: var(--heading-tracking);\n}\n.ds-band__text {\n  margin: 0;\n  max-width: 46ch;\n  opacity: 0.75;\n}\n.ds-band .ds-label {\n  color: inherit;\n  opacity: 0.65;\n}\n\n/* footer: one pale strip; the links in a row over a line of small text, all centred */\n.ds-footer {\n  background: var(--fill-bar-alt);\n  color: var(--color-bar-alt-text);\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  text-align: center;\n}\n.ds-footer__inner {\n  max-width: calc(var(--size-page) + var(--space-4) + var(--space-4));\n  margin: 0 auto;\n  padding: var(--space-5) var(--space-4);\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: var(--space-3);\n}\n.ds-footer__links {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  gap: var(--space-2) var(--space-5);\n}\n.ds-footer__link {\n  color: var(--color-bar-alt-text);\n  font-weight: var(--weight-ui);\n  letter-spacing: calc(var(--text-small) * 0.1);\n  text-decoration: var(--link-decoration-quiet);\n  text-transform: uppercase;\n  transition: var(--transition);\n}\n.ds-footer__link:hover,\n.ds-footer__link.is-hover {\n  text-decoration: var(--link-decoration-hover);\n}\n\n/* a window too narrow for three columns: the quotation falls under the interview, halves and pairs stack */\n@media (max-width: 1040px) {\n  .ds-article {\n    grid-template-columns: var(--size-side) minmax(0, 1fr);\n  }\n  .ds-article__aside {\n    position: static;\n    grid-column: 2;\n    margin-top: var(--space-5);\n  }\n  .ds-split,\n  .ds-duo {\n    grid-template-columns: minmax(0, 1fr);\n    row-gap: var(--space-5);\n  }\n  .ds-hero__copy {\n    padding: var(--space-5) var(--space-4);\n  }\n}\n\n/* narrow windows: one column; the bar wraps, plates shrink, a wide table scrolls inside its own box */\n@media (max-width: 720px) {\n  .ds-wrap,\n  .ds-nav__inner {\n    padding-left: var(--space-3);\n    padding-right: var(--space-3);\n  }\n  .ds-nav__inner {\n    flex-wrap: wrap;\n    gap: 0 var(--space-4);\n  }\n  .ds-brand {\n    min-height: 0;\n    padding-top: var(--space-3);\n  }\n  .ds-nav__links {\n    flex: 0 0 100%;\n    gap: var(--space-4);\n  }\n  .ds-nav__link {\n    padding: var(--space-2) 0;\n    border-top: 0;\n  }\n  .ds-nav__link.is-current,\n  .ds-page:not(:has(.ds-view:target)) .ds-nav__link[href=\"#home\"],\n  .ds-page:has(#home:target) .ds-nav__link[href=\"#home\"],\n  .ds-page:has(#interview:target) .ds-nav__link[href=\"#home\"],\n  .ds-page:has(#archive:target) .ds-nav__link[href=\"#archive\"],\n  .ds-page:has(#nominate:target) .ds-nav__link[href=\"#nominate\"] {\n    border-bottom-color: var(--color-accent);\n  }\n  .ds-section {\n    padding-top: var(--space-5);\n  }\n  .ds-section--last {\n    padding-bottom: var(--space-5);\n  }\n  .ds-rule {\n    margin-bottom: var(--space-4);\n  }\n  .ds-hero {\n    grid-template-columns: minmax(0, 1fr);\n    min-height: 0;\n    margin-top: var(--space-3);\n  }\n  .ds-hero__plate {\n    min-height: calc(var(--size-plate) * 0.45);\n    padding: var(--space-3);\n  }\n  .ds-hero__numeral {\n    font-size: var(--text-display);\n  }\n  .ds-hero__copy {\n    padding: var(--space-5) 0 0;\n  }\n  .ds-hero__title {\n    font-size: var(--text-h1);\n    letter-spacing: var(--heading-tracking);\n  }\n  .ds-page-header {\n    flex-direction: column;\n    align-items: flex-start;\n    gap: var(--space-3);\n    padding-bottom: var(--space-4);\n  }\n  .ds-page-header__copy {\n    flex: 0 0 auto;\n  }\n  .ds-page-header__title,\n  .ds-prose h1,\n  .ds-band__title {\n    font-size: calc(var(--text-h1) * 0.8);\n  }\n  .ds-voice {\n    padding-top: var(--space-5);\n  }\n  .ds-voice__text,\n  .ds-quote {\n    font-size: var(--text-large);\n  }\n  .ds-article {\n    grid-template-columns: minmax(0, 1fr);\n    row-gap: var(--space-4);\n  }\n  .ds-article__meta {\n    position: static;\n  }\n  .ds-article__aside {\n    grid-column: 1;\n    margin-top: 0;\n  }\n  .ds-grid {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: var(--space-4) var(--space-3);\n  }\n  .ds-grid__tile {\n    padding: var(--space-2) var(--space-3);\n    font-size: var(--text-h2);\n  }\n  .ds-grid__title {\n    font-size: var(--text-h3);\n  }\n  .ds-list__item {\n    grid-template-columns: var(--space-5) minmax(0, 1fr);\n  }\n  .ds-list__meta {\n    grid-column: 2;\n    margin-top: var(--space-1);\n    text-align: left;\n  }\n  .ds-list__num,\n  .ds-list__title {\n    font-size: var(--text-h3);\n  }\n  .ds-stat {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: var(--space-4) var(--space-3);\n  }\n  .ds-stat__figure {\n    font-size: var(--text-h1);\n    letter-spacing: var(--heading-tracking);\n  }\n  .ds-band {\n    margin-top: var(--space-5);\n    padding: var(--space-5) 0;\n  }\n  .ds-band__inner {\n    grid-template-columns: minmax(0, 1fr);\n    row-gap: var(--space-4);\n  }\n  .ds-table {\n    min-width: 60ch;\n  }\n  .ds-form__row {\n    flex-direction: column;\n  }\n  .ds-form--inline {\n    flex-direction: column;\n  }\n  .ds-dialog {\n    padding: var(--space-4) var(--space-3);\n  }\n  .ds-dialog__actions {\n    flex-wrap: wrap;\n  }\n  .ds-footer__inner {\n    padding: var(--space-4) var(--space-3);\n  }\n}\n\n/* avatar: a small round picture tone with initials, beside a name */\n.ds-avatar {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  flex: 0 0 auto;\n  width: var(--size-avatar);\n  height: var(--size-avatar);\n  background: var(--color-fill-3);\n  color: var(--color-inverse-text);\n  border-radius: 50%;\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  font-weight: var(--weight-bold);\n  line-height: 1;\n  letter-spacing: 0;\n  text-decoration: none;\n}\n.ds-avatar--4 {\n  background: var(--color-fill-4);\n}\n/* credit: an avatar beside a name and one quiet line */\n.ds-credit {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: var(--space-2);\n  margin: var(--space-3) 0;\n  color: var(--color-text-muted);\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n}\n.ds-credit--centre {\n  justify-content: center;\n}\n.ds-credit__name {\n  display: block;\n  color: var(--color-heading);\n  font-weight: var(--weight-bold);\n}\n\n/* progress: a thin line that shows how far along; the words under it say the same */\n.ds-progress {\n  display: block;\n  height: var(--border-width-strong);\n  margin: var(--space-3) 0 var(--space-1);\n  background: var(--color-border-muted);\n}\n.ds-progress__bar {\n  display: block;\n  width: 50%;\n  height: 100%;\n  background: var(--color-accent);\n}\n.ds-progress--third .ds-progress__bar {\n  width: 33%;\n}\n.ds-progress__label {\n  display: block;\n  color: var(--color-text-muted);\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n}\n\n/* tooltip: a note on a word, shown on hover or focus */\n.ds-tooltip {\n  position: relative;\n  border-bottom: var(--border-width) var(--border-style) var(--color-border);\n  cursor: help;\n}\n.ds-tooltip__tip {\n  position: absolute;\n  z-index: 5;\n  bottom: 100%;\n  left: 0;\n  width: max-content;\n  max-width: 28ch;\n  margin-bottom: var(--space-1);\n  padding: var(--space-2) var(--space-3);\n  background: var(--color-inverse);\n  color: var(--color-inverse-text);\n  border-radius: var(--radius-control);\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  font-style: normal;\n  font-weight: var(--weight-ui);\n  letter-spacing: 0;\n  text-align: left;\n  text-transform: none;\n  white-space: normal;\n  visibility: hidden;\n  opacity: 0;\n  transition: var(--transition);\n}\n.ds-tooltip:hover .ds-tooltip__tip,\n.ds-tooltip:focus .ds-tooltip__tip {\n  visibility: visible;\n  opacity: 1;\n}\n@media (max-width: 600px) {\n  .ds-tooltip__tip {\n    position: fixed;\n    right: var(--space-3);\n    bottom: var(--space-3);\n    left: var(--space-3);\n    width: auto;\n    max-width: none;\n    margin: 0;\n  }\n}\n\n/* accordion: questions on hairlines; one opens at a time under its own line */\n.ds-accordion {\n  margin: var(--space-3) 0 0;\n  border-top: var(--border-width) var(--border-style) var(--color-border-muted);\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n}\n.ds-accordion__item {\n  border-bottom: var(--border-width) var(--border-style) var(--color-border-muted);\n}\n.ds-accordion__head {\n  display: flex;\n  justify-content: space-between;\n  gap: var(--space-2);\n  padding: var(--space-2) 0;\n  color: var(--color-heading);\n  font-weight: var(--weight-bold);\n  cursor: pointer;\n  list-style: none;\n}\n.ds-accordion__head::-webkit-details-marker {\n  display: none;\n}\n.ds-accordion__head::after {\n  content: \"\";\n  flex: none;\n  align-self: center;\n  display: inline-block;\n  width: calc(var(--space-2) * 1.25);\n  height: calc(var(--space-2) * 1.25);\n  background: currentColor;\n  clip-path: polygon(calc(50% - var(--space-2) / 8) 0, calc(50% + var(--space-2) / 8) 0, calc(50% + var(--space-2) / 8) calc(50% - var(--space-2) / 8), 100% calc(50% - var(--space-2) / 8), 100% calc(50% + var(--space-2) / 8), calc(50% + var(--space-2) / 8) calc(50% + var(--space-2) / 8), calc(50% + var(--space-2) / 8) 100%, calc(50% - var(--space-2) / 8) 100%, calc(50% - var(--space-2) / 8) calc(50% + var(--space-2) / 8), 0 calc(50% + var(--space-2) / 8), 0 calc(50% - var(--space-2) / 8), calc(50% - var(--space-2) / 8) calc(50% - var(--space-2) / 8));\n  color: var(--color-text-muted);\n}\n.ds-accordion__item[open] .ds-accordion__head::after {\n  clip-path: inset(calc(50% - var(--space-2) / 8) 0);\n}\n.ds-accordion__body {\n  margin: 0;\n  padding: 0 0 var(--space-3);\n  color: var(--color-text);\n}\n\n/* phones: the links spread across the bar */\n@media (max-width: 720px) {\n  .ds-nav__links {\n    justify-content: space-between;\n  }\n}\n",
    "specimen.html": "<!doctype html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<title>chronoskin: editorial minimalism, interview series specimen</title>\n<link rel=\"stylesheet\" href=\"tokens.css\">\n<link rel=\"stylesheet\" href=\"components.css\">\n</head>\n<body class=\"ds-page\" data-component=\"shell\">\n\n<header class=\"ds-nav\" data-component=\"nav\">\n  <div class=\"ds-nav__inner\">\n    <a class=\"ds-brand\" data-component=\"brand\" href=\"#home\">\n      <span class=\"ds-brand__mark\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"butt\" aria-hidden=\"true\"><path d=\"M17.4 5.5A7 7 0 1 0 17.4 14.5\"/><line x1=\"4\" y1=\"21\" x2=\"20\" y2=\"21\"/></svg></span>\n      <span class=\"ds-brand__name\">chronoskin</span>\n    </a>\n    <ul class=\"ds-nav__links\">\n      <li><a class=\"ds-nav__link\" href=\"#home\">Interviews</a></li>\n      <li><a class=\"ds-nav__link\" href=\"#archive\">Archive</a></li>\n      <li><a class=\"ds-nav__link\" href=\"#nominate\">Suggest a guest</a></li>\n    </ul>\n  </div>\n</header>\n\n<section class=\"ds-view ds-view--home\" id=\"home\">\n  <div class=\"ds-wrap\">\n    <div class=\"ds-hero\" data-component=\"hero\">\n      <div class=\"ds-hero__plate\" aria-hidden=\"true\">\n        <span>Interview no.</span>\n        <span class=\"ds-hero__numeral\">154</span>\n      </div>\n      <div class=\"ds-hero__copy\">\n        <span class=\"ds-label\">This week · 16 December 2014</span>\n        <h1 class=\"ds-hero__title\">Ines Varga</h1>\n        <p class=\"ds-hero__roles\">Plane maker / Teacher / Writer</p>\n        <p class=\"ds-hero__lead\">On leaving an office at forty, learning to sharpen from a retired shipwright, and why she gives every drawing away.</p>\n        <div class=\"ds-hero__actions\">\n          <a class=\"ds-button\" href=\"#interview\">Read the interview</a>\n          <a class=\"ds-link ds-link--more\" href=\"#archive\">All 154</a>\n        </div>\n      </div>\n    </div>\n\n    <div class=\"ds-section\">\n      <h2 class=\"ds-rule\"><span>Recent interviews</span> <a class=\"ds-link ds-link--quiet\" href=\"#archive\">View the archive</a></h2>\n      <div class=\"ds-grid\" data-component=\"grid\">\n        <a class=\"ds-grid__cell\" href=\"#interview\">\n          <div class=\"ds-grid__tile ds-grid__tile--2\">153</div>\n          <span class=\"ds-label\">9 December</span>\n          <h3 class=\"ds-grid__title\">Tobias Lund</h3>\n          <p class=\"ds-grid__text\">Bookbinder, Aarhus</p>\n        </a>\n        <a class=\"ds-grid__cell\" href=\"#interview\">\n          <div class=\"ds-grid__tile ds-grid__tile--3\">152</div>\n          <span class=\"ds-label\">2 December</span>\n          <h3 class=\"ds-grid__title\">Amara Okoye</h3>\n          <p class=\"ds-grid__text\">Weaver and dyer, Lagos</p>\n        </a>\n        <a class=\"ds-grid__cell\" href=\"#interview\">\n          <div class=\"ds-grid__tile ds-grid__tile--4\">151</div>\n          <span class=\"ds-label\">25 November</span>\n          <h3 class=\"ds-grid__title\">Pieter Haan</h3>\n          <p class=\"ds-grid__text\">Letterpress printer, Ghent</p>\n        </a>\n        <a class=\"ds-grid__cell\" href=\"#interview\">\n          <div class=\"ds-grid__tile\">150</div>\n          <span class=\"ds-label\">18 November</span>\n          <h3 class=\"ds-grid__title\">Sofia Marek</h3>\n          <p class=\"ds-grid__text\">Violin maker, Brno</p>\n        </a>\n        <a class=\"ds-grid__cell\" href=\"#interview\">\n          <div class=\"ds-grid__tile ds-grid__tile--4\">149</div>\n          <span class=\"ds-label\">11 November</span>\n          <h3 class=\"ds-grid__title\">Kenji Arai</h3>\n          <p class=\"ds-grid__text\">Knife grinder, Sakai</p>\n        </a>\n        <a class=\"ds-grid__cell\" href=\"#interview\">\n          <div class=\"ds-grid__tile ds-grid__tile--2\">148</div>\n          <span class=\"ds-label\">4 November</span>\n          <h3 class=\"ds-grid__title\">Leonie Brandt</h3>\n          <p class=\"ds-grid__text\">Potter, Leipzig</p>\n        </a>\n      </div>\n    </div>\n\n    <blockquote class=\"ds-voice\">\n      <p class=\"ds-voice__text\">“I stopped asking whether the work was good and started asking whether it was finished. Things got better after that.”</p>\n      <span class=\"ds-credit ds-credit--centre\"><span class=\"ds-avatar ds-avatar--4\">SM</span><span class=\"ds-label\">Sofia Marek, interview no. 150</span></span>\n    </blockquote>\n\n    <div class=\"ds-section\">\n      <ul class=\"ds-stat\" data-component=\"stats\">\n        <li class=\"ds-stat__item\"><span class=\"ds-stat__figure\">154</span><span class=\"ds-stat__label\">Interviews</span></li>\n        <li class=\"ds-stat__item\"><span class=\"ds-stat__figure\">37</span><span class=\"ds-stat__label\">Trades</span></li>\n        <li class=\"ds-stat__item\"><span class=\"ds-stat__figure\">61</span><span class=\"ds-stat__label\">Towns visited</span></li>\n        <li class=\"ds-stat__item\"><span class=\"ds-stat__figure\">3</span><span class=\"ds-stat__label\">Printed annuals</span></li>\n      </ul>\n    </div>\n\n    <div class=\"ds-section\">\n      <div class=\"ds-duo\">\n        <div>\n          <h2 class=\"ds-rule\"><span>From the archive</span> <a class=\"ds-link ds-link--quiet\" href=\"#archive\">By trade</a></h2>\n          <ul class=\"ds-list\" data-component=\"list\">\n            <li class=\"ds-list__item\">\n              <span class=\"ds-list__num\">112</span>\n              <div><a class=\"ds-list__title\" href=\"#interview\">Halima Yusuf</a> <span class=\"ds-badge ds-badge--alt\">In the annual</span>\n                <p class=\"ds-list__text\">Saddler, on a workshop that has not moved since 1931.</p></div>\n              <span class=\"ds-list__meta\">Feb 2014</span>\n            </li>\n            <li class=\"ds-list__item\">\n              <span class=\"ds-list__num\">098</span>\n              <div><a class=\"ds-list__title\" href=\"#interview\">Aldo Ferri</a>\n                <p class=\"ds-list__text\">Type founder, on casting the same letter ten thousand times.</p></div>\n              <span class=\"ds-list__meta\">Oct 2013</span>\n            </li>\n            <li class=\"ds-list__item\">\n              <span class=\"ds-list__num\">071</span>\n              <div><a class=\"ds-list__title\" href=\"#interview\">Greta Nyberg</a>\n                <p class=\"ds-list__text\">Boat builder, on teaching her daughters to steam oak.</p></div>\n              <span class=\"ds-list__meta\">Apr 2013</span>\n            </li>\n            <li class=\"ds-list__item\">\n              <span class=\"ds-list__num\">044</span>\n              <div><a class=\"ds-list__title\" href=\"#interview\">Daniel Osei</a>\n                <p class=\"ds-list__text\">Luthier, on the guitar he has been repairing for nine years.</p></div>\n              <span class=\"ds-list__meta\">Sep 2012</span>\n            </li>\n            <li class=\"ds-list__item\">\n              <span class=\"ds-list__num\">001</span>\n              <div><a class=\"ds-list__title\" href=\"#interview\">Ruth Calder</a>\n                <p class=\"ds-list__text\">Stone carver, and the first person who agreed to talk to us.</p></div>\n              <span class=\"ds-list__meta\">Jan 2012</span>\n            </li>\n          </ul>\n        </div>\n        <section class=\"ds-panel\" data-component=\"panel\">\n          <div class=\"ds-panel__art\" aria-hidden=\"true\">Annual 03</div>\n          <span class=\"ds-label\">In print</span>\n          <h2 class=\"ds-panel__title\">Twenty interviews on paper</h2>\n          <div class=\"ds-panel__body\">\n            <p>The third chronoskin annual collects the year's longest conversations in 208 pages, sewn and printed in two colours.</p>\n            <a class=\"ds-button ds-button--secondary\" href=\"#nominate\">Order the annual</a>\n          </div>\n        </section>\n      </div>\n    </div>\n  </div>\n\n  <div class=\"ds-band\">\n    <div class=\"ds-wrap ds-band__inner\">\n      <div>\n        <span class=\"ds-label\">Every Tuesday</span>\n        <h2 class=\"ds-band__title\">One interview a week, by letter</h2>\n        <p class=\"ds-band__text\">A new conversation each Tuesday morning and nothing else.</p>\n      </div>\n      <form class=\"ds-form ds-form--inline\" action=\"#home\">\n        <input class=\"ds-form__input\" type=\"text\" placeholder=\"Your email address\" aria-label=\"Email address\">\n        <button class=\"ds-button ds-button--inverse\" type=\"submit\">Subscribe</button>\n      </form>\n    </div>\n  </div>\n</section>\n\n<section class=\"ds-view\" id=\"interview\">\n  <div class=\"ds-wrap\">\n    <ol class=\"ds-breadcrumb\" data-component=\"breadcrumb\">\n      <li class=\"ds-breadcrumb__item\"><a class=\"ds-link ds-link--quiet\" href=\"#home\">Interviews</a></li>\n      <li class=\"ds-breadcrumb__item\"><a class=\"ds-link ds-link--quiet\" href=\"#archive\">Woodwork</a></li>\n      <li class=\"ds-breadcrumb__item ds-breadcrumb__current\">Ines Varga</li>\n    </ol>\n    <header class=\"ds-page-header\">\n      <div class=\"ds-page-header__copy\">\n        <span class=\"ds-label\">Interview no. 154 · Plane maker / Teacher / Writer</span>\n        <h1 class=\"ds-page-header__title\">Ines Varga</h1>\n        <p class=\"ds-page-header__text\">On leaving an office at forty and giving every drawing away.</p>\n      </div>\n      <div class=\"ds-page-header__actions\">\n        <a class=\"ds-button ds-button--secondary\" href=\"#archive\">Save for later</a>\n      </div>\n    </header>\n\n    <div class=\"ds-article ds-section ds-section--first\">\n      <aside class=\"ds-article__meta\">\n        <div>\n          <span class=\"ds-label\">16 December 2014</span>\n          <div class=\"ds-credit\"><span class=\"ds-avatar\">TA</span><span><span class=\"ds-credit__name\">Tom Aldous</span>Interviewer</span></div>\n          <p class=\"ds-article__note\">Interview by Tom Aldous. Recorded at the bench in Gyula; about nineteen minutes.</p>\n          <span class=\"ds-progress ds-progress--third\" role=\"progressbar\" aria-label=\"About thirteen minutes left\" aria-valuenow=\"33\" aria-valuemin=\"0\" aria-valuemax=\"100\"><span class=\"ds-progress__bar\"></span></span><span class=\"ds-progress__label\">About thirteen minutes left</span>\n        </div>\n        <div class=\"ds-sidebar\" data-component=\"sidebar\">\n          <h2 class=\"ds-sidebar__title\">More woodworkers</h2>\n          <ul class=\"ds-sidebar__list\">\n            <li class=\"ds-sidebar__item is-current\">Ines Varga</li>\n            <li class=\"ds-sidebar__item\"><a class=\"ds-link ds-link--quiet\" href=\"#interview\">Greta Nyberg</a></li>\n            <li class=\"ds-sidebar__item\"><a class=\"ds-link ds-link--quiet\" href=\"#interview\">Daniel Osei</a></li>\n            <li class=\"ds-sidebar__item\"><a class=\"ds-link ds-link--quiet\" href=\"#interview\">Sofia Marek</a></li>\n            <li class=\"ds-sidebar__item\"><a class=\"ds-link ds-link--quiet\" href=\"#archive\">All eleven</a></li>\n          </ul>\n        </div>\n      </aside>\n\n      <div class=\"ds-article__main\">\n        <article class=\"ds-prose\" data-component=\"typography\">\n          <p class=\"ds-prose__lead\">Ines Varga makes wooden <span class=\"ds-tooltip\" tabindex=\"0\">hand planes<span class=\"ds-tooltip__tip\" role=\"tooltip\">A plane pushed by hand to shave wood flat, not a machine.</span></span> in a former dairy in the south of Hungary. She came to the trade late, teaches four weeks a year and publishes the drawings of every tool she sells.</p>\n          <h1>Beginnings</h1>\n          <p class=\"ds-prose__q\">Describe the path that led you to the bench.</p>\n          <p>I was an insurance clerk for seventeen years, and a good one. Nobody leaves that for a romantic reason. My father died, I inherited a chest of tools I could not use, and it annoyed me that I could not use them. That is the <strong>whole origin story</strong>: irritation.</p>\n          <p class=\"ds-prose__q\">Who taught you?</p>\n          <p>A retired shipwright called Bela, who charged me nothing and corrected everything. He would take the plane out of my hands, look at the sole and hand it back without a word. It took a year before he said one was acceptable.</p>\n          <h2>What he asked of a tool</h2>\n          <p>He had three tests, and I still use them on everything that leaves the workshop:</p>\n          <ul>\n            <li>it takes a shaving you can read a newspaper through;</li>\n            <li>it can be set with one tap of a mallet;</li>\n            <li>it is still comfortable in the fourth hour.</li>\n          </ul>\n          <h1>The work</h1>\n          <p class=\"ds-prose__q\">Why give the drawings away?</p>\n          <p>Because a drawing is not the plane. Every jig in the workshop has a number, and the drawing for the smoother is simply <code>jig-014.pdf</code> on the site. Perhaps forty people have built one from it. None of them has stopped buying from me, and several now write to argue about the bedding angle, which I enjoy.</p>\n          <h3>A note on the wood</h3>\n          <p>The bodies are hornbeam, felled in winter and dried for six years before she will cut it.</p>\n          <p class=\"ds-prose__q\">What would you tell someone starting at forty?</p>\n          <p>That it is late, and that it does not matter. You will never have the hands of someone who began at fourteen. You will have patience they did not have at fourteen, and customers forgive a great deal in a person who answers letters.</p>\n        </article>\n      </div>\n\n      <aside class=\"ds-article__aside\">\n        <blockquote class=\"ds-quote ds-quote--aside\">\n          <p class=\"ds-quote__text\">“Nobody leaves an office for a romantic reason. I inherited tools I could not use, and it annoyed me.”</p>\n        </blockquote>\n      </aside>\n    </div>\n\n    <div class=\"ds-section ds-section--last\">\n      <h2 class=\"ds-rule\"><span>Keep reading</span></h2>\n      <ul class=\"ds-linklist\" data-component=\"links\">\n        <li class=\"ds-linklist__item\"><a class=\"ds-link\" href=\"#interview\">Greta Nyberg, boat builder, on steaming oak</a></li>\n        <li class=\"ds-linklist__item\"><a class=\"ds-link is-visited\" href=\"#interview\">Daniel Osei, luthier, on a nine-year repair</a></li>\n        <li class=\"ds-linklist__item\"><a class=\"ds-link is-hover\" href=\"#interview\">Sofia Marek, violin maker, on finishing</a></li>\n        <li class=\"ds-linklist__item\"><a class=\"ds-link is-active\" href=\"#archive\">Every interview filed under woodwork</a></li>\n        <li class=\"ds-linklist__item\"><a class=\"ds-link ds-link--quiet\" href=\"#nominate\">Suggest who we should talk to next</a></li>\n      </ul>\n    </div>\n  </div>\n</section>\n\n<section class=\"ds-view\" id=\"archive\">\n  <div class=\"ds-wrap\">\n    <ol class=\"ds-breadcrumb\">\n      <li class=\"ds-breadcrumb__item\"><a class=\"ds-link ds-link--quiet\" href=\"#home\">Interviews</a></li>\n      <li class=\"ds-breadcrumb__item ds-breadcrumb__current\">Archive</li>\n    </ol>\n    <header class=\"ds-page-header\" data-component=\"page-header\">\n      <div class=\"ds-page-header__copy\">\n        <h1 class=\"ds-page-header__title\">Archive</h1>\n        <p class=\"ds-page-header__text\">All 154 conversations since January 2012, newest first.</p>\n      </div>\n      <div class=\"ds-page-header__actions\">\n        <a class=\"ds-button\" href=\"#nominate\">Suggest a guest</a>\n      </div>\n    </header>\n\n    <div class=\"ds-section ds-section--first\">\n      <ul class=\"ds-tabs\" data-component=\"tabs\">\n        <li><a class=\"ds-tabs__tab is-current\" href=\"#archive\">All trades</a></li>\n        <li><a class=\"ds-tabs__tab\" href=\"#archive\">Wood</a></li>\n        <li><a class=\"ds-tabs__tab\" href=\"#archive\">Paper and print</a></li>\n        <li><a class=\"ds-tabs__tab\" href=\"#archive\">Cloth</a></li>\n        <li><a class=\"ds-tabs__tab\" href=\"#archive\">Metal</a></li>\n        <li><a class=\"ds-tabs__tab\" href=\"#archive\">Clay and stone</a></li>\n      </ul>\n      <div class=\"ds-table__wrap\">\n        <table class=\"ds-table\" data-component=\"table\">\n          <caption class=\"ds-table__caption\">Showing 8 of 154 interviews. Reading time at 240 words a minute.</caption>\n          <thead>\n            <tr>\n              <th scope=\"col\" class=\"ds-table__num\">No.</th>\n              <th scope=\"col\">Guest</th>\n              <th scope=\"col\">Trade</th>\n              <th scope=\"col\">Town</th>\n              <th scope=\"col\">Published</th>\n              <th scope=\"col\" class=\"ds-table__num\">Minutes</th>\n            </tr>\n          </thead>\n          <tbody>\n            <tr><td class=\"ds-table__num\">154</td><th scope=\"row\"><a class=\"ds-link ds-link--quiet\" href=\"#interview\">Ines Varga</a> <span class=\"ds-badge\">New</span></th><td>Plane maker</td><td>Gyula</td><td>16 Dec 2014</td><td class=\"ds-table__num\">19</td></tr>\n            <tr><td class=\"ds-table__num\">153</td><th scope=\"row\"><a class=\"ds-link ds-link--quiet\" href=\"#interview\">Tobias Lund</a></th><td>Bookbinder</td><td>Aarhus</td><td>9 Dec 2014</td><td class=\"ds-table__num\">14</td></tr>\n            <tr><td class=\"ds-table__num\">152</td><th scope=\"row\"><a class=\"ds-link ds-link--quiet\" href=\"#interview\">Amara Okoye</a></th><td>Weaver and dyer</td><td>Lagos</td><td>2 Dec 2014</td><td class=\"ds-table__num\">22</td></tr>\n            <tr><td class=\"ds-table__num\">151</td><th scope=\"row\"><a class=\"ds-link ds-link--quiet\" href=\"#interview\">Pieter Haan</a></th><td>Letterpress printer</td><td>Ghent</td><td>25 Nov 2014</td><td class=\"ds-table__num\">17</td></tr>\n            <tr><td class=\"ds-table__num\">150</td><th scope=\"row\"><a class=\"ds-link ds-link--quiet\" href=\"#interview\">Sofia Marek</a></th><td>Violin maker</td><td>Brno</td><td>18 Nov 2014</td><td class=\"ds-table__num\">26</td></tr>\n            <tr><td class=\"ds-table__num\">149</td><th scope=\"row\"><a class=\"ds-link ds-link--quiet\" href=\"#interview\">Kenji Arai</a></th><td>Knife grinder</td><td>Sakai</td><td>11 Nov 2014</td><td class=\"ds-table__num\">12</td></tr>\n            <tr><td class=\"ds-table__num\">148</td><th scope=\"row\"><a class=\"ds-link ds-link--quiet\" href=\"#interview\">Leonie Brandt</a></th><td>Potter</td><td>Leipzig</td><td>4 Nov 2014</td><td class=\"ds-table__num\">15</td></tr>\n            <tr><td class=\"ds-table__num\">147</td><th scope=\"row\"><a class=\"ds-link ds-link--quiet\" href=\"#interview\">Marco Bellini</a></th><td>Cooper</td><td>Asti</td><td>28 Oct 2014</td><td class=\"ds-table__num\">18</td></tr>\n          </tbody>\n        </table>\n      </div>\n      <div class=\"ds-table__foot\">\n        <ul class=\"ds-pagination\" data-component=\"pagination\">\n          <li><a class=\"ds-pagination__link is-disabled\" href=\"#archive\">Newer</a></li>\n          <li><a class=\"ds-pagination__link is-current\" href=\"#archive\">1</a></li>\n          <li><a class=\"ds-pagination__link\" href=\"#archive\">2</a></li>\n          <li><a class=\"ds-pagination__link\" href=\"#archive\">3</a></li>\n          <li><a class=\"ds-pagination__link\" href=\"#archive\">Older</a></li>\n        </ul>\n        <div class=\"ds-badgerow\" data-component=\"badge\">\n          <span class=\"ds-badge\">New</span>\n          <span class=\"ds-badge ds-badge--alt\">In the annual</span>\n          <span class=\"ds-badge ds-badge--quiet\">154</span>\n          <span class=\"ds-badge ds-badge--success\">With audio</span>\n          <span class=\"ds-badge ds-badge--warning\">Being edited</span>\n          <span class=\"ds-badge ds-badge--danger\">Withdrawn</span>\n        </div>\n      </div>\n    </div>\n\n    <div class=\"ds-section ds-section--last\">\n      <h2 class=\"ds-rule\"><span>Glass</span></h2>\n      <div class=\"ds-empty\" data-component=\"empty\">\n        <svg class=\"ds-empty__icon\" viewBox=\"0 0 40 40\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"><circle cx=\"20\" cy=\"14\" r=\"7\"/><path d=\"M7 35c1-8 6-12 13-12s12 4 13 12\"/></svg>\n        <h3 class=\"ds-empty__title\">No glassmakers yet</h3>\n        <p class=\"ds-empty__text\">In three years we have not interviewed anyone who works in glass. If you know someone we should meet, tell us.</p>\n        <a class=\"ds-button\" href=\"#nominate\">Suggest a guest</a>\n      </div>\n    </div>\n  </div>\n</section>\n\n<section class=\"ds-view\" id=\"nominate\">\n  <div class=\"ds-wrap\">\n    <ol class=\"ds-breadcrumb\">\n      <li class=\"ds-breadcrumb__item\"><a class=\"ds-link ds-link--quiet\" href=\"#home\">Interviews</a></li>\n      <li class=\"ds-breadcrumb__item ds-breadcrumb__current\">Suggest a guest</li>\n    </ol>\n    <header class=\"ds-page-header\">\n      <div class=\"ds-page-header__copy\">\n        <h1 class=\"ds-page-header__title\">Suggest a guest</h1>\n        <p class=\"ds-page-header__text\">Half of the people in the archive were proposed by a reader.</p>\n      </div>\n      <div class=\"ds-page-header__actions\">\n        <a class=\"ds-button ds-button--secondary\" href=\"#archive\">See who we have met</a>\n      </div>\n    </header>\n\n    <div class=\"ds-split ds-section ds-section--first ds-section--last\">\n      <div class=\"ds-split__main ds-stack\">\n        <div class=\"ds-noticerow\" data-component=\"notice\">\n          <p class=\"ds-notice\"><span class=\"ds-notice__title\">Suggestions are read on Fridays.</span> We write back to every one, usually within a month.</p>\n          <p class=\"ds-notice ds-notice--error\"><span class=\"ds-notice__title\">The suggestion was not sent.</span> Check the address below and try again.</p>\n        </div>\n        <form class=\"ds-form\" data-component=\"form\" action=\"#nominate\">\n          <div class=\"ds-form__row\">\n            <label class=\"ds-form__field\"><span class=\"ds-form__label\">Your name</span><input class=\"ds-form__input\" type=\"text\" value=\"Nora Feld\"></label>\n            <label class=\"ds-form__field\"><span class=\"ds-form__label\">Your email</span><input class=\"ds-form__input is-error\" type=\"text\" value=\"nora@feld\"><span class=\"ds-form__error\">Enter a complete email address.</span></label>\n          </div>\n          <div class=\"ds-form__row\">\n            <label class=\"ds-form__field\"><span class=\"ds-form__label\">Who should we meet?</span><input class=\"ds-form__input\" type=\"text\" value=\"Henrik Solvang\"></label>\n            <label class=\"ds-form__field\"><span class=\"ds-form__label\">Their trade</span>\n              <select class=\"ds-form__select\"><option>Glass</option><option>Wood</option><option>Paper and print</option><option>Cloth</option><option>Metal</option><option>Clay and stone</option></select>\n            </label>\n          </div>\n          <label class=\"ds-form__field\"><span class=\"ds-form__label\">Why them?</span><textarea class=\"ds-form__textarea\" rows=\"5\" placeholder=\"What do they make, and what would you ask them?\"></textarea><span class=\"ds-form__hint\">A few sentences is plenty. A link to their work helps.</span></label>\n          <label class=\"ds-form__check\"><input class=\"ds-form__checkbox\" type=\"checkbox\" checked> <span>They know I am suggesting them</span></label>\n          <div class=\"ds-form__actions ds-buttonrow\" data-component=\"buttons\">\n            <button class=\"ds-button\" type=\"submit\">Send the suggestion</button>\n            <a class=\"ds-button is-hover\" href=\"#nominate\">Preview</a>\n            <a class=\"ds-button ds-button--secondary\" href=\"#nominate\">Save as draft</a>\n            <a class=\"ds-button ds-button--danger\" href=\"#nominate\">Discard</a>\n            <button class=\"ds-button\" type=\"button\" disabled>Attach a picture</button>\n          </div>\n        </form>\n      </div>\n\n      <aside class=\"ds-split__side ds-stack\">\n        <div>\n          <span class=\"ds-label\">How we choose</span>\n          <p class=\"ds-note\">We look for people who make one kind of thing with their hands and have done so for at least ten years. Fame does not count for or against.</p>\n        </div>\n        <div class=\"ds-dialog\" data-component=\"dialog\">\n          <div class=\"ds-dialog__box\" role=\"dialog\" aria-labelledby=\"dialog-title\">\n            <div class=\"ds-dialog__head\">\n              <h2 class=\"ds-dialog__title\" id=\"dialog-title\">Discard this suggestion?</h2>\n              <a class=\"ds-dialog__close\" href=\"#nominate\" aria-label=\"Close\"></a>\n            </div>\n            <div class=\"ds-dialog__body\">\n              <p>The draft has not been saved. What you have written will be lost.</p>\n            </div>\n            <div class=\"ds-dialog__actions\">\n              <a class=\"ds-button ds-button--secondary ds-button--small\" href=\"#nominate\">Keep writing</a>\n              <a class=\"ds-button ds-button--danger ds-button--small\" href=\"#home\">Discard</a>\n            </div>\n          </div>\n        </div>\n        <div>\n          <span class=\"ds-label\">What happens next</span>\n          <p class=\"ds-note\">We write to you first, then to them. We travel to the workshop, so an interview can take a season to arrange. You will hear from us the week it is published.</p>\n          <div class=\"ds-accordion\"><details class=\"ds-accordion__item\"><summary class=\"ds-accordion__head\">Can I suggest myself?</summary><p class=\"ds-accordion__body\">Yes. A third of our guests did.</p></details><details class=\"ds-accordion__item\"><summary class=\"ds-accordion__head\">Do guests see the text first?</summary><p class=\"ds-accordion__body\">Always, and they may correct facts.</p></details><details class=\"ds-accordion__item\"><summary class=\"ds-accordion__head\">Is there a fee?</summary><p class=\"ds-accordion__body\">No, in either direction.</p></details></div>\n        </div>\n      </aside>\n    </div>\n  </div>\n</section>\n\n<footer class=\"ds-footer\" data-component=\"footer\">\n  <div class=\"ds-footer__inner\">\n    <span class=\"ds-footer__links\">\n      <a class=\"ds-footer__link\" href=\"#home\">Interviews</a>\n      <a class=\"ds-footer__link\" href=\"#archive\">Archive</a>\n      <a class=\"ds-footer__link\" href=\"#nominate\">Suggest a guest</a>\n      <a class=\"ds-footer__link\" href=\"#home\">Feed</a>\n    </span>\n    <span>© 2012 to 2014 chronoskin. One conversation every Tuesday.</span>\n  </div>\n</footer>\n\n</body>\n</html>\n",
    "style.json": "{\n  \"id\": \"v1.editorial-minimal.portal.s07.p01.t01.u02\",\n  \"library\": \"2026.10.09-1346\",\n  \"era\": {\n    \"slug\": \"editorial-minimal\",\n    \"years\": [\n      2012,\n      2018\n    ]\n  },\n  \"archetype\": \"portal\",\n  \"mode\": \"mix\",\n  \"markup\": \"modern\",\n  \"viewport\": {\n    \"width\": 1280,\n    \"fluid\": false,\n    \"responsive\": true\n  },\n  \"source\": \"https://chrono.skin/s/v1-em-7112\",\n  \"short\": \"v1-em-7112\"\n}\n",
    "tokens.css": "/* @part palette */\n:root {\n  --color-page: #fdfcf8;\n  --color-canvas: #fdfcf8;\n  --color-surface: #fdfcf8;\n  --color-surface-alt: #f5f3ec;\n  --color-surface-strong: #ebe8de;\n  --color-bar: #fdfcf8;\n  --color-bar-text: #33332f;\n  --color-bar-alt: #f5f3ec;\n  --color-bar-alt-text: #6b6a62;\n  --color-inverse: #26302b;\n  --color-inverse-text: #f5f3ec;\n  --color-text: #33332f;\n  --color-text-muted: #7d7b72;\n  --color-heading: #1c1c19;\n  --color-heading-alt: #0a6058;\n  --color-link: #0c776d;\n  --color-link-quiet: #6b6a62;\n  --color-link-visited: #56776f;\n  --color-link-hover: #0a6058;\n  --color-link-active: #063f3a;\n  --color-border: #d9d6cb;\n  --color-border-strong: #33332f;\n  --color-border-muted: #ebe8de;\n  --color-accent: #0c776d;\n  --color-accent-text: #fdfcf8;\n  --color-accent-alt: #b5651d;\n  --color-fill-1: #7f9c8f;\n  --color-fill-2: #c8a67e;\n  --color-fill-3: #5c6b73;\n  --color-fill-4: #a9a889;\n  --color-button: #fdfcf8;\n  --color-button-text: #1c1c19;\n  --color-button-hover-text: #fdfcf8;\n  --color-button-secondary: #fdfcf8;\n  --color-button-secondary-text: #0c776d;\n  --color-input: #ffffff;\n  --color-input-text: #1c1c19;\n  --color-input-border: #c0bdb1;\n  --color-disabled: #ebe8de;\n  --color-disabled-text: #a3a196;\n  --color-danger: #9d120d;\n  --color-danger-surface: #fbeeea;\n  --color-success: #2e7d4f;\n  --color-warning: #a8650f;\n  --color-notice: #edf3ee;\n  --color-notice-text: #0a6058;\n  --color-focus: #0c776d;\n  --color-shadow: rgb(40 36 20 / 0.12);\n  --color-overlay: rgb(38 48 43 / 0.45);\n}\n\n/* @part type */\n:root {\n  --font-body: \"Iowan Old Style\", \"Palatino Linotype\", Palatino, \"Book Antiqua\", \"EB Garamond\", Georgia, serif;\n  --font-heading: \"Iowan Old Style\", \"Palatino Linotype\", Palatino, \"Book Antiqua\", \"EB Garamond\", Georgia, serif;\n  --font-ui: \"Avenir Next\", \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  --font-mono: Menlo, Consolas, \"Liberation Mono\", monospace;\n  --text-base: 20px;\n  --text-small: 13px;\n  --text-ui: 12px;\n  --text-large: 24px;\n  --text-display: 44px;\n  --text-h1: 36px;\n  --text-h2: 26px;\n  --text-h3: 20px;\n  --line-body: 1.6;\n  --line-heading: 1.25;\n  --line-display: 1.15;\n  --weight-body: 400;\n  --weight-bold: 700;\n  --weight-heading: 400;\n  --weight-display: 400;\n  --weight-ui: 600;\n  --heading-transform: none;\n  --heading-tracking: 0;\n  --display-tracking: -0.5px;\n  --figure-shift: 0em;\n  --ui-transform: uppercase;\n  --link-decoration: underline;\n  --link-decoration-hover: underline;\n  --link-decoration-quiet: none;\n}\n\n/* @part surface */\n:root {\n  --border-width: 1px;\n  --border-width-strong: 3px;\n  --border-style: solid;\n  --radius-control: 0;\n  --radius-panel: 0;\n  --radius-pill: 0;\n  --radius-page: 0;\n  --shadow-panel: none;\n  --shadow-control: none;\n  --shadow-control-hover: none;\n  --shadow-control-pressed: none;\n  --shadow-dialog: none;\n  --shadow-text: none;\n  --fill-page: var(--color-page);\n  --fill-bar: var(--color-bar);\n  --fill-bar-alt: var(--color-bar-alt);\n  --fill-inverse: var(--color-inverse);\n  --fill-accent: var(--color-inverse);\n  --fill-panel: var(--color-canvas);\n  --fill-button: var(--color-button);\n  --fill-button-hover: var(--color-accent);\n  --fill-button-secondary: transparent;\n  --fill-input: var(--color-canvas);\n  --focus-ring: 3px solid var(--color-focus);\n  --transition: none;\n  --backdrop-blur: 0px;\n}\n"
  }
}
