/* ============ Works page ============ */
.wk-hero { padding: 150px 0 60px; }
.wk-title { font: 700 clamp(3rem, 8vw, 7.2rem)/1.3 var(--display); margin-bottom: 22px; }
.wk-title .accent { color: var(--ochre); }
.results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: clamp(40px, 6vw, 70px); border-block: 1px solid var(--line); }
.res { display: grid; gap: 8px; align-content: start; padding: 28px 24px; }
.res + .res { border-right: 1px solid var(--line); }
.res strong { font: 700 clamp(3rem, 6vw, 5rem)/1 var(--display); color: var(--ochre); }
.res strong.res-ltr { font-family: var(--text); font-weight: 700; text-align: right; }
.res span { color: var(--muted); max-width: 26ch; }

.wk-list { padding: 40px 0 var(--sec); }
.filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 26px; }
.chip { display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; border-radius: 99px; border: 1px solid var(--line); background: transparent; color: var(--ink); font: 600 .95rem var(--text); cursor: pointer; transition: background-color .3s, color .3s, border-color .3s; }
.chip i { font-style: normal; font-size: .8rem; color: var(--muted); }
.chip:hover { border-color: rgba(27, 26, 23, .4); }
.chip.is-on { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.chip.is-on i { color: var(--sand); }

/* list rows: name | decision (+ tags) | result */
.page-works .work-row { grid-template-columns: minmax(180px, .8fr) minmax(0, 1.5fr) minmax(150px, .6fr); grid-template-areas: "name desc metric" "name tags metric"; row-gap: 14px; }
.page-works .w-thumb { grid-area: thumb; }
.page-works .w-name { grid-area: name; display: grid; gap: 4px; align-content: start; }
.page-works .w-name small { font: 600 .85rem var(--text); color: var(--muted); }
.page-works .w-desc { grid-area: desc; }
.page-works .w-tags { grid-area: tags; display: flex; flex-wrap: wrap; gap: 6px; }
.page-works .w-tags i { font-size: .8rem; padding: 3px 12px; border-radius: 99px; background: var(--paper-2); }
.w-metric { grid-area: metric; display: grid; gap: 4px; align-content: start; text-align: left; }
.w-metric b { font: 700 clamp(2rem, 3vw, 2.8rem)/1 var(--display); color: var(--ochre); }
.w-metric b[dir="ltr"] { font-family: var(--text); }
.w-metric small { font-size: .85rem; color: var(--muted); }

@media (max-width: 900px) {
	.wk-hero { padding: 120px 0 40px; }
	.results { grid-template-columns: 1fr; }
	.res + .res { border-right: 0; border-top: 1px solid var(--line); }
	.res { padding: 22px 4px; }
	.page-works .work-row { grid-template-columns: 1fr; grid-template-areas: "thumb" "name" "metric" "desc" "tags"; }
	.w-metric { text-align: right; padding-inline: 20px; display: flex; align-items: baseline; gap: 10px; }
}

.js .wk-title, .js .wk-hero .lead, .js .results { visibility: hidden; }

/* ============ Hero visual: a deck of real project screenshots ============ */
.wk-top { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(30px, 5vw, 70px); align-items: center; }
.deck { position: relative; justify-self: center; width: min(420px, 100%); aspect-ratio: 5 / 4.4; }
.dk-card { position: absolute; inset: 8% 0 0 8%; display: grid; grid-template-rows: auto 1fr auto; border-radius: 16px; overflow: hidden; background: var(--card); box-shadow: 0 40px 70px -40px rgba(27, 26, 23, .6), 0 0 0 1px var(--line); transform-origin: 50% 100%; }
.dk-bar { display: flex; gap: 6px; padding: 10px 14px; background: var(--paper); border-bottom: 1px solid var(--line); }
.dk-bar i { width: 9px; height: 9px; border-radius: 50%; background: var(--sand); }
.dk-shot { overflow: hidden; }
.dk-shot img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.dk-cap { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 12px 16px; border-top: 1px solid var(--line); }
.dk-cap span { font: 700 1.15rem var(--display); }
.dk-cap b { font: 700 1.3rem var(--display); color: var(--ochre); }
.dk-cap b[dir="ltr"] { font-family: var(--text); }

@media (max-width: 900px) {
	.wk-top { grid-template-columns: minmax(0, 1fr); }
	.deck { width: min(360px, 88%); margin-top: 10px; }
}
.js .deck { visibility: hidden; }

/* title sized to sit beside the hero visual */
.wk-title { font-size: clamp(2.8rem, 4.9vw, 5.2rem); }

.wk-hero { overflow: clip; }
