/* Presentation-only rules. Header, navigation, fonts and footer use the shared theme. */
:root{--header-height:76px;--footer-height:68px;scroll-padding-top:var(--header-height)}
.presentation-page{padding-bottom:calc(var(--footer-height) + 3px)}
.presentation-page.presentation-sources{padding-bottom:0}
.vis-presentation{--paper:var(--stafra-canvas);--ink:var(--stafra-text);--muted:#5f5a50;--line:var(--stafra-border-strong);--accent:var(--stafra-action);color:var(--ink)}
.vis-presentation .presentation-context{width:min(calc(100% - 6rem),var(--stafra-max-width));margin:0 auto;padding:22px 0;display:flex;gap:24px;justify-content:space-between;border-bottom:1px solid var(--stafra-border-subtle);font-size:14px;color:var(--muted)}
.vis-presentation .presentation-context a{color:inherit}
.vis-presentation .slide{width:min(calc(100% - 6rem),var(--stafra-max-width));margin-inline:auto;min-height:calc(100dvh - var(--header-height) - var(--footer-height) - 3px);padding:40px 0;display:grid;grid-template-columns:.85fr 1.25fr;gap:clamp(32px,4vw,70px);align-items:center;border-bottom:1px solid var(--line);scroll-margin-top:var(--header-height)}
.vis-presentation .copy{min-width:0;max-width:660px}
.vis-presentation .eyebrow{margin:0 0 22px;font-size:13px;letter-spacing:.13em;line-height:1.5;text-transform:uppercase;font-weight:600;color:var(--muted)}
.vis-presentation h1,.vis-presentation h2{font-family:var(--stafra-display);letter-spacing:-.035em;font-weight:400;line-height:1.08;margin:0 0 28px;text-wrap:balance}
.vis-presentation h1{font-size:clamp(46px,4.5vw,76px)}
.vis-presentation h2{font-size:clamp(36px,3.4vw,56px)}
.vis-presentation .lead{font-size:clamp(22px,1.8vw,29px);line-height:1.45;margin:0 0 24px}
.vis-presentation .body,.vis-presentation .points{font-size:clamp(19px,1.4vw,23px);line-height:1.6;margin:0;color:var(--muted)}
.vis-presentation .points{padding-left:1.1em}
.vis-presentation .points li+li{margin-top:16px}
.vis-presentation .aside{border-left:2px solid var(--accent);padding-left:18px;font-size:18px;line-height:1.5;margin:26px 0 0;color:var(--muted)}
.vis-presentation figure{margin:0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:12px}
.vis-presentation .image-button{display:block;padding:0;background:none;border:0;width:100%;line-height:0;cursor:zoom-in}
.vis-presentation .image-button img{display:block;width:100%;height:auto;max-height:calc(100dvh - var(--header-height) - var(--footer-height) - 160px);object-fit:contain;border:1px solid var(--stafra-border-subtle)}
.vis-presentation figcaption{width:100%;font-size:14px;line-height:1.45;color:var(--muted)}
.vis-presentation .credit{display:block;font-size:12px;margin-top:5px}
.vis-presentation .portrait{grid-template-columns:1.15fr .85fr}
.vis-presentation .portrait .image-button{width:auto;max-width:100%}
.vis-presentation .portrait .image-button img{width:auto;max-width:100%;max-height:min(610px,calc(100dvh - var(--header-height) - var(--footer-height) - 180px))}
.vis-presentation .portrait figcaption{text-align:center}
.vis-presentation .cover .body{max-width:34ch}
.vis-presentation .editorial,.vis-presentation .closing{display:block;padding-block:72px}
.vis-presentation .editorial .copy,.vis-presentation .closing .copy{max-width:none}
.vis-presentation .editorial h2,.vis-presentation .closing h2{max-width:23ch}
.vis-presentation .editorial .lead,.vis-presentation .closing .lead{max-width:65ch}
.vis-presentation .rows{margin-top:40px}
.vis-presentation .row{display:grid;grid-template-columns:42px minmax(180px,250px) 1fr;gap:30px;padding:24px 0;border-top:1px solid var(--line);align-items:start}
.vis-presentation .row-number{font-size:25px;color:var(--accent)}
.vis-presentation .row h3{font:500 25px/1.3 var(--stafra-sans);letter-spacing:0;margin:0}
.vis-presentation .row p{font-size:22px;line-height:1.5;margin:0;max-width:60ch;color:var(--muted)}
.vis-presentation .closing{background:var(--stafra-action);color:var(--stafra-surface);padding-inline:clamp(28px,4vw,64px);border-bottom:0;margin-block:48px}
.vis-presentation .closing .eyebrow,.vis-presentation .closing .row-number{color:var(--stafra-surface)}
.vis-presentation .closing .row{border-color:#faf7ef55}
.vis-presentation .closing .row p{color:#e2ded2}
.vis-presentation .closing-text{font-family:var(--stafra-display);font-size:27px;line-height:1.4;max-width:55ch;margin:34px 0 0}
.vis-presentation .toolbar{position:fixed;inset:auto 0 3px;z-index:15;min-height:65px;padding:7px max(3rem,calc((100vw - var(--stafra-max-width))/2));display:flex;gap:24px;align-items:center;border-top:1px solid var(--line);background:var(--paper)}
.vis-presentation .navigation{display:flex;gap:14px;align-items:center;white-space:nowrap}
.vis-presentation .toolbar button,.vis-presentation .toolbar a{color:var(--accent);background:none;border:0;padding:8px;font-size:16px;line-height:1.4;text-decoration:none}
.vis-presentation .toolbar button:hover:not(:disabled),.vis-presentation .toolbar a:hover{background:var(--stafra-border-subtle)}
.vis-presentation .navigation button{font-size:28px;min-width:40px}
.vis-presentation #counter{font-variant-numeric:tabular-nums;font-size:14px;color:var(--muted)}
.vis-presentation #jump{font:inherit;font-size:16px;color:var(--ink);border:0;background:transparent;padding:10px;max-width:300px;cursor:pointer}
.vis-presentation .tools{margin-left:auto;display:flex;gap:8px;align-items:center}
.vis-presentation .progress{position:fixed;inset:auto 0 0;height:3px;background:var(--stafra-border-subtle);z-index:16}
.vis-presentation .progress span{display:block;height:100%;background:var(--accent);transition:width .2s}
.vis-presentation dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:40px;max-width:min(780px,90vw);max-height:88dvh;overflow:auto;box-shadow:var(--stafra-shadow)}
.vis-presentation dialog::backdrop{background:#24231fcc}
.vis-presentation dialog h2{font-size:34px;margin-right:20px}
.vis-presentation #notes-copy{font-size:21px;line-height:1.6;overflow-wrap:anywhere}
.vis-presentation .dialog-close{position:absolute;right:12px;top:8px;background:var(--paper);color:var(--ink);border:1px solid var(--line);font-size:28px;width:40px;height:40px;border-radius:50%;z-index:1;line-height:1}
.vis-presentation .notes-help{font-size:15px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px}
.vis-presentation #image-dialog{max-width:96vw;width:fit-content;padding:24px;max-height:96dvh}
.vis-presentation #expanded-image{display:block;max-width:calc(96vw - 48px);width:auto;max-height:calc(96dvh - 110px);object-fit:contain}
.vis-presentation #expanded-caption{font-size:14px;margin:12px 0 0;max-width:90vw}
.vis-presentation .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.presentation-page .site-footer{border-top:1px solid var(--stafra-border-strong)}
.vis-presentation .source-notes{max-width:900px;margin:0 auto;padding:64px 24px;font-size:21px;line-height:1.65;overflow-wrap:anywhere}
.vis-presentation .source-notes h2{margin-top:44px;font-size:34px}
.vis-presentation .source-notes li+li{margin-top:18px}
@media(max-width:1000px){.vis-presentation .toolbar{gap:10px}.vis-presentation #jump{max-width:220px}.vis-presentation .tools{gap:0}.vis-presentation .toolbar button,.vis-presentation .toolbar a{font-size:15px}.vis-presentation .navigation button{font-size:25px}.vis-presentation .row{gap:22px;grid-template-columns:35px 210px 1fr}}
@media(max-width:900px){
  :root{--footer-height:100px}
  .vis-presentation .presentation-context,.vis-presentation .slide{width:calc(100% - 3rem)}
  .vis-presentation .presentation-context{gap:12px;font-size:13px;align-items:center}.vis-presentation .presentation-context span{max-width:24ch;text-align:right}
  .vis-presentation .slide,.vis-presentation .portrait{min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:36px;padding-block:48px}
  .vis-presentation h1{font-size:clamp(43px,7.5vw,64px)}.vis-presentation h2{font-size:clamp(35px,6vw,48px)}
  .vis-presentation .lead{font-size:24px}.vis-presentation .body,.vis-presentation .points{font-size:21px}
  .vis-presentation .image-button img{max-height:65dvh}
  .vis-presentation .portrait .image-button{align-self:center}.vis-presentation .portrait .image-button img{max-height:580px}
  .vis-presentation .row{grid-template-columns:30px 1fr;gap:8px 18px}.vis-presentation .row p{grid-column:2;font-size:20px}.vis-presentation .row h3{font-size:23px}
  .vis-presentation .toolbar{padding:5px 18px;flex-wrap:wrap;gap:0 10px}.vis-presentation .jump-label{flex:1;min-width:0}.vis-presentation #jump{width:100%;max-width:none}.vis-presentation .tools{width:100%;justify-content:flex-end}
  .vis-presentation .toolbar button,.vis-presentation .toolbar a{min-height:42px;padding:10px;font-size:16px}.vis-presentation .navigation button{font-size:26px}
  .vis-presentation .closing{padding-inline:24px;margin-block:24px}.vis-presentation .closing-text{font-size:25px}
  .vis-presentation dialog{padding:40px 24px 24px}.vis-presentation dialog h2{font-size:29px}
}
@media(max-width:600px){.vis-presentation .presentation-context,.vis-presentation .slide{width:calc(100% - 2rem)}.vis-presentation .slide{padding-block:36px}.vis-presentation .eyebrow{font-size:12px}.vis-presentation figcaption{font-size:13px}.vis-presentation .toolbar{padding-inline:10px}.vis-presentation .navigation{gap:8px}.vis-presentation .tools{justify-content:space-between}.vis-presentation .toolbar button,.vis-presentation .toolbar a{padding:10px 8px}.vis-presentation .source-notes{padding:40px 16px}}
@media(prefers-reduced-motion:reduce){.vis-presentation .progress span{transition:none}}
@page{size:A4 landscape;margin:0}
@media print{
  .presentation-page{padding:0;background:#fff}.presentation-page .site-header,.presentation-page .site-footer,.vis-presentation .presentation-context,.vis-presentation .toolbar,.vis-presentation .progress,.vis-presentation dialog{display:none!important}
  .vis-presentation .slide{display:grid!important;width:297mm;height:209mm;min-height:0;margin:0;padding:14mm;grid-template-columns:.85fr 1.25fr;gap:10mm;border:0;break-after:page;page-break-after:always;overflow:hidden;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .vis-presentation .slide:last-child{break-after:auto;page-break-after:auto}.vis-presentation h1{font-size:36pt}.vis-presentation h2{font-size:28pt}.vis-presentation .lead{font-size:17pt}.vis-presentation .body,.vis-presentation .points{font-size:14pt}.vis-presentation .aside{font-size:12pt}.vis-presentation .image-button img{max-height:170mm}.vis-presentation .portrait{grid-template-columns:1.2fr .8fr}.vis-presentation .portrait .image-button img{max-height:155mm}.vis-presentation .editorial,.vis-presentation .closing{display:block!important}.vis-presentation .row{grid-template-columns:10mm 60mm 1fr;padding:6mm 0}.vis-presentation .row h3{font-size:16pt}.vis-presentation .row p{font-size:14pt}.vis-presentation .closing-text{font-size:18pt}.vis-presentation figcaption{font-size:10pt}
}
