.breadcrumb {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  padding-block:28px 18px;
  font-size:13px;
  color:var(--muted);
}
.breadcrumb a:hover { color:var(--accent); }
.case-lead {
  max-width:600px;
  margin-top:26px;
  font-size:18px;
  line-height:1.8;
  color:var(--muted);
}
.case-text-link {
  display:inline-flex;
  align-items:center;
  gap:16px;
  margin-top:28px;
  color:var(--accent);
  font-size:14px;
  font-weight:650;
}
.case-text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.case-contents {
  display:flex;
  flex-wrap:wrap;
  gap:18px 36px;
  padding-block:22px;
  border-block:1px solid var(--line);
  font-size:13px;
}
.case-contents a { display:flex; gap:10px; padding-block:4px; }
.case-contents span { color:var(--accent); font-size:11px; }
.case-contents a:hover { color:var(--accent); }
.case-section {
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:64px;
  padding-block:80px;
  border-bottom:1px solid var(--line);
}
.case-heading h2 { font-size:var(--fs-h2-side); line-height:1.2; }
.case-prose { min-width:0; color:var(--muted); line-height:1.85; }
.case-prose strong { color:var(--ink); }
.case-prose p+p { margin-top:22px; }
.case-prose .decisions { list-style:none; margin:0; padding:0; }
.case-prose p+.decisions { margin-top:26px; }
.case-prose .decisions+p { margin-top:26px; }
.case-prose .decisions li { padding:0 0 24px 20px; border-left:2px solid #edb373; }
.case-prose .decisions li+li { margin-top:20px; }
.case-prose .decisions li:last-child { padding-bottom:0; }
.case-figure { margin:42px 0 36px -344px; }
.screenshot-link { display:block; position:relative; border:1px solid var(--line); border-radius:var(--radius-sm); overflow:hidden; background:var(--paper); cursor:zoom-in; }
.screenshot-link img { width:100%; }
.screenshot-link:hover { border-color:var(--accent); }
.screenshot-link:focus-visible { outline-offset:4px; }
.image-action { display:block; padding:10px 16px; font-size:12px; font-weight:600; color:var(--accent); border-top:1px solid var(--line); }
.case-figure figcaption { margin:16px 0 0 344px; font-size:13px; line-height:1.8; color:var(--muted); }
.case-data-note { padding-block:30px 64px; font-size:12px; line-height:1.8; color:var(--muted); }
.case-data-note p { max-width:850px; }
.case-data-note p+p { margin-top:10px; }
.image-viewer {
  padding:0;
  width:calc(100% - 40px);
  height:calc(100% - 40px);
  max-width:1600px;
  max-height:calc(100% - 40px);
  border:1px solid #64727c;
  border-radius:var(--radius-sm);
  background:#18232c;
  color:white;
  overflow:hidden;
}
.image-viewer[open] { display:flex; flex-direction:column; }
.image-viewer::backdrop { background:#101a23db; }
.viewer-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:12px 18px; border-bottom:1px solid #ffffff26; }
.viewer-toolbar h2 { margin-right:auto; font-size:16px; }
.viewer-toolbar button { min-height:44px; background:#30434f; border:1px solid #61707b; color:white; border-radius:6px; padding:8px 14px; cursor:pointer; font-size:13px; }
.viewer-toolbar button:hover { background:#435966; }
.viewer-stage { flex:1; min-height:0; overflow:auto; display:flex; align-items:center; justify-content:center; padding:16px; }
.viewer-image { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.viewer-stage.is-zoomed { display:block; cursor:grab; }
.viewer-stage.is-zoomed .viewer-image { max-width:none; max-height:none; }
.viewer-stage.is-dragging { cursor:grabbing; }
.viewer-caption { padding:12px 18px; font-size:13px; line-height:1.5; color:#d4dde3; max-height:100px; overflow:auto; }
html.viewer-open { overflow:hidden; }
/* GeoStops presentation, scoped to keep the concept page unchanged. */
.geostops-page { --case-outset:344px; }
.geostops-page :is(h1,h2,h3) { text-wrap:balance; }
.geostops-page :is(p,li) { text-wrap:pretty; }
.geostops-page .case-section { padding-block:72px; }
.geostops-page .case-prose { line-height:1.8; }
.geostops-page .case-prose strong { font-weight:600; }
.geostops-options-band { background:var(--paper); }
.geostops-page :is(#opcje,#wybor) { grid-template-columns:minmax(0,1fr); gap:36px; }
.geostops-page #opcje { border-bottom:0; }
.geostops-page :is(#opcje,#wybor) .case-heading h2 { max-width:1000px; font-size:var(--fs-h2); line-height:1.15; }
.geostops-page .decisions { display:grid; gap:22px; }
.geostops-page #opcje .decisions { grid-template-columns:repeat(3,minmax(0,1fr)); }
.geostops-page #wybor .decisions { grid-template-columns:repeat(2,minmax(0,1fr)); margin-block:28px; }
.geostops-page .case-prose .decisions li { margin:0; padding:28px; border:1px solid var(--line); border-radius:var(--radius-sm); background:#fff; font-size:15px; }
.geostops-page #wybor .decisions li { background:var(--paper); }
.geostops-page .decisions h3 { margin:0 0 18px; max-width:460px; font:600 24px/1.3 var(--font-heading); color:var(--ink); }
.geostops-page .decisions p+p { margin-top:16px; }
.geostops-page #wybor .decision-notes { margin-top:40px; }
.geostops-page #wybor .decision-note { display:grid; grid-template-columns:minmax(0,280px) minmax(0,1fr); gap:32px; padding-top:28px; border-top:1px solid var(--line); }
.geostops-page #wybor .decision-note+.decision-note { margin-top:32px; }
.geostops-page #wybor .decision-note h3 { margin:0; color:var(--ink); font:600 24px/1.35 var(--font-heading); }
.geostops-page #wybor .decision-note p+p { margin-top:16px; }
.geostops-page .case-figure { margin-left:calc(-1 * var(--case-outset)); padding:12px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); }
.geostops-page .screenshot-number { display:block; margin-bottom:6px; font-size:11px; font-weight:650; letter-spacing:1px; text-transform:uppercase; color:var(--accent); }
.geostops-page .case-figure figcaption { margin:16px 12px 8px; max-width:960px; }
.geostops-page .screenshot-link { background:#fff; }
.geostops-outcome-band { background:linear-gradient(125deg,#324451,var(--dark)); color:white; }
.geostops-page #efekt { border-bottom:0; }
.geostops-page #efekt .section-label { color:#ffbe72; }
.geostops-page #efekt .case-prose { color:#d4dde3; }
.geostops-page #efekt strong { color:white; }
.geostops-page .case-data-note { padding-block:32px 48px; }
@media(max-width:1100px) {
  .geostops-page { --case-outset:280px; }
  .geostops-page .case-prose .decisions li { padding:22px; }
}
@media(max-width:900px) {
  .geostops-page { --case-outset:0px; }
  .geostops-page #opcje .decisions { grid-template-columns:1fr; }
  .geostops-page #wybor .decision-note { grid-template-columns:1fr; gap:18px; }
}
@media(max-width:620px) {
  .geostops-page .case-section { padding-block:48px; }
  .geostops-page #wybor .decisions { grid-template-columns:1fr; }
  .geostops-page .case-figure { padding:8px; }
  .geostops-page .case-figure figcaption { margin:12px 6px 6px; }
}
@media(max-width:1100px) {
  .case-section { grid-template-columns:240px minmax(0,1fr); gap:40px; }
  .case-figure { margin-left:-280px; }
  .case-figure figcaption { margin-left:280px; }
}
@media(max-width:900px) {
  .case-section { grid-template-columns:1fr; gap:30px; padding-block:56px; }
  .case-heading h2 { max-width:600px; }
  .case-figure { margin-left:0; }
  .case-figure figcaption { margin-left:0; }
}
@media(max-width:620px) {
  .breadcrumb { padding-top:22px; font-size:12px; }
  .case-lead { font-size:16px; margin-top:22px; }
  .case-contents { gap:12px 24px; font-size:12px; }
  .case-section { padding-block:44px; gap:24px; }
  .case-heading h2 { font-size:var(--fs-h2-side); }
  .case-prose { font-size:15px; }
  .case-prose .decisions li { padding-left:16px; }
  .case-figure { margin-block:30px; }
  .case-figure figcaption { font-size:12px; }
  .case-data-note { padding-bottom:40px; }
  .image-viewer { width:calc(100% - 16px); height:calc(100% - 16px); max-height:calc(100% - 16px); }
  .viewer-toolbar { padding:10px; gap:8px; }
  .viewer-toolbar h2 { flex-basis:100%; }
  .viewer-toolbar button { flex:1; }
  .viewer-stage { padding:8px; }
  .viewer-caption { font-size:12px; }
}

/* Elements spanning the full container inside the prose column, as the screenshots do. */
.geostops-page .case-wide { margin:42px 0 36px calc(-1 * var(--case-outset)); }
.geostops-page .case-figure-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:42px 0 36px calc(-1 * var(--case-outset)); }
.geostops-page .case-figure-pair .case-figure { margin:0; }
.geostops-page .concept-flow-copy a { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
@media(max-width:900px) {
  .geostops-page .case-figure-pair { grid-template-columns:1fr; }
}
/* App logo as the diagram's label: a light accent on the light frame. */
.geostops-page .visual-brand { display:inline-flex; align-items:center; gap:8px; }
.geostops-page .visual-brand img { width:28px; height:auto; }
