/* Shortlist presentation — 16:9 slides that scale to any screen, print one slide per page. */
:root { --bg: #111210; --panel: #191a17; --ink: #f1ede6; --muted: #9a958d; --accent: #79bb9b; --accent-fill: #0f5c43; --line: rgba(241,237,230,.14);
	--display: "Jost", "Futura", "Century Gothic", sans-serif; --body: "Inter", system-ui, sans-serif; --mono: "Jost", "Futura", sans-serif; }
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; background: #000; color: var(--ink); font-family: var(--body); -webkit-font-smoothing: antialiased; }
body { overflow: hidden; }

.deck { position: fixed; inset: 0 0 68px; display: grid; place-items: center; }
html:fullscreen .deck { bottom: 0; }
html:fullscreen .slide { width: min(100vw, 177.78vh); }
.slide {
	position: absolute; width: min(100vw, calc((100vh - 68px) * 1.7778)); aspect-ratio: 16 / 9; overflow: hidden; background: var(--bg);
	container-type: inline-size; opacity: 0; visibility: hidden; transition: opacity .45s ease, visibility 0s .45s;
}
.slide.is-on { opacity: 1; visibility: visible; transition: opacity .45s ease; z-index: 1; }
.slide__inner { position: absolute; inset: 0; padding: 5cqw 5.5cqw; }
.slide__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.1) 35%, rgba(0,0,0,.82) 78%, rgba(0,0,0,.92)); }
.slide__foot { position: absolute; left: 5.5cqw; right: 5.5cqw; bottom: 2.2cqw; display: flex; align-items: center; gap: 2cqw; font: 500 .85cqw/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); border-top: 1px solid var(--line); padding-top: 1.2cqw; }
.slide__foot span:first-child { flex: 1; }
.slide__foot .mark { height: 1.5cqw; }
.mark { width: auto; display: block; opacity: .75; }
.slide--vehicle .slide__foot { left: 65cqw; right: 3.5cqw; bottom: 2.4cqw; padding-top: 1cqw; }
.slide--vehicle .slide__foot span:nth-child(2) { display: none; }
.slide__foot span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eyebrow { font: 500 1cqw/1 var(--mono); letter-spacing: .2em; text-transform: uppercase; color: var(--accent); margin: 0 0 1.4cqw; }
.brand img { height: 3cqw; width: auto; display: block; }
.brand span { font: 500 1.04cqw/1 var(--display); letter-spacing: .14em; text-transform: uppercase; }

/* Cover */
.cover__bg { position: absolute; top: 0; right: 0; bottom: 0; width: 58cqw; display: grid; gap: .3cqw; padding: 2.6cqw 2.6cqw 2.6cqw 0; }
.cover__bg--2 { grid-template-columns: 1fr 1fr; }
.cover__bg--3 { grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; }
.cover__bg--3 > :first-child { grid-row: span 2; }
.cover__bg > div { background-size: cover; background-position: center; border-radius: .3cqw; }
.cover__bg--0 { display: none; }
.slide--cover .slide__shade { display: none; }
.cover__inner { right: 58cqw; display: flex; flex-direction: column; justify-content: space-between; }
.cover__company { margin: 0; font: 500 1.05cqw/1.2 var(--display); letter-spacing: .2em; text-transform: uppercase; color: var(--ink); min-height: 1.2cqw; }
.cover__text h1 { font: 500 4.2cqw/1.04 var(--display); text-transform: uppercase; margin: 0; max-width: 16ch; letter-spacing: .02em; text-wrap: balance; }
.cover__sub { margin: 1.2cqw 0 0; font: 500 1.6cqw/1.2 var(--display); letter-spacing: .08em; text-transform: uppercase; color: #d8d3cb; }
.cover__label { margin: 2.4cqw 0 0; padding-top: 1.4cqw; border-top: 1px solid var(--line); font-size: 1.3cqw; color: var(--muted); max-width: 24cqw; }
.cover__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 2cqw; }
.cover__foot .mark { height: 2.4cqw; }
.cover__meta { display: grid; gap: .7cqw; margin: 0; font-size: 1.15cqw; }
.cover__meta div { display: grid; grid-template-columns: 9cqw 1fr; gap: 1cqw; }
.cover__meta dt { color: var(--muted); font: 500 .85cqw/1.6 var(--mono); letter-spacing: .14em; text-transform: uppercase; }
.cover__meta dd { margin: 0; color: var(--ink); }

/* Character section */
.section__inner { display: grid; grid-template-rows: auto 1fr; gap: 3cqw; padding-bottom: 8cqw; }
.section__text h2 { font: 500 4.59cqw/1.04 var(--display); text-transform: uppercase; margin: 0; letter-spacing: .03em; }
.section__note { font-size: 1.7cqw; line-height: 1.4; color: #cfcac2; margin: 1.4cqw 0 0; max-width: 60ch; }
.section__count { font: 500 1cqw/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin: 1.6cqw 0 0; }
.section__thumbs { display: grid; gap: 1.4cqw; align-self: end; }
.section__thumbs--1 { grid-template-columns: 30cqw; }
.section__thumbs--2 { grid-template-columns: repeat(2, 30cqw); }
.section__thumbs--3 { grid-template-columns: repeat(3, 1fr); }
.section__thumbs--4 { grid-template-columns: repeat(4, 1fr); }
.section__thumbs figure { margin: 0; }
.section__thumbs .thumb { aspect-ratio: 4/3; background: var(--panel) center / cover; border-radius: .25cqw; }
.section__thumbs figcaption { margin-top: .9cqw; font-size: 1.15cqw; line-height: 1.3; color: var(--ink); }
.section__thumbs b { color: var(--accent); font-family: var(--mono); margin-right: .5cqw; }

/* Vehicle */
.vehicle__media { position: absolute; left: 0; top: 0; bottom: 0; width: 61.5cqw; display: flex; flex-direction: column; gap: .6cqw; padding: 2.4cqw 0 2.4cqw 2.4cqw; }
.vehicle__hero { position: relative; flex: 1; min-height: 0; background: var(--panel) center 55% / cover; border-radius: .3cqw; }
.vehicle__hero--none { display: grid; place-items: center; color: var(--muted); font: 500 1.1cqw var(--mono); letter-spacing: .14em; text-transform: uppercase;
	background: repeating-linear-gradient(135deg, transparent 0 1.6cqw, rgba(255,255,255,.025) 1.6cqw calc(1.6cqw + 1px)), var(--panel); }
.vehicle__strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .6cqw; height: 9.4cqw; flex: none; }
.vehicle__strip div { background: var(--panel) center / cover; border-radius: .25cqw; }
.vehicle__panel { position: absolute; left: 61.5cqw; right: 0; top: 0; bottom: 0; padding: 4.4cqw 3.5cqw 5.4cqw 3.5cqw; display: flex; flex-direction: column; }
.vehicle__year { font: 600 2.6cqw/1 var(--mono); color: var(--muted); margin: 0 0 .6cqw; letter-spacing: .04em; }
.vehicle__panel h3 { font: 500 2.66cqw/1.04 var(--display); text-transform: uppercase; margin: 0 0 2.2cqw; text-wrap: balance; letter-spacing: .03em; }
.vehicle__eps { align-self: flex-start; margin: -1cqw 0 2cqw; padding: .55cqw .9cqw; border: 1px solid rgba(121,187,155,.4); border-radius: .25cqw; font: 500 .95cqw/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--accent); }
.vehicle__specs { margin: 0; display: grid; }
.vehicle__specs div { display: grid; grid-template-columns: 11cqw 1fr; gap: 1cqw; padding: .85cqw 0; border-top: 1px solid var(--line); font-size: 1.15cqw; }
.vehicle__specs dt { color: var(--muted); }
.vehicle__specs dd { margin: 0; }
.vehicle__note { margin-top: 2cqw; padding: 1.2cqw 1.4cqw; border-left: .3cqw solid var(--accent); background: rgba(15,92,67,.07); }
.vehicle__note span { display: block; font: 500 .85cqw/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--accent); margin-bottom: .7cqw; }
.vehicle__note p { margin: 0; font-size: 1.3cqw; line-height: 1.4; }


/* Summary */
.slide--summary { background: radial-gradient(90% 120% at 100% 100%, rgba(15,92,67,.12), transparent 60%), var(--bg); }
.summary__inner { padding-bottom: 7cqw; }
.summary__inner h2 { font: 500 3.6cqw/1.04 var(--display); text-transform: uppercase; margin: 0 0 2.6cqw; letter-spacing: .03em; }
.summary__grid { display: grid; gap: 2cqw 3cqw; grid-template-columns: repeat(3, 1fr); align-content: start; }
.summary__grid--1 { grid-template-columns: 1fr; max-width: 50cqw; }
.summary__grid--2 { grid-template-columns: 1fr 1fr; }
.summary__group h4 { margin: 0 0 .9cqw; padding-bottom: .8cqw; border-bottom: 1px solid var(--line); font: 500 1.35cqw/1.1 var(--display); letter-spacing: .06em; text-transform: uppercase; }
.summary__group ol { list-style: none; margin: 0; padding: 0; display: grid; gap: .7cqw; }
.summary__group li { display: grid; grid-template-columns: 1.8cqw 1fr; font-size: 1.1cqw; line-height: 1.3; }
.summary__group b { color: var(--accent); font-family: var(--mono); }
.summary__group em { display: block; font-style: normal; color: var(--muted); font-size: .9cqw; margin-top: .2cqw; }

/* Controls */
.controls { position: fixed; z-index: 10; left: 50%; bottom: 16px; transform: translateX(-50%); display: flex; align-items: center; gap: 2px; padding: 5px; border-radius: 999px; background: rgba(20,20,22,.88); backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,.1); transition: opacity .3s, transform .3s; font-size: 13px; }
.controls button, .controls a { height: 34px; min-width: 34px; padding: 0 12px; border: 0; border-radius: 999px; background: transparent; color: var(--ink); font: 500 13px var(--body); cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.controls button:hover, .controls a:hover { background: rgba(255,255,255,.1); }
.controls [data-prev], .controls [data-next] { font-size: 22px; padding: 0 10px; }
.controls [data-pptx] { background: var(--accent-fill); color: #f4f1ea; font-weight: 600; }
.controls [data-pptx]:hover { background: #167553; }
.controls__n { padding: 0 8px; font: 500 12px var(--mono); color: var(--muted); }
.controls__n b { color: var(--ink); font-weight: 500; }
.controls__sep { width: 1px; height: 20px; background: rgba(255,255,255,.14); margin: 0 4px; }
@media (max-width: 700px) { .controls em { display: none; } .controls { bottom: 10px; } }
body.is-idle .controls { opacity: 0; transform: translate(-50%, 10px); }
body.is-idle { cursor: none; }

/* Overview grid */
body.is-grid { overflow: auto; }
.deck.is-grid { position: static; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; padding: 24px 24px 90px; place-items: stretch; }
.deck.is-grid .slide { position: relative; width: 100%; opacity: 1; visibility: visible; cursor: pointer; outline: 1px solid rgba(255,255,255,.08); transition: outline-color .15s; }
.deck.is-grid .slide:hover { outline-color: var(--accent); }
.deck.is-grid .slide.is-on { outline: 2px solid var(--accent); }

/* Print / PDF: one slide per landscape page */
@media print {
	@page { size: 13.333in 7.5in; margin: 0; }
	html, body { background: var(--bg); overflow: visible; height: auto; }
	.controls { display: none !important; }
	.deck { position: static; display: block; }
	.slide { position: relative; width: 13.333in; height: 7.5in; aspect-ratio: auto; opacity: 1; visibility: visible; page-break-after: always; break-after: page; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
	.slide:last-child { page-break-after: auto; break-after: auto; }
}

.sil { width: 55%; height: auto; color: rgba(236,232,222,.14); display: block; margin: 0 auto; }
.vehicle__hero--none { display: grid; place-content: center; justify-items: center; gap: 1.4cqw; }
.section__thumbs .thumb { display: grid; place-items: center; }

.summary__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 2cqw; margin-bottom: 2.6cqw; }
.summary__head h2 { margin: 0 !important; }
.summary__dl { padding: .9cqw 1.6cqw; border: 1px solid rgba(121,187,155,.45); border-radius: .3cqw; background: transparent; color: var(--accent); font: 500 1cqw/1 var(--body); cursor: pointer; }
.summary__dl:hover { background: rgba(15,92,67,.3); color: var(--ink); }
.controls [data-photos] { border: 1px solid rgba(255,255,255,.18); }
@media print { .summary__dl { display: none; } }
