
      :root {
        --bg: #F6F1E8;
        --card: #FFFFFF;
        --ink: #3E2F24;
        --muted: #7A6A58;
        --accent: #8A5A33;
        --accent-ink: #FFFFFF;
        --line: #E3D9C8;
        --mat: #EDE4D3;
        --placeholder-bg: #F1E9DA;
        color-scheme: light;
      }
      * { box-sizing: border-box; }
      html { -webkit-text-size-adjust: 100%; }
      body {
        margin: 0;
        background: var(--bg);
        color: var(--ink);
        font-family: "Karla", system-ui, -apple-system, sans-serif;
        font-size: 17px;
        line-height: 1.55;
      }
      h1, h2, .serif { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 600; }
      button, a.btn, a.navbtn { min-height: 44px; }
      img { display: block; max-width: 100%; }

      /* ---------- top bar ---------- */
      .topbar {
        position: sticky; top: 0; z-index: 20;
        display: flex; align-items: center; justify-content: space-between;
        gap: 12px;
        padding: 10px 18px;
        background: var(--bg);
        border-bottom: 1px solid var(--line);
      }
      .topbar .brand {
        font-family: "Cormorant Garamond", Georgia, serif;
        font-size: 1.25rem; font-weight: 600; letter-spacing: .02em;
        color: var(--ink); background: none; border: 0; cursor: pointer; padding: 6px 4px;
        min-height: 44px;
      }
      .topbar .brand small { display: block; font-family: "Karla", sans-serif; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
      .navbtn {
        border: 1px solid var(--line); background: var(--card); color: var(--ink);
        border-radius: 999px; padding: 10px 18px; font: inherit; font-size: .95rem; font-weight: 600;
        cursor: pointer;
      }
      .navbtn:hover { border-color: var(--accent); color: var(--accent); }

      main { max-width: 1100px; margin: 0 auto; padding: 28px 18px 64px; }

      /* ---------- cover ---------- */
      .cover-img { border-radius: 10px; overflow: hidden; background: var(--mat); }
      .cover-img img { width: 100%; height: auto; }
      .cover-text { text-align: center; padding: 40px 12px 8px; }
      .cover-text h1 { font-size: clamp(2.6rem, 8vw, 4.4rem); letter-spacing: .06em; margin: 0 0 6px; }
      .cover-text .artist { font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(1.4rem, 4vw, 1.9rem); font-style: italic; margin: 0 0 10px; }
      .cover-text .tagline { color: var(--muted); margin: 0 0 28px; }
      .cover-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

      .btn {
        display: inline-flex; align-items: center; justify-content: center;
        border-radius: 999px; padding: 12px 26px; font: inherit; font-weight: 700;
        text-decoration: none; cursor: pointer; border: 1px solid transparent;
      }
      .btn-primary { background: var(--accent); color: var(--accent-ink); }
      .btn-primary:hover { filter: brightness(1.08); }
      .btn-ghost { background: var(--card); border-color: var(--line); color: var(--ink); }
      .btn-ghost:hover { border-color: var(--accent); color: var(--accent); }

      /* ---------- text pages ---------- */
      .text-card {
        background: var(--card); border: 1px solid var(--line); border-radius: 10px;
        max-width: 680px; margin: 24px auto; padding: clamp(26px, 5vw, 48px);
      }
      .text-card h2 { font-size: clamp(1.8rem, 5vw, 2.4rem); margin: 0 0 18px; }
      .text-card p { margin: 0 0 14px; }
      .text-card .sig { font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; font-size: 1.3rem; margin-top: 20px; }
      .steps { margin: 0 0 18px; padding-left: 1.4em; }
      .steps li { margin-bottom: 10px; }
      .fineprint { color: var(--muted); font-size: .95rem; }

      /* ---------- painting pages ---------- */
      .painting-card {
        background: var(--card); border: 1px solid var(--line); border-radius: 10px;
        padding: clamp(18px, 4vw, 40px);
      }
      .painting-grid { display: grid; grid-template-columns: 1.12fr 1fr; gap: clamp(22px, 4vw, 44px); }
      @media (max-width: 760px) { .painting-grid { grid-template-columns: 1fr; } }
      .stage {
        background: var(--mat); border-radius: 8px;
        display: flex; align-items: center; justify-content: center;
        min-height: 300px; padding: 14px;
      }
      .stage img { max-height: 560px; width: auto; max-width: 100%; height: auto; border-radius: 2px; box-shadow: 0 10px 30px rgba(46, 32, 18, .22); }
      @media (max-width: 760px) { .stage img { max-height: 480px; } }
      .thumbs { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
      .thumb {
        border: 2px solid transparent; border-radius: 6px; padding: 0; cursor: pointer;
        background: var(--mat); width: 84px; height: 84px; overflow: hidden; flex: 0 0 auto;
      }
      .thumb img { width: 100%; height: 100%; object-fit: cover; }
      .thumb[aria-pressed="true"] { border-color: var(--accent); }
      .thumb:focus-visible, .navbtn:focus-visible, .btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

      .placeholder {
        background: var(--placeholder-bg); border: 1px dashed var(--line); border-radius: 8px;
        min-height: 340px; display: flex; flex-direction: column; align-items: center; justify-content: center;
        text-align: center; padding: 28px;
      }
      .placeholder .ph-title { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.7rem; font-weight: 600; margin: 0 0 8px; }
      .placeholder p { color: var(--muted); margin: 0; max-width: 34ch; }

      .details .count { color: var(--muted); font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; margin: 0 0 8px; }
      .details h2 { font-size: clamp(2rem, 5vw, 2.7rem); margin: 0 0 2px; line-height: 1.1; }
      .details .subtitle { font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; font-size: 1.25rem; color: var(--muted); margin: 0 0 14px; }
      .specs { font-size: 1.02rem; margin: 0 0 18px; }
      .specs .label { color: var(--muted); font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; display: block; margin-bottom: 2px; }
      .about { border-top: 1px solid var(--line); padding-top: 16px; margin-bottom: 20px; }
      .about .label { color: var(--muted); font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; display: block; margin-bottom: 6px; }
      .about p { margin: 0; }
      .nfs-label {
        display: inline-block; border: 1px solid var(--accent); color: var(--accent);
        border-radius: 999px; padding: 5px 14px; font-weight: 700; font-size: .9rem; margin-bottom: 16px;
      }
      .price-block { border-top: 1px solid var(--line); padding-top: 18px; margin-bottom: 22px; }
      .price-row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 4px 0; }
      .price-row .what { color: var(--muted); }
      .price-row .amt { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.6rem; font-weight: 600; white-space: nowrap; }
      .price-note { color: var(--muted); font-size: .95rem; margin: 6px 0 0; }
      .claim-btn { width: 100%; font-size: 1.05rem; padding: 14px 26px; }
      .page-foot { color: var(--muted); font-size: .9rem; text-align: center; margin: 22px auto 0; max-width: 640px; }

      /* ---------- pager ---------- */
      .pager { display: flex; justify-content: space-between; gap: 12px; margin-top: 30px; }
      .pager .spacer { flex: 1; }
      .pager button {
        border: 1px solid var(--line); background: var(--card); color: var(--ink);
        border-radius: 999px; padding: 11px 22px; font: inherit; font-weight: 600; cursor: pointer;
      }
      .pager button:hover { border-color: var(--accent); color: var(--accent); }

      /* ---------- index grid ---------- */
      .index-head { text-align: center; margin: 10px 0 26px; }
      .index-head h2 { font-size: clamp(2rem, 6vw, 2.8rem); margin: 0 0 6px; }
      .index-head p { color: var(--muted); margin: 0; }
      .grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 18px; }
      .tile {
        background: var(--card); border: 1px solid var(--line); border-radius: 10px; overflow: hidden;
        text-align: left; padding: 0; cursor: pointer; font: inherit; color: var(--ink);
        display: flex; flex-direction: column;
      }
      .tile:hover { border-color: var(--accent); }
      .tile .tile-img { background: var(--mat); height: 190px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
      .tile .tile-img img { width: 100%; height: 100%; object-fit: cover; }
      .tile .tile-ph { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.3rem; color: var(--muted); padding: 16px; text-align: center; }
      .tile .tile-body { padding: 14px 16px 16px; }
      .tile .tile-title { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.35rem; font-weight: 600; line-height: 1.15; }
      .tile .tile-meta { color: var(--muted); font-size: .9rem; margin-top: 3px; }
      .tile .tile-price { font-size: .95rem; margin-top: 6px; font-weight: 600; }
      .tile .tile-tag { display: inline-block; margin-top: 8px; border: 1px solid var(--accent); color: var(--accent); border-radius: 999px; padding: 2px 10px; font-size: .78rem; font-weight: 700; }
    
/* ================= additions for the multi-page build ================= */
.skip { position: absolute; left: -999px; top: 8px; background: var(--accent); color: var(--accent-ink); padding: 10px 16px; border-radius: 8px; z-index: 50; }
.skip:focus { left: 12px; }
a { color: inherit; }
.textlink { color: var(--accent); text-underline-offset: 3px; }
.topbar .brand { text-decoration: none; display: block; text-align: left; }
.topnav { display: flex; gap: 8px; }
.navbtn { display: inline-flex; align-items: center; text-decoration: none; }
@media (max-width: 420px) {
  .topbar { padding: 8px 12px; }
  .navbtn { padding: 8px 12px; font-size: .88rem; }
  .topbar .brand { font-size: 1.12rem; }
}
.wrap { max-width: 1100px; margin: 0 auto; padding: 28px 18px 48px; }
h1 { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 600; }
.text-card h1 { font-size: clamp(1.8rem, 5vw, 2.4rem); margin: 0 0 18px; }
.index-head h1 { font-size: clamp(2rem, 6vw, 2.8rem); margin: 0 0 6px; }
.details h1 { font-size: clamp(2rem, 5vw, 2.7rem); margin: 0 0 2px; line-height: 1.1; }
.cover-text h1 { font-size: clamp(2.6rem, 8vw, 4.4rem); letter-spacing: .06em; margin: 0 0 6px; }
.cover-img img { aspect-ratio: auto; }

/* painting stage is now a button (tap to zoom) */
.stage { border: 0; width: 100%; cursor: zoom-in; font: inherit; }
.stage:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.stage img { -webkit-touch-callout: none; }
.photo-note { color: var(--muted); font-size: .92rem; margin: 10px 2px 0; min-height: 1.4em; }
.hw { text-transform: none; letter-spacing: 0; font-weight: 400; }
.details .specs .label .hw { font-size: .85rem; }

/* tiles are links now */
a.tile { text-decoration: none; }
.tile-ph small { font-family: "Karla", sans-serif; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
.tile-tag.sold { background: var(--accent); color: var(--accent-ink); }

/* pager links show the title of the next/previous stop */
.pager { margin-top: 34px; align-items: stretch; }
.pager-link {
  display: flex; flex-direction: column; gap: 2px; text-decoration: none; color: var(--ink);
  border: 1px solid var(--line); background: var(--card); border-radius: 14px; padding: 12px 20px; max-width: 46%; min-height: 44px;
}
.pager-link:hover { border-color: var(--accent); }
.pager-link .dir { font-size: .82rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.pager-link .ttl { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.2rem; font-weight: 600; line-height: 1.15; }
.pager-link.next { text-align: right; align-items: flex-end; }
.pager-link:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* claim / buy switching */
[data-only] { display: none; }
html[data-mode="claim"] [data-only="claim"], html[data-mode="buy"] [data-only="buy"] { display: revert; }
html[data-mode="claim"] span[data-only="claim"], html[data-mode="buy"] span[data-only="buy"] { display: inline; }
html[data-stretched="no"] [data-stretched-only] { display: none; }

.cta { display: flex; flex-direction: column; gap: 10px; }
.cta .btn { width: 100%; font-size: 1.05rem; padding: 14px 26px; }
.cta-note { color: var(--muted); font-size: .95rem; margin: 2px 0 0; }
.cta-note button.copy { border: 0; background: none; padding: 0 2px; font: inherit; color: var(--accent); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; min-height: 0; }
.cta-note button.copy:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* footer */
.sitefoot { max-width: 1100px; margin: 0 auto; padding: 22px 18px 44px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 8px 22px; justify-content: center; color: var(--muted); font-size: .92rem; }
.sitefoot a { color: var(--muted); text-underline-offset: 3px; display: inline-flex; align-items: center; min-height: 44px; }
.sitefoot a:hover { color: var(--accent); }
.sitefoot p { flex-basis: 100%; text-align: center; margin: 0; }

/* zoom lightbox */
.lightbox { border: 0; padding: 0; width: 100vw; height: 100vh; max-width: none; max-height: none; background: rgba(30, 22, 14, .96); color: #F0E7D7; }
.lightbox::backdrop { background: rgba(30, 22, 14, .96); }
.lb-close { position: fixed; top: 12px; right: 12px; z-index: 2; border: 1px solid rgba(240, 231, 215, .5); background: rgba(30, 22, 14, .8); color: #F0E7D7; border-radius: 999px; padding: 10px 18px; font: inherit; font-weight: 700; cursor: pointer; }
.lb-scroll { position: absolute; inset: 0; overflow: auto; display: flex; padding: 56px 16px 52px; -webkit-overflow-scrolling: touch; }
.lb-scroll img { margin: auto; max-width: 100%; max-height: 100%; width: auto; height: auto; cursor: zoom-in; border-radius: 2px; }
.lb-scroll.zoomed img { max-width: none; max-height: none; cursor: zoom-out; }
.lb-hint { position: fixed; left: 0; right: 0; bottom: 12px; text-align: center; margin: 0; font-size: .9rem; color: #BBA98F; pointer-events: none; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
