/* ══════════════════════════════════════════════════════════════
   daily10-v3.css — The Daily 10 case study, from Figma "Daily 10 Case Study" (node 5548:5839).
   A 672px reading column centred on the page; a sticky sidebar on the left with a reading-progress
   bar, a back button, the section nav (current section = blue pill) and other projects.
   Type: Cormorant Garamond for the title, Albert Sans for everything else (as in the design).
   Narrow screens: the sidebar goes, a slim progress bar sits under the header instead, and the
   other projects move to the end of the page.
   ══════════════════════════════════════════════════════════════ */

:root body.d10 {
  --d10-ink: #071d1b;
  --d10-body: #071d1b;
  --d10-muted: #48504f;
  --d10-line: rgba(50, 64, 79, .1);
  --d10-panel: #f0f3f5;
  --d10-green: #2f843b;
  --d10-sans: "Albert Sans", system-ui, sans-serif;
  --d10-serif: "Cormorant Garamond", Georgia, serif;
  margin: 0; background: #fff; color: var(--d10-body);
  font: 400 16px/22px var(--d10-sans);
}
body.d10 * { box-sizing: border-box; }

/* ── layout: sidebar | 672 column | (balance) ── */
.d10Page { display: grid; grid-template-columns: minmax(0, 1fr) min(672px, calc(100% - 2 * var(--edge, 20px))) minmax(0, 1fr);
  padding-top: calc(var(--hdr-h, 84px) + 48px); padding-bottom: 120px; }
.d10Col { grid-column: 2; min-width: 0; }

/* ── sidebar (Figma "Sidebar": 316 wide, 48 top padding) ── */
.d10Side { grid-column: 1; grid-row: 1; justify-self: start; position: sticky; top: calc(var(--hdr-h, 84px) + 48px); align-self: start;
  width: min(316px, calc(100% - var(--edge, 20px) - 32px)); margin-left: var(--edge, 20px); }
.d10Back { display: grid; place-items: center; width: 48px; height: 48px; margin: 14px 0 0 0; border-radius: 50%;
  background: var(--d10-green); border: 2px solid var(--d10-green); color: #fff; transition: background .2s ease, color .2s ease; }
.d10Back svg { width: 24px; height: 24px; }
.d10Back:hover, .d10Back:focus-visible { background: #fff; color: var(--d10-green); outline: none; }
/* section list: a thin line down the left, green from the top down to the section you're on (so it
   shows how far through you are); the current section is green + medium with a short tick on the line */
.d10Nav { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin: 32px 0 0; padding: 2px 0 2px 18px; list-style: none; }
.d10Nav__track { position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: rgba(50, 64, 79, .14); }
.d10Nav__fill { position: absolute; left: 0; right: 0; top: 0; height: var(--d10fill, 0px); background: var(--d10-green); transition: height .35s cubic-bezier(.2, .7, .2, 1); }
.d10Nav a { position: relative; display: inline-flex; align-items: center; font: 400 16px/22px var(--d10-sans); color: #5b6573; text-decoration: none;
  transition: color .2s ease; }
.d10Nav a:hover { color: var(--d10-ink); }
.d10Nav a.is-active { color: var(--d10-green); font-weight: 500; }
.d10Nav a.is-active::before { content: ""; position: absolute; left: -19px; top: 2px; bottom: 2px; width: 4px; border-radius: 2px; background: var(--d10-green); }
/* other projects: at the end of the article — a serif heading and two outlined thumbnails with name + kind */
.d10Other { margin-top: 96px; }
.d10Other__h { margin: 0; font: 500 clamp(32px, 3vw, 40px)/1.1 var(--d10-serif); text-transform: uppercase; letter-spacing: -.5px; color: var(--d10-ink); }
.d10Other__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-width: 560px; margin: 28px 0 0; padding: 0; list-style: none; }
.d10Other__card { display: block; color: inherit; text-decoration: none; }
.d10Other__img { display: block; overflow: hidden; aspect-ratio: 3 / 2; border: 1px solid #32404f; background: var(--d10-panel); }
.d10Other__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.d10Other__name { display: block; margin-top: 18px; font: 400 18px/24px var(--d10-sans); color: var(--d10-ink); }
.d10Other__kind { display: block; margin-top: 6px; font: 400 12px/16px var(--d10-sans); color: var(--d10-muted); }
.d10Other__card:hover .d10Other__img img { transform: scale(1.04); }
.d10Other__card:hover .d10Other__name { color: var(--d10-green); }
.d10Other__card:focus-visible { outline: 2px solid var(--d10-ink); outline-offset: 4px; }

/* ── intro ── */
.d10Hero { margin: 0 0 64px; border: 1px solid var(--d10-line); }
.d10Hero img { display: block; width: 100%; aspect-ratio: 668 / 431; object-fit: cover; }
.d10Eyebrow { margin: 0; font: 400 14px/20px var(--d10-sans); color: var(--d10-muted); }
.d10Title { margin: 40px 0 0; font: 500 68px/72px var(--d10-serif); letter-spacing: -2px; color: var(--d10-ink); }
.d10Lead { margin: 40px 0 0; font: 400 22px/26px var(--d10-sans); color: #102f2e; }
.d10Meta { display: flex; flex-wrap: wrap; gap: 16px 56px; margin: 64px 0 0; padding: 16px; border-top: 1px solid var(--d10-line); border-bottom: 1px solid var(--d10-line); }
.d10Meta div { display: flex; flex-direction: column; gap: 9px; }
.d10Meta p { margin: 0; font: 400 14px/20px var(--d10-sans); color: var(--d10-muted); }
.d10Meta p:first-child { color: rgba(72, 80, 79, .7); }

/* ── article ── */
.d10Body { margin-top: 64px; }
.d10Body h2 { margin: 0; padding-top: 56px; font: 400 30px/34px var(--d10-sans); color: var(--d10-ink); scroll-margin-top: calc(var(--hdr-h, 84px) + 24px); }
.d10Body section:first-child > h2 { padding-top: 0; }
.d10Body h3 { margin: 0; padding-top: 32px; font: 500 24px/28px var(--d10-sans); color: var(--d10-ink); }
.d10Body p { margin: 16px 0 0; }
.d10Body :is(h2, h3) + p { margin-top: 20px; }
.d10Body ul { margin: 16px 0 0; padding-left: 24px; }
.d10Body li + li { margin-top: 4px; }
.d10Body li::marker { color: #000; }
.d10Body q { display: block; margin: 24px 0 0; padding-left: 16px; quotes: none;
  font: italic 400 21.2px/31.8px "Times New Roman", Times, serif; letter-spacing: -.42px; color: #32404f; }

/* figures: thin outlined panel (#f0f3f5) with the image or video inside */
.d10Fig { margin: 32px 0 0; width: var(--w, 100%); max-width: 100%; border: 1px solid var(--d10-line); background: var(--d10-panel); }
.d10Fig > :is(img, video) { display: block; width: 100%; height: auto; }
.d10Fig--pad { padding: 4% 6%; }
/* the inherited-app video: a phone recording centred in the 461 × 504 panel, as in the design */
.d10Fig--video { display: grid; place-items: center; aspect-ratio: 461 / 504; padding: 8% 0; }
.d10Fig--video > video { width: auto; height: min(410px, 82vw); max-width: 100%; }
.d10Pair { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin: 20px 0 0; }
.d10Pair .d10Fig { margin: 0; }
.d10Pair img { aspect-ratio: 368 / 424; object-fit: cover; }

/* the feedback steps (fills the design's empty panel under "Wrong questions aren't the end") */
.d10Steps { margin: 32px 0 0; padding: 8px 24px; background: var(--d10-panel); border: 1px solid var(--d10-line); }
.d10Steps div { padding: 16px 0; }
.d10Steps div + div { border-top: 1px solid var(--d10-line); }
.d10Steps b { display: block; font: 500 16px/22px var(--d10-sans); color: var(--d10-ink); }
.d10Steps p { margin: 4px 0 0 !important; color: #32404f; }

/* ── narrow screens ── */
@media (max-width: 1180px) {
  .d10Side { display: none; }
  .d10Bar { position: fixed; left: 0; right: 0; top: var(--hdr-h, 84px); z-index: 3000; height: 4px; background: rgba(152, 159, 167, .35); }
  .d10Bar span { display: block; height: 100%; background: var(--d10-green); transform-origin: 0 50%; transform: scaleX(var(--d10p, 0)); }
}
@media (min-width: 1181px) { .d10Bar { display: none; } }
@media (max-width: 640px) {
  .d10Page { padding-top: calc(var(--hdr-h, 68px) + 28px); }
  .d10Title { margin-top: 24px; font-size: 48px; line-height: 52px; }
  .d10Lead { margin-top: 24px; font-size: 19px; line-height: 25px; }
  .d10Meta { margin-top: 40px; gap: 14px 32px; }
  .d10Body h2 { padding-top: 44px; font-size: 26px; line-height: 30px; }
  .d10Body h3 { font-size: 21px; line-height: 26px; }
  .d10Fig { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .d10Back, .d10Nav a { transition: none; } }

/* ── extra blocks used by the Metle + Findit case studies (same look, same file) ── */
/* points side by side (e.g. "What they do well / What they miss", "Find / Compare / Choose") */
.d10Cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 20px 28px; margin: 24px 0 0; }
.d10Cols > div { padding-top: 14px; border-top: 2px solid var(--d10-green); }
.d10Cols b { display: block; font: 500 17px/22px var(--d10-sans); color: var(--d10-ink); }
.d10Cols p { margin: 6px 0 0 !important; color: #32404f; }
/* assumption → what happened → change */
.d10Def { display: grid; grid-template-columns: minmax(110px, 150px) 1fr; gap: 0; margin: 20px 0 0; border-top: 1px solid var(--d10-line); }
.d10Def dt, .d10Def dd { margin: 0; padding: 12px 0; border-bottom: 1px solid var(--d10-line); }
.d10Def dt { font: 500 14px/22px var(--d10-sans); color: var(--d10-muted); padding-right: 16px; }
.d10Def dd { color: var(--d10-body); }
/* a small detail line, e.g. "5 participants · moderated test" */
.d10Note { margin: 24px 0 0 !important; font: 400 14px/20px var(--d10-sans); color: var(--d10-muted); }
/* brand block: wordmark + colour swatches */
.d10Brand { display: flex; align-items: center; gap: 24px 32px; flex-wrap: wrap; margin: 32px 0 0; padding: 28px; border: 1px solid var(--d10-line); background: var(--d10-panel); }
.d10Brand__mark { font: 800 44px/1 var(--d10-sans); letter-spacing: -.03em; color: var(--d10-ink); }
.d10Brand__sw { display: flex; flex-wrap: wrap; gap: 8px; }
.d10Brand__sw span { display: grid; place-items: end start; width: 92px; height: 72px; padding: 8px; font: 500 12px/1 var(--d10-sans); color: #fff; }
@media (max-width: 640px) { .d10Def { grid-template-columns: 1fr; } .d10Def dt { border-bottom: 0; padding-bottom: 0; } }
.d10Hero--natural img { aspect-ratio: auto; height: auto; object-fit: contain; }
