/* LUMA photo essay. Natural image proportions; visual rhythm without scroll locking. */
.impressions,.impressions-teaser{background:var(--paper);color:var(--ink)}
.impressions-hero{max-width:1680px;margin:auto;padding:140px var(--pad) 96px;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,7vw,112px);align-items:center}
.impressions-intro{min-width:0}
.impressions-intro h1{font-size:clamp(54px,6.7vw,108px);margin:28px 0}
.impressions-lead{max-width:31ch;font-size:clamp(16px,1.5vw,20px);line-height:1.65}
.impressions-chapters{margin-top:40px;display:grid;max-width:360px}
.impressions-chapters a{display:flex;gap:28px;align-items:center;min-height:48px;padding:12px 0;border-top:1px solid var(--line);font-size:14px}
.impressions-chapters a span{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.impressions-chapters a:hover{color:var(--bordeaux)}
.impressions-hint{font-size:12px;line-height:1.6;color:var(--muted);margin-top:22px;max-width:34ch}
.impression{margin:0;min-width:0}
.impression .history-image{overflow:hidden;border-radius:4px}
.impression img{width:100%;height:auto}
.impression figcaption{display:flex;gap:20px;margin-top:12px;font-size:12px;line-height:1.6;color:var(--muted)}
.impression figcaption>span:first-child{font-variant-numeric:tabular-nums}
.impression figcaption>span:last-child{margin-left:auto}
.impressions-cover{width:100%;max-width:550px;justify-self:end} /* definite width: no jump when the cover image arrives */
.impressions-cover img{aspect-ratio:3/4;object-fit:cover;object-position:50% 40%}
.impressions-chapter{padding:64px var(--pad) 104px;max-width:1680px;margin:auto;scroll-margin-top:96px}
.impressions-heading{display:grid;grid-template-columns:1fr 2fr;gap:24px;align-items:start;border-top:1px solid var(--line);padding-top:24px;margin-bottom:56px}
.impressions-heading .eyebrow{padding-top:8px}
.impressions-heading h2{font-size:clamp(38px,4.6vw,72px)}
.impressions-heading>p:not(.eyebrow){grid-column:2;max-width:40ch;color:var(--muted);font-size:16px}
.impressions-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(24px,4vw,64px);align-items:start}
.impression-major{grid-column:1/8;position:sticky;top:110px}
.impressions-stack{grid-column:9/-1;display:grid;gap:56px}
.impression-wide{grid-column:1/9}
.impression-small{grid-column:9/-1;margin-top:20%}
.impression-half{grid-column:span 6}
.impression-offset{margin-top:22%}
.impressions-bar{padding-inline:5%}
.impressions-end{background:var(--bordeaux);color:var(--bordeaux-ink);padding:100px var(--pad);text-align:center}
.impressions-end h2{font-size:clamp(40px,5.5vw,84px);margin:28px auto 36px}
.impressions-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.impressions-end .btn.ghost{border-color:currentColor}
.impressions-teaser{padding:32px var(--pad) 100px}
.impressions-teaser-inner{max-width:1440px;margin:auto}
.impressions-teaser-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}
.impressions-teaser h2{font-size:clamp(36px,4.3vw,68px);margin-top:18px}
.impressions-teaser-head .btn{flex:none}
.impressions-preview{display:grid;grid-template-columns:1.2fr 1fr .85fr;gap:24px;align-items:start}
.impressions-preview figure{margin:0}
.impressions-preview img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:4px}
.impressions-preview figure:nth-child(2){padding-top:48px}
.impressions-preview figure:nth-child(3){padding-top:96px}
.impressions-preview figcaption{font-size:12px;margin-top:12px;color:var(--muted)}
@media(prefers-reduced-motion:no-preference){
  .impression .history-image img{transition:transform 350ms ease-out}
  .impression .history-image:hover img{transform:scale(1.018)}
}
@media(prefers-reduced-motion:reduce){.impression-major{position:static}}
@media(max-height:850px){.impression-major{position:static}}
html[data-appearance="dark"] :is(.impressions,.impressions-teaser){background:var(--night);color:var(--paper);--muted:#d1c5cc;--line:rgba(243,240,233,.22)}
html[data-appearance="dark"] .impressions .history-image{color:var(--paper)}
html[data-appearance="dark"] .impressions-chapters a:hover{color:#dbc0c6}
html[data-appearance="dark"] .impressions-teaser .btn{background:var(--paper);color:var(--ink)}
@media(max-width:719px){
  .impressions-hero{padding:112px var(--pad) 56px;grid-template-columns:1fr;gap:36px}
  .impressions-intro h1{font-size:clamp(46px,12vw,80px);margin:22px 0}
  .impressions-chapters{margin-top:28px;max-width:none}
  .impressions-cover{max-width:none;justify-self:stretch}
  .impressions-cover img{aspect-ratio:auto 1280/1917} /* natural ratio, reserved before load (no layout shift) */
  .impressions-chapter{padding:32px var(--pad) 64px}
  .impressions-heading{grid-template-columns:1fr;gap:18px;margin-bottom:28px}
  .impressions-heading>p:not(.eyebrow){grid-column:1}
  .impressions-grid{grid-template-columns:1fr;gap:32px}
  .impression-major,.impressions-stack,.impression-wide,.impression-small,.impression-half{grid-column:1;position:static;margin-top:0}
  .impressions-stack{gap:32px}
  .impression-offset{margin-top:0}
  .impressions-bar{padding:0}
  .impressions-end{padding:64px var(--pad)}
  .impressions-actions{flex-direction:column}
  .impressions-teaser{padding:24px var(--pad) 64px}
  .impressions-teaser-head{display:block}
  .impressions-teaser-head .btn{margin-top:24px}
  .impressions-preview{grid-template-columns:1fr 1fr;gap:16px}
  .impressions-preview figure:first-child{grid-column:1/-1}
  .impressions-preview figure:first-child img{aspect-ratio:4/3;object-position:50% 35%}
  .impressions-preview figure:nth-child(n+2){padding-top:0}
  .impression figcaption{gap:12px}
}
@media(forced-colors:active){.impressions a:focus-visible{outline-color:Highlight}}
