/* Koncept: čistý „Apple“ styl – skleněný tekutý tvar, sekce se střídají tmavá/světlá, vše jemně zaoblené */
:root{
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
  --navy-deep:#060E2E; --navy:#091540; --royal:#1B2CC1; --peri:#7692FF; --sky:#ABD2FA; --snow:#F3F7FE; --white:#FFFFFF;
  --bg:#091540; --fg:#F2F7FF; --fg2:#ABD2FA; --card:rgba(255,255,255,.045); --card-b:rgba(171,210,250,.16); --acc:#7692FF; --shadow:0 30px 80px rgba(0,0,0,.35);
  --glass:rgba(255,255,255,.07); --glass-b:rgba(255,255,255,.18); --glow:rgba(118,146,255,.55);
  --f-display:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter Tight", "Helvetica Neue", Arial, sans-serif;
  --f-body:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Helvetica Neue", Arial, sans-serif;
  --r:12px; --r-lg:16px;
  --gutter:max(clamp(20px,6vw,96px), env(safe-area-inset-left,0px));
  --gutter-r:max(clamp(20px,6vw,96px), env(safe-area-inset-right,0px));
  --ease:cubic-bezier(.22,1,.36,1);
  color-scheme:dark;
}
:root.light{
  --bg:#F3F7FE; --fg:#091540; --fg2:rgba(9,21,64,.62); --card:#FFFFFF; --card-b:rgba(9,21,64,.08); --acc:#1B2CC1; --shadow:0 24px 60px rgba(9,21,64,.10);
  --glass:rgba(9,21,64,.05); --glass-b:rgba(9,21,64,.14); --glow:rgba(27,44,193,.35);
  color-scheme:light;
}
html,body{overflow-x:clip}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0}
img{max-width:100%;display:block}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:17px;line-height:1.5;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;transition:background-color 1s var(--ease),color 1s var(--ease)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg);transition:background-color 1s var(--ease)}
::selection{background:var(--peri);color:var(--navy-deep)}
a{color:inherit;text-decoration:none}
#gl{position:fixed;inset:0;width:100%;height:100%;z-index:0;display:block;pointer-events:none}
.aura{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:1;transition:opacity 1s var(--ease);
  background:radial-gradient(60% 50% at 70% 20%, rgba(27,44,193,.45), transparent 70%),radial-gradient(50% 45% at 15% 85%, rgba(118,146,255,.18), transparent 70%)}
.light .aura{opacity:.35}
main{position:relative;z-index:2}
.wrap{padding-left:var(--gutter);padding-right:var(--gutter-r)}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:600;letter-spacing:-.035em;line-height:1.02;margin:0;text-wrap:balance}
p{margin:0}
.fg2{color:var(--fg2);transition:color 1s var(--ease)}
.grad{background:linear-gradient(180deg,var(--fg) 30%,var(--acc));-webkit-background-clip:text;background-clip:text;color:transparent}

/* plovoucí skleněné menu */
.nav{position:fixed;z-index:50;top:calc(env(safe-area-inset-top,0px) + 14px);left:50%;transform:translateX(-50%);
  display:flex;align-items:center;gap:10px;padding:6px;border-radius:14px;
  background:rgba(9,21,64,.55);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);
  box-shadow:0 10px 40px rgba(0,0,0,.25);transition:background-color .8s,border-color .8s,box-shadow .8s;width:max-content;max-width:calc(100% - 32px)}
.light .nav{background:rgba(255,255,255,.7);border-color:rgba(9,21,64,.08);box-shadow:0 10px 40px rgba(9,21,64,.08)}
.nav .logo{font:600 15px var(--f-display);letter-spacing:-.02em;white-space:nowrap;padding:0 10px}
.nav .right{display:flex;align-items:center;gap:4px}
.burger{display:flex;align-items:center;gap:10px;height:40px;padding:0 12px 0 14px;border-radius:9px;border:0;background:var(--glass);color:var(--fg);font:500 14px var(--f-body);cursor:pointer;transition:background .3s,color 1s}
.burger:hover{background:var(--glass-b)}
.burger .ico{position:relative;width:18px;height:12px}
.burger .ico i{position:absolute;left:0;right:0;height:1.6px;border-radius:2px;background:currentColor;transition:transform .5s var(--ease),top .5s var(--ease)}
.burger .ico i:first-child{top:2px}.burger .ico i:last-child{top:8px}
.menu-open .burger .ico i:first-child{top:5px;transform:rotate(45deg)}.menu-open .burger .ico i:last-child{top:5px;transform:rotate(-45deg)}
.nav .gb.big{height:40px;padding:0 18px;font-size:15px;border-radius:9px}
.menu-open .nav{background:rgba(9,21,64,.6);border-color:rgba(255,255,255,.14);color:#F2F7FF}
.menu-open .nav .burger{color:#F2F7FF;background:rgba(255,255,255,.08)}
@media (max-width:760px){.nav{left:12px;right:12px;transform:none;width:auto;justify-content:space-between}.burger .t{display:none}.burger{padding:0 11px}.nav .logo{padding:0 4px;font-size:14px}.nav .gb.big{height:44px;padding:0 20px;font-size:16px}}
@media (max-width:360px){.nav .logo{display:none}}

/* menu přes celou obrazovku */
.menu{position:fixed;inset:0;z-index:45;color:#F2F7FF;background:rgba(6,14,46,.86);backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%);
  display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(24px,5vw,80px);align-items:center;
  padding-block:calc(env(safe-area-inset-top,0px) + 96px) max(32px,env(safe-area-inset-bottom,0px));padding-left:var(--gutter);padding-right:var(--gutter-r);
  opacity:0;visibility:hidden;transition:opacity .6s var(--ease),visibility 0s .6s;overflow-y:auto}
.menu.open{opacity:1;visibility:visible;transition:opacity .6s var(--ease),visibility 0s}
.menu nav{display:flex;flex-direction:column}
.mi{--i:0;display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:14px;border-bottom:1px solid rgba(171,210,250,.14);
  font:600 clamp(34px,5.4vw,72px)/1.05 var(--f-display);letter-spacing:-.045em;color:#F2F7FF;
  opacity:0;transform:translateY(28px);filter:blur(8px);transition:opacity .7s var(--ease),transform .7s var(--ease),filter .7s var(--ease),color .3s}
.menu.open .mi{opacity:1;transform:none;filter:none;transition-delay:calc(var(--i) * 60ms + 120ms)}
.mi .ar{font-size:.5em;color:#7692FF;opacity:0;transform:translateX(-12px);transition:opacity .4s,transform .5s var(--ease)}
.mi:hover,.mi:focus-visible{color:#ABD2FA;outline:none}
.mi:hover .ar,.mi:focus-visible .ar{opacity:1;transform:none}
.mi.cur{color:#7692FF}
.mside{display:grid;gap:14px;align-content:center;opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease) .1s,transform .8s var(--ease) .1s}
.menu.open .mside{opacity:1;transform:none;transition-delay:.45s}
.mcard{border-radius:16px;padding:26px;background:rgba(255,255,255,.05);border:1px solid rgba(171,210,250,.16);display:grid;gap:14px}
.mcard h3{font-size:24px}
.mcard p{color:#ABD2FA;font-size:15.5px}
.mcard .mail{font:600 20px var(--f-display);letter-spacing:-.02em;user-select:all;overflow-wrap:anywhere}
.menu .gb{color:#F2F7FF;--glass:rgba(255,255,255,.07);--glass-b:rgba(255,255,255,.18);--glow:rgba(118,146,255,.55)}
@media (max-width:899px){.menu{grid-template-columns:1fr;align-items:start}}

/* skleněná tlačítka se září */
.gb{--x:50%;--y:50%;position:relative;display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 22px;border-radius:var(--r);
  font:500 16px var(--f-body);letter-spacing:-.01em;color:var(--fg);background:var(--glass);border:0;cursor:pointer;isolation:isolate;overflow:hidden;white-space:nowrap;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .5s var(--ease),background .5s,color 1s var(--ease)}
.gb::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;z-index:1;pointer-events:none;
  background:radial-gradient(120px circle at var(--x) var(--y), var(--peri), transparent 70%), linear-gradient(var(--glass-b),var(--glass-b));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.gb::after{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .5s;background:radial-gradient(160px circle at var(--x) var(--y), var(--glow), transparent 70%)}
.gb:hover::after,.gb:focus-visible::after{opacity:1}
.gb:hover{transform:translateY(-1px)}
.gb .ar{display:inline-block;transition:transform .5s var(--ease)}
.gb:hover .ar{transform:translateX(4px)}
.gb.pri{background:linear-gradient(135deg,rgba(27,44,193,.9),rgba(118,146,255,.75));color:#fff}
.gb.sm{height:38px;padding:0 14px;font-size:14px;border-radius:9px}
.gb:focus-visible,.burger:focus-visible,.copy:focus-visible{outline:2px solid var(--acc);outline-offset:3px}

/* kurzor */
.cursor{position:fixed;left:0;top:0;z-index:90;pointer-events:none;opacity:0;transition:opacity .4s}
.cursor.on{opacity:1}
.cursor span{position:absolute;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:1.5px solid var(--acc);transition:transform .5s var(--ease),background .4s,border-color 1s}
.cursor.big span{transform:scale(2);background:rgba(118,146,255,.14)}
@media (hover:none){.cursor{display:none}}

/* úvod */
.intro{min-height:100vh;min-height:100svh;display:grid;place-items:center;text-align:center;position:relative;padding-block:120px 80px}
.intro h1{font-size:clamp(56px,13vw,220px);font-weight:600;letter-spacing:var(--track,-.055em);line-height:.92}
.intro .sub{margin-top:28px;font-size:clamp(18px,1.8vw,24px);color:var(--fg2);letter-spacing:-.015em}
.intro .ctas{margin-top:40px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.down{position:absolute;bottom:max(28px,env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);width:26px;height:40px;border-radius:13px;border:1.5px solid var(--glass-b);display:grid;justify-items:center;padding-top:7px}
.down::after{content:"";width:3px;height:8px;border-radius:2px;background:var(--fg2);animation:wh 1.8s var(--ease) infinite}
@keyframes wh{from{transform:translateY(0);opacity:1}to{transform:translateY(12px);opacity:0}}

/* sekce */
.sec{padding-block:clamp(88px,13vh,150px)}
.h2{font-size:clamp(40px,6vw,88px)}
.lead{font-size:clamp(18px,1.6vw,22px);color:var(--fg2);max-width:40ch;margin-top:20px;transition:color 1s var(--ease)}
.head{margin-bottom:56px;max-width:900px}
.center{text-align:center;margin-inline:auto}
.center .lead{margin-inline:auto}

.manifest p{font-family:var(--f-display);font-weight:600;font-size:clamp(30px,4.6vw,68px);line-height:1.08;letter-spacing:-.04em;max-width:20ch;margin-inline:auto;text-align:center;text-wrap:balance}
.manifest .w{opacity:.22;transition:opacity .3s}
.manifest .acc{color:var(--acc)}
.static .manifest .w{opacity:1}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px}
.card{--x:50%;--y:50%;position:relative;padding:28px 24px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--card-b);box-shadow:var(--shadow);
  display:flex;flex-direction:column;gap:12px;min-height:300px;overflow:hidden;transition:transform .6s var(--ease),background-color 1s,border-color 1s,box-shadow 1s}
.card::before{content:"";position:absolute;inset:0;opacity:0;transition:opacity .5s;pointer-events:none;background:radial-gradient(220px circle at var(--x) var(--y), rgba(118,146,255,.16), transparent 70%)}
.card:hover{transform:translateY(-6px)}.card:hover::before{opacity:1}
.ic{width:46px;height:46px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--royal),var(--peri));color:#fff;margin-bottom:auto}
.ic svg{width:22px;height:22px}
.card h3{font-size:22px;letter-spacing:-.025em;margin-top:28px}
.card p{color:var(--fg2);font-size:15.5px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.tag{font-size:12.5px;padding:5px 10px;border-radius:7px;background:var(--glass);color:var(--fg2)}
@media (max-width:600px){.cards{grid-template-columns:1fr}.card{min-height:0}}

.proj{display:grid;grid-template-columns:1.2fr 1fr;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--card-b);overflow:hidden;margin-top:24px;box-shadow:var(--shadow)}
.proj .pv{padding:clamp(24px,4vw,56px);display:flex;align-items:center;background:radial-gradient(80% 80% at 30% 30%, rgba(27,44,193,.55), rgba(6,14,46,.2))}
.proj.rev .pv{background:radial-gradient(80% 80% at 70% 30%, rgba(118,146,255,.45), rgba(6,14,46,.2))}
.proj .tx{padding:clamp(26px,3.6vw,52px);display:flex;flex-direction:column;gap:16px;min-width:0}
.proj .kind{font-size:14px;color:var(--acc);font-weight:500}
.proj h3{font-size:clamp(28px,3vw,44px)}
.proj p{color:var(--fg2)}
.bens{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.bens li{display:flex;gap:10px;align-items:flex-start}
.bens li::before{content:"";flex:none;width:18px;height:18px;margin-top:2px;border-radius:50%;background:var(--acc) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'><path d='M5 9.5l2.6 2.5L13 6.5' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/18px no-repeat}
.pfoot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.shot{width:100%;border-radius:10px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.45);transition:transform .8s var(--ease)}
.proj:hover .shot{transform:translateY(-6px) scale(1.015)}
.shot .bar{height:28px;display:flex;gap:6px;align-items:center;padding:0 12px;background:#E9EDF5}
.shot .bar i{width:9px;height:9px;border-radius:50%;background:#C9D0DD}
.shot .bar span{margin-left:auto;margin-right:auto;font-size:11px;color:#55607A;background:#fff;border-radius:6px;padding:2px 14px}
.proj.rev{grid-template-columns:1fr 1.2fr}.proj.rev .pv{order:2}
.wip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}
.wip div{border-radius:var(--r-lg);background:var(--card);border:1px solid var(--card-b);padding:22px;display:grid;gap:6px}
.wip .top{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--fg2);margin-bottom:12px}
.wip h4{font-size:21px;letter-spacing:-.025em}
.pill{font-size:12px;padding:4px 9px;border-radius:999px;background:rgba(118,146,255,.18);color:var(--acc)}
@media (max-width:899px){.proj,.proj.rev{grid-template-columns:1fr}.proj.rev .pv{order:0}.wip{grid-template-columns:1fr}}

.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.step{padding:28px 24px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--card-b);box-shadow:var(--shadow);display:grid;gap:10px;align-content:start}
.step .k{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font:600 16px var(--f-display);color:#fff;background:linear-gradient(135deg,var(--royal),var(--peri));margin-bottom:18px}
.step h3{font-size:21px;letter-spacing:-.025em}
.step p{color:var(--fg2);font-size:15.5px}
.prog{height:3px;border-radius:3px;background:var(--card-b);margin-top:28px;overflow:hidden}
.prog b{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--royal),var(--peri));transform-origin:left;transform:scaleX(0)}
.static .prog b{transform:none}
@media (max-width:899px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

.appr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:56px}
.appr div{padding:26px 24px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--card-b)}
.appr h3{font-size:22px;letter-spacing:-.025em;margin-bottom:8px}
.appr p{color:var(--fg2);font-size:15.5px}
.marq{margin-top:56px;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marq .row{display:flex;gap:12px;width:max-content;animation:mq 40s linear infinite}
.marq .row+.row{margin-top:12px;animation-direction:reverse;animation-duration:46s}
.marq span{padding:12px 20px;border-radius:11px;background:var(--card);border:1px solid var(--card-b);font:500 16px var(--f-body);white-space:nowrap}
@keyframes mq{to{transform:translateX(-50%)}}
@media (max-width:899px){.appr{grid-template-columns:1fr}}

.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(220px,auto);gap:16px}
.hob{--x:50%;--y:50%;position:relative;overflow:hidden;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--card-b);box-shadow:var(--shadow);padding:26px 24px;display:flex;flex-direction:column;gap:10px;transition:transform .6s var(--ease),background-color 1s,border-color 1s}
.hob::before{content:"";position:absolute;inset:0;opacity:0;transition:opacity .5s;pointer-events:none;background:radial-gradient(240px circle at var(--x) var(--y), rgba(118,146,255,.18), transparent 70%)}
.hob:hover{transform:translateY(-6px)}.hob:hover::before{opacity:1}
.hob.w2{grid-column:span 2}
.hob .ic{margin-bottom:auto}
.hob h3{font-size:24px;letter-spacing:-.03em;margin-top:24px}
.hob p{color:var(--fg2);font-size:15.5px;max-width:42ch}
.hob.feat{background:linear-gradient(135deg,var(--royal),var(--peri));border-color:transparent;color:#fff}
.hob.feat p{color:rgba(255,255,255,.82)}
.hob.feat .ic{background:rgba(255,255,255,.18)}
@media (max-width:1000px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.bento{grid-template-columns:1fr;grid-auto-rows:auto}.hob.w2{grid-column:auto}.hob{min-height:200px}}

.ref{position:relative;overflow:hidden;border-radius:20px;padding:clamp(32px,5vw,72px);background:linear-gradient(135deg,var(--royal) 0%,#3446D8 45%,var(--peri) 100%);color:#fff;box-shadow:0 40px 100px rgba(27,44,193,.35)}
.ref::before{content:"";position:absolute;width:520px;height:520px;right:-140px;top:-180px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.28),transparent 65%);pointer-events:none}
.ref .top{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(24px,4vw,64px);align-items:end;position:relative}
.ref h2{font-size:clamp(36px,5vw,72px)}
.ref .pct{font:600 clamp(80px,13vw,200px)/.85 var(--f-display);letter-spacing:-.06em;text-align:right;background:linear-gradient(180deg,#fff 40%,rgba(255,255,255,.55));-webkit-background-clip:text;background-clip:text;color:transparent}
.ref p.l{font-size:clamp(17px,1.5vw,21px);color:rgba(255,255,255,.86);max-width:44ch;margin-top:18px}
.ref .how{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:44px}
.ref .how div{border-radius:14px;padding:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;gap:6px}
.ref .how b{font:600 13px var(--f-body);color:rgba(255,255,255,.7)}
.ref .how h3{font-size:20px}
.ref .how p{font-size:15px;color:rgba(255,255,255,.82)}
.ref .act{position:relative;display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:32px}
.ref .act small{color:rgba(255,255,255,.75);font-size:14px}
.ref .gb{color:#fff;--glass:rgba(255,255,255,.16);--glass-b:rgba(255,255,255,.4);--glow:rgba(255,255,255,.45)}
@media (max-width:899px){.ref .top{grid-template-columns:1fr}.ref .pct{text-align:left}.ref .how{grid-template-columns:1fr}}

.contact .h2{font-size:clamp(44px,7.5vw,120px)}
.cbox{margin-top:48px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--card-b);overflow:hidden;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.crow{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:16px;align-items:center;padding:22px 26px;border-top:1px solid var(--card-b);transition:background .4s}
.crow:first-child{border-top:0}
.crow:hover{background:var(--glass)}
.crow .k{color:var(--fg2);font-size:15px}
.crow .v{font:600 clamp(20px,2.8vw,38px)/1.15 var(--f-display);letter-spacing:-.03em;overflow-wrap:anywhere;user-select:all}
.copy{height:36px;padding:0 14px;border-radius:9px;border:1px solid var(--glass-b);background:var(--glass);color:var(--fg);font:500 14px var(--f-body);cursor:pointer}
@media (max-width:600px){.crow{grid-template-columns:minmax(0,1fr) auto}.crow .k:first-child{grid-column:1/-1}}
footer{position:relative;z-index:2;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-block:28px 40px;color:var(--fg2);font-size:14px;border-top:1px solid var(--card-b)}
@media (prefers-reduced-motion:reduce){.marq .row,.down::after{animation:none}.manifest .w{opacity:1}.prog b{transform:none}}

/* náhled projektu bez obrázku */
.shot-img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top}
.ph{aspect-ratio:16/10;padding:clamp(16px,2.6vw,32px);display:flex;flex-direction:column;gap:12px;justify-content:flex-end;background:linear-gradient(160deg,#0B1A55,#1B2CC1 60%,#7692FF);color:#fff}
.ph-k{font-size:12px;letter-spacing:.06em;text-transform:uppercase;opacity:.75}
.ph-n{font:600 clamp(24px,3vw,44px)/1 var(--f-display);letter-spacing:-.035em}
.ph-b{width:120px;height:30px;border-radius:7px;background:rgba(255,255,255,.9)}
.ph-g{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}
.ph-g i{display:block;height:clamp(24px,4vw,52px);border-radius:6px;background:rgba(255,255,255,.16)}
.bento.two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:600px){.bento.two{grid-template-columns:1fr}}
.crow a.v{color:inherit}

/* ---------- cookies lišta ---------- */
.ck{position:fixed;z-index:80;left:max(16px,env(safe-area-inset-left,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));width:min(420px,calc(100% - 32px));
  padding:22px;border-radius:16px;color:#F2F7FF;background:rgba(9,21,64,.88);border:1px solid rgba(171,210,250,.2);
  backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);box-shadow:0 24px 70px rgba(0,0,0,.35);
  display:grid;gap:12px;opacity:0;transform:translateY(16px);transition:opacity .4s var(--ease),transform .5s var(--ease)}
.ck.show{opacity:1;transform:none}
.ck h2{font-size:19px;letter-spacing:-.02em}
.ck p{font-size:14.5px;color:#ABD2FA;line-height:1.5}
.ck a{color:#F2F7FF;text-decoration:underline;text-underline-offset:2px}
.ck .gb{color:#F2F7FF;--glass:rgba(255,255,255,.1);--glass-b:rgba(255,255,255,.28);--glow:rgba(118,146,255,.5)}
.ck .ck-eq{background:rgba(255,255,255,.12);justify-content:center}
.ck-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ck-btns .ck-more{grid-column:1/-1;justify-content:center;background:transparent}
.ck-btns .ck-save{display:none;grid-column:1/-1;justify-content:center}
.ck-set{display:none;gap:8px}
.ck.settings .ck-set{display:grid}
.ck.settings .ck-more{display:none}
.ck.settings .ck-save{display:inline-flex}
.ck-row{display:flex;align-items:center;gap:12px;padding:12px;border-radius:11px;background:rgba(255,255,255,.06);cursor:pointer}
.ck-row span{flex:1;display:grid;gap:2px;font-size:14px}
.ck-row small{color:#ABD2FA;font-size:12.5px}
.ck-row input{position:absolute;opacity:0;width:1px;height:1px}
.ck-row i{width:38px;height:22px;border-radius:11px;background:rgba(255,255,255,.2);position:relative;flex:none;transition:background .2s}
.ck-row i::after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .2s}
.ck-row input:checked + i{background:#1B2CC1}
.ck-row input:checked + i::after{transform:translateX(16px)}
.ck-row input:disabled + i{opacity:.6}
.ck-row input:focus-visible + i{outline:2px solid #7692FF;outline-offset:2px}
.foot-links{display:flex;gap:16px;flex-wrap:wrap}
.foot-links a{color:var(--fg2);text-decoration:underline;text-underline-offset:2px}

/* ---------- stránka zásad ---------- */
body.doc{background:var(--bg)}
.doc-main{max-width:820px;margin:0 auto;padding-block:48px 120px}
.doc-main h1{font-size:clamp(36px,5vw,56px);margin-top:20px}
.doc-main h2{font-size:22px;margin:40px 0 10px}
.doc-main p,.doc-main li{color:var(--fg2);font-size:16.5px;line-height:1.65}
.doc-main p+p{margin-top:10px}
.doc-main a{color:var(--acc)}
.doc-main ul{padding-left:20px}
.doc-back{font-size:15px;color:var(--fg2)!important}
.doc-table{overflow-x:auto;border:1px solid var(--card-b);border-radius:12px;background:var(--card)}
.doc-table table{border-collapse:collapse;width:100%;min-width:560px;font-size:14.5px}
.doc-table th,.doc-table td{text-align:left;padding:12px 14px;border-top:1px solid var(--card-b);vertical-align:top}
.doc-table thead th{border-top:0;font-weight:600}
.doc-table td{color:var(--fg2)}
.doc-main .gb.pri{margin-top:24px}

/* jen tmavý web – sekce se odliší jemným pruhem a září */
.sec.band{position:relative}
.sec.band::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(27,44,193,.13) 18%,rgba(27,44,193,.13) 82%,transparent),
             radial-gradient(60% 40% at 50% 0%,rgba(118,146,255,.12),transparent 70%)}
.h2{background:linear-gradient(180deg,var(--fg) 45%,#9DB6FF);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.06em}
.card,.step,.hob,.appr div,.wip div{background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.02))}
.card:hover,.hob:hover{border-color:rgba(118,146,255,.45)}
.cards.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cards.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.cards.c3,.cards.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.cards.c3,.cards.c4{grid-template-columns:1fr}}

/* Mobil / dotyk: na iPhonu změna při :hover (např. objevení šipky) spotřebuje první ťuknutí a odkaz se neotevře. */
a,button{touch-action:manipulation;-webkit-tap-highlight-color:rgba(118,146,255,.18)}
.crow a.v{-webkit-user-select:text;user-select:text}
@media (hover:none){
  .mi:hover:not(.cur){color:#F2F7FF}
  .mi:hover .ar{opacity:0;transform:translateX(-12px)}
  .gb:hover::after{opacity:0}.gb:hover,.gb:hover .ar{transform:none}
  .card:hover,.hob:hover{transform:none;border-color:var(--card-b)}
  .card:hover::before,.hob:hover::before{opacity:0}
  .proj:hover .shot{transform:none}
  .crow:hover{background:none}
  .burger:hover{background:var(--glass)}
}
/* skrytá cookies lišta nesmí zůstat neviditelně nad stránkou a chytat ťuknutí */
.ck[hidden]{display:none}
.ck:not(.show){pointer-events:none}
