/* ===== úvodní stránka BOXnemTO ===== */
.page-home{--hair:rgba(17,17,17,.1);--soft:#ebe7de;--card:#fff;--kraft:#c9a27a;--kraft-d:#a77d52}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .page-home{--hair:rgba(255,255,255,.1);--soft:#202020;--card:#171717}}
:root[data-theme="dark"] .page-home{--hair:rgba(255,255,255,.1);--soft:#202020;--card:#171717}

.page-home main section{padding:6.5rem 0}
@media (max-width:700px){.page-home main section{padding:4.5rem 0}}
.page-home main h2{font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:800;letter-spacing:-.035em;line-height:1.02}

/* hlavičky sekcí */
.head{max-width:44rem}
.eyebrow-num{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem;font:700 .76rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.eyebrow-num span{display:inline-grid;place-items:center;min-width:2.3rem;height:1.7rem;padding:0 .5rem;border-radius:7px;background:var(--tape);color:#111;font-weight:800;letter-spacing:.04em;box-shadow:inset 0 0 0 1.5px #111}
.eyebrow-num.dark span{background:#111;color:var(--tape);box-shadow:none}
.head .sub{margin-top:1rem;font-size:1.12rem;color:var(--muted);max-width:36rem}

/* oznámení nahoře */
.announce{background:var(--tape);color:#111;font-size:.9rem}
.announce .wrap{display:flex;align-items:center;gap:.7rem;min-height:2.6rem;padding-block:.35rem}
.announce p{flex:1;min-width:0;line-height:1.35}
.announce a{flex:none;display:inline-flex;align-items:center;gap:.35rem;font-weight:700;text-decoration:none;border-bottom:2px solid #111;padding:.1rem 0}
.announce a svg{transition:transform .2s var(--ease)}
.announce a:hover svg{transform:translateX(3px)}
.announce-dot{flex:none;width:.55rem;height:.55rem;border-radius:50%;background:#111;box-shadow:0 0 0 0 rgba(17,17,17,.5);animation:pulse 2.4s ease-out infinite}
@media (max-width:600px){.announce-more{display:none}}

@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(17,17,17,.45)}70%,100%{box-shadow:0 0 0 .55rem rgba(17,17,17,0)}}
.pulse{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:currentColor;animation:pulse-c 2.4s ease-out infinite}
@keyframes pulse-c{0%{box-shadow:0 0 0 0 currentColor}70%,100%{box-shadow:0 0 0 .5rem transparent}}

/* ===== hero ===== */
.hero{position:relative;padding:5.5rem 0 6rem!important;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(40rem 26rem at 85% 10%,rgba(248,184,0,.28),transparent 70%),
  radial-gradient(1px 1px at 1px 1px,rgba(17,17,17,.13) 1px,transparent 1.5px) 0 0/22px 22px;
  -webkit-mask:linear-gradient(#000 55%,transparent);mask:linear-gradient(#000 55%,transparent)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero::before{background:radial-gradient(40rem 26rem at 85% 10%,rgba(248,184,0,.16),transparent 70%),radial-gradient(1px 1px at 1px 1px,rgba(255,255,255,.1) 1px,transparent 1.5px) 0 0/22px 22px}}
:root[data-theme="dark"] .hero::before{background:radial-gradient(40rem 26rem at 85% 10%,rgba(248,184,0,.16),transparent 70%),radial-gradient(1px 1px at 1px 1px,rgba(255,255,255,.1) 1px,transparent 1.5px) 0 0/22px 22px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:4rem;align-items:center}
@media (max-width:920px){.hero-grid{grid-template-columns:1fr;gap:3.5rem}}

.eyebrow{display:inline-flex;align-items:center;gap:.6rem;padding:.4rem .9rem .4rem .45rem;border:1px solid var(--hair);border-radius:99px;background:var(--card);font-size:.88rem;font-weight:600;color:var(--ink);box-shadow:var(--shadow-sm)}
.eyebrow-box{width:1.3rem;height:1.3rem;border-radius:5px;background:linear-gradient(90deg,transparent 38%,#111 38% 62%,transparent 62%) top/100% 42% no-repeat,linear-gradient(#111,#111) 0 42%/100% 2px no-repeat,var(--tape)}
.hero h1{margin-top:1.4rem;font-size:clamp(2.7rem,6.6vw,5.4rem);font-weight:800;line-height:.98;letter-spacing:-.045em}
.tape{position:relative;z-index:0;white-space:nowrap}
.tape::before{content:"";position:absolute;z-index:-1;left:-.1em;right:-.1em;top:.18em;bottom:.04em;background:var(--tape);border-radius:.08em;transform:rotate(-1.5deg) scaleX(1);transform-origin:left center}
.js .tape::before{animation:tape-in .7s var(--ease) .25s both}
@keyframes tape-in{from{transform:rotate(-1.5deg) scaleX(0)}to{transform:rotate(-1.5deg) scaleX(1)}}
.hero .lead{margin-top:1.6rem;font-size:clamp(1.08rem,1.6vw,1.25rem);line-height:1.6;color:var(--muted);max-width:33rem}
.hero .cta{margin-top:2.2rem;display:flex;flex-wrap:wrap;gap:.8rem}
.facts{display:flex;flex-wrap:wrap;gap:0;margin:2.8rem 0 0;padding:0;list-style:none}
.facts li{display:grid;padding:0 1.6rem;border-left:1px solid var(--hair)}
.facts li:first-child{padding-left:0;border-left:0}
.facts b{font:800 1.45rem/1.1 var(--display);letter-spacing:-.02em}
.facts span{font-size:.86rem;color:var(--muted)}
@media (max-width:520px){.facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start}.facts li{padding:0 .9rem}.facts b{font-size:1.15rem}.facts span{font-size:.78rem}}

/* ukázka sledování zásilky */
.hero-visual{position:relative;justify-self:center;width:100%;max-width:420px;padding:1.4rem 0 1.4rem 1.4rem}
.kraft{position:absolute;inset:0 2.2rem 2.6rem 0;border-radius:22px;transform:rotate(-5deg);background:
  linear-gradient(90deg,transparent 42%,rgba(248,184,0,.9) 42% 58%,transparent 58%),
  repeating-linear-gradient(90deg,rgba(43,29,14,.07) 0 2px,transparent 2px 7px),
  linear-gradient(150deg,#d6b48c,var(--kraft-d))}
.track{position:relative;background:var(--card);border:1px solid var(--hair);border-radius:20px;box-shadow:0 30px 60px -28px rgba(17,17,17,.45),0 2px 6px rgba(17,17,17,.06);overflow:hidden}
.track-tape{height:8px;background:repeating-linear-gradient(-45deg,var(--tape) 0 12px,#111 12px 24px)}
.track-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.2rem 1.3rem 1rem;border-bottom:1px dashed var(--hair)}
.track-label{display:block;font:600 .7rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.track-id{display:block;margin-top:.15rem;font:800 1.35rem var(--display);letter-spacing:-.01em}
.track-status{display:inline-flex;align-items:center;gap:.45rem;padding:.3rem .7rem;border-radius:99px;background:rgba(31,122,58,.1);color:var(--ok);font-size:.8rem;font-weight:700;white-space:nowrap}
.track-steps{list-style:none;margin:0;padding:1.1rem 1.3rem .4rem}
.track-steps li{position:relative;display:grid;grid-template-columns:1.6rem 1fr;gap:.9rem;padding-bottom:1.15rem}
.track-steps li:not(:last-child)::before{content:"";position:absolute;left:calc(.8rem - 1px);top:1.7rem;bottom:.15rem;width:2px;background:var(--soft)}
.track-steps li.done:not(:last-child)::after{content:"";position:absolute;left:calc(.8rem - 1px);top:1.7rem;bottom:.15rem;width:2px;background:var(--ok);transform-origin:top}
.track-dot{display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--ok);color:#fff}
.track-dot svg{width:.9rem;height:.9rem}
.now .track-dot{background:var(--tape);box-shadow:0 0 0 4px rgba(248,184,0,.25)}
.now .track-dot::after{content:"";width:.5rem;height:.5rem;border-radius:50%;background:#111}
.track-steps b{display:block;font-size:.98rem;line-height:1.3}
.track-steps small{display:block;color:var(--muted);font-size:.84rem}
.track-foot{display:flex;align-items:center;gap:.5rem;margin:0 1.3rem 1.2rem;padding:.75rem .9rem;border-radius:12px;background:var(--soft);font-size:.85rem}
.track-foot span:first-child{font:600 .7rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.track-bars{margin-left:auto;width:64px;height:20px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 5px,transparent 5px 8px,var(--ink) 8px 10px,transparent 10px 12px);opacity:.75}
/* kroky se po načtení postupně odškrtnou (jen jednou) */
.js .track-steps li{animation:step-in .5s var(--ease) both;animation-delay:calc(.45s + var(--i) * .28s)}
.js .track-steps li.done::after{animation:line-in .4s var(--ease) both;animation-delay:calc(.65s + var(--i) * .28s)}
@keyframes step-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes line-in{from{transform:scaleY(0)}to{transform:scaleY(1)}}

/* ===== připravujeme ===== */
.page-home .soon{padding:0 0 2rem!important;margin-top:-2.5rem}
.soon-card{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:2rem;align-items:center;padding:2.2rem;border-radius:24px;background:#111;color:#f3f1ec;position:relative;overflow:hidden}
.soon-card::before{content:"";position:absolute;right:-6rem;top:-6rem;width:18rem;height:18rem;border-radius:50%;background:radial-gradient(circle,rgba(248,184,0,.25),transparent 65%)}
@media (max-width:820px){.soon-card{grid-template-columns:1fr;padding:1.7rem}}
.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .75rem;border-radius:99px;background:rgba(248,184,0,.14);color:var(--tape);font:700 .74rem var(--mono);letter-spacing:.14em;text-transform:uppercase}
.soon-card h2{margin-top:1rem;font-size:clamp(1.6rem,3vw,2.3rem)!important;color:#fff}
.soon-card p{margin-top:.8rem;color:#bdbdbd;max-width:34rem}
.wl{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem;max-width:30rem}
.wl input[type=email]{flex:1 1 14rem;min-width:0;padding:.85rem 1rem;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.06);color:#fff;font:500 1rem var(--body);transition:border-color .2s var(--ease),background-color .2s var(--ease)}
.wl input[type=email]::placeholder{color:#8a8a8a}
.wl input[type=email]:focus{outline:none;border-color:var(--tape);background:rgba(255,255,255,.1)}
.wl .btn{flex:none;border-color:var(--tape);box-shadow:none}
.wl .btn:hover{box-shadow:none}
.wl .btn:disabled{opacity:.6;cursor:wait}
.wl-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.wl-msg{margin-top:.7rem!important;font-weight:600;color:#fff!important}
.wl-msg:empty{display:none}
.wl-msg.ok{color:#7ad48f!important}
.wl-msg.err{color:#ff8a78!important}
.soon-card .wl-note{margin-top:.6rem;font-size:.82rem;color:#8a8a8a}
.soon-list{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.soon-list li{display:flex;align-items:center;gap:.8rem;padding:.8rem 1rem;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.03);font-weight:600}
.soon-list span{font:700 .74rem var(--mono);color:var(--tape)}

/* ===== nabídka ===== */
.cards{list-style:none;margin:3.4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
@media (max-width:900px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cards{grid-template-columns:1fr}}
.cards li{padding:1.7rem 1.6rem 1.6rem;border:1px solid var(--hair);border-radius:20px;background:var(--card);transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}
.cards li:hover{border-color:rgba(248,184,0,.8);box-shadow:0 18px 40px -24px rgba(17,17,17,.35)}
.ico{display:grid;place-items:center;width:3rem;height:3rem;border-radius:14px;background:var(--tape);color:#111;transition:transform .3s var(--ease)}
.cards li:hover .ico{transform:rotate(-6deg)}
.ico svg{width:1.45rem;height:1.45rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cards h3{margin-top:1.3rem;font-size:1.25rem;letter-spacing:-.02em}
.cards p{margin-top:.5rem;color:var(--muted);font-size:1rem;line-height:1.55}

/* ===== postup ===== */
.page-home .steps{background:#0f0f0f;color:#f3f1ec}
.steps .head .sub{color:#a8a8a8}
.steps .eyebrow-num{color:#a8a8a8}
.steps .eyebrow-num span{box-shadow:none}
.timeline{list-style:none;margin:3.6rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;position:relative}
.timeline::before,.timeline::after{content:"";position:absolute;left:1.4rem;right:calc(25% - 1.4rem);top:1.4rem;height:2px;background:#2a2a2a}
.timeline::after{background:var(--tape);transform-origin:left;transform:scaleX(1)}
.js .timeline::after{transform:scaleX(0);transition:transform 1.4s var(--ease) .2s}
.js .timeline.in::after{transform:scaleX(1)}
.timeline li{position:relative}
.tl-num{position:relative;z-index:1;display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:50%;background:#0f0f0f;border:2px solid #3a3a3a;font:800 1.1rem var(--display);color:#f3f1ec;transition:background .4s var(--ease),border-color .4s var(--ease),color .4s var(--ease)}
.timeline.in .tl-num{background:var(--tape);border-color:var(--tape);color:#111;transition-delay:calc(.2s + var(--i) * .35s)}
.timeline h3{margin-top:1.3rem;font-size:1.2rem;color:#fff}
.timeline p{margin-top:.45rem;color:#a8a8a8;font-size:.98rem;line-height:1.55;max-width:15rem}
@media (max-width:820px){
  .timeline{grid-template-columns:1fr;gap:0}
  /* na mobilu má každý krok vlastní úsek čáry až k dalšímu číslu */
  .timeline::before,.timeline::after{display:none}
  .timeline li:not(:last-child)::before,.timeline li:not(:last-child)::after{content:"";position:absolute;left:calc(1.4rem - 1px);top:2.8rem;bottom:0;width:2px;background:#2a2a2a}
  .timeline li:not(:last-child)::after{background:var(--tape);transform-origin:top}
  .js .timeline li::after{transform:scaleY(0);transition:transform .35s var(--ease);transition-delay:calc(.35s + var(--i) * .35s)}
  .js .timeline.in li::after{transform:scaleY(1)}
  .timeline li{display:grid;grid-template-columns:2.8rem 1fr;column-gap:1.2rem;padding-bottom:1.8rem}
  .timeline li:last-child{padding-bottom:0}
  .timeline .tl-num{grid-row:span 2}
  .timeline h3{margin-top:.45rem}
  .timeline p{max-width:none}
}

/* ===== ceník ===== */
.calc{margin-top:3.2rem;display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
@media (max-width:820px){.calc{grid-template-columns:1fr}}
.calc .panel{padding:1.8rem;border:1px solid var(--hair);border-radius:22px;background:var(--card)}
.calc .t{display:block;font:700 1.15rem var(--display);letter-spacing:-.01em;margin-bottom:1rem}
.vol{display:flex;align-items:baseline;gap:.7rem}
.vol output{font:800 3.6rem/1 var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.vol span,.scale{color:var(--muted);font-size:.95rem}
.scale{display:flex;justify-content:space-between;font:500 .78rem var(--mono)}
.page-home input[type=range]{-webkit-appearance:none;appearance:none;display:block;width:100%;height:8px;margin:1.4rem 0 .6rem;border:0;border-radius:99px;background:linear-gradient(90deg,var(--tape) var(--p,8%),var(--soft) var(--p,8%));cursor:pointer}
.page-home input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;border:6px solid #111;box-shadow:0 2px 8px rgba(0,0,0,.25);transition:transform .15s var(--ease)}
.page-home input[type=range]:active::-webkit-slider-thumb{transform:scale(1.12)}
.page-home input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:6px solid #111;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.page-home input[type=range]:focus-visible{outline:3px solid var(--tape);outline-offset:6px}
.tiers{margin-top:1.4rem;display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;padding:.3rem;border-radius:14px;background:var(--soft)}
.tier{font:inherit;text-align:center;background:transparent;cursor:pointer;border:0;border-radius:10px;padding:.55rem .3rem;font-size:.8rem;color:var(--muted);transition:background .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease)}
.tier:hover{color:var(--ink)}
.tier b{display:block;color:var(--ink);font:800 1.02rem var(--display)}
.tier.on{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.tier.on b{color:var(--ink)}
.pp{margin-top:1.4rem;display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-top:1.1rem;border-top:1px dashed var(--hair)}
.pp span{color:var(--muted)}
.pp b{font:800 2rem var(--display);letter-spacing:-.02em}
.sizes{display:grid;gap:.55rem}
.size{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.1rem;border:1px solid var(--hair);border-radius:14px;cursor:pointer;transition:border-color .2s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease)}
.size:hover{border-color:var(--ink)}
.size input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}
.size:focus-within{outline:3px solid var(--tape);outline-offset:2px}
.size span,.size em{display:flex;flex-direction:column;font-style:normal}
.size strong{font-weight:700}
.size em{text-align:right;font:800 1.15rem var(--display);white-space:nowrap}
.size small{font:400 .82rem var(--body);color:var(--muted)}
.size.on{border-color:#111;background:rgba(248,184,0,.14);box-shadow:inset 0 0 0 1px #111}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .size.on{border-color:var(--tape);box-shadow:inset 0 0 0 1px var(--tape)}}
:root[data-theme="dark"] .size.on{border-color:var(--tape);box-shadow:inset 0 0 0 1px var(--tape)}

.result-row{margin-top:2.6rem;display:grid;grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:2.4rem;align-items:center}
@media (max-width:820px){.result-row{grid-template-columns:1fr}}
.result{position:relative;padding:1.5rem 1.6rem 1.7rem;background:var(--paper);color:#111;font-family:var(--mono);border-radius:16px 16px 0 0;box-shadow:0 24px 50px -30px rgba(17,17,17,.5)}
.result::after{content:"";position:absolute;left:0;right:0;top:100%;height:10px;background:linear-gradient(135deg,var(--paper) 33%,transparent 33%) 0 0/16px 10px repeat-x,linear-gradient(225deg,var(--paper) 33%,transparent 33%) 0 0/16px 10px repeat-x}
.result-head{text-align:center;font-weight:700;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;padding-bottom:.8rem;margin-bottom:.5rem;border-bottom:1px dashed #111}
.result .r{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.3rem 0}
.result .r span{font-size:.85rem;color:#4d4d4d}
.result .r b{font:700 1.05rem var(--mono);white-space:nowrap;font-variant-numeric:tabular-nums}
.result .total{margin-top:.5rem;padding-top:.8rem;border-top:1px dashed #111}
.result .total span{color:#111;font-weight:700}
.result .total b{font:800 1.9rem var(--display);background:var(--tape);padding:0 .4rem;border-radius:6px}
.result .barcode{height:30px;margin-top:1.1rem;background:repeating-linear-gradient(90deg,#111 0 2px,var(--paper) 2px 5px,#111 5px 6px,var(--paper) 6px 9px,#111 9px 12px,var(--paper) 12px 14px)}
.result-cta p{font:700 clamp(1.3rem,2.4vw,1.7rem)/1.25 var(--display);letter-spacing:-.02em;max-width:24rem}
.result-cta .btn{margin-top:1.3rem}
.more{margin-top:5rem;font-size:1.5rem;letter-spacing:-.02em}
.extra{list-style:none;margin:1.3rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem}
@media (max-width:900px){.extra{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.extra{grid-template-columns:1fr}}
.extra li{display:flex;flex-direction:column;justify-content:space-between;gap:1.2rem;padding:1.3rem 1.3rem 1.2rem;border:1px solid var(--hair);border-radius:18px;background:var(--card)}
.extra h4{margin:0;font:700 1.05rem var(--display);letter-spacing:-.01em}
.extra p{margin-top:.35rem;color:var(--muted);font-size:.92rem;line-height:1.5}
.extra .amt{font:800 1.6rem var(--display);letter-spacing:-.02em}
.extra .amt small{display:block;font:500 .74rem var(--mono);letter-spacing:.04em;color:var(--muted)}
.price .note{margin-top:1.3rem;color:var(--muted);font-size:.92rem}

/* ===== pro koho ===== */
.cols{margin-top:3.2rem;display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
@media (max-width:760px){.cols{grid-template-columns:1fr}}
.col{padding:2rem;border-radius:22px;border:1px solid var(--hair);background:var(--card)}
.col.no{background:transparent;border-style:dashed}
.col h3{font-size:1.35rem;letter-spacing:-.02em}
.col ul{margin:1.2rem 0 0;padding:0;list-style:none;display:grid;gap:.75rem}
.col li{display:flex;gap:.75rem;align-items:flex-start;line-height:1.45}
.col li svg{flex:none;width:1.4rem;height:1.4rem;padding:.25rem;border-radius:50%;margin-top:.05rem}
.col.yes li svg{background:rgba(31,122,58,.12);color:var(--ok)}
.col.no li svg{background:rgba(200,50,30,.1);color:var(--stamp)}

/* ===== o nás ===== */
.page-home .about{background:var(--tape);color:#111;position:relative;overflow:hidden}
.about .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:3rem;align-items:end}
@media (max-width:820px){.about .wrap{grid-template-columns:1fr;gap:1.8rem}}
.about .eyebrow-num{color:#111}
.about .big{margin:0;font:800 clamp(2rem,4.6vw,3.4rem)/1.05 var(--display);letter-spacing:-.035em}
.about .big::before{content:"“";display:block;font-size:5rem;line-height:.55;margin-bottom:.4rem}
.about-txt p{font-size:1.1rem;line-height:1.6}
.about-txt p+p{margin-top:1rem}

/* ===== kontakt ===== */
.contact .wrap{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:3rem;align-items:start}
@media (max-width:860px){.contact .wrap{grid-template-columns:1fr;gap:2rem}}
.contact-intro p:not(.eyebrow-num){margin-top:1rem;color:var(--muted);font-size:1.05rem}
.mail{display:inline-flex;align-items:center;gap:.8rem;margin-top:1.6rem;padding:.8rem 1.1rem .8rem .9rem;border:1px solid var(--hair);border-radius:14px;background:var(--card);text-decoration:none;font-weight:700;transition:border-color .2s var(--ease)}
.mail:hover{border-color:var(--ink)}
.mail svg{color:var(--ink);padding:.45rem;width:2.3rem;height:2.3rem;border-radius:10px;background:var(--tape);color:#111}
.mail small{display:block;font-weight:500;font-size:.8rem;color:var(--muted)}
.req-card{border:1px solid var(--hair);border-radius:24px;background:var(--card);overflow:hidden}
.req-steps{list-style:none;margin:0;padding:1.8rem 1.8rem .8rem;display:grid;gap:1.3rem;counter-reset:r}
.req-steps li{display:grid;grid-template-columns:auto 1fr;gap:.15rem 1rem;counter-increment:r}
.req-steps li::before{content:counter(r);grid-row:span 2;display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--tape);color:#111;font:800 .95rem var(--display);box-shadow:inset 0 0 0 1.5px #111}
.req-steps b{font:700 1.08rem var(--display);letter-spacing:-.01em}
.req-steps span{color:var(--muted);font-size:.95rem}
.req-actions{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-items:center;margin-top:1rem;padding:1.3rem 1.8rem 1.6rem;border-top:1px solid var(--hair);background:var(--bg)}
.req-actions .note{color:var(--muted);font-size:.92rem}

/* ===== objevování při rolování (jen jednou, bez skoků) ===== */
.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--d,0) * 90ms)}
.js [data-reveal].in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .js [data-reveal]{opacity:1;transform:none;transition:none}
  .js .tape::before,.js .track-steps li,.js .track-steps li.done::after{animation:none}
  .announce-dot,.pulse{animation:none}
  .js .timeline::after,.js .timeline li::after{transition:none;transform:none}
  .tl-num,.cards li,.ico,.size,.tier{transition:none}
}

/* ===== 404 ===== */
.nf{padding:6rem 0 7rem}
.nf-in{max-width:44rem;text-align:left}
.nf-box{position:relative;width:7.5rem;height:7.5rem;margin-bottom:2rem;border-radius:22px;background:linear-gradient(90deg,transparent 38%,#111 38% 62%,transparent 62%) top/100% 38% no-repeat,linear-gradient(#111,#111) 0 38%/100% 4px no-repeat,var(--tape);transform:rotate(-6deg);box-shadow:0 24px 40px -24px rgba(17,17,17,.5)}
.nf-box span{position:absolute;right:.7rem;bottom:.8rem;padding:.15rem .45rem;border-radius:6px;background:#fff;color:#111;font:800 .9rem var(--mono)}
.nf h1{font-size:clamp(2.4rem,6vw,4rem);letter-spacing:-.04em}
.nf-lead{margin-top:1rem;font-size:1.15rem;color:var(--muted)}
.nf-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
