/* ============================================================
   AL GÖTÜR — Fizibilite Sunumu · styles.css
   TASARIM YÖNÜ (3 karar):
   1) "Karar odaklı koyu salon" estetiği: koyu lacivert/antrasit zemin
      (#10141d–#1c2434) üzerinde sıcak kırık beyaz metin (#f3eee4).
      Sunum bir satış pitch'i değil, karar toplantısıdır; bu yüzden
      ciddi, sakin, düşük doygunluklu bir palet seçildi.
   2) Anlam renkleri sabit sözlük: doğal yeşil = güven/mevcut/doğrulandı,
      sıcak turuncu = topluluk/vurgu, kırmızı = risk/olumsuz gerçek,
      nötr griler = harita/veri dokusu. Her renk tek anlam taşır.
   3) Veri önce, dekorasyon sonra: tüm görseller CSS/SVG ile üretildi
      (harita mockup'ı, skor çubukları, projeksiyon grafiği, risk
      matrisi); stok fotoğraf, gradient şovu ve gereksiz animasyon yok.
      Kontrastlar WCAG AA hedefli (metin ≥4.5:1, büyük başlık ≥3:1).
   ============================================================ */

:root{
  --bg0:#10141d;
  --bg1:#151b27;
  --panel:#1b2333;
  --panel2:#212b3e;
  --line:#2d3749;
  --line-soft:#242e40;
  --ink:#f3eee2;
  --ink-dim:#c9c2b2;
  --muted:#98a0b3;
  --faint:#6d7689;
  --green:#63ab7f;
  --green-strong:#7cc496;
  --green-soft:rgba(99,171,127,.14);
  --orange:#e3a256;
  --orange-strong:#f0b76e;
  --orange-soft:rgba(227,162,86,.14);
  --red:#dc6f66;
  --red-strong:#ee8a80;
  --red-soft:rgba(220,111,102,.14);
  --blue:#74a0da;
  --blue-soft:rgba(116,160,218,.14);
  --gray:#7d8698;
  --gold:#d9b45c;
  --maxw:1560px;
  --font-main:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --font-mono:ui-monospace,'SF Mono','Cascadia Mono',Menlo,Consolas,monospace;
}

*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%;background:var(--bg0)}
body{
  font-family:var(--font-main);
  color:var(--ink);
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* ---------- Deck & slides ---------- */
.deck{
  height:100vh;height:100dvh;
  overflow-y:auto;
  scroll-snap-type:y proximity;
  scrollbar-width:none;
}
.deck::-webkit-scrollbar{display:none}

.slide{
  min-height:100vh;min-height:100dvh;
  scroll-snap-align:start;
  display:flex;flex-direction:column;
  padding:clamp(48px,7vh,84px) clamp(20px,4vw,72px) clamp(64px,9vh,96px);
  position:relative;
  background:
    radial-gradient(1200px 600px at 85% -10%, rgba(116,160,218,.05), transparent 60%),
    var(--bg0);
}
.slide:nth-child(even){background:
    radial-gradient(1200px 600px at 10% 110%, rgba(99,171,127,.04), transparent 60%),
    var(--bg1);}
.slide-inner{
  width:100%;max-width:var(--maxw);
  margin:auto;
  display:flex;flex-direction:column;gap:clamp(12px,1.8vh,22px);
}

/* ---------- Typography ---------- */
.kicker{
  font-size:clamp(11px,.75vw,14px);
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--orange);font-weight:600;
}
h2{
  font-size:clamp(26px,2.9vw,50px);
  line-height:1.12;font-weight:750;letter-spacing:-.01em;
  max-width:22ch;
}
h2 .em{color:var(--orange)}
h2 .em-g{color:var(--green-strong)}
h2 .em-r{color:var(--red-strong)}
.lead{
  font-size:clamp(15px,1.15vw,20px);
  line-height:1.55;color:var(--ink-dim);
  max-width:78ch;
}
.lead strong{color:var(--ink)}
.small{font-size:clamp(12px,.85vw,15px);color:var(--muted);line-height:1.5}
.num{font-variant-numeric:tabular-nums}

/* ---------- Grids & cards ---------- */
.grid{display:grid;gap:clamp(10px,1.2vw,18px)}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.g5{grid-template-columns:repeat(5,1fr)}
.card{
  background:var(--panel);
  border:1px solid var(--line-soft);
  border-radius:14px;
  padding:clamp(14px,1.4vw,24px);
  display:flex;flex-direction:column;gap:8px;
}
.card h3{font-size:clamp(14px,1vw,18px);font-weight:700;line-height:1.3}
.card p{font-size:clamp(12px,.9vw,15.5px);line-height:1.5;color:var(--ink-dim)}
.card .big{
  font-size:clamp(22px,2.2vw,40px);font-weight:800;letter-spacing:-.01em;
  line-height:1.05;font-variant-numeric:tabular-nums;
}
.card .big small{font-size:.45em;font-weight:600;color:var(--muted);letter-spacing:0}
.card.green{border-color:rgba(99,171,127,.35);background:linear-gradient(180deg,var(--green-soft),var(--panel))}
.card.orange{border-color:rgba(227,162,86,.35);background:linear-gradient(180deg,var(--orange-soft),var(--panel))}
.card.red{border-color:rgba(220,111,102,.35);background:linear-gradient(180deg,var(--red-soft),var(--panel))}
.card.blue{border-color:rgba(116,160,218,.3);background:linear-gradient(180deg,var(--blue-soft),var(--panel))}
.tag{font-size:clamp(10px,.7vw,12px);color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-weight:600}

/* ---------- Lists ---------- */
.list{display:flex;flex-direction:column;gap:clamp(8px,1vh,13px)}
.list .li{
  display:flex;gap:12px;align-items:flex-start;
  font-size:clamp(13px,.98vw,17px);line-height:1.5;color:var(--ink-dim);
}
.list .li strong{color:var(--ink)}
.dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;margin-top:.5em;background:var(--orange)}
.dot.g{background:var(--green)} .dot.r{background:var(--red)} .dot.b{background:var(--blue)} .dot.gr{background:var(--gray)}
.num-li{counter-reset:item}
.num-li .li{counter-increment:item}
.num-li .li::before{
  content:counter(item);
  flex:0 0 auto;width:26px;height:26px;border-radius:8px;
  background:var(--panel2);border:1px solid var(--line);
  color:var(--orange);font-weight:700;font-size:.85em;
  display:flex;align-items:center;justify-content:center;margin-top:.05em;
}

/* ---------- Badges (kanıt etiketleri) ---------- */
.badges{display:flex;gap:8px;flex-wrap:wrap}
.badge{
  font-size:clamp(10px,.7vw,12.5px);font-weight:650;
  padding:3px 10px;border-radius:999px;letter-spacing:.02em;
  border:1px solid transparent;white-space:nowrap;
}
.b-verified{background:var(--green-soft);color:var(--green-strong);border-color:rgba(99,171,127,.4)}
.b-strong{background:rgba(116,160,218,.12);color:var(--blue);border-color:rgba(116,160,218,.35)}
.b-weak{background:var(--orange-soft);color:var(--orange-strong);border-color:rgba(227,162,86,.4)}
.b-assume{background:rgba(217,180,92,.12);color:var(--gold);border-color:rgba(217,180,92,.35)}
.b-unverified{background:var(--red-soft);color:var(--red-strong);border-color:rgba(220,111,102,.4)}
.b-neutral{background:var(--panel2);color:var(--muted);border-color:var(--line)}

/* ---------- Source strip (footer) ---------- */
.slide-foot{
  position:absolute;left:clamp(20px,4vw,72px);right:clamp(20px,4vw,72px);bottom:clamp(14px,2.4vh,26px);
  display:flex;justify-content:space-between;align-items:flex-end;gap:16px;
  pointer-events:none;
}
.srcstrip{display:flex;gap:6px;flex-wrap:wrap;align-items:center;pointer-events:auto}
.srcstrip .lbl{font-size:10.5px;color:var(--faint);letter-spacing:.1em;text-transform:uppercase;margin-right:2px}
.srcstrip a{
  font-family:var(--font-mono);font-size:clamp(9.5px,.68vw,11.5px);
  color:var(--muted);text-decoration:none;
  background:var(--panel);border:1px solid var(--line-soft);
  padding:2px 7px;border-radius:6px;transition:color .15s,border-color .15s;
}
.srcstrip a:hover{color:var(--orange-strong);border-color:var(--orange)}
.slide-foot .badges{pointer-events:auto}

/* ---------- Tables ---------- */
.table-wrap{overflow-x:auto;border:1px solid var(--line-soft);border-radius:14px;background:var(--panel)}
table{width:100%;border-collapse:collapse;font-size:clamp(11px,.85vw,15px)}
th,td{padding:clamp(7px,.7vw,12px) clamp(8px,.9vw,16px);text-align:left;vertical-align:top;line-height:1.4}
thead th{
  background:var(--panel2);color:var(--muted);
  font-size:.82em;text-transform:uppercase;letter-spacing:.1em;font-weight:650;
  border-bottom:1px solid var(--line);white-space:nowrap;
}
tbody tr+tr td{border-top:1px solid var(--line-soft)}
tbody td{color:var(--ink-dim)}
tbody td:first-child{color:var(--ink);font-weight:600}
td.r,th.r{text-align:right;font-variant-numeric:tabular-nums}
td.pos{color:var(--green-strong)} td.neg{color:var(--red-strong)}
tr.hl td{background:rgba(227,162,86,.07)}

/* heat cells */
.h1{background:rgba(220,111,102,.28)!important;color:#f5d9d5!important}
.h2{background:rgba(220,111,102,.14)!important}
.h3{background:rgba(227,162,86,.13)!important}
.h4{background:rgba(99,171,127,.14)!important}
.h5{background:rgba(99,171,127,.3)!important;color:#dff0e4!important}
.heat td{text-align:center;font-weight:650;color:var(--ink-dim)}
.heat td:first-child{text-align:left}

/* ---------- Bars ---------- */
.bars{display:flex;flex-direction:column;gap:clamp(7px,1vh,12px)}
.bar-row{display:grid;grid-template-columns:minmax(110px,170px) 1fr minmax(44px,64px);gap:12px;align-items:center}
.bar-row .bn{font-size:clamp(12px,.9vw,15px);font-weight:600;color:var(--ink)}
.bar-row .bv{font-size:clamp(12px,.9vw,15px);font-weight:750;text-align:right;font-variant-numeric:tabular-nums}
.bar-track{height:clamp(14px,2.2vh,22px);background:var(--panel2);border-radius:6px;overflow:hidden;border:1px solid var(--line-soft)}
.bar-fill{height:100%;border-radius:6px 0 0 6px;background:var(--green)}
.bar-fill.o{background:var(--orange)} .bar-fill.b{background:var(--blue)} .bar-fill.r{background:var(--red)} .bar-fill.gr{background:var(--gray)} .bar-fill.gold{background:var(--gold)}
.bar-row.dim .bn{color:var(--muted)} .bar-row.dim .bar-fill{opacity:.45}

/* ---------- Flow diagrams ---------- */
.flow{display:flex;align-items:stretch;gap:0;flex-wrap:wrap}
.fstep{
  flex:1 1 130px;min-width:120px;
  background:var(--panel);border:1px solid var(--line-soft);border-radius:12px;
  padding:clamp(10px,1vw,18px);display:flex;flex-direction:column;gap:6px;position:relative;
}
.fstep+.fstep{margin-left:clamp(18px,2vw,34px)}
.fstep+.fstep::before{
  content:"→";position:absolute;left:calc(-1 * clamp(18px,2vw,34px) + 2px);top:50%;transform:translateY(-50%);
  color:var(--orange);font-weight:800;font-size:clamp(14px,1.3vw,22px);width:clamp(18px,2vw,34px);text-align:center;
}
.fstep .fs-t{font-size:clamp(12px,.95vw,16px);font-weight:700}
.fstep .fs-d{font-size:clamp(11px,.8vw,13.5px);color:var(--muted);line-height:1.45}
.fstep .fs-n{
  width:24px;height:24px;border-radius:7px;background:var(--orange-soft);color:var(--orange-strong);
  font-weight:800;font-size:.85em;display:flex;align-items:center;justify-content:center;
}

/* ---------- Phone mockup ---------- */
.phone-wrap{display:flex;gap:clamp(18px,2.5vw,44px);align-items:center;flex-wrap:wrap}
.phone{
  width:clamp(220px,17vw,320px);aspect-ratio:9/19;
  background:#0b0e15;border:2px solid var(--line);border-radius:34px;
  padding:10px;box-shadow:0 24px 60px rgba(0,0,0,.5);
  display:flex;flex-direction:column;flex:0 0 auto;
}
.phone .notch{width:36%;height:16px;background:#0b0e15;border:1px solid var(--line-soft);border-top:none;border-radius:0 0 12px 12px;margin:-10px auto 6px}
.phone .scr{flex:1;border-radius:24px;overflow:hidden;position:relative;background:#1a2230;display:flex;flex-direction:column}
.phone .mapbox{flex:1;position:relative}
.phone .mapbox svg{position:absolute;inset:0;width:100%;height:100%}
.phone .sheet{
  background:var(--panel);border-top:1px solid var(--line);
  padding:10px 12px 12px;display:flex;flex-direction:column;gap:6px;
}
.phone .sheet .st{font-size:11px;font-weight:700}
.phone .sheet .sd{font-size:9.5px;color:var(--muted);line-height:1.35}
.phone .chip{display:flex;gap:5px;flex-wrap:wrap}
.phone .chip span{font-size:8.5px;padding:2px 7px;border-radius:99px;background:var(--panel2);border:1px solid var(--line);color:var(--ink-dim)}
.pin-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:clamp(11px,.8vw,14px);color:var(--ink-dim)}
.pin-legend b{font-weight:650}
.pl{display:inline-flex;align-items:center;gap:6px}
.pl i{width:12px;height:12px;border-radius:50%;display:inline-block}

/* ---------- Risk matrix ---------- */
.matrix{display:grid;grid-template-columns:auto 1fr 1fr 1fr;grid-template-rows:auto 1fr 1fr 1fr;gap:6px;max-width:920px}
.matrix .axis{display:flex;align-items:center;justify-content:center;font-size:clamp(10px,.75vw,13px);color:var(--muted);font-weight:650;text-transform:uppercase;letter-spacing:.1em}
.matrix .cell{
  border:1px solid var(--line-soft);border-radius:10px;min-height:clamp(72px,11vh,120px);
  padding:8px;display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start;
}
.matrix .c11{background:rgba(227,162,86,.05)} .matrix .c12{background:rgba(227,162,86,.09)} .matrix .c13{background:rgba(220,111,102,.12)}
.matrix .c21{background:rgba(99,171,127,.05)} .matrix .c22{background:rgba(227,162,86,.09)} .matrix .c23{background:rgba(220,111,102,.16)}
.matrix .c31{background:rgba(99,171,127,.04)} .matrix .c32{background:rgba(99,171,127,.07)} .matrix .c33{background:rgba(227,162,86,.1)}
.rchip{
  font-size:clamp(10px,.72vw,13px);font-weight:600;line-height:1.25;
  background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:4px 8px;color:var(--ink-dim);
}
.rchip.crit{border-color:rgba(220,111,102,.55);color:var(--red-strong)}

/* ---------- Timeline ---------- */
.timeline{display:flex;flex-direction:column;gap:0;position:relative;max-width:980px}
.tl-row{display:grid;grid-template-columns:clamp(90px,8vw,130px) 26px 1fr;gap:12px;align-items:flex-start;padding:clamp(6px,1vh,11px) 0}
.tl-row .tt{font-size:clamp(11px,.85vw,14px);font-weight:700;color:var(--orange);text-align:right;padding-top:2px}
.tl-row .td2{font-size:clamp(12px,.92vw,15.5px);color:var(--ink-dim);line-height:1.45}
.tl-row .td2 strong{color:var(--ink)}
.tl-dot{width:14px;height:14px;border-radius:50%;background:var(--panel2);border:2px solid var(--gray);margin-top:4px;position:relative;z-index:1}
.tl-row.done .tl-dot{background:var(--green);border-color:var(--green)}
.tl-row.now .tl-dot{background:var(--orange);border-color:var(--orange);box-shadow:0 0 0 5px rgba(227,162,86,.18)}
.timeline::before{content:"";position:absolute;left:calc(clamp(90px,8vw,130px) + 18px);top:12px;bottom:12px;width:2px;background:var(--line)}

/* ---------- Decision card ---------- */
.decision{
  border:1.5px solid rgba(227,162,86,.5);border-radius:18px;
  background:linear-gradient(160deg,rgba(227,162,86,.09),var(--panel) 55%);
  padding:clamp(18px,2vw,34px);display:flex;flex-direction:column;gap:clamp(10px,1.4vh,18px);
}
.decision .d-title{font-size:clamp(20px,2vw,36px);font-weight:800;line-height:1.15}
.decision .d-title span{color:var(--orange-strong)}

/* ---------- Chart panels ---------- */
.chart-panel{background:var(--panel);border:1px solid var(--line-soft);border-radius:16px;padding:clamp(12px,1.2vw,22px)}
.chart-panel svg{width:100%;height:auto;display:block}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:clamp(11px,.8vw,14px);color:var(--ink-dim)}
.legend .li2{display:inline-flex;align-items:center;gap:7px}
.legend i{width:16px;height:4px;border-radius:2px;display:inline-block}

/* ---------- Cover ---------- */
.cover .slide-inner{gap:clamp(16px,2.6vh,30px)}
.cover h1{
  font-size:clamp(44px,6.2vw,110px);font-weight:850;letter-spacing:-.02em;line-height:1.02;
}
.cover h1 span{color:var(--orange)}
.cover .sub{font-size:clamp(16px,1.5vw,26px);color:var(--ink-dim);max-width:60ch;line-height:1.5}
.cover .meta{display:flex;gap:14px;flex-wrap:wrap;font-size:clamp(11px,.85vw,14px);color:var(--muted)}
.cover .meta span{border:1px solid var(--line);border-radius:99px;padding:5px 14px;background:var(--panel)}
.cover .honest{
  border-left:3px solid var(--red);background:var(--red-soft);
  padding:clamp(10px,1.2vw,18px) clamp(14px,1.4vw,22px);border-radius:0 12px 12px 0;
  font-size:clamp(12.5px,1vw,17px);color:var(--ink-dim);max-width:72ch;line-height:1.55;
}
.cover .honest strong{color:var(--red-strong)}

/* ---------- Library slide ---------- */
.lib-wrap{
  background:var(--panel);border:1px solid var(--line-soft);border-radius:14px;
  max-height:52vh;overflow-y:auto;padding:6px 0;
}
.lib-wrap::-webkit-scrollbar{width:8px}
.lib-wrap::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}
.lib-item{
  display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:baseline;
  padding:7px 18px;font-size:clamp(10.5px,.78vw,13.5px);line-height:1.4;
}
.lib-item+.lib-item{border-top:1px solid var(--line-soft)}
.lib-item .kid{font-family:var(--font-mono);color:var(--orange);font-weight:700}
.lib-item .kt{color:var(--ink-dim)}
.lib-item .kt b{color:var(--ink);font-weight:600}
.lib-item .kd{color:var(--faint);white-space:nowrap;font-size:.9em}
.lib-item a{color:var(--muted);text-decoration:none}
.lib-item a:hover{color:var(--orange-strong)}
.lib-search{
  width:100%;max-width:420px;background:var(--panel);border:1px solid var(--line);
  border-radius:10px;padding:10px 14px;color:var(--ink);font-size:14px;font-family:var(--font-main);
}
.lib-search:focus{outline:none;border-color:var(--orange)}
.lib-count{font-size:12px;color:var(--muted)}

/* ---------- Chrome (fixed UI) ---------- */
.chrome{position:fixed;z-index:50;pointer-events:none}
.chrome>*{pointer-events:auto}
.brand{top:18px;left:22px;display:flex;align-items:center;gap:10px}
.brand .logo{
  width:30px;height:30px;border-radius:9px;background:var(--orange);
  display:flex;align-items:center;justify-content:center;
  font-weight:900;color:#241a08;font-size:15px;
}
.brand .bt{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--ink-dim);text-transform:uppercase}
.brand .bt small{display:block;font-size:9.5px;color:var(--faint);letter-spacing:.1em;font-weight:600}
.navbtns{bottom:20px;left:22px;display:flex;gap:8px}
.navbtn{
  width:44px;height:44px;border-radius:12px;border:1px solid var(--line);
  background:rgba(27,35,51,.9);color:var(--ink);font-size:18px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s;
  backdrop-filter:blur(6px);
}
.navbtn:hover{border-color:var(--orange);color:var(--orange-strong)}
.indicator{
  bottom:20px;right:22px;
  background:rgba(27,35,51,.9);border:1px solid var(--line);border-radius:12px;
  padding:10px 16px;font-variant-numeric:tabular-nums;font-size:14px;font-weight:650;color:var(--ink-dim);
  backdrop-filter:blur(6px);display:flex;gap:10px;align-items:center;
}
.indicator .cur{color:var(--orange-strong)}
.menubtn{top:18px;right:22px}
.progress{left:0;right:0;bottom:0;height:3px;background:transparent}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--orange));width:0;transition:width .25s}
.keyhint{bottom:22px;left:50%;transform:translateX(-50%);font-size:11px;color:var(--faint);letter-spacing:.06em}

/* ---------- Menu overlay ---------- */
.menu{
  position:fixed;inset:0;z-index:90;background:rgba(13,17,25,.96);
  display:none;overflow-y:auto;padding:70px clamp(20px,6vw,90px) 60px;
}
.menu.open{display:block}
.menu h3{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);margin:26px 0 10px}
.menu ol{list-style:none;columns:2;column-gap:48px}
.menu li{break-inside:avoid;margin-bottom:5px}
.menu a{
  color:var(--ink-dim);text-decoration:none;font-size:14.5px;line-height:1.4;
  display:flex;gap:10px;padding:5px 8px;border-radius:8px;transition:background .12s,color .12s;
}
.menu a:hover{background:var(--panel2);color:var(--ink)}
.menu a .mn{font-family:var(--font-mono);color:var(--faint);font-size:12px;min-width:26px;padding-top:2px}
.menu a.here{color:var(--orange-strong)}
.menu-close{position:fixed;top:18px;right:22px;z-index:95}

/* ---------- Utility ---------- */
.two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(16px,2vw,36px);align-items:start}
.two-col.even{grid-template-columns:1fr 1fr}
.hr{height:1px;background:var(--line-soft);border:none}
.callout{
  border-left:3px solid var(--orange);background:var(--orange-soft);
  padding:clamp(10px,1vw,16px) clamp(14px,1.2vw,20px);border-radius:0 12px 12px 0;
  font-size:clamp(12.5px,.95vw,16.5px);line-height:1.55;color:var(--ink-dim);
}
.callout strong{color:var(--ink)}
.callout.red{border-color:var(--red);background:var(--red-soft)}
.callout.red strong{color:var(--red-strong)}
.callout.green{border-color:var(--green);background:var(--green-soft)}
.callout.green strong{color:var(--green-strong)}
.formula{
  font-family:var(--font-mono);font-size:clamp(13px,1.05vw,19px);
  background:var(--bg0);border:1px solid var(--line);border-radius:10px;
  padding:clamp(10px,1vw,16px) clamp(14px,1.2vw,22px);color:var(--orange-strong);
  display:inline-block;
}
.foot-note{font-size:clamp(10.5px,.75vw,13px);color:var(--faint);line-height:1.45}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .g4,.g5{grid-template-columns:repeat(2,1fr)}
  .g3{grid-template-columns:repeat(2,1fr)}
  .two-col,.two-col.even{grid-template-columns:1fr}
  .menu ol{columns:1}
  .keyhint{display:none}
  h2{max-width:none}
}
@media (max-width:640px){
  .g3,.g4,.g5,.g2{grid-template-columns:1fr}
  .slide{padding:56px 16px 88px}
  .fstep+.fstep{margin-left:0;margin-top:14px}
  .fstep+.fstep::before{content:"↓";left:50%;top:-16px;transform:translateX(-50%)}
  .flow{flex-direction:column}
  .matrix{grid-template-columns:auto 1fr 1fr 1fr}
  .brand .bt{display:none}
  .bar-row{grid-template-columns:minmax(80px,110px) 1fr minmax(38px,50px)}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto!important}
}

/* ---------- Print / PDF fallback (validation fix, 20.07.2026) ---------- */
@media print{
  .chrome,.menu,.lib-panel{display:none!important}
  html,body{height:auto;overflow:visible}
  .deck{height:auto;overflow:visible;scroll-snap-type:none}
  .slide{min-height:auto;scroll-snap-align:none;page-break-after:always;break-inside:avoid;padding:24px 32px}
  .slide-inner{max-height:none;overflow:visible}
  .srcstrip a{color:var(--muted);text-decoration:none}
}
