
:root{
  --paper:#e7e4dc; --surface:#f3f1eb; --surface-2:#fbfaf6;
  --ink:#1b1d1f; --muted:#5c605d; --faint:#8a8c84;
  --line:#cec9be; --line-strong:#b7b2a6;
  --accent:#a6402c; --accent-ink:#8a3323; --accent-soft:#efe2dc;
  --blue:#3c5a6e; --blue-soft:#dfe6ea;
  --go:#3d6b4b; --go-soft:#dde8de;
  --warn:#a9762a; --warn-soft:#efe6d2;
  --stop:#9c3324; --stop-soft:#eddcd7;
  --grid:rgba(27,29,31,.045);
  --shadow:0 1px 0 rgba(27,29,31,.04), 0 12px 30px -18px rgba(27,29,31,.30);
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,"SF Mono","JetBrains Mono","Cascadia Code",Menlo,Consolas,monospace;
}
@media (prefers-color-scheme:dark){
  :root{
    --paper:#16181b; --surface:#1d1f22; --surface-2:#25282b;
    --ink:#e9e6de; --muted:#a1a39c; --faint:#75776f;
    --line:#33373b; --line-strong:#444a4f;
    --accent:#d3623f; --accent-ink:#e07a58; --accent-soft:#33231d;
    --blue:#7fa3b8; --blue-soft:#20292f;
    --go:#79b083; --go-soft:#1c2a20;
    --warn:#cf9f5a; --warn-soft:#2b2416;
    --stop:#df7360; --stop-soft:#2e1c18;
    --grid:rgba(233,230,222,.05);
    --shadow:0 1px 0 rgba(0,0,0,.3), 0 16px 34px -20px rgba(0,0,0,.7);
  }
}
:root[data-theme="light"]{
  --paper:#e7e4dc; --surface:#f3f1eb; --surface-2:#fbfaf6;
  --ink:#1b1d1f; --muted:#5c605d; --faint:#8a8c84;
  --line:#cec9be; --line-strong:#b7b2a6;
  --accent:#a6402c; --accent-ink:#8a3323; --accent-soft:#efe2dc;
  --blue:#3c5a6e; --blue-soft:#dfe6ea;
  --go:#3d6b4b; --go-soft:#dde8de; --warn:#a9762a; --warn-soft:#efe6d2;
  --stop:#9c3324; --stop-soft:#eddcd7; --grid:rgba(27,29,31,.045);
  --shadow:0 1px 0 rgba(27,29,31,.04), 0 12px 30px -18px rgba(27,29,31,.30);
}
:root[data-theme="dark"]{
  --paper:#16181b; --surface:#1d1f22; --surface-2:#25282b;
  --ink:#e9e6de; --muted:#a1a39c; --faint:#75776f;
  --line:#33373b; --line-strong:#444a4f;
  --accent:#d3623f; --accent-ink:#e07a58; --accent-soft:#33231d;
  --blue:#7fa3b8; --blue-soft:#20292f;
  --go:#79b083; --go-soft:#1c2a20; --warn:#cf9f5a; --warn-soft:#2b2416;
  --stop:#df7360; --stop-soft:#2e1c18; --grid:rgba(233,230,222,.05);
  --shadow:0 1px 0 rgba(0,0,0,.3), 0 16px 34px -20px rgba(0,0,0,.7);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--sans); font-size:16px; line-height:1.62;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:28px 28px;
}
.wrap{max-width:1120px; margin:0 auto; padding:0 clamp(18px,4vw,44px)}
h1,h2,h3,h4{font-family:var(--serif); font-weight:600; line-height:1.12; text-wrap:balance; margin:0}
p{margin:0 0 .9em}
a{color:var(--accent-ink); text-decoration:none; border-bottom:1px solid var(--line-strong)}
.tnum{font-variant-numeric:tabular-nums}
.mono{font-family:var(--mono)}
.eyebrow{font-family:var(--mono); font-size:11.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--accent-ink)}
.muted{color:var(--muted)}
.faint{color:var(--faint)}
hr.rule{border:0; border-top:1px solid var(--line); margin:0}

/* ---------- masthead ---------- */
.mast{padding:clamp(40px,7vw,88px) 0 34px; border-bottom:2px solid var(--ink); position:relative}
.mast .meta-top{display:flex; flex-wrap:wrap; gap:10px 26px; align-items:baseline; font-family:var(--mono); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:26px}
.mast .meta-top .dot{color:var(--accent)}
.mast h1{font-size:clamp(2.7rem,7.4vw,5.3rem); letter-spacing:-.015em; margin:0 0 .12em}
.mast .sub{font-family:var(--serif); font-size:clamp(1.05rem,2.5vw,1.5rem); color:var(--muted); font-style:italic; margin-bottom:6px}
.mast .transf{display:inline-flex; align-items:center; gap:12px; margin-top:22px; font-family:var(--mono); font-size:13px; letter-spacing:.04em}
.mast .transf b{font-weight:600; color:var(--ink)}
.mast .transf .ar{color:var(--accent); font-size:17px}
.reveal{opacity:0; transform:translateY(10px); animation:rise .8s cubic-bezier(.2,.7,.2,1) forwards}
.reveal.d1{animation-delay:.06s}.reveal.d2{animation-delay:.14s}.reveal.d3{animation-delay:.22s}
@keyframes rise{to{opacity:1; transform:none}}

.factbar{display:grid; grid-template-columns:repeat(6,1fr); gap:0; border:1px solid var(--line); border-radius:3px; overflow:hidden; margin-top:34px; background:var(--surface)}
.factbar .f{padding:16px 16px 15px; border-right:1px solid var(--line)}
.factbar .f:last-child{border-right:0}
.factbar .k{font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--faint); margin-bottom:7px}
.factbar .v{font-family:var(--serif); font-size:1.32rem; line-height:1}
.factbar .v small{font-size:.62em; color:var(--muted)}

/* ---------- section scaffold ---------- */
section{padding:clamp(46px,8vw,88px) 0; border-bottom:1px solid var(--line)}
.shead{display:grid; grid-template-columns:auto 1fr; gap:22px; align-items:start; margin-bottom:34px}
.shead .no{font-family:var(--mono); font-size:12px; letter-spacing:.1em; color:var(--accent); padding-top:8px; white-space:nowrap}
.shead h2{font-size:clamp(1.7rem,4vw,2.5rem); letter-spacing:-.01em}
.shead .lead{margin-top:12px; color:var(--muted); max-width:64ch; font-size:1.03rem}
.prose{max-width:68ch}
.prose p{color:var(--ink)}

/* ---------- verdict banner ---------- */
.verdict{background:var(--surface-2); border:1px solid var(--line); border-left:4px solid var(--warn); border-radius:4px; box-shadow:var(--shadow); padding:clamp(22px,3.5vw,34px); display:grid; grid-template-columns:1.5fr 1fr; gap:clamp(20px,3vw,40px)}
.verdict .badge{display:inline-flex; align-items:center; gap:9px; font-family:var(--mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; padding:6px 12px; border-radius:100px; background:var(--warn-soft); color:var(--warn); border:1px solid color-mix(in srgb,var(--warn) 35%,transparent); font-weight:600}
.verdict h3{font-size:1.5rem; margin:16px 0 10px}
.verdict .num{font-family:var(--serif); font-size:clamp(2.2rem,5vw,3.1rem); line-height:1; letter-spacing:-.02em}
.verdict .rail{border-left:1px solid var(--line); padding-left:clamp(20px,3vw,34px); display:flex; flex-direction:column; gap:16px}
.verdict .rail .row{display:flex; justify-content:space-between; gap:14px; align-items:baseline; border-bottom:1px dotted var(--line); padding-bottom:12px}
.verdict .rail .row:last-child{border-bottom:0; padding-bottom:0}
.verdict .rail .lab{font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted)}
.verdict .rail .big{font-family:var(--serif); font-size:1.45rem; line-height:1}
.chipline{display:flex; flex-wrap:wrap; gap:8px; margin-top:18px}
.chip{font-family:var(--mono); font-size:11.5px; letter-spacing:.03em; padding:5px 10px; border-radius:3px; border:1px solid var(--line); background:var(--surface); color:var(--muted)}
.chip b{color:var(--ink); font-weight:600}

/* ---------- generic tiles ---------- */
.tiles{display:grid; gap:14px}
.tiles.c3{grid-template-columns:repeat(3,1fr)}
.tiles.c4{grid-template-columns:repeat(4,1fr)}
.tile{background:var(--surface); border:1px solid var(--line); border-radius:4px; padding:18px}
.tile .k{font-family:var(--mono); font-size:10.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--faint); margin-bottom:9px}
.tile .v{font-family:var(--serif); font-size:1.7rem; line-height:1.05}
.tile .v small{font-size:.55em; color:var(--muted); font-family:var(--sans)}
.tile .note{font-size:.82rem; color:var(--muted); margin-top:8px; line-height:1.45}

/* ---------- floor stack ---------- */
.stack-wrap{display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(24px,4vw,54px); align-items:center}
.stack{display:flex; flex-direction:column; gap:9px; position:relative}
.floor{position:relative}
.floor .bar{position:relative; height:64px; border:1px solid var(--line-strong); border-radius:2px; background:var(--surface); display:flex; align-items:center; padding:0 16px; overflow:hidden; transition:transform .18s ease}
.floor .bar:hover{transform:translateX(3px)}
.floor .bar.terr{border-style:dashed; background:repeating-linear-gradient(135deg,transparent,transparent 7px,var(--grid) 7px,var(--grid) 8px)}
.floor .bar .fl{font-family:var(--mono); font-size:12px; letter-spacing:.06em; color:var(--accent-ink); width:62px; flex:none}
.floor .bar .use{font-size:.9rem; color:var(--ink); flex:1; min-width:0}
.floor .bar .use b{font-family:var(--serif); font-weight:600}
.floor .bar .m2{font-family:var(--mono); font-size:12.5px; color:var(--muted); flex:none; padding-left:12px}
.floor .terasa{margin-top:9px; margin-left:62px; height:40px; border:1px dashed var(--accent); border-radius:2px; background:var(--accent-soft); display:flex; align-items:center; padding:0 14px; gap:10px; font-size:.84rem; color:var(--accent-ink); font-family:var(--mono); letter-spacing:.02em}
.terrain{display:flex; align-items:center; gap:12px; margin:2px 0}
.terrain .lbl{font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--faint)}
.terrain .ln{flex:1; border-top:2px solid var(--line-strong)}
.stack-legend{font-size:.92rem}
.stack-legend .li{display:flex; gap:12px; padding:12px 0; border-bottom:1px dotted var(--line)}
.stack-legend .li:last-child{border-bottom:0}
.stack-legend .li .ic{font-family:var(--mono); font-size:11px; color:var(--accent); flex:none; width:42px}
.stack-legend .li p{margin:0}

/* ---------- scenarios ---------- */
.scen{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; align-items:stretch}
.card{background:var(--surface); border:1px solid var(--line); border-radius:5px; padding:22px; display:flex; flex-direction:column; box-shadow:var(--shadow)}
.card.win{border-color:var(--accent); border-width:1.5px; background:var(--surface-2)}
.card .tag{display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:14px}
.card .id{font-family:var(--mono); font-size:12px; letter-spacing:.1em; color:var(--muted)}
.card .pill{font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; padding:4px 9px; border-radius:100px; font-weight:600}
.pill.rec{background:var(--accent-soft); color:var(--accent-ink); border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}
.pill.na{background:var(--surface); color:var(--faint); border:1px solid var(--line)}
.card h3{font-size:1.28rem; margin-bottom:6px; line-height:1.15}
.card .exit{font-family:var(--mono); font-size:11px; letter-spacing:.05em; text-transform:uppercase; color:var(--blue); margin-bottom:14px}
.card .kpi{display:grid; grid-template-columns:1fr 1fr; gap:10px 12px; padding:14px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.card .kpi .k{font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--faint)}
.card .kpi .v{font-family:var(--serif); font-size:1.34rem; line-height:1}
.card .kpi .v.pos{color:var(--go)} .card .kpi .v.mid{color:var(--warn)}
.card .units{list-style:none; margin:14px 0 0; padding:0; font-size:.86rem}
.card .units li{display:flex; gap:9px; padding:6px 0; border-bottom:1px dotted var(--line); color:var(--muted)}
.card .units li:last-child{border-bottom:0}
.card .units .fl{font-family:var(--mono); font-size:11px; color:var(--accent-ink); flex:none; width:46px}
.card .units .d{color:var(--ink); flex:1}
.card .units .a{font-family:var(--mono); font-size:11px; flex:none}
.scoremeter{margin-top:16px}
.scoremeter .lab{display:flex; justify-content:space-between; font-family:var(--mono); font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:6px}
.scoremeter .track{height:7px; background:var(--line); border-radius:100px; overflow:hidden}
.scoremeter .fill{height:100%; border-radius:100px; background:var(--accent)}
.scoremeter .fill.lo{background:var(--stop)} .scoremeter .fill.mid{background:var(--warn)}

/* ---------- tables ---------- */
.tblwrap{overflow-x:auto; border:1px solid var(--line); border-radius:5px; background:var(--surface)}
table{border-collapse:collapse; width:100%; min-width:560px; font-size:.9rem}
th,td{text-align:left; padding:12px 15px; border-bottom:1px solid var(--line); vertical-align:top}
thead th{font-family:var(--mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); font-weight:600; background:var(--surface-2); position:sticky; top:0}
tbody tr:last-child td{border-bottom:0}
td.num,th.num{text-align:right; font-family:var(--mono); font-variant-numeric:tabular-nums; white-space:nowrap}
tr.win td{background:color-mix(in srgb,var(--accent-soft) 55%,transparent)}
tr.total td{border-top:2px solid var(--ink); font-weight:600}
tr.total td:first-child{font-family:var(--serif)}
td .rowlab{font-weight:600}
td .sub{color:var(--muted); font-size:.86em; display:block; margin-top:2px}
.pos{color:var(--go); font-weight:600} .neg{color:var(--stop); font-weight:600}
.sev{display:inline-block; font-family:var(--mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; padding:3px 8px; border-radius:3px; font-weight:600; white-space:nowrap}
.sev.k{background:var(--stop-soft); color:var(--stop)} .sev.v{background:var(--warn-soft); color:var(--warn)} .sev.s{background:var(--blue-soft); color:var(--blue)}
.dir{font-family:var(--mono); font-size:11px; padding:3px 8px; border-radius:3px}
.dir.up{background:var(--go-soft); color:var(--go)} .dir.dn{background:var(--stop-soft); color:var(--stop)} .dir.fl{background:var(--warn-soft); color:var(--warn)}

/* ---------- waterfall ---------- */
.waterfall{display:flex; align-items:flex-end; gap:2px; height:230px; padding:20px 4px 0; overflow-x:auto}
.wf{flex:1; min-width:64px; display:flex; flex-direction:column; justify-content:flex-end; height:100%; position:relative}
.wf .col{border-radius:2px 2px 0 0; width:100%; position:relative}
.wf.cost .col{background:var(--ink)} .wf.soft .col{background:var(--muted)} .wf.exit .col{background:var(--blue)} .wf.profit .col{background:var(--go)}
.wf .cap{font-family:var(--mono); font-size:11px; text-align:center; margin-bottom:6px; font-variant-numeric:tabular-nums}
.wf .lb{font-family:var(--mono); font-size:9.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); text-align:center; margin-top:8px; line-height:1.3}

/* ---------- timeline ---------- */
.gantt{display:flex; flex-direction:column; gap:7px}
.gantt .axis{display:flex; justify-content:space-between; font-family:var(--mono); font-size:10px; color:var(--faint); letter-spacing:.05em; padding:0 2px 6px; border-bottom:1px solid var(--line); margin-bottom:6px}
.grow{display:grid; grid-template-columns:180px 1fr; gap:14px; align-items:center}
.grow .glab{font-size:.82rem; line-height:1.25}
.grow .glab .p{font-family:var(--mono); font-size:10px; color:var(--accent); letter-spacing:.05em}
.gtrack{position:relative; height:26px; background:var(--surface); border:1px solid var(--line); border-radius:3px}
.gbar{position:absolute; top:3px; bottom:3px; border-radius:3px; background:var(--accent); opacity:.9; display:flex; align-items:center; padding:0 8px}
.gbar.soft{background:var(--blue)} .gbar.reko{background:var(--ink)} .gbar.sell{background:var(--go)}
.gbar span{font-family:var(--mono); font-size:9.5px; color:#fff; white-space:nowrap; letter-spacing:.04em}

/* ---------- legal / dd grid ---------- */
.grid2{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.lblock{background:var(--surface); border:1px solid var(--line); border-radius:4px; padding:18px 20px}
.lblock h4{font-size:1.05rem; margin-bottom:10px; display:flex; align-items:baseline; gap:10px}
.lblock h4 .n{font-family:var(--mono); font-size:11px; color:var(--accent)}
.lblock ul{margin:0; padding-left:0; list-style:none}
.lblock li{position:relative; padding:6px 0 6px 20px; font-size:.9rem; color:var(--ink); border-bottom:1px dotted var(--line)}
.lblock li:last-child{border-bottom:0}
.lblock li::before{content:""; position:absolute; left:2px; top:13px; width:7px; height:7px; border:1.5px solid var(--accent); border-radius:1px}
.lblock li .ref{font-family:var(--mono); font-size:11px; color:var(--muted)}
.checklist{columns:2; column-gap:34px}
.checklist .ci{break-inside:avoid; display:flex; gap:11px; padding:9px 0; border-bottom:1px dotted var(--line); font-size:.9rem}
.checklist .ci .bx{flex:none; width:15px; height:15px; border:1.5px solid var(--line-strong); border-radius:2px; margin-top:3px}
.checklist .ci b{font-family:var(--serif); font-weight:600}

/* ---------- callout ---------- */
.callout{border:1px solid var(--line); border-left:4px solid var(--accent); background:var(--surface-2); border-radius:4px; padding:20px 24px; margin-top:8px}
.callout .lab{font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--accent-ink); margin-bottom:9px}
.callout p:last-child{margin-bottom:0}

/* ---------- final verdict ---------- */
.final{background:var(--ink); color:var(--paper); border-radius:6px; padding:clamp(28px,5vw,52px); position:relative; overflow:hidden}
.final .eyebrow{color:var(--accent)}
.final h2{color:var(--surface-2); font-size:clamp(1.8rem,4.5vw,2.8rem); margin:14px 0 18px}
.final p{color:color-mix(in srgb,var(--paper) 82%,var(--muted)); max-width:70ch}
.final .gate{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:30px}
.final .gate .g{border:1px solid rgba(255,255,255,.16); border-radius:4px; padding:18px}
.final .gate .g .k{font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--accent-ink); margin-bottom:8px}
.final .gate .g .v{font-family:var(--serif); font-size:1.5rem; line-height:1.05; color:var(--surface-2)}
.final .gate .g .n{font-size:.82rem; color:color-mix(in srgb,var(--paper) 66%,var(--muted)); margin-top:7px}

/* ---------- footer ---------- */
.foot{padding:40px 0 70px; font-family:var(--mono); font-size:11.5px; color:var(--faint); letter-spacing:.03em; line-height:1.7}
.foot .disc{max-width:80ch; margin-top:10px}

/* ---------- hero image ---------- */
.hero{position:relative; min-height:min(90vh,780px); display:flex; align-items:flex-end; overflow:hidden; border-bottom:2px solid var(--ink)}
.hero img.bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 42%; z-index:0}
.hero .scrim{position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(18,16,14,.20),rgba(18,16,14,.05) 38%,rgba(18,16,14,.78))}
.hero .inner{position:relative; z-index:2; width:100%; max-width:1120px; margin:0 auto; padding:0 clamp(18px,4vw,44px) clamp(38px,6vw,66px)}
.hero .meta-top{display:flex; flex-wrap:wrap; gap:9px 24px; font-family:var(--mono); font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:rgba(244,241,234,.82); margin-bottom:20px}
.hero .meta-top .dot{color:var(--accent)}
.hero .eyebrow{color:#fff; opacity:.92}
.hero h1{color:#fff; font-family:var(--serif); font-weight:600; line-height:1.02; font-size:clamp(3rem,9vw,6rem); letter-spacing:-.02em; margin:.1em 0 .12em; text-shadow:0 2px 40px rgba(0,0,0,.35)}
.hero .sub{font-family:var(--serif); font-style:italic; font-size:clamp(1.05rem,2.6vw,1.55rem); color:rgba(244,241,234,.92)}
.hero .htag{display:inline-block; margin-top:16px; font-family:var(--mono); font-size:11.5px; letter-spacing:.06em; color:#fff; background:var(--accent); padding:7px 13px; border-radius:3px}

/* ---------- factstrip ---------- */
.factstrip{padding:26px 0 0}
.transf-line{display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-family:var(--mono); font-size:13px; margin-bottom:20px}
.transf-line b{color:var(--ink)} .transf-line .ar{color:var(--accent); font-size:16px}

/* ---------- image blocks ---------- */
figure{margin:0}
.figfull img{width:100%; border-radius:6px; border:1px solid var(--line); display:block; box-shadow:var(--shadow)}
.figcap{font-family:var(--mono); font-size:11px; letter-spacing:.05em; color:var(--faint); margin-top:9px}
.figcap b{color:var(--muted)}
.gallery{display:grid; gap:12px; grid-template-columns:repeat(3,1fr)}
.plans{display:grid; gap:18px; grid-template-columns:repeat(2,1fr); align-items:start}
.plans figure{margin:0; background:#fdfcf8; border:1px solid var(--line-strong); border-radius:4px; padding:10px 10px 6px; box-shadow:var(--shadow)}
.plans img{width:100%; display:block; border-radius:2px}
.plans figcaption{font-family:var(--mono); font-size:11px; letter-spacing:.05em; color:var(--muted); margin-top:8px; display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap}
.plans figcaption b{color:var(--ink); font-weight:600}
.units{display:grid; gap:16px; grid-template-columns:repeat(3,1fr); align-items:start; margin-bottom:30px}
.units figure{margin:0; background:#fdfcf8; border:1px solid var(--line-strong); border-radius:4px; padding:0 0 8px; box-shadow:var(--shadow); overflow:hidden}
.units img{width:100%; display:block}
.units figcaption{font-family:var(--mono); font-size:11px; letter-spacing:.04em; color:var(--muted); margin:2px 12px 0; display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; border-top:1px solid var(--line); padding-top:8px}
.units figcaption b{color:#1b1d1f; font-weight:600}
@media (max-width:980px){.units{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.units{grid-template-columns:1fr}}
.keyline{display:flex; flex-wrap:wrap; gap:8px 20px; align-items:center; font-family:var(--mono); font-size:11.5px; letter-spacing:.06em; color:var(--muted); margin:0 0 16px}
.keyline i{width:22px; height:11px; border-radius:2px; display:inline-block; margin-right:7px; vertical-align:-1px; border:1px solid rgba(27,29,31,.35)}
@media (max-width:720px){.plans{grid-template-columns:1fr}}
.gallery img{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:4px; border:1px solid var(--line); display:block}
.ba{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.ba .pair{position:relative; margin:0}
.ba img{width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:5px; border:1px solid var(--line); display:block; box-shadow:var(--shadow)}
.ba .lbl{position:absolute; top:11px; left:11px; font-family:var(--mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; padding:5px 10px; border-radius:3px; background:rgba(18,16,14,.74); color:#fff}
.ba .lbl.after{background:var(--accent)}
.bawrap{display:grid; gap:24px}
.batrio{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}

@media (max-width:880px){
  .gallery{grid-template-columns:1fr 1fr} .batrio{grid-template-columns:1fr}
  .hero{min-height:72vh}
  .factbar{grid-template-columns:repeat(3,1fr)} .factbar .f:nth-child(3){border-right:0}
  .factbar .f:nth-child(n+4){border-top:1px solid var(--line)}
  .verdict{grid-template-columns:1fr} .verdict .rail{border-left:0; border-top:1px solid var(--line); padding-left:0; padding-top:20px}
  .stack-wrap{grid-template-columns:1fr} .scen{grid-template-columns:1fr}
  .tiles.c3,.tiles.c4{grid-template-columns:1fr 1fr}
  .grid2{grid-template-columns:1fr} .checklist{columns:1}
  .final .gate{grid-template-columns:1fr}
  .grow{grid-template-columns:1fr; gap:5px} .grow .glab{display:flex; gap:10px; align-items:baseline}
}
@media (max-width:520px){
  .shead{grid-template-columns:1fr; gap:6px} .tiles.c4{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){ .reveal{animation:none; opacity:1; transform:none} .floor .bar{transition:none} }
@media print{ body{background:#fff} section{break-inside:avoid} .final{background:#fff; color:#000; border:1px solid #000} }

/* ---------- navigace mezi stránkami ---------- */
.topnav{position:sticky; top:0; z-index:50; background:color-mix(in srgb,var(--paper) 92%,transparent);
  backdrop-filter:saturate(140%) blur(10px); border-bottom:1px solid var(--line)}
.navin{max-width:1120px; margin:0 auto; padding:0 clamp(18px,4vw,44px); display:flex; align-items:center;
  gap:clamp(14px,3vw,34px); min-height:52px}
.topnav .brand{font-family:var(--serif); font-size:1.05rem; color:var(--ink); border:0; letter-spacing:-.01em; flex:none}
.navlinks{display:flex; gap:clamp(10px,2vw,22px); overflow-x:auto; scrollbar-width:none; margin-left:auto}
.navlinks::-webkit-scrollbar{display:none}
.navlinks a{font-family:var(--mono); font-size:11.5px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted); border:0; white-space:nowrap; padding:6px 0; border-bottom:2px solid transparent}
.navlinks a:hover{color:var(--ink)}
.navlinks a.on{color:var(--accent-ink); border-bottom-color:var(--accent)}
.pagehead{padding:clamp(34px,6vw,64px) 0 26px; border-bottom:2px solid var(--ink)}
.pagehead .eyebrow{display:block; margin-bottom:12px}
.pagehead h1{font-size:clamp(2rem,5.4vw,3.4rem); letter-spacing:-.015em}
.pagehead .sub{font-family:var(--serif); font-style:italic; color:var(--muted); font-size:clamp(1rem,2.2vw,1.25rem); margin-top:8px}
.pager{display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:34px 0 70px}
.pager .pg{border:1px solid var(--line); border-radius:5px; padding:16px 18px; display:flex; flex-direction:column;
  gap:5px; background:var(--surface); box-shadow:var(--shadow)}
.pager .pg span{font-family:var(--mono); font-size:10.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--faint)}
.pager .pg b{font-family:var(--serif); font-weight:600; font-size:1.12rem; color:var(--ink)}
.pager .next{text-align:right; grid-column:2}
.pager .prev{grid-column:1}
.pager .pg:hover{border-color:var(--line-strong)}
.rozcestnik{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:8px 0 0}
.rozcestnik a{border:1px solid var(--line); border-radius:5px; padding:20px; background:var(--surface);
  display:flex; flex-direction:column; gap:7px; box-shadow:var(--shadow)}
.rozcestnik a:hover{border-color:var(--accent)}
.rozcestnik .k{font-family:var(--mono); font-size:10.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--accent-ink)}
.rozcestnik .t{font-family:var(--serif); font-size:1.22rem; color:var(--ink); line-height:1.15}
.rozcestnik .d{font-size:.88rem; color:var(--muted); line-height:1.45}
@media (max-width:880px){.rozcestnik{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.rozcestnik{grid-template-columns:1fr} .pager{grid-template-columns:1fr}
  .pager .next,.pager .prev{grid-column:1; text-align:left}}
