/* Mercury layer-and-square assembly ("Jak přemýšlíme" / approach section). Uses site.css tokens and Manrope. */
.approach .assembly.wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"intro stage" "controls stage";grid-template-rows:1fr auto;gap:0 64px;align-items:center;margin-top:72px;--ease:cubic-bezier(.65,0,.25,1)}
.assembly .intro{grid-area:intro;align-self:end}.assembly .stage{grid-area:stage}.assembly .controls{grid-area:controls;align-self:start}
.assembly .lead{font-size:clamp(20px,1.7vw,24px);line-height:1.35;font-weight:600;letter-spacing:-.02em}
.assembly .lead::before{content:"";display:inline-block;width:.62em;height:.62em;background:var(--orange);margin-right:.5em;vertical-align:.02em}

.assembly .steps{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid var(--line)}
.assembly .step{all:unset;box-sizing:border-box;display:grid;grid-template-columns:44px 1fr;gap:2px 8px;width:100%;padding:18px 4px 18px 0;border-bottom:1px solid var(--line);cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent}
.assembly .step::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--orange);transition:width .5s var(--ease)}
.assembly .step[aria-current="step"]::before{width:100%}
.assembly .step .n{grid-row:span 2;font-size:12px;font-weight:700;letter-spacing:.08em;color:#8A9AAD;padding-top:5px;font-variant-numeric:tabular-nums}
.assembly .step .t{font-size:20px;font-weight:600;letter-spacing:-.02em;color:#6B7D90;transition:color .3s}
.assembly .step .d{font-size:15px;line-height:1.5;color:var(--muted);max-height:0;opacity:0;overflow:hidden;transition:max-height .5s var(--ease),opacity .4s}
.assembly .step[aria-current="step"] .n{color:var(--orange)}
.assembly .step[aria-current="step"] .t{color:var(--ink)}
.assembly .step[aria-current="step"] .d{max-height:5em;opacity:1}
.assembly .step:hover .t{color:var(--ink)}
.assembly .step:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:2px}
.assembly:not(.is-live) .steps,.assembly:not(.is-live) .actions{display:none}

.assembly .actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:26px}
.assembly .replay{display:inline-flex;align-items:center;gap:10px;padding:11px 18px 11px 14px;border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;transition:background .2s,color .2s}
.assembly .replay:hover{background:var(--ink);color:#fff}
.assembly .replay:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.assembly .replay svg{width:16px;height:16px}
.assembly .hint{font-size:13px;color:#7A8A9C}
.assembly .hint .touch{display:none}
@media (hover:none){.assembly .hint .keys{display:none}.assembly .hint .touch{display:inline}}
.assembly .now{display:none}
.assembly .live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Stage */
.assembly .stage{position:relative;height:min(76vh,720px);min-height:520px;border-radius:8px;overflow:hidden;touch-action:pan-y;user-select:none;-webkit-user-select:none;
  background:
    linear-gradient(118deg,rgba(255,255,255,0) 18%,rgba(255,255,255,.55) 26%,rgba(255,255,255,0) 34%),
    linear-gradient(118deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.4) 47%,rgba(255,255,255,0) 54%),
    linear-gradient(180deg,#E3E8EF 0%,#ECEFF3 52%,#F2F3F4 52.2%,#F6F6F5 100%)}
.assembly .stage::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(20,45,78,.06);border-radius:inherit}
.assembly .fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.assembly.is-live .fallback{display:none}
.assembly:not(.is-live) .caption{display:none}
.assembly .caption{position:absolute;left:24px;top:22px;z-index:3;display:flex;align-items:baseline;gap:12px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);pointer-events:none}
.assembly .caption .cn{color:var(--orange);font-variant-numeric:tabular-nums}
.assembly .caption .ct{color:var(--ink)}
.assembly .fit{position:absolute;z-index:1;left:50%;top:50%;width:var(--bw);height:var(--bh);margin:calc(var(--bh) / -2) 0 0 calc(var(--bw) / -2);transform:scale(var(--k,1))}
.assembly .persp{position:absolute;inset:0;perspective:2100px;perspective-origin:50% 42%}
.assembly .world,.assembly .panel,.assembly .sq,.assembly .shadow,.assembly .floor{position:absolute;left:50%;top:50%;transform-style:preserve-3d}
.assembly .world{transition:transform 1.3s var(--ease)}
.assembly .panel,.assembly .sq,.assembly .shadow{transition-property:transform,opacity;transition-timing-function:var(--ease)}
.assembly .face{position:absolute;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.assembly .floor{width:2600px;height:1800px;margin:-900px 0 0 -1300px;background:radial-gradient(closest-side,rgba(255,255,255,.75),rgba(255,255,255,0))}
.assembly .shadow{background:radial-gradient(closest-side,rgba(14,35,62,.30),rgba(14,35,62,.10) 55%,rgba(14,35,62,0));filter:blur(3px)}

/* Materials: light from upper left, front */
.assembly .m-white .front,.assembly .m-white .back{background:var(--noise),linear-gradient(155deg,#FFFFFF 0%,#F3F2EE 55%,#EAE8E3 100%)}
.assembly .m-white .left{background:#FBFAF7}.assembly .m-white .right{background:#D6D3CC}
.assembly .m-white .top{background:#FFFFFF}.assembly .m-white .bottom{background:#BAB7AF}
.assembly .m-white .hl{background:linear-gradient(90deg,#C9C6BF,#D8D5CF)}.assembly .m-white .hr{background:linear-gradient(90deg,#EFEDE8,#E4E2DC)}
.assembly .m-white .ht{background:linear-gradient(180deg,#B3B0A8,#C4C1BA)}.assembly .m-white .hb{background:#F6F5F1}
.assembly .m-navy .front,.assembly .m-navy .back{background:var(--noise),linear-gradient(155deg,#21406B 0%,#17325A 50%,#122A4A 100%)}
.assembly .m-navy .left{background:#2A4A76}.assembly .m-navy .right{background:#0D213B}
.assembly .m-navy .top{background:#2E5182}.assembly .m-navy .bottom{background:#0A1A2F}
.assembly .m-navy .hl{background:linear-gradient(90deg,#0C1F37,#11284A)}.assembly .m-navy .hr{background:linear-gradient(90deg,#24426C,#1C3860)}
.assembly .m-navy .ht{background:linear-gradient(180deg,#081628,#0E223C)}.assembly .m-navy .hb{background:#284874}
.assembly .m-orange .front{background:var(--noise),linear-gradient(155deg,#F78C3F 0%,#F27924 55%,#E96F1B 100%)}
.assembly .m-orange .back{background:#D86A1D}.assembly .m-orange .left{background:#F68A3C}.assembly .m-orange .right{background:#C45C14}
.assembly .m-orange .top{background:#FB9852}.assembly .m-orange .bottom{background:#A54C10}

.assembly.no-anim .world,.assembly.no-anim .panel,.assembly.no-anim .sq,.assembly.no-anim .shadow{transition:none!important}
.assembly.reduced .world,.assembly.reduced .panel,.assembly.reduced .sq,.assembly.reduced .shadow{transition:none!important}
.assembly.reduced .replay{display:none}
.assembly.reduced .step::before,.assembly.reduced .step .d{transition:none}
@media (prefers-reduced-motion:reduce){.assembly .world,.assembly .panel,.assembly .sq,.assembly .shadow,.assembly .step::before,.assembly .step .d{transition:none!important}}

@media (max-width:1100px){.approach .assembly.wrap{gap:0 40px}}
@media (max-width:900px){
  .approach .assembly.wrap{grid-template-columns:1fr;grid-template-areas:none;grid-template-rows:none;gap:24px;margin-top:48px}
  .assembly .intro,.assembly .stage,.assembly .controls{grid-area:auto}
  .assembly .stage{order:2;height:auto;aspect-ratio:4/5;min-height:0;max-height:78vh}
  .assembly .controls{order:3}
  .assembly .steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:0;margin-top:0;gap:0}
  .assembly .step{grid-template-columns:1fr;padding:14px 8px 12px 0;border-bottom:1px solid var(--line);border-top:1px solid var(--line)}
  .assembly .step .n{grid-row:auto;padding-top:0}
  .assembly .step .t{font-size:17px}
  .assembly .step .d{display:none}
  .assembly.is-live .now{display:block;margin-top:16px;color:var(--muted);font-size:16px;min-height:3em}
}
@media (min-width:600px) and (max-width:900px){.assembly .stage{aspect-ratio:5/4}}
