/* Design Soukup — „Rýsovací stůl“
   Layout: bílý papír s jemnou zlatou mřížkou, ořezové značky a kóty jako u výkresu;
   černé „noční“ sekce pro vrcholy; Instagram gradient jen na výzvy k akci. */
:root{
  --paper:#FFFFFF;
  --paper-2:#F6F6F4;
  --ink:#000000;
  --char:#2B2B2B;
  --mute:#67655F;
  --rule:#E6E3DC;
  --gold:#C6A65C;
  --gold-deep:#8A6E30;
  --gold-soft:#EFE6CF;
  --grid:rgba(198,166,92,.16);
  --night:#000000;
  --night-2:#141312;
  --night-fg:#F3F1EC;
  --night-mute:#A9A59C;
  --night-gold:#D8BB78;
  --ok:#1F7A4D;
  --ig:linear-gradient(100deg,#FEDA75 0%,#FA7E1E 22%,#D62976 50%,#962FBF 76%,#4F5BD5 100%);
  --f-display:"Montserrat","Helvetica Neue",Arial,sans-serif;
  --f-body:"Poppins","Helvetica Neue",Arial,sans-serif;
  --s-1:clamp(2.55rem,1.3rem + 5.6vw,6.1rem);
  --s-2:clamp(2rem,1.2rem + 3.2vw,3.9rem);
  --s-3:clamp(1.45rem,1.1rem + 1.3vw,2.2rem);
  --s-4:1.2rem;
  --gut:clamp(16px,4vw,52px);
  --max:1320px;
  --ease:cubic-bezier(.22,.8,.2,1);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
body{margin:0;background:var(--paper);color:var(--char);font-family:var(--f-body);font-size:1.0625rem;line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
::selection{background:var(--gold-soft);color:var(--ink)}
h1,h2,h3,h4{font-family:var(--f-display);color:var(--ink);margin:0;text-wrap:balance;letter-spacing:-.03em;line-height:1.02}
h1{font-weight:800;font-size:var(--s-1)}
h2{font-weight:800;font-size:var(--s-2);line-height:1.05}
h3{font-weight:700;font-size:var(--s-3);letter-spacing:-.02em;line-height:1.15}
h4{font-weight:700;font-size:var(--s-4);letter-spacing:-.01em;line-height:1.3}
p{margin:0}
.lead{font-size:clamp(1.08rem,1rem + .35vw,1.28rem);line-height:1.65;color:var(--char);max-width:38em}
.mute{color:var(--mute)}
.small{font-size:.875rem;line-height:1.55}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
.stack{display:flex;flex-direction:column;gap:1.1rem}
.sec{padding-block:clamp(72px,9vw,140px)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--ink);color:#fff;padding:.6rem 1rem;border-radius:6px}
.skip:focus{top:12px}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:52px;padding:.85em 1.55em;border-radius:999px;font-family:var(--f-display);font-weight:700;font-size:.98rem;letter-spacing:-.005em;border:0;transition:transform .35s var(--ease),background-position .8s var(--ease),box-shadow .35s var(--ease),color .25s,background-color .25s;white-space:nowrap}
.btn-ig{color:#fff;background:var(--ig);background-size:150% 100%;background-position:0% 50%;box-shadow:0 10px 28px -12px rgba(214,41,118,.55)}
.btn-ig:hover{background-position:100% 50%;transform:translateY(-2px);box-shadow:0 16px 34px -14px rgba(150,47,191,.6)}
.btn-ig .spark{width:18px;height:18px;flex:none}
.btn-line{color:var(--ink);background:transparent;box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn-line:hover{background:var(--ink);color:#fff}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:var(--char);transform:translateY(-2px)}
.night .btn-line{color:var(--night-fg);box-shadow:inset 0 0 0 1.5px var(--night-fg)}
.night .btn-line:hover{background:var(--night-fg);color:var(--ink)}
.btn svg{flex:none;width:18px;height:18px}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.link-draw{position:relative;font-family:var(--f-display);font-weight:700;color:var(--ink);padding-bottom:3px;background:linear-gradient(var(--gold),var(--gold)) 0 100%/100% 2px no-repeat;transition:background-size .45s var(--ease)}
.link-draw:hover{background-size:0 2px;background-position:100% 100%}
.night .link-draw{color:var(--night-fg)}

/* ---------- Header (plovoucí lišta) ---------- */
:root{--hdr-space:clamp(92px,8vw,112px)}
.hdr{position:fixed;z-index:60;top:calc(env(safe-area-inset-top,0px) + 16px);left:16px;right:16px;border-radius:18px;color:#fff;transition:top .45s var(--ease),left .45s var(--ease),right .45s var(--ease),border-radius .45s var(--ease)}
.hdr-bg{position:absolute;inset:0;border-radius:inherit;overflow:hidden;background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(26,24,20,.88) 48%,rgba(110,90,46,.88) 80%,rgba(198,166,92,.9) 100%);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 20px 25px -5px rgba(0,0,0,.22),0 8px 10px -6px rgba(0,0,0,.2)}
.hdr-bg::after{content:"";position:absolute;top:0;bottom:0;left:0;width:34%;background:linear-gradient(105deg,transparent 0%,rgba(255,236,190,.17) 50%,transparent 100%);transform:translateX(-110%);animation:sheen 9s cubic-bezier(.45,0,.25,1) infinite;pointer-events:none}
@keyframes sheen{0%,62%{transform:translateX(-110%)}100%{transform:translateX(310%)}}
.hdr.is-scrolled{top:env(safe-area-inset-top,0px);left:0;right:0;border-radius:0}
.hdr-in{position:relative;display:flex;align-items:center;gap:22px;min-height:76px;padding-inline:22px 14px;max-width:1600px;margin-inline:auto;transition:min-height .45s var(--ease)}
.hdr.is-scrolled .hdr-in{min-height:68px}
.logo{display:block;flex:none}
.logo img{height:46px;width:auto;transition:height .45s var(--ease)}
.hdr.is-scrolled .logo img{height:40px}
.nav{display:flex;align-items:center;gap:2px;margin-left:auto;padding:0;margin-block:0}
.nav>li{list-style:none;position:relative}
.nav-a{white-space:nowrap;position:relative;display:flex;align-items:center;gap:5px;padding:10px 12px;font-family:var(--f-display);font-weight:600;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:#fff;border-radius:999px;background:none;border:0;transition:background-color .2s,color .2s}
.nav-a:hover,.nav-a[aria-expanded="true"]{background:rgba(255,255,255,.12)}
.nav-a[aria-current="page"]::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;border-radius:2px;background:var(--gold)}
.nav-a .chev{width:9px;height:9px;transition:transform .3s var(--ease)}
.nav-a[aria-expanded="true"] .chev{transform:rotate(180deg)}
.hdr-cta{display:flex;align-items:center;gap:6px;margin-left:8px}
.hdr-cta .btn{min-height:46px;padding:.7em 1.3em;font-size:.88rem}
.hdr-tel,.sketch-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-display);font-weight:600;font-size:.84rem;color:#fff;padding:10px 12px;border-radius:999px;white-space:nowrap;transition:background-color .2s}
.hdr-tel svg,.sketch-link svg{width:17px;height:17px;flex:none}
.hdr-tel:hover,.sketch-link:hover{background:rgba(255,255,255,.12)}
.sketch-link svg path[fill="#C6A65C"]{fill:#E7CC8A}
.mega{position:absolute;top:calc(100% + 22px);color:var(--char);left:50%;transform:translate(-50%,8px);width:min(760px,92vw);background:#fff;border:1px solid var(--rule);border-radius:18px;padding:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;opacity:0;visibility:hidden;transition:opacity .25s,transform .35s var(--ease),visibility .25s;box-shadow:0 30px 60px -30px rgba(0,0,0,.25)}
.mega.open{opacity:1;visibility:visible;transform:translate(-50%,0)}
.mega a{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;padding:12px;border-radius:12px;transition:background-color .2s}
.mega a:hover{background:var(--paper-2)}
.mega .ico{width:64px;height:48px}
.mega b{display:block;font-family:var(--f-display);font-weight:700;color:var(--ink);font-size:.98rem;line-height:1.25}
.mega b+span{display:block;font-size:.82rem;color:var(--mute);line-height:1.45}
.mega .all>span{font-size:.82rem;color:var(--mute);font-family:var(--f-body);font-weight:500}
.mega .all.solo{grid-column:auto;display:flex;flex-direction:column;justify-content:center;gap:2px}
.mega .all{grid-column:1/-1;display:flex;justify-content:space-between;background:var(--paper-2);font-family:var(--f-display);font-weight:700;color:var(--ink)}
.burger{display:none;margin-left:auto;width:46px;height:46px;border-radius:999px;border:0;background:#fff;color:var(--ink);align-items:center;justify-content:center}
.burger svg{width:22px;height:22px}
.mnav{position:fixed;inset:0;z-index:90;background:var(--night);color:var(--night-fg);display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + 16px) var(--gut) calc(env(safe-area-inset-bottom,0px) + 24px);overflow:auto;transform:translateY(-100%);transition:transform .6s var(--ease);visibility:hidden}
.mnav.open{transform:none;visibility:visible}
.mnav-top{display:flex;align-items:center;justify-content:space-between;min-height:60px}
.mnav-top img{height:26px;width:auto}
.mnav-close{width:48px;height:48px;border-radius:999px;border:1px solid #3a3835;background:none;color:#fff;display:flex;align-items:center;justify-content:center}
.mnav ul{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-direction:column}
.mnav li a{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0;border-bottom:1px solid #2a2826;font-family:var(--f-display);font-weight:800;font-size:clamp(1.7rem,7vw,2.4rem);letter-spacing:-.03em;color:var(--night-fg)}
.mnav li a small{font-family:var(--f-body);font-weight:400;font-size:.8rem;color:var(--night-mute);letter-spacing:0}
.mnav .sub{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0 6px}
.mnav .sub a{font-size:.9rem;padding:8px 14px;border:1px solid #33312e;border-radius:999px;color:var(--night-fg)}
.mnav .btn{margin-top:28px;width:100%}

/* ---------- Drafting details ---------- */
.gridpaper{background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:28px 28px}
.crop{position:relative}
.crop>.cm{position:absolute;width:18px;height:18px;pointer-events:none}
.crop>.cm::before,.crop>.cm::after{content:"";position:absolute;background:var(--gold)}
.crop>.cm::before{width:18px;height:1px}
.crop>.cm::after{width:1px;height:18px}
.cm.tl{left:-9px;top:-9px}.cm.tl::before{top:9px}.cm.tl::after{left:9px}
.cm.tr{right:-9px;top:-9px}.cm.tr::before{top:9px}.cm.tr::after{left:9px}
.cm.bl{left:-9px;bottom:-9px}.cm.bl::before{top:9px}.cm.bl::after{left:9px}
.cm.br{right:-9px;bottom:-9px}.cm.br::before{top:9px}.cm.br::after{left:9px}
.anno{font-family:var(--f-body);font-size:11.5px;line-height:1.3;color:var(--gold-deep);letter-spacing:.01em;font-variant-numeric:tabular-nums;white-space:nowrap}
.dim{display:flex;align-items:center;gap:10px;color:var(--gold-deep)}
.dim::before,.dim::after{content:"";flex:1;height:9px;background:linear-gradient(var(--gold),var(--gold)) 0 50%/100% 1px no-repeat}
.dim::before{border-left:1px solid var(--gold)}
.dim::after{border-right:1px solid var(--gold)}

/* ---------- Home hero ---------- */
.hero{position:relative;padding-block:calc(var(--hdr-space) + clamp(20px,3vw,44px)) clamp(56px,7vw,96px);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(24px,4vw,64px);align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:26px;padding-top:clamp(12px,3vw,40px);min-width:0}
.hero-copy h1{max-width:12em;font-size:clamp(2.4rem,1.1rem + 3.1vw,3.8rem);line-height:1.02}
.hero-copy .h1-anno{display:flex;align-items:center;gap:10px;margin-bottom:-8px}
.hero-copy .h1-anno::before{content:"";width:28px;height:1px;background:var(--gold)}
.hero-facts{display:flex;flex-wrap:wrap;gap:10px 22px;padding-top:18px;border-top:1px solid var(--rule);max-width:36em}
.hero-facts div{display:flex;flex-direction:column;gap:2px}
.hero-facts b{font-family:var(--f-display);font-weight:800;color:var(--ink);font-size:1.05rem;letter-spacing:-.01em}
.hero-facts span{font-size:.84rem;color:var(--mute);line-height:1.35}
.stage{position:relative;min-width:0;padding-left:30px}
.sheet{position:relative;aspect-ratio:16/11;width:100%;border:1px solid var(--rule);background-color:#fff}
.sheet canvas{position:absolute;inset:0;width:100%;height:100%;z-index:3;touch-action:none;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath d='M3 25 L6 17 L19 4 a2.2 2.2 0 0 1 3.1 0 l1.9 1.9 a2.2 2.2 0 0 1 0 3.1 L11 22 Z' fill='%23fff' stroke='%23000' stroke-width='1.4'/%3E%3Cpath d='M3 25 L6 17 L11 22 Z' fill='%23C6A65C'/%3E%3C/svg%3E") 2 26,crosshair}
.sheet .wf{position:absolute;inset:6% 6% 8%;width:88%;height:86%;z-index:2}
.sheet .anno-w{position:absolute;left:0;right:0;bottom:-26px}
.sheet .anno-h{position:absolute;top:0;bottom:0;left:-30px;display:flex;align-items:center}
.sheet .anno-h span{transform:rotate(-90deg);white-space:nowrap}
.sheet-hint{position:absolute;left:14px;top:12px;z-index:4;display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--mute);background:rgba(255,255,255,.92);padding:6px 10px 6px 8px;border-radius:999px;border:1px solid var(--rule);opacity:0;transition:opacity .5s}
.sheet-hint.on{opacity:1}
.sheet-hint svg{width:16px;height:16px;color:var(--gold-deep)}
.sheet-redo{position:absolute;right:12px;top:12px;z-index:4;width:38px;height:38px;border-radius:999px;border:1px solid var(--rule);background:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .5s}
.sheet-redo.on{opacity:1}
.sheet-redo svg{width:16px;height:16px}
.hero-bot{position:absolute;right:-3%;bottom:-8%;width:clamp(130px,21vw,320px);z-index:5;pointer-events:none;transform-origin:60% 100%}
.hero-bot img{width:100%;filter:drop-shadow(0 24px 22px rgba(0,0,0,.16))}
.hero-bot .glow{position:absolute;width:26px;height:26px;border-radius:50%;left:1.2%;top:34%;background:radial-gradient(circle,rgba(255,231,170,.95),rgba(198,166,92,.4) 45%,transparent 70%);transform:translate(-50%,-50%) scale(0);pointer-events:none}
.pen-line{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:visible}
.pen-line path{fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round}
.wf .s{fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.wf .f{opacity:0}
.wf.is-done .s{stroke:#CFCBC2}
.wf.is-done .f{opacity:1;transition:opacity .7s var(--ease)}
.wf .toast{opacity:0}
.wf .toast.on{opacity:1;transition:opacity .4s}

/* ---------- Section heads ---------- */
.shead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:24px 64px;align-items:end;margin-bottom:clamp(36px,5vw,64px)}
.shead p{color:var(--mute);max-width:34em}
.shead.one{grid-template-columns:minmax(0,1fr)}

/* ---------- Services index ---------- */
.svc{border-top:1px solid var(--ink)}
.svc-row{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:20px 40px;align-items:center;padding:30px 8px;border-bottom:1px solid var(--rule);isolation:isolate}
.svc-row h3{font-size:clamp(1.55rem,1.1rem + 1.8vw,2.6rem);font-weight:800;letter-spacing:-.035em;transition:color .55s cubic-bezier(.65,0,.35,1),transform .75s cubic-bezier(.65,0,.35,1)}
.svc-row p{color:var(--mute);font-size:.98rem;line-height:1.55;transition:color .55s cubic-bezier(.65,0,.35,1) .08s}
.svc-row .price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:130px}
.svc-row .price small{font-size:.78rem;color:var(--mute);transition:color .55s cubic-bezier(.65,0,.35,1) .15s}
.svc-row .price b{font-family:var(--f-display);font-weight:800;color:var(--ink);font-size:1.15rem;font-variant-numeric:tabular-nums;white-space:nowrap;transition:color .55s cubic-bezier(.65,0,.35,1) .15s}
.svc-row .ico{position:absolute;right:190px;top:50%;width:120px;height:90px;transform:translate(20px,-50%);opacity:0;transition:opacity .35s,transform .5s var(--ease);pointer-events:none}
.svc-row::before{content:"";position:absolute;inset:0;background:var(--ink);transform:scaleX(0);transform-origin:right center;transition:transform .75s cubic-bezier(.65,0,.35,1);z-index:-1}
.svc-row:hover::before,.svc-row:focus-visible::before{transform:scaleX(1);transform-origin:left center}
.svc-row:hover h3,.svc-row:focus-visible h3{color:#fff;transform:translateX(10px)}
.svc-row:hover p,.svc-row:hover .price small{color:var(--night-mute)}
.svc-row:hover .price b{color:var(--night-gold)}
.svc-row:hover .ico{opacity:1;transform:translate(0,-50%)}
.ico .s{fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.svc-row:hover .ico .s,.redraw:hover .ico .s{animation:draw 1.1s var(--ease) both}
@keyframes draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.ico .s{stroke-dasharray:1;stroke-dashoffset:0}

/* ---------- Night sections ---------- */
.night{background:var(--night);color:var(--night-fg)}
.night h1,.night h2,.night h3,.night h4{color:#fff}
.night .mute,.night .shead p{color:var(--night-mute)}
.night .anno{color:var(--night-gold)}

/* ---------- Builder (shared mini + full) ---------- */
.bld{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr) minmax(0,300px);gap:20px;align-items:start}
.bld.compact{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:clamp(24px,4vw,56px);align-items:center}
.pal{display:flex;flex-direction:column;gap:10px}
.pal h4{font-size:.95rem}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1px solid var(--rule);background:#fff;color:var(--ink);font-size:.88rem;line-height:1.2;transition:border-color .2s,background-color .2s,transform .2s}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.chip .plus{width:14px;height:14px;transition:transform .3s var(--ease)}
.chip[aria-pressed="true"] .plus{transform:rotate(45deg)}
.night .chip{background:transparent;border-color:#3a3733;color:var(--night-fg)}
.night .chip:hover{border-color:var(--night-fg)}
.night .chip[aria-pressed="true"]{background:var(--night-fg);color:var(--ink);border-color:var(--night-fg)}
.browser{position:relative;border-radius:14px;background:#fff;border:1px solid var(--rule);overflow:hidden;box-shadow:0 40px 80px -50px rgba(0,0,0,.45)}
.night .browser{border-color:#2b2926}
.browser-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--rule);background:var(--paper-2)}
.browser-bar i{width:9px;height:9px;border-radius:50%;background:#D9D5CC;display:block}
.browser-bar .url{flex:1;min-width:0;margin-left:8px;padding:5px 12px;border-radius:999px;background:#fff;font-size:.78rem;color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.browser-bar .mode{display:flex;border:1px solid var(--rule);border-radius:999px;padding:2px;background:#fff}
.browser-bar .mode button{border:0;background:none;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:500;color:var(--mute)}
.browser-bar .mode button[aria-pressed="true"]{background:var(--ink);color:#fff}
.canvas{--c-bg:#fff;--c-fg:#111;--c-acc:#C6A65C;--c-soft:#F3EFE6;--c-font:var(--f-display);padding:14px;display:flex;flex-direction:column;gap:10px;min-height:340px;max-height:560px;overflow:auto;background:var(--c-bg);transition:background-color .4s}
.bld.compact .canvas{min-height:300px;max-height:420px}
.blk{position:relative;border-radius:8px;transition:transform .3s var(--ease),box-shadow .3s;touch-action:manipulation}
.blk.sortable-ghost{opacity:.35}
.blk.sortable-chosen{box-shadow:0 18px 30px -18px rgba(0,0,0,.4)}
.blk .tools{position:absolute;top:6px;right:6px;display:flex;gap:4px;opacity:0;transition:opacity .2s;z-index:2}
.blk:hover .tools,.blk:focus-within .tools{opacity:1}
.blk .tools button{width:28px;height:28px;border-radius:8px;border:1px solid var(--rule);background:#fff;display:flex;align-items:center;justify-content:center;color:var(--ink)}
.blk .tools svg{width:14px;height:14px}
.blk .handle{cursor:grab}
.blk .lbl{position:absolute;left:8px;top:6px;font-size:10.5px;color:var(--gold-deep);background:rgba(255,255,255,.9);padding:1px 7px;border-radius:999px;z-index:2;pointer-events:none}
.blk svg.sk{display:block;width:100%;height:auto}
.blk svg.sk .s{fill:none;stroke:var(--gold);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.blk.new svg.sk .s{stroke-dasharray:1;animation:draw .9s var(--ease) both}
.canvas.render .lbl{display:none}
.canvas .empty{border:1.5px dashed var(--rule);border-radius:10px;padding:28px 18px;text-align:center;color:var(--mute);font-size:.9rem}
/* rendered block styles */
.rb{font-family:var(--c-font);color:var(--c-fg);border-radius:8px;overflow:hidden}
.rb-nav{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-size:11px}
.rb-nav b{font-weight:800;letter-spacing:-.02em;font-size:13px}
.rb-nav span{display:flex;gap:10px;opacity:.7}
.rb-hero{padding:28px 18px;background:var(--c-fg);color:var(--c-bg);display:grid;gap:10px}
.rb-hero h5{margin:0;font-size:20px;font-weight:800;letter-spacing:-.03em;line-height:1.1;color:var(--c-bg);max-width:12em}
.rb-hero p{font-size:11px;opacity:.75;font-family:var(--f-body);max-width:28em}
.rb-btn{display:inline-block;justify-self:start;background:var(--c-acc);color:var(--c-fg);font-weight:700;font-size:10.5px;padding:6px 12px;border-radius:999px}
.rb-sec{padding:16px 14px;display:grid;gap:10px;background:var(--c-bg)}
.rb-sec h6{margin:0;font-size:13px;font-weight:800;letter-spacing:-.02em;color:var(--c-fg)}
.rb-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.rb-card{background:var(--c-soft);border-radius:6px;padding:10px;display:grid;gap:5px;font-size:9.5px;font-family:var(--f-body)}
.rb-card i{display:block;height:5px;border-radius:3px;background:currentColor;opacity:.18}
.rb-card i:first-child{width:60%;opacity:.5;background:var(--c-acc)}
.rb-ph{aspect-ratio:4/3;border-radius:5px;background:linear-gradient(135deg,var(--c-soft),color-mix(in srgb,var(--c-acc) 35%,var(--c-soft)))}
.rb-line{height:6px;border-radius:3px;background:var(--c-fg);opacity:.12}
.rb-foot{padding:12px 14px;background:var(--c-fg);color:var(--c-bg);font-size:10px;display:flex;justify-content:space-between;opacity:.95}
.rb-form{display:grid;gap:6px}
.rb-form i{display:block;height:20px;border-radius:5px;border:1px solid color-mix(in srgb,var(--c-fg) 20%,transparent)}
.rb-quote{font-size:11px;font-style:italic;font-family:var(--f-body);opacity:.8;border-left:2px solid var(--c-acc);padding-left:10px}
.est{display:flex;flex-direction:column;gap:14px}
.est-box{border:1px solid var(--rule);border-radius:16px;padding:20px;background:#fff;display:flex;flex-direction:column;gap:12px}
.night .est-box{background:var(--night-2);border-color:#2b2926}
.est-box .num{white-space:nowrap;font-family:var(--f-display);font-weight:800;font-size:clamp(1.8rem,1.4rem + 1.1vw,2.3rem);letter-spacing:-.04em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}
.night .est-box .num{color:#fff}
.est-box .pkg{font-size:.9rem}
.est-lines{display:flex;flex-direction:column;gap:6px;font-size:.86rem;padding:0;margin:0;list-style:none}
.est-lines li{display:flex;justify-content:space-between;gap:12px}
.est-lines li span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.opt{display:flex;flex-direction:column;gap:8px}
.opt label{display:flex;align-items:center;gap:10px;font-size:.9rem;cursor:pointer}
.seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border-radius:12px;background:var(--paper-2)}
.seg button{border:0;background:none;padding:9px 6px;border-radius:9px;font-size:.82rem;line-height:1.25;color:var(--mute)}
.seg button[aria-pressed="true"]{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.swatches{display:flex;gap:8px;flex-wrap:wrap}
.swatches button{width:34px;height:34px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--rule);padding:0}
.swatches button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--ink)}
.range{width:100%;accent-color:var(--ink)}
.bot-say{display:flex;align-items:flex-end;gap:12px}
.bot-say img{width:72px;flex:none}
.bubble{position:relative;background:#fff;border:1px solid var(--rule);border-radius:16px 16px 16px 4px;padding:12px 14px;font-size:.88rem;line-height:1.5;color:var(--char)}
.night .bubble{background:var(--night-2);border-color:#2b2926;color:var(--night-fg)}

/* ---------- Process ---------- */
.proc{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
.proc-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.proc-steps li{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;padding:28px 0;border-top:1px solid var(--rule);transition:opacity .4s;cursor:pointer;outline-offset:4px}
.proc-steps li::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--ig);transition:width .6s var(--ease)}
.proc-steps li.on::before{width:100%}
.proc-steps li:hover{opacity:1!important}
.proc-steps li:last-child{border-bottom:1px solid var(--rule)}
.proc-steps .n{font-family:var(--f-display);font-weight:800;font-size:2.2rem;line-height:1;color:var(--gold);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.proc-steps h3{font-size:1.45rem;margin-bottom:8px}
.proc-steps p{color:var(--mute);font-size:.98rem}
.proc.pinned .proc-steps li{opacity:.35}
.proc.pinned .proc-steps li.on{opacity:1}
.proc-vis{position:sticky;top:120px}
.mock{position:relative;aspect-ratio:4/3;border-radius:14px;border:1px solid var(--rule);background:#fff;overflow:hidden}
.mock svg{position:absolute;inset:0;width:100%;height:100%}
.mock .st{transition:opacity .6s var(--ease)}
.mock[data-step="1"] .st2,.mock[data-step="1"] .st3,.mock[data-step="1"] .st4{opacity:0}
.mock[data-step="2"] .st1x,.mock[data-step="2"] .st3,.mock[data-step="2"] .st4{opacity:0}
.mock[data-step="3"] .st1x,.mock[data-step="3"] .st4{opacity:0}
.mock[data-step="4"] .st1x,.mock[data-step="4"] .st3{opacity:0}
.mock .code{position:absolute;right:4%;bottom:6%;width:46%;background:#0E0D0C;color:#D8D2C4;border-radius:10px;padding:12px 14px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:clamp(8px,1.05vw,12px);line-height:1.6;transition:opacity .6s var(--ease),transform .6s var(--ease)}
.mock .code em{font-style:normal;color:#D8BB78}
.mock .code u{text-decoration:none;color:#E58BB5}
.mock[data-step="1"] .code,.mock[data-step="2"] .code{opacity:0;transform:translateY(12px)}
.mock .live{position:absolute;left:4%;top:5%;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--rule);border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:600;color:var(--ink);transition:opacity .5s}
.mock .live i{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(31,122,77,.5);animation:pulse 1.8s infinite}
.mock:not([data-step="4"]) .live{opacity:0}
.mock .stamp{position:absolute;right:4%;top:5%;font-size:.75rem;color:var(--gold-deep);background:#fff;padding:4px 10px;border:1px dashed var(--gold);border-radius:6px}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(31,122,77,0)}100%{box-shadow:0 0 0 0 rgba(31,122,77,0)}}
.proc-mob{display:none}
.proc-steps li.on .proc-mob{animation:procin .5s var(--ease)}
@keyframes procin{from{opacity:0;transform:translateY(8px)}}

/* ---------- Work ---------- */
.works{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.work{display:flex;flex-direction:column;gap:20px}
.work-sheet{position:relative;aspect-ratio:4/3;border:1px solid var(--rule);overflow:hidden;display:flex;align-items:flex-end;padding:clamp(18px,3vw,36px);transition:transform .6s var(--ease)}
.work-sheet.dark{background:var(--night);border-color:var(--night)}
.work-sheet .wm{position:absolute;inset:auto auto 50% 50%;transform:translate(-50%,50%);font-family:var(--f-display);font-weight:800;letter-spacing:-.06em;line-height:.85;font-size:clamp(4rem,10vw,9rem);color:transparent;-webkit-text-stroke:1px var(--gold);opacity:.55;white-space:nowrap;transition:transform 1.2s var(--ease)}
.work:hover .work-sheet .wm{transform:translate(-54%,50%)}
.work-sheet .tag{position:relative;display:flex;flex-direction:column;gap:6px;z-index:1}
.work-sheet .tag b{font-family:var(--f-display);font-weight:800;font-size:clamp(1.3rem,1rem + 1vw,1.9rem);letter-spacing:-.03em;color:var(--ink)}
.work-sheet.dark .tag b{color:#fff}
.work-sheet .tag span{font-size:.85rem;color:var(--mute)}
.work-sheet.dark .tag span{color:var(--night-mute)}
.work ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.work li{font-size:.82rem;padding:6px 12px;border:1px solid var(--rule);border-radius:999px;color:var(--char)}
.work p{color:var(--mute);max-width:36em}

/* ---------- About strip ---------- */
.duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.duo-photo{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:1/1;background:var(--paper-2)}
.duo-photo img{width:100%;height:100%;object-fit:cover}
.duo-photo figcaption{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.94);padding:6px 12px;border-radius:999px;font-size:.78rem;color:var(--char)}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--rule)}
.facts div{padding:18px 18px 18px 0;border-bottom:1px solid var(--rule)}
.facts div:nth-child(odd){border-right:1px solid var(--rule)}
.facts div:nth-child(even){padding-left:18px}
.facts b{display:block;font-family:var(--f-display);font-weight:800;color:var(--ink);font-size:1.05rem;letter-spacing:-.01em}
.facts span{font-size:.88rem;color:var(--mute);line-height:1.45;display:block}

/* ---------- CTA / Forms ---------- */
.cta-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,80px);align-items:start}
.cta-bot{position:relative;margin-top:28px;max-width:300px}
.cta-bot img{width:100%}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.form .full{grid-column:1/-1}
.fld{display:flex;flex-direction:column;gap:6px}
.fld label,.fld legend{font-size:.84rem;font-weight:500;color:var(--char)}
.night .fld label,.night .fld legend{color:var(--night-fg)}
.fld input,.fld textarea,.fld select{width:100%;font:inherit;font-size:1rem;padding:13px 14px;border-radius:12px;border:1px solid var(--rule);background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.fld textarea{min-height:120px;resize:vertical}
.fld input:focus,.fld textarea:focus,.fld select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--gold-soft)}
.night .fld input,.night .fld textarea,.night .fld select{background:var(--night-2);border-color:#33302c;color:#fff}
.night .fld input:focus,.night .fld textarea:focus{border-color:var(--night-gold);box-shadow:0 0 0 3px rgba(216,187,120,.18)}
fieldset.fld{border:0;padding:0;margin:0}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.84rem;line-height:1.5;color:var(--mute)}
.check input{width:18px;height:18px;margin-top:2px;accent-color:var(--ink);flex:none}
.night .check{color:var(--night-mute)}
.night .check input{accent-color:var(--night-gold)}
.form-ok{display:flex;flex-direction:column;gap:12px;align-items:flex-start;border:1px solid var(--rule);border-radius:18px;padding:26px;background:#fff}
.night .form-ok{background:var(--night-2);border-color:#2b2926}
.form-ok .tick{width:46px;height:46px;border-radius:50%;background:var(--ig);display:flex;align-items:center;justify-content:center;color:#fff}
.err{font-size:.8rem;color:#B3261E}
.night .err{color:#FF8A80}

/* ---------- Footer ---------- */

/* ---------- Companion bot ---------- */
.buddy{position:fixed;right:clamp(10px,2vw,26px);bottom:calc(env(safe-area-inset-bottom,0px) + clamp(10px,2vw,22px));z-index:70;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}
.buddy>*{pointer-events:auto}
.buddy-btn{position:relative;width:clamp(74px,7.5vw,104px);aspect-ratio:633/900;border:0;background:none;padding:0;transform:translateY(140%);transition:transform .8s cubic-bezier(.3,1.5,.5,1)}
.buddy.in .buddy-btn{transform:none}
.buddy-btn .pose{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:bottom right;opacity:0;transition:opacity .35s}
.buddy-btn .pose.on{opacity:1}
.buddy-btn .float{position:absolute;inset:0;animation:bob 3.4s ease-in-out infinite;transform-origin:50% 100%}
.buddy-btn::after{content:"";position:absolute;left:18%;right:18%;bottom:-4px;height:10px;border-radius:50%;background:radial-gradient(rgba(0,0,0,.28),transparent 70%);animation:shadow 3.4s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1.5deg)}}
@keyframes shadow{0%,100%{transform:scaleX(1);opacity:1}50%{transform:scaleX(.8);opacity:.6}}
.buddy-bubble{max-width:min(280px,72vw);background:#fff;color:var(--char);border:1px solid var(--rule);border-radius:18px 18px 4px 18px;padding:12px 14px;font-size:.88rem;line-height:1.5;box-shadow:0 20px 40px -24px rgba(0,0,0,.35);opacity:0;transform:translateY(8px) scale(.96);transform-origin:100% 100%;transition:opacity .35s,transform .45s var(--ease);visibility:hidden}
.buddy-bubble.on{opacity:1;transform:none;visibility:visible}
.buddy-bubble b{font-family:var(--f-display);color:var(--ink)}
.buddy-menu{display:flex;flex-direction:column;gap:6px;min-width:240px;background:#fff;border:1px solid var(--rule);border-radius:18px;padding:10px;box-shadow:0 30px 60px -30px rgba(0,0,0,.4);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .3s,transform .4s var(--ease),visibility .3s}
.buddy-menu.on{opacity:1;visibility:visible;transform:none}
.buddy-menu p{font-size:.82rem;color:var(--mute);padding:4px 8px 6px}
.buddy-menu a,.buddy-menu button.item{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:12px;font-weight:500;font-size:.92rem;color:var(--ink);background:none;border:0;text-align:left}
.buddy-menu a:hover,.buddy-menu button.item:hover{background:var(--paper-2)}
.buddy-menu a.ig{background:var(--ig);color:#fff;font-family:var(--f-display);font-weight:700}
.buddy-menu svg{width:18px;height:18px;flex:none}

/* ---------- Subpage hero ---------- */
.phero{padding-block:calc(var(--hdr-space) + clamp(16px,3vw,40px)) clamp(48px,6vw,88px);border-bottom:1px solid var(--rule)}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:.84rem;color:var(--mute);margin-bottom:clamp(22px,3vw,40px);list-style:none;padding:0}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--gold)}
.crumbs a:hover{color:var(--ink)}
.phero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,5vw,72px);align-items:end}
.phero-grid .stack{gap:22px}
.phero h1{font-size:clamp(2.5rem,1.2rem + 3.9vw,4.7rem)}
.phero-art{position:relative;aspect-ratio:4/3;border:1px solid var(--rule);display:flex;align-items:center;justify-content:center}
.phero-art .ico{width:62%;height:auto}
.phero-art .ico .s{stroke-width:1.6;stroke-dasharray:1;animation:draw 1.8s .2s var(--ease) both}
.phero-art .anno{position:absolute;left:12px;bottom:10px}
.phero-art .bot{position:absolute;right:-6%;bottom:-8%;width:46%;pointer-events:none}
.phero-art .bot img{filter:drop-shadow(0 18px 18px rgba(0,0,0,.14))}
.phero.solo .phero-grid{grid-template-columns:minmax(0,1fr)}

/* ---------- Feature list ---------- */
.feats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--ink)}
.feat{padding:28px 28px 32px 0;border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:10px}
.feat:not(:nth-child(3n+1)){padding-left:28px;border-left:1px solid var(--rule)}
.feat h3{font-size:1.2rem;letter-spacing:-.015em}
.feat p{color:var(--mute);font-size:.96rem;line-height:1.6}
.feat svg{width:30px;height:30px;color:var(--gold)}

/* ---------- Plans ---------- */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.plans.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:880px}
.plans.one{grid-template-columns:minmax(0,1fr);max-width:560px}
.addon-g{margin-top:clamp(28px,4vw,48px)}
.addon-g>h3{font-family:var(--f-display);font-weight:800;font-size:clamp(1.15rem,1.6vw,1.4rem);letter-spacing:-.01em;margin:0 0 14px}
.plan{position:relative;display:flex;flex-direction:column;gap:18px;padding:30px 26px 26px;border:1px solid var(--rule);border-radius:4px;background:#fff}
.plan.rec{background:var(--night);color:var(--night-fg);border-color:var(--night)}
.plan.rec h3{color:#fff}
.plan .rec-tag{position:absolute;top:-1px;right:22px;transform:translateY(-50%);background:var(--ig);color:#fff;font-family:var(--f-display);font-weight:700;font-size:.74rem;padding:5px 12px;border-radius:999px}
.plan h3{font-size:1.4rem}
.plan .p-desc{font-size:.92rem;color:var(--mute);line-height:1.55}
.plan.rec .p-desc{color:var(--night-mute)}
.plan .p-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.plan .p-price small{font-size:.85rem;color:var(--mute)}
.plan.rec .p-price small{color:var(--night-mute)}
.plan .p-price b{font-family:var(--f-display);font-weight:800;font-size:clamp(1.9rem,1.5rem + 1.2vw,2.5rem);letter-spacing:-.04em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}
.plan.rec .p-price b{color:var(--night-gold)}
.plan ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;flex:1}
.plan li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;font-size:.94rem;line-height:1.5}
.plan li svg{width:18px;height:18px;margin-top:2px;color:var(--gold-deep)}
.plan.rec li svg{color:var(--night-gold)}
.plan .btn{width:100%}
.draft{outline:1.5px dashed var(--gold);outline-offset:4px;border-radius:4px}
.draft-note{display:inline-flex;gap:8px;align-items:center;font-size:.8rem;color:var(--gold-deep);background:var(--gold-soft);padding:6px 12px;border-radius:999px}

/* ---------- Price list ---------- */
.plist{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.plist li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 24px;padding:20px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.plist .nm{display:flex;align-items:baseline;gap:12px;min-width:0}
.plist .nm b{font-family:var(--f-display);font-weight:700;color:var(--ink);font-size:1.1rem;letter-spacing:-.01em;white-space:nowrap}
.plist .nm::after{content:"";flex:1;min-width:24px;border-bottom:1.5px dotted #CFCAC0;transform:translateY(-4px)}
.plist .pr{font-family:var(--f-display);font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.plist .pr small{font-family:var(--f-body);font-weight:400;color:var(--mute);font-size:.8rem;margin-right:.7em}
.plist p{grid-column:1/-1;color:var(--mute);font-size:.92rem;max-width:44em}

/* ---------- Price hub ---------- */
.hub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--ink);border-left:1px solid var(--rule)}
.hub a{position:relative;display:flex;flex-direction:column;gap:14px;padding:28px 24px 30px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);transition:background-color .35s}
.hub a:hover{background:var(--paper-2)}
.hub .ico{width:84px;height:63px}
.hub h3{font-size:1.35rem}
.hub .from{display:flex;align-items:baseline;gap:8px}
.hub .from small{color:var(--mute);font-size:.85rem}
.hub .from b{font-family:var(--f-display);font-weight:800;color:var(--ink);font-size:1.5rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.hub p{color:var(--mute);font-size:.94rem;line-height:1.55}
.hub a.wide{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px 28px}
.hub a.wide .ico{width:64px;height:48px}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;cursor:pointer;font-family:var(--f-display);font-weight:700;font-size:clamp(1.05rem,1rem + .4vw,1.3rem);color:var(--ink);letter-spacing:-.015em}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{position:relative;width:22px;height:22px;flex:none}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:2px;background:var(--gold-deep);transform:translate(-50%,-50%);transition:transform .35s var(--ease)}
.faq summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq details[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.faq .ans{padding:0 0 24px;color:var(--char);max-width:46em}
.two{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(24px,5vw,72px);align-items:start}

/* ---------- Team ---------- */
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px}
.member{display:flex;flex-direction:column;gap:16px;padding:24px;border:1px solid var(--rule);border-radius:4px;background:#fff}
.member .av{width:64px;height:64px;border-radius:50%;background:var(--night);color:var(--night-gold);display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-weight:800;font-size:1.3rem;letter-spacing:-.02em}
.member h3{font-size:1.25rem}
.member .role{font-size:.9rem;color:var(--mute);margin-top:4px}
.member dl{margin:0;display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--rule)}
.member dl div{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:.92rem}
.member dt{color:var(--mute);font-size:.82rem}
.member dd{margin:0;color:var(--ink);font-weight:500;overflow-wrap:anywhere}
.copy{border:1px solid var(--rule);background:#fff;border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--mute)}
.copy:hover{color:var(--ink);border-color:var(--ink)}
.copy svg{width:15px;height:15px}
.copy.ok{color:var(--ok);border-color:var(--ok)}
.member.add{border-style:dashed;align-items:flex-start;justify-content:center;color:var(--mute)}
.member.add .av{background:var(--paper-2);color:var(--gold-deep)}
.places{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.place{padding:24px;border:1px solid var(--rule);border-radius:4px;display:flex;flex-direction:column;gap:8px}
.place h3{font-size:1.15rem}
.place p{color:var(--char);font-size:.95rem}

/* ---------- Timeline ---------- */
.tl{position:relative;list-style:none;margin:0;padding:0 0 0 46px;display:flex;flex-direction:column;gap:clamp(36px,5vw,64px)}
.tl svg.line{position:absolute;left:10px;top:6px;width:4px;height:calc(100% - 12px);overflow:visible}
.tl svg.line line{stroke:var(--gold);stroke-width:2}
.tl li{position:relative;display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:8px 36px}
.tl li::before{content:"";position:absolute;left:-42px;top:8px;width:13px;height:13px;border-radius:50%;background:#fff;border:2px solid var(--gold)}
.tl .yr{font-family:var(--f-display);font-weight:800;font-size:1.5rem;color:var(--gold-deep);letter-spacing:-.03em;line-height:1.2}
.tl h3{font-size:1.4rem;margin-bottom:10px}
.tl p{color:var(--char);max-width:42em}

/* ---------- Legal ---------- */
.legal{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:start}
.toc{position:sticky;top:120px;display:flex;flex-direction:column;gap:2px;font-size:.88rem;border-left:1px solid var(--rule)}
.toc a{padding:6px 14px;color:var(--mute);border-left:2px solid transparent;margin-left:-1px}
.toc a:hover{color:var(--ink);border-color:var(--gold)}
.prose{max-width:46em;display:flex;flex-direction:column;gap:14px}
.prose h2{font-size:1.5rem;margin-top:34px;padding-top:20px;border-top:1px solid var(--rule);scroll-margin-top:120px}
.prose h2:first-child{margin-top:0;border-top:0;padding-top:0}
.prose ul{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:4px}
.prose li::marker{color:var(--gold)}
.prose strong{color:var(--ink)}
.prose .meta{font-size:.9rem;color:var(--mute)}

/* ---------- Configurator page ---------- */
.cfg-steps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.cfg-panel{display:flex;flex-direction:column;gap:22px;position:sticky;top:116px}
.cfg-group{display:flex;flex-direction:column;gap:10px}
.cfg-group h4{font-size:.95rem}
.cfg-send{border-top:1px solid var(--rule);padding-top:28px;margin-top:28px}

/* ---------- Misc ---------- */
.band{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:clamp(28px,4vw,44px);border-radius:4px;background:var(--night);color:var(--night-fg)}
.band h2{color:#fff;font-size:clamp(1.6rem,1.2rem + 1.6vw,2.6rem)}
.band p{color:var(--night-mute)}
.note-box{border:1px solid var(--rule);border-radius:4px;padding:22px;background:var(--paper-2);font-size:.95rem}
.mt-s{margin-top:16px}.mt-m{margin-top:32px}.mt-l{margin-top:clamp(48px,6vw,80px)}

/* ---------- Page transitions ---------- */
@view-transition{navigation:auto}
::view-transition-old(root){animation:.35s var(--ease) both vt-out}
::view-transition-new(root){animation:.55s var(--ease) both vt-in}
@keyframes vt-out{to{opacity:0;transform:translateY(-10px)}}
@keyframes vt-in{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.ink-wipe{position:fixed;inset:0;z-index:150;pointer-events:none;background:var(--night);transform:scaleX(0);transform-origin:left}

/* ---------- Responsive ---------- */
@media (max-width:1360px){.hdr-tel span{display:none}}
@media (max-width:1560px){.hdr .sketch-link span{display:none}.hdr .sketch-link{padding:10px}}
@media (max-width:1300px){.nav-a{padding:10px 9px}.hdr-in{gap:14px}}
@media (max-width:1180px){
  .bld{grid-template-columns:minmax(0,1fr) minmax(0,290px)}
  .bld .pal{grid-column:1/-1}
  .hdr .sketch-link span{display:none}
}
@media (max-width:1180px){
  .nav,.hdr-cta{display:none}
  .burger{display:flex}
}
@media (max-width:760px){
  .hdr{top:calc(env(safe-area-inset-top,0px) + 10px);left:10px;right:10px;border-radius:16px}
  .hdr-in{min-height:64px;padding-inline:16px 9px}
  .logo img{height:36px}
  .hdr.is-scrolled .logo img{height:34px}
  :root{--hdr-space:84px}
}
@media (max-width:1020px){

  .hero-grid{grid-template-columns:minmax(0,1fr)}
  .stage{margin-top:12px}
  .shead{grid-template-columns:minmax(0,1fr)}
  .svc-row{grid-template-columns:minmax(0,1fr) auto}
  .svc-row p{grid-column:1/-1;grid-row:2}
  .svc-row .ico{display:none}
  .bld.compact{grid-template-columns:minmax(0,1fr)}
  .proc{grid-template-columns:minmax(0,1fr)}
  .proc-vis{display:none}
  .proc-mob{margin-top:14px}
  .proc-steps li.on .proc-mob{display:block}
  .proc.pinned .proc-steps li{opacity:1}
  .duo,.cta-grid,.phero-grid,.two{grid-template-columns:minmax(0,1fr)}
  .phero-art{max-width:520px}
  .feats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feat:not(:nth-child(3n+1)){padding-left:0;border-left:0}
  .feat:nth-child(even){padding-left:24px;border-left:1px solid var(--rule)}
  .plans,.plans.two,.plans.one{grid-template-columns:minmax(0,1fr);max-width:560px}
  .plan.rec{order:-1}
  .hub{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ftr-top{grid-template-columns:repeat(2,minmax(0,1fr))}
  .legal{grid-template-columns:minmax(0,1fr)}
  .toc{position:static;border-left:0;flex-direction:row;flex-wrap:wrap;gap:6px}
  .toc a{border:1px solid var(--rule);border-radius:999px;margin:0;padding:5px 12px}
  .bld{grid-template-columns:minmax(0,1fr)}
  .cfg-panel{position:static}
}
@media (max-width:700px){
  .works,.places{grid-template-columns:minmax(0,1fr)}
  .feats{grid-template-columns:minmax(0,1fr)}
  .feat:nth-child(even){padding-left:0;border-left:0}
  .feat{padding-right:0}
  .hub{grid-template-columns:minmax(0,1fr)}
  .form{grid-template-columns:minmax(0,1fr)}
  .facts{grid-template-columns:minmax(0,1fr)}
  .facts div:nth-child(odd){border-right:0}
  .facts div:nth-child(even){padding-left:0}
  .tl{padding-left:34px}
  .tl li{grid-template-columns:minmax(0,1fr)}
  .tl li::before{left:-30px}
  .svc-row{padding:24px 0}
  .svc-row .price{min-width:0}
  .plist .nm b{white-space:normal}
  .ftr-top{grid-template-columns:minmax(0,1fr)}
  .rb-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sheet .anno-h{display:none}
  .stage{padding-left:0}
}
@media (max-width:440px){
  .btn-row .btn{width:100%}
  .hero-facts{gap:10px 18px}
}
@media (pointer:coarse){.sheet canvas{touch-action:pan-y}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  @view-transition{navigation:none}
}

.nw{white-space:nowrap}

/* ---------- Rychlý kontakt ---------- */
.bot-say .bubble{border-radius:16px}

/* Slib: návrh zdarma + rychlost */
.pledge-sec{padding-block:clamp(40px,6vw,88px)}
.pledge{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1.5px solid var(--ink);border-bottom:1px solid var(--rule)}
.pledge>div{padding:clamp(28px,4vw,52px) clamp(20px,3vw,44px) clamp(28px,4vw,52px) 0;display:flex;flex-direction:column;gap:16px}
.pledge>div+div{padding-left:clamp(20px,3vw,44px);padding-right:0;border-left:1px solid var(--rule)}
.pledge h2{font-size:clamp(1.5rem,1.1rem + 1.5vw,2.3rem)}
.pledge p{color:var(--mute);max-width:30em}
.ruler{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:auto;padding-top:12px;font-family:var(--f-display);font-weight:700;font-size:.8rem;color:var(--ink)}
.r-line{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1.5px solid var(--gold);height:22px;position:relative}
.r-line i{font-style:normal;border-left:1.5px solid var(--gold);position:relative;display:block}
.r-line i:last-child{border-right:1.5px solid var(--gold)}
.r-line b{position:absolute;left:100%;bottom:-20px;transform:translateX(-50%);font-weight:600;font-size:.7rem;color:var(--mute)}
.ruler{padding-bottom:22px}
.r-r{color:var(--gold-deep)}
@media (max-width:760px){
  .pledge{grid-template-columns:minmax(0,1fr)}
  .pledge>div,.pledge>div+div{padding:28px 0;border-left:0}
  .pledge>div+div{border-top:1px solid var(--rule)}
}

/* ===== Screenshoty zakázek ===== */
.shot{display:block;border:1px solid var(--rule);border-radius:4px;overflow:hidden;background:#fff;box-shadow:0 18px 40px -24px rgba(0,0,0,.35)}
.shot img{display:block;width:100%;height:auto;aspect-ratio:2.3/1;object-fit:cover;object-position:top;transition:transform .9s var(--ease)}
.work:hover .shot img{transform:scale(1.025)}
.work h3{font-size:clamp(1.3rem,1rem + 1vw,1.8rem);letter-spacing:-.03em}
.contact-lines a{color:inherit;text-decoration:none;background:linear-gradient(var(--gold),var(--gold)) 0 100%/0 1px no-repeat;transition:background-size .3s}
.contact-lines a:hover{background-size:100% 1px}
.member dd a{color:inherit;text-decoration:none}
.member dd a:hover{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}

/* =================== PATIČKA =================== */
.ftr{position:relative;overflow:hidden;background:#000;color:var(--night-fg);padding-block:clamp(56px,7vw,96px) 28px;isolation:isolate}
.ftr::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 20%,#D62976 60%,transparent);opacity:.8;z-index:1}
.ftr .wrap{position:relative;z-index:1}
.ftr-glow{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.ftr-glow i{position:absolute;left:-10%;bottom:-30%;width:52vw;height:52vw;max-width:800px;max-height:800px;border-radius:50%;filter:blur(100px);opacity:.2;background:radial-gradient(circle,#C6A65C,transparent 65%);animation:drift 24s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate(10vw,-6vh) scale(1.12)}}
.ftr-top{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,56px)}
.ftr-top img{height:30px;width:auto;margin-bottom:20px}
.ftr h4{color:var(--night-gold);font-size:.95rem;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid #26231f}
.ftr ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.ftr-top li a{position:relative;display:inline-block;color:var(--night-mute);font-size:.92rem;transition:color .25s,transform .35s var(--ease)}
.ftr-top li a::before{content:"";position:absolute;left:-18px;top:50%;width:12px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.ftr-top li a:hover{color:#fff;transform:translateX(18px)}
.ftr-top li a:hover::before{transform:scaleX(1)}
.ftr p{color:var(--night-mute);font-size:.92rem;line-height:1.7;max-width:30em}
.ftr-chips{margin-top:24px}
.ftr .ftr-chips li a{display:inline-flex;align-items:center;gap:11px;color:#fff;font-weight:500;font-size:.95rem;padding:9px 16px 9px 12px;border-radius:99px;box-shadow:inset 0 0 0 1px #2e2a24;transition:box-shadow .3s,color .3s,background .3s,transform .35s var(--ease)}
.ftr .ftr-chips li a::before{display:none}
.ftr .ftr-chips li a:hover{transform:none;color:#fff;box-shadow:inset 0 0 0 1px var(--gold);background:rgba(198,166,92,.1)}
.ftr .ftr-chips svg{width:18px;height:18px;color:var(--night-gold);flex:none}
.ftr-bot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:clamp(40px,6vw,72px);padding-top:22px;border-top:1px solid #26231f;font-size:.8rem;color:#8c877c}
.ftr-co{display:flex;flex-wrap:wrap;gap:6px 26px}
@media (prefers-reduced-motion:reduce){.ftr-glow i{animation:none}}

/* WhatsApp bublina */
@keyframes ping{0%{transform:scale(1);opacity:.5}70%,100%{transform:scale(1.7);opacity:0}}

.ftr .btn-line{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.85)}
.ftr .btn-line:hover{box-shadow:inset 0 0 0 1.5px var(--night-gold);color:var(--night-gold)}
.ftr .btn-line svg{width:18px;height:18px}
@media (max-width:980px){.ftr-top{grid-template-columns:repeat(2,minmax(0,1fr))}.ftr-brand{grid-column:1/-1}}
@media (max-width:560px){.ftr-top{grid-template-columns:minmax(0,1fr)}.ftr-bot{flex-direction:column;align-items:flex-start}.ftr-co{flex-direction:column}}

.ftr .ftr-chips{margin-top:26px}

/* WhatsApp bublina: čistý hover bez posunu přechodu a bez pulzu */

/* =================== TVARY: zaoblený obdélník se šikmým řezem =================== */
:root{--sk:-9deg;--rr:10px}
.free{font-weight:700;color:var(--gold-deep);letter-spacing:.01em}
.pledge .free{color:inherit;background:var(--ig);-webkit-background-clip:text;background-clip:text;color:transparent}
.btn,.chip,.work li,.nav-a,.hdr-tel,.sketch-link,.burger,.mnav-close,.ftr .ftr-chips li a,.fab-btn{position:relative;isolation:isolate}

/* tlačítka */
.btn{border-radius:var(--rr);background:none!important;box-shadow:none!important}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:var(--rr);transform:skewX(var(--sk));transition:background-position .8s var(--ease),box-shadow .35s var(--ease),background-color .25s}
.btn-ig::before{background:var(--ig);background-size:150% 100%;background-position:0 50%;box-shadow:0 10px 28px -12px rgba(214,41,118,.55)}
.btn-ig:hover::before{background-position:100% 50%;box-shadow:0 16px 34px -14px rgba(150,47,191,.6)}
.btn-line{--lc:var(--ink);--lh:var(--ink);--lt:#fff}
.night .btn-line{--lc:var(--night-fg);--lh:var(--night-fg);--lt:var(--ink)}
.ftr .btn-line{--lc:rgba(255,255,255,.85);--lh:transparent;--lt:var(--night-gold)}
.btn-line::before{box-shadow:inset 0 0 0 1.5px var(--lc)}
.btn-line:hover{color:var(--lt)}
.btn-line:hover::before{background:var(--lh)}
.ftr .btn-line:hover::before{box-shadow:inset 0 0 0 1.5px var(--night-gold)}
.btn-ink::before{background:var(--ink)}
.btn-ink:hover::before{background:var(--char)}

/* štítky a čipy */
.chip{--cb:#fff;--cl:var(--rule);--clh:var(--ink);--cbp:var(--ink);--ctp:#fff;border:0!important;background:none!important;border-radius:var(--rr)}
.night .chip{--cb:transparent;--cl:#3a3733;--clh:var(--night-fg);--cbp:var(--night-fg);--ctp:var(--ink)}
.chip::before,.work li::before,.ftr .ftr-chips li a::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:var(--rr);transform:skewX(var(--sk));transition:box-shadow .25s,background-color .25s}
.chip::before{background:var(--cb);box-shadow:inset 0 0 0 1px var(--cl)}
.chip:hover::before{box-shadow:inset 0 0 0 1px var(--clh)}
.chip[aria-pressed="true"]{color:var(--ctp)}
.chip[aria-pressed="true"]::before{background:var(--cbp);box-shadow:inset 0 0 0 1px var(--cbp)}
.work li{border:0;border-radius:var(--rr)}
.work li::before{box-shadow:inset 0 0 0 1px var(--rule)}
.ftr .ftr-chips li a{box-shadow:none;border-radius:var(--rr)}
.ftr .ftr-chips li a::after{box-shadow:inset 0 0 0 1px #2e2a24}
.ftr .ftr-chips li a:hover{background:none}
.ftr .ftr-chips li a:hover::after{box-shadow:inset 0 0 0 1px var(--gold);background:rgba(198,166,92,.1)}
.plan .rec-tag{background:none;isolation:isolate;border-radius:var(--rr)}
.plan .rec-tag::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:8px;background:var(--ig);transform:skewX(var(--sk))}

/* hlavička */
.nav-a,.hdr-tel,.sketch-link{border-radius:var(--rr);background:none!important}
.nav-a::before,.hdr-tel::before,.sketch-link::before,.burger::before,.mnav-close::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:var(--rr);transform:skewX(var(--sk));transition:opacity .2s,background-color .2s}
.nav-a::before,.hdr-tel::before,.sketch-link::before{background:rgba(255,255,255,.14);opacity:0}
.nav-a:hover::before,.nav-a[aria-expanded="true"]::before,.hdr-tel:hover::before,.sketch-link:hover::before{opacity:1}
.burger{border-radius:14px;background:none!important}
.burger::before{background:#fff;border-radius:14px}
.mnav-close{border:0;background:none;border-radius:14px}
.mnav-close::before{box-shadow:inset 0 0 0 1px #3a3835;border-radius:14px}

/* ostatní tvary */
.browser-bar .url,.browser-bar .mode,.sheet-hint,.mnav .sub a,.duo-photo figcaption,.mock .live,.draft-note,.toc a{border-radius:8px}
.browser-bar .mode button{border-radius:6px}
.sheet-redo{border-radius:12px}
.swatches button{border-radius:10px}
.member .av{border-radius:16px}
.form-ok .tick{border-radius:14px}

/* WhatsApp bublina jako zkosený zaoblený čtverec */
@keyframes ping{0%{transform:skewX(var(--sk)) scale(1);opacity:.5}70%,100%{transform:skewX(var(--sk)) scale(1.55);opacity:0}}

@media (max-width:760px){.ftr-bot{padding-bottom:84px}}

/* kulatá výjimky: WhatsApp bublina, burger a zavření menu */
@keyframes ping{0%{transform:scale(1);opacity:.5}70%,100%{transform:scale(1.55);opacity:0}}
.burger{border-radius:50%!important;background:#fff!important}
.burger::before{display:none}
.mnav-close{border-radius:50%!important;border:1px solid #3a3835!important}
.mnav-close::before{display:none}
/* patička: obrys zkosený i při najetí */
.ftr .ftr-chips li a:hover{box-shadow:none!important;background:none!important}

/* tlačítko v horní liště: bez zkosení */
.hdr-cta .btn::before{transform:none}

.mnav .sub a{display:block}
@media (max-width:1180px){
  .burger{width:44px;height:44px;background:rgba(255,255,255,.1)!important;box-shadow:inset 0 0 0 1px rgba(231,204,138,.7);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background-color .2s}
  .burger:hover,.burger:focus-visible{background:rgba(255,255,255,.2)!important}
}
@media (max-width:760px){
  .hdr-in{padding-inline:16px 12px;gap:12px}
  .logo img{height:34px}
}

/* ---------- Mobil: služby a návrhář ---------- */
.browser-bar .mode button{white-space:nowrap}
@media (max-width:640px){
  .svc-row{grid-template-columns:minmax(0,1fr);gap:8px;padding:22px 0}
  .svc-row h3{overflow-wrap:anywhere;hyphens:auto}
  .svc-row .price{flex-direction:row;align-items:baseline;justify-content:flex-start;gap:.6em;min-width:0;order:2}
  .svc-row p{grid-column:auto;grid-row:auto;order:3}
  .svc-row:hover h3{transform:none}
  .browser-bar{flex-wrap:wrap;gap:8px;padding:10px 12px}
  .browser-bar i{display:none}
  .browser-bar .url{flex:1 1 100%;margin-left:0;order:1}
  .browser-bar .mode{order:2;width:100%}
  .browser-bar .mode button{flex:1;padding:7px 8px}
}

/* ---- plovoucí kontakt: vždy vidět, po klepnutí nabídka ---- */
.fab{position:fixed;right:clamp(14px,2vw,26px);bottom:calc(env(safe-area-inset-bottom,0px) + clamp(14px,2vw,26px));z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.fab-btn{position:relative;width:60px;height:60px;border-radius:50%;border:0;padding:0;color:#fff;cursor:pointer;background:var(--ig);background-size:150% 100%;display:grid;place-items:center;box-shadow:0 14px 30px -10px rgba(150,47,191,.65);transition:transform .3s var(--ease),box-shadow .3s,background-position .5s;isolation:isolate}
.fab-btn::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--ig);z-index:-1;animation:fabping 2.8s cubic-bezier(.2,.6,.3,1) infinite}
@keyframes fabping{0%{transform:scale(1);opacity:.55}70%,100%{transform:scale(1.7);opacity:0}}
.fab-btn:hover{background-position:100% 50%;transform:translateY(-2px) scale(1.05)}
.fab-btn:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 6px var(--gold)}
.fab-btn svg{grid-area:1/1;width:26px;height:26px;transition:transform .35s var(--ease),opacity .2s}
.fab-btn .f-x{opacity:0;transform:rotate(-90deg) scale(.6)}
.fab.open .fab-btn .f-ph{opacity:0;transform:rotate(90deg) scale(.6)}
.fab.open .fab-btn .f-x{opacity:1;transform:none}
.fab.open .fab-btn::before{animation:none;opacity:0}
.fab-scrim{position:fixed;inset:0;background:rgba(10,10,10,.45);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .25s;z-index:-1}
.fab.open .fab-scrim{opacity:1;pointer-events:auto}
.fab-menu{display:flex;flex-direction:column;gap:8px;width:min(340px,calc(100vw - 28px))}
.fab-menu[hidden]{display:none}
.fab-menu a{display:flex;align-items:center;gap:14px;min-height:62px;padding:10px 18px 10px 12px;border-radius:18px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 18px 40px -16px rgba(0,0,0,.55);animation:fabIn .35s var(--ease) both;transition:transform .2s,box-shadow .2s}
.fab-menu a:nth-child(4){animation-delay:.02s}.fab-menu a:nth-child(3){animation-delay:.07s}.fab-menu a:nth-child(2){animation-delay:.12s}.fab-menu a:nth-child(1){animation-delay:.17s}
@keyframes fabIn{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
.fab-menu a:hover,.fab-menu a:focus-visible{transform:translateX(-3px);box-shadow:0 20px 44px -14px rgba(0,0,0,.6);outline:none}
.fab-menu a:focus-visible{box-shadow:0 0 0 3px var(--gold),0 20px 44px -14px rgba(0,0,0,.6)}
.fab-menu i{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--gold)}
.fab-menu a:nth-child(2) i{background:#25D366;color:#fff}
.fab-menu i svg{width:21px;height:21px}
.fab-menu span{display:flex;flex-direction:column;min-width:0}
.fab-menu b{font-family:var(--f-display);font-weight:700;font-size:1rem;line-height:1.2}
.fab-menu small{font-size:.78rem;color:var(--mute);line-height:1.35;overflow-wrap:anywhere}
@media (prefers-reduced-motion:reduce){.fab-btn::before{animation:none;opacity:0}.fab-menu a{animation:none}}
@media (max-width:1100px){body:has(#studio) .fab{bottom:calc(env(safe-area-inset-bottom,0px) + 96px)}}


/* =================== SLUŽBY: animovaný orbit =================== */
.phero-grid:has(.o-wrap){grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center}
.o-wrap{display:flex;flex-direction:column;gap:clamp(18px,2.4vw,30px);min-width:0}
.orbit{position:relative;width:100%;aspect-ratio:600/480;container-type:inline-size;background:radial-gradient(closest-side at 50% 50%,rgba(198,166,92,.16),transparent 78%)}
.o-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:1}
.o-ring{fill:none;stroke:var(--gold);stroke-opacity:.5;stroke-width:1;stroke-dasharray:2 8;animation:oDash 14s linear infinite}
@keyframes oDash{to{stroke-dashoffset:-100}}
.o-sat{fill:var(--gold)}.o-sat.s2{fill:var(--gold-deep);opacity:.7}
.o-link{fill:none;stroke:var(--gold);stroke-width:1.5;stroke-opacity:.6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1s calc(.3s + var(--i)*.12s) var(--ease) forwards;transition:stroke-opacity .3s,stroke-width .3s}
.orbit.hov .o-link{stroke-opacity:.2}
.orbit.hov .o-link.on{stroke:url(#o-gs);stroke-opacity:1;stroke-width:3}
.o-pulse{filter:drop-shadow(0 0 4px rgba(214,41,118,.55))}
.o-hub{position:absolute;left:50%;top:50%;width:25%;z-index:4;transform:translate(-50%,-50%);animation:oHub .8s .05s var(--ease) both;translate:var(--hx,0) var(--hy,0)}
@keyframes oHub{from{opacity:0;transform:translate(-50%,-50%) scale(.5)}to{opacity:1;transform:translate(-50%,-50%)}}
.o-core{position:relative;display:flex;flex-direction:column;align-items:center;gap:.1em;padding:1.05em .6em 1em;text-align:center;isolation:isolate;color:#fff}
.o-core::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:16px;background:linear-gradient(135deg,#000 0%,#1c1a16 55%,#3a3020 100%);transform:skewX(-7deg);box-shadow:0 22px 40px -18px rgba(0,0,0,.65),inset 0 0 0 1px rgba(216,187,120,.4)}
.o-core b{font-family:var(--f-display);font-weight:800;font-size:clamp(.74rem,3.1cqw,1.25rem);line-height:1.1;letter-spacing:-.01em}
.o-core small{font-size:clamp(.6rem,2.1cqw,.82rem);color:var(--night-gold);line-height:1.2}
.o-halo{position:absolute;inset:0;border-radius:16px;border:1.5px solid var(--gold);transform:skewX(-7deg);opacity:0;animation:oHalo 3.4s 1.2s cubic-bezier(.2,.6,.3,1) infinite;pointer-events:none}
.o-halo.h2{animation-delay:2.9s}
@keyframes oHalo{0%{opacity:.7;transform:skewX(-7deg) scale(1)}80%,100%{opacity:0;transform:skewX(-7deg) scale(1.75,2)}}
.orbit.hov .o-halo{border-color:#D62976}
.o-node{position:absolute;width:21%;z-index:3;display:block;color:var(--ink);text-decoration:none;transform:translate(-50%,-50%);animation:oFloat calc(5.5s + var(--i)*.8s) calc(var(--i)*-1.1s) ease-in-out infinite alternate;outline:none}
@keyframes oFloat{from{translate:0 -4px}to{translate:0 5px}}
.o-in{position:relative;display:flex;flex-direction:column;align-items:center;gap:.3em;padding:.85em .4em .75em;isolation:isolate;text-align:center;translate:var(--ox,0) var(--oy,0);opacity:0;animation:oIn .75s calc(.6s + var(--i)*.12s) var(--ease) both;transition:transform .45s var(--ease)}
@keyframes oIn{from{opacity:0;transform:translateY(16px) scale(.6)}to{opacity:1;transform:none}}
.o-in::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:14px;transform:skewX(-7deg);background:#fff;box-shadow:inset 0 0 0 1px var(--rule),0 18px 34px -22px rgba(0,0,0,.5);transition:box-shadow .35s,background-color .35s}
.o-in .ico{width:66%;height:auto}
.o-in .ico .s{stroke-width:2.1;stroke-dasharray:1;animation:draw 1.4s calc(1s + var(--i)*.12s) var(--ease) both}
.o-in b{font-family:var(--f-display);font-weight:700;font-size:clamp(.62rem,2.5cqw,1rem);line-height:1.15;letter-spacing:-.01em;transition:color .3s}
.o-node:hover .o-in,.o-node:focus-visible .o-in{transform:translateY(-7px) scale(1.07)}
.o-node:hover .o-in::before,.o-node:focus-visible .o-in::before{box-shadow:inset 0 0 0 1.5px var(--gold),0 28px 42px -22px rgba(138,110,48,.65)}
.o-node:focus-visible .o-in::before{box-shadow:inset 0 0 0 2px var(--ink),0 0 0 4px var(--gold)}
.o-node:hover b,.o-node:focus-visible b{color:var(--gold-deep)}
.o-node:hover .ico .s{animation:draw 1s var(--ease) both}
.o-cap{margin:0;min-height:3.6em;text-align:center;font-size:.92rem;line-height:1.55;color:var(--mute);max-width:34em;margin-inline:auto;transition:color .3s}
.o-cap b{color:var(--ink);font-family:var(--f-display)}
@media (max-width:900px){.phero-grid:has(.o-wrap){grid-template-columns:minmax(0,1fr);gap:36px}}
@media (max-width:640px){
  .orbit{aspect-ratio:600/520}
  .o-node{width:27%}
  .o-in{padding:.7em .3em .6em}
  .o-in b{font-size:clamp(.62rem,3.2cqw,.8rem)}
  .o-core b{font-size:clamp(.76rem,4.2cqw,1rem)}
  .o-hub{width:30%}
}
@media (prefers-reduced-motion:reduce){
  .o-ring,.o-halo,.o-node,.o-link,.o-in,.o-in .ico .s,.o-hub{animation:none!important}
  .o-link{stroke-dashoffset:0}.o-in{opacity:1}.o-halo{display:none}
}

/* tmavý pruh s výzvou: obrysové tlačítko musí být světlé */
.band .btn-line{color:var(--night-fg);--lc:var(--night-fg);--lh:var(--night-fg);--lt:var(--ink)}
.band .btn-line::before{box-shadow:inset 0 0 0 1.5px var(--night-fg)}
.band .btn-line:hover{color:var(--ink)}
.band .btn-row{flex-wrap:wrap}


/* ceník s jedním balíčkem: karta uprostřed */
.plans.one,.plans.two{margin-inline:auto}
.shead:has(+.plans.one){grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}
.shead:has(+.plans.one) p{margin-inline:auto}
.plans.one+p.mt-m{text-align:center}
.plan{text-align:left}

/* slib u e-shopů: text vlevo, pravítko s termínem vpravo */
.r-line{grid-template-columns:repeat(var(--n,7),1fr)}
.pledge-r{justify-content:center}
.pledge-r .ruler{margin-top:0;width:100%}



/* === SLUŽBY / WEB: animace „web se skládá“ (generováno tools/webart.py) === */
@keyframes waK0{0%,0.00%{opacity:0;transform:translateY(20px) scale(.95);animation-timing-function:cubic-bezier(.22,1,.36,1)}7.14%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(20px) scale(.95)}}
@keyframes waK1{0%,5.56%{clip-path:inset(0 100% 0 0);opacity:1;animation-timing-function:steps(13,end)}12.70%,89.68%{clip-path:inset(0 0 0 0);opacity:1}95.24%{clip-path:inset(0 0 0 0);opacity:0}100%{clip-path:inset(0 100% 0 0);opacity:1}}
@keyframes waK2{0%,10.32%{opacity:0;transform:translateY(-10px);animation-timing-function:cubic-bezier(.22,1,.36,1)}15.08%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(-10px)}}
@keyframes waK3{0%,15.08%{transform:scaleX(0);opacity:1;animation-timing-function:cubic-bezier(.22,1,.36,1)}19.84%,89.68%{transform:scaleX(1);opacity:1}95.24%{transform:scaleX(1);opacity:0}100%{transform:scaleX(0);opacity:1}}
@keyframes waK4{0%,17.06%{transform:scaleX(0);opacity:1;animation-timing-function:cubic-bezier(.22,1,.36,1)}21.83%,89.68%{transform:scaleX(1);opacity:1}95.24%{transform:scaleX(1);opacity:0}100%{transform:scaleX(0);opacity:1}}
@keyframes waK5{0%,21.43%{transform:scaleX(0);opacity:1;animation-timing-function:cubic-bezier(.22,1,.36,1)}25.40%,89.68%{transform:scaleX(1);opacity:1}95.24%{transform:scaleX(1);opacity:0}100%{transform:scaleX(0);opacity:1}}
@keyframes waK6{0%,23.02%{transform:scaleX(0);opacity:1;animation-timing-function:cubic-bezier(.22,1,.36,1)}26.98%,89.68%{transform:scaleX(1);opacity:1}95.24%{transform:scaleX(1);opacity:0}100%{transform:scaleX(0);opacity:1}}
@keyframes waK7{0%,18.25%{opacity:0;transform:translateX(18px) scale(.94);animation-timing-function:cubic-bezier(.22,1,.36,1)}25.40%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateX(18px) scale(.94)}}
@keyframes waK8{0%,30.95%{opacity:0;transform:translateY(16px);animation-timing-function:cubic-bezier(.22,1,.36,1)}35.71%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(16px)}}
@keyframes waK9{0%,32.54%{opacity:0;transform:translateY(16px);animation-timing-function:cubic-bezier(.22,1,.36,1)}37.30%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(16px)}}
@keyframes waK10{0%,34.13%{opacity:0;transform:translateY(16px);animation-timing-function:cubic-bezier(.22,1,.36,1)}38.89%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(16px)}}
@keyframes waK11{0%,39.68%{opacity:0;transform:scale(.5) translateY(10px);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}44.44%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.5) translateY(10px)}}
@keyframes waK12{0%,43.65%{opacity:0;transform:scale(.5) translateY(10px);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}48.41%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.5) translateY(10px)}}
@keyframes waK13{0%,46.83%{opacity:0;transform:translateY(46px) rotate(4deg);animation-timing-function:cubic-bezier(.22,1,.36,1)}53.17%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(46px) rotate(4deg)}}
@keyframes waK14{0%,50.79%{opacity:0;transform:scale(.5) translateY(10px);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}55.56%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.5) translateY(10px)}}
@keyframes waK15{0%,66.27%{opacity:0;transform:translateY(14px) scale(.85);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}71.83%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(14px) scale(.85)}}
@keyframes waCta{0%,25.40%{opacity:0;transform:scale(.6);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}30.16%{opacity:1;transform:none;box-shadow:0 10px 24px -12px rgba(214,41,118,.55)}52.38%{opacity:1;transform:none;box-shadow:0 10px 24px -12px rgba(214,41,118,.55);animation-timing-function:ease-out}55.56%{opacity:1;transform:scale(1.07);box-shadow:0 0 0 .9cqw rgba(214,41,118,.18),0 12px 30px -10px rgba(214,41,118,.8)}57.54%{opacity:1;transform:scale(.93);box-shadow:0 0 0 .2cqw rgba(214,41,118,.3)}60.32%,89.68%{opacity:1;transform:none;box-shadow:0 10px 24px -12px rgba(214,41,118,.55)}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.6)}}
@keyframes waRip{0%,57.14%{opacity:0;transform:translate(-50%,-50%) scale(.2)}57.78%{opacity:.55}63.49%,100%{opacity:0;transform:translate(-50%,-50%) scale(3.6)}}
@keyframes waCur{0%,47.62%{opacity:0;left:70cqw;top:62cqw;animation-timing-function:ease-in-out}50.00%{opacity:1;left:70cqw;top:62cqw;animation-timing-function:cubic-bezier(.5,0,.2,1)}56.75%{opacity:1;left:19cqw;top:47cqw}59.13%{opacity:1;left:19cqw;top:47cqw;transform:scale(.82);animation-timing-function:ease-out}60.71%{opacity:1;left:19cqw;top:47cqw;transform:scale(1);animation-timing-function:ease-in}67.46%{opacity:0;left:58cqw;top:50cqw;transform:scale(1)}100%{opacity:0;left:70cqw;top:62cqw}}
@keyframes waDot{0%,100%{box-shadow:0 0 0 0 rgba(214,41,118,.45)}60%{box-shadow:0 0 0 1.4cqw rgba(214,41,118,0)}}
@keyframes waSun{to{transform:rotate(360deg)}}
@keyframes waBob{0%,100%{translate:0 0}50%{translate:0 -1.1cqw}}
.wa .wa-browser{animation:waK0 12.6s linear infinite both}
.wa .wa-url i{animation:waK1 12.6s linear infinite both}
.wa .wa-nav{animation:waK2 12.6s linear infinite both}
.wa .wa-h1{animation:waK3 12.6s linear infinite both}
.wa .wa-h2{animation:waK4 12.6s linear infinite both}
.wa .wa-p1{animation:waK5 12.6s linear infinite both}
.wa .wa-p2{animation:waK6 12.6s linear infinite both}
.wa .wa-img{animation:waK7 12.6s linear infinite both}
.wa .wa-c1{animation:waK8 12.6s linear infinite both}
.wa .wa-c2{animation:waK9 12.6s linear infinite both}
.wa .wa-c3{animation:waK10 12.6s linear infinite both}
.wa .wa-chip.s{animation:waK11 12.6s linear infinite both}
.wa .wa-chip.k{animation:waK12 12.6s linear infinite both}
.wa .wa-phone{animation:waK13 12.6s linear infinite both}
.wa .wa-chip.m{animation:waK14 12.6s linear infinite both}
.wa .wa-toast{animation:waK15 12.6s linear infinite both}
.wa .wa-cta{animation:waCta 12.6s linear infinite both}
.wa .wa-rip{animation:waRip 12.6s ease-out infinite both}
.wa .wa-cur{animation:waCur 12.6s linear infinite both}

.wa{position:relative;aspect-ratio:6/5;container-type:inline-size;width:100%}
.wa-wrap{overflow-x:clip}
.wa-browser{position:absolute;left:2%;top:6%;width:80%;height:76%;border-radius:2.2cqw;background:#fff;box-shadow:inset 0 0 0 1px var(--rule),0 3.4cqw 6cqw -3cqw rgba(0,0,0,.45);overflow:hidden;will-change:transform}
.wa-bar{position:absolute;inset:0 0 auto 0;height:9%;background:var(--paper-2);border-bottom:1px solid var(--rule);display:flex;align-items:center;gap:1cqw;padding-inline:2cqw}
.wa-bar>b{width:1.5cqw;height:1.5cqw;border-radius:50%;background:var(--gold);opacity:.9}
.wa-bar>b:nth-child(2){opacity:.55}.wa-bar>b:nth-child(3){opacity:.3}
.wa-url{margin-left:2cqw;flex:1;max-width:46%;height:60%;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--rule);display:flex;align-items:center;padding-inline:1.6cqw;font-family:var(--f-display);font-weight:600;font-size:1.9cqw;color:var(--char);white-space:nowrap}
.wa-url i{font-style:normal;display:block}
.wa-page{position:absolute;inset:9% 0 0 0}
.wa-page>*{position:absolute}
.wa-nav{left:0;right:0;top:0;height:11%;border-bottom:1px solid var(--rule)}
.wa-nav>*{position:absolute;top:50%;translate:0 -50%}
.wa-logo{left:5%;width:6cqw;height:2.6cqw;border-radius:.6cqw;background:linear-gradient(100deg,var(--gold-deep),var(--gold))}
.wa-nl{height:1.1cqw;border-radius:2cqw;background:#cfcbc2}
.wa-nl.a{left:42%;width:7%}.wa-nl.b{left:52%;width:7%}.wa-nl.c{left:62%;width:7%}
.wa-nb{right:5%;width:13%;height:55%;border-radius:1cqw;background:var(--ink);transform:skewX(-8deg)}
.wa-bars>i,.wa-h1,.wa-h2,.wa-p1,.wa-p2{display:block;position:absolute;transform-origin:0 50%;border-radius:2cqw}
.wa-h1{left:6%;top:19%;width:50%;height:6.2%;background:var(--ink)}
.wa-h2{left:6%;top:28.5%;width:36%;height:6.2%;background:var(--ink)}
.wa-p1{left:6%;top:41%;width:46%;height:2.8%;background:#cfcbc2}
.wa-p2{left:6%;top:47.5%;width:38%;height:2.8%;background:#cfcbc2}
.wa-cta{left:6%;top:59%;width:31%;height:11%;border-radius:1.2cqw;display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-weight:700;font-size:1.95cqw;color:#fff;background:var(--ig);will-change:transform}
.wa-cta::before{content:"";position:absolute;inset:0;border-radius:inherit;transform:skewX(-8deg);background:inherit;z-index:0}
.wa-cta span{position:relative;z-index:1}
.wa-img{left:61%;top:17%;width:33%;height:56%;will-change:transform}
.wa-img svg{width:100%;height:100%;display:block;overflow:visible}
.wa-sun{transform-origin:50% 50%;transform-box:fill-box;animation:waSun 18s linear infinite}
.wa-card{top:79%;height:15%;width:27.5%;border-radius:1.2cqw;background:#fff;box-shadow:inset 0 0 0 1px var(--rule),0 1.4cqw 2.6cqw -1.8cqw rgba(0,0,0,.4)}
.wa-card::before{content:"";position:absolute;left:10%;top:22%;width:22%;height:30%;border-radius:.8cqw;background:var(--gold-soft);box-shadow:inset 0 0 0 1px var(--gold)}
.wa-card::after{content:"";position:absolute;left:10%;right:30%;bottom:22%;height:12%;border-radius:2cqw;background:#cfcbc2}
.wa-c1{left:6%}.wa-c2{left:36.2%}.wa-c3{left:66.4%}
.wa-chip{position:absolute;z-index:4;display:flex;align-items:center;gap:.9cqw;padding:1.5cqw 2.3cqw;font-family:var(--f-display);font-weight:700;font-size:2.35cqw;line-height:1.1;color:var(--ink);isolation:isolate;white-space:nowrap}
.wa-chip::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:1.4cqw;transform:skewX(-7deg);background:#fff;box-shadow:inset 0 0 0 1px var(--rule),0 1.8cqw 3cqw -1.8cqw rgba(0,0,0,.5)}
.wa-chip small{font:500 1.75cqw/1 var(--f-body);color:var(--mute);display:block}
.wa-chip i{width:3.4cqw;height:3.4cqw;border-radius:50%;display:grid;place-items:center;background:var(--gold-soft);box-shadow:inset 0 0 0 1px var(--gold);color:var(--gold-deep);font-style:normal;font-size:1.9cqw}
.wa-chip.s{right:3%;top:0}
.wa-chip.k{left:0;bottom:3%}
.wa-chip.m{left:30%;bottom:-1%}
.wa-phone{position:absolute;z-index:3;right:1.2%;bottom:1%;width:23%;aspect-ratio:9/18;border-radius:3.2cqw;background:#fff;box-shadow:0 0 0 .55cqw var(--ink),0 3cqw 5cqw -2cqw rgba(0,0,0,.55);overflow:hidden;will-change:transform}
.wa-phone::before{content:"";position:absolute;left:50%;top:2.2%;translate:-50% 0;width:34%;height:3%;border-radius:2cqw;background:var(--ink);z-index:2}
.wa-phone>*{position:absolute;left:10%}
.wa-pl{top:15%;width:44%;height:5%;border-radius:.8cqw;background:linear-gradient(100deg,var(--gold-deep),var(--gold))}
.wa-ph1{top:29%;width:78%;height:5%;border-radius:2cqw;background:var(--ink)}
.wa-ph2{top:37%;width:56%;height:5%;border-radius:2cqw;background:var(--ink)}
.wa-pp{top:48%;width:70%;height:2.4%;border-radius:2cqw;background:#cfcbc2}
.wa-pb{top:57%;width:80%;height:9%;border-radius:1cqw;background:var(--ig)}
.wa-pc{top:72%;width:80%;height:15%;border-radius:1cqw;background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--rule)}
.wa-cur{position:absolute;z-index:6;width:4.2cqw;height:4.2cqw;opacity:0;left:70cqw;top:62cqw;filter:drop-shadow(0 .5cqw .6cqw rgba(0,0,0,.35));pointer-events:none}
.wa-rip{position:absolute;z-index:5;left:19.2%;top:57.4%;width:7cqw;height:7cqw;border-radius:50%;border:.5cqw solid #D62976;opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.2)}
.wa-toast{position:absolute;z-index:6;right:1%;top:35%;display:flex;align-items:center;gap:1.8cqw;padding:1.8cqw 2.6cqw 1.8cqw 1.8cqw;font-family:var(--f-display);font-weight:800;font-size:2.5cqw;line-height:1.15;color:#fff;isolation:isolate;white-space:nowrap}
.wa-toast::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:1.6cqw;transform:skewX(-7deg);background:var(--ink);box-shadow:0 0 0 1px rgba(216,187,120,.7),0 2.4cqw 4cqw -1.6cqw rgba(0,0,0,.65)}
.wa-toast small{display:block;font:500 1.8cqw/1.2 var(--f-body);color:var(--night-mute)}
.wa-toast i{flex:none;width:5.2cqw;height:5.2cqw;border-radius:50%;background:var(--ig);display:grid;place-items:center;animation:waDot 1.8s ease-out infinite}
.wa-toast svg{width:55%;height:55%}
.wa-bob{animation:waBob 5s ease-in-out infinite}
@media (max-width:640px){.wa-chip{font-size:2.9cqw}.wa-chip small{font-size:2.1cqw}.wa-toast{font-size:3cqw}.wa-toast small{font-size:2.2cqw}}
@media (prefers-reduced-motion:reduce){.wa *,.wa{animation:none!important}.wa-cur,.wa-rip{display:none}}

/* === END WEB ART === */

/* === SLUŽBY / E-SHOP: animace „e-shop se skládá“ (generováno tools/shopart.py) === */
@keyframes saK0{0%,14.29%{opacity:0;transform:translateY(8px);animation-timing-function:cubic-bezier(.22,1,.36,1)}19.05%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(8px)}}
@keyframes saK1{0%,17.46%{opacity:0;transform:translateY(16px) scale(.96);animation-timing-function:cubic-bezier(.22,1,.36,1)}22.22%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(16px) scale(.96)}}
@keyframes saK2{0%,19.05%{opacity:0;transform:translateY(16px) scale(.96);animation-timing-function:cubic-bezier(.22,1,.36,1)}23.81%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(16px) scale(.96)}}
@keyframes saK3{0%,20.63%{opacity:0;transform:translateY(16px) scale(.96);animation-timing-function:cubic-bezier(.22,1,.36,1)}25.40%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(16px) scale(.96)}}
@keyframes saK4{0%,22.22%{opacity:0;transform:translateY(16px) scale(.96);animation-timing-function:cubic-bezier(.22,1,.36,1)}26.98%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(16px) scale(.96)}}
@keyframes saK5{0%,23.81%{opacity:0;transform:translateY(16px) scale(.96);animation-timing-function:cubic-bezier(.22,1,.36,1)}28.57%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(16px) scale(.96)}}
@keyframes saK6{0%,25.40%{opacity:0;transform:translateY(16px) scale(.96);animation-timing-function:cubic-bezier(.22,1,.36,1)}30.16%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(16px) scale(.96)}}
@keyframes saK7{0%,50.00%{opacity:0;transform:translateX(30%);animation-timing-function:cubic-bezier(.22,1,.36,1)}54.76%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateX(30%)}}
@keyframes saK8{0%,44.05%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}47.22%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(0)}}
@keyframes saB1{0%,38.10%{opacity:1}38.49%,99.9%{opacity:0}100%{opacity:1}}
@keyframes saB2{0%,38.10%{opacity:0}38.49%,99.9%{opacity:1}100%{opacity:0}}
@keyframes saFly{0%,38.49%{opacity:0;left:48.8cqw;top:40.5cqw;transform:translate(-50%,-50%) scale(1);animation-timing-function:cubic-bezier(.5,0,.7,.4)}39.29%{opacity:1;left:48.8cqw;top:40.5cqw}44.44%{opacity:1;left:75.9cqw;top:14cqw;transform:translate(-50%,-50%) scale(.6)}45.08%,100%{opacity:0;left:75.9cqw;top:14cqw;transform:translate(-50%,-50%) scale(.2)}}
@keyframes saCart{0%,44.05%{transform:scale(1)}45.63%{transform:scale(1.22)}47.62%,100%{transform:scale(1)}}
@keyframes saCur{0%,29.37%{opacity:0;left:60cqw;top:72cqw;transform:scale(1);animation-timing-function:ease-in-out}30.95%{opacity:1;left:60cqw;top:72cqw;animation-timing-function:cubic-bezier(.5,0,.2,1)}37.30%{opacity:1;left:48.8cqw;top:40.5cqw;transform:scale(1)}38.25%{left:48.8cqw;top:40.5cqw;transform:scale(.8);animation-timing-function:ease-out}39.68%{opacity:1;left:48.8cqw;top:40.5cqw;transform:scale(1);animation-timing-function:cubic-bezier(.5,0,.2,1)}47.62%{opacity:1;left:75.4cqw;top:14cqw;transform:scale(1)}48.57%{left:75.4cqw;top:14cqw;transform:scale(.8);animation-timing-function:ease-out}50.00%{opacity:1;left:75.4cqw;top:14cqw;transform:scale(1);animation-timing-function:cubic-bezier(.5,0,.2,1)}58.73%{opacity:1;left:60cqw;top:60.6cqw;transform:scale(1)}59.68%{left:60cqw;top:60.6cqw;transform:scale(.8);animation-timing-function:ease-out}61.27%{opacity:1;left:60cqw;top:60.6cqw;transform:scale(1);animation-timing-function:ease-in}69.05%{opacity:0;left:56cqw;top:50cqw}100%{opacity:0;left:60cqw;top:72cqw}}
@keyframes saRip1{0%,38.10%{opacity:0;transform:translate(-50%,-50%) scale(.2)}38.73%{opacity:.55}44.44%,100%{opacity:0;transform:translate(-50%,-50%) scale(3.4)}}
@keyframes saRip2{0%,59.68%{opacity:0;transform:translate(-50%,-50%) scale(.2)}60.32%{opacity:.55}66.03%,100%{opacity:0;transform:translate(-50%,-50%) scale(3.4)}}
.sa .sa-chips{animation:saK0 12.6s linear infinite both}
.sa .sa-card.k0{animation:saK1 12.6s linear infinite both}
.sa .sa-card.k1{animation:saK2 12.6s linear infinite both}
.sa .sa-card.k2{animation:saK3 12.6s linear infinite both}
.sa .sa-card.k3{animation:saK4 12.6s linear infinite both}
.sa .sa-card.k4{animation:saK5 12.6s linear infinite both}
.sa .sa-card.k5{animation:saK6 12.6s linear infinite both}
.sa .sa-drawer{animation:saK7 12.6s linear infinite both}
.sa .sa-badge{animation:saK8 12.6s linear infinite both}
.sa .sa-b1{animation:saB1 12.6s linear infinite both}
.sa .sa-b2{animation:saB2 12.6s linear infinite both}
.sa .sa-fly{animation:saFly 12.6s linear infinite both}
.sa .sa-cart{animation:saCart 12.6s ease-out infinite both}
.sa .sa-cur{animation:saCur 12.6s linear infinite both}
.sa .sa-rip.r1{left:48.8cqw;top:40.5cqw;animation:saRip1 12.6s ease-out infinite both}
.sa .sa-rip.r2{left:60cqw;top:60.6cqw;animation:saRip2 12.6s ease-out infinite both}

.sa-cart{position:absolute;right:5%;top:50%;margin-top:-2.1cqw;width:4.2cqw;height:4.2cqw;color:var(--ink)}
.sa-cart svg{width:100%;height:100%;display:block}
.sa-badge{position:absolute;right:-1.1cqw;top:-1.1cqw;min-width:2.5cqw;height:2.5cqw;padding-inline:.5cqw;border-radius:2cqw;background:var(--ig);color:#fff;font:800 1.55cqw/2.5cqw var(--f-display);text-align:center}
.sa-chips{left:6%;top:15%;display:flex;gap:1.4cqw}
.sa-chips i{display:block;height:3.6cqw;border-radius:2cqw;box-shadow:inset 0 0 0 1px #cfcbc2}
.sa-chips i:nth-child(1){width:9cqw;background:var(--ink);box-shadow:none}
.sa-chips i:nth-child(2){width:10.5cqw}.sa-chips i:nth-child(3){width:8.5cqw}
.sa-card{width:27.5%;height:33%;border-radius:1.3cqw;background:#fff;box-shadow:inset 0 0 0 1px var(--rule),0 1.4cqw 2.6cqw -1.8cqw rgba(0,0,0,.4)}
.sa-card.k0,.sa-card.k3{left:6%}.sa-card.k1,.sa-card.k4{left:36.2%}.sa-card.k2,.sa-card.k5{left:66.4%}
.sa-card.k0,.sa-card.k1,.sa-card.k2{top:25%}.sa-card.k3,.sa-card.k4,.sa-card.k5{top:62%}
.sa-card>*{position:absolute}
.sa-im{left:6%;right:6%;top:6%;height:52%;border-radius:1cqw;background:var(--gold-soft);overflow:hidden}
.sa-im svg{width:100%;height:100%;display:block}
.sa-n{left:8%;width:58%;top:65%;height:5%;border-radius:2cqw;background:var(--ink)}
.sa-pr{left:8%;width:32%;top:77%;height:5%;border-radius:2cqw;background:var(--gold)}
.sa-b1,.sa-b2{right:7%;bottom:8%;width:38%;height:17%;border-radius:.9cqw;display:flex;align-items:center;justify-content:center;font:700 1.55cqw/1 var(--f-display);white-space:nowrap}
.sa-b1{background:var(--ink);color:#fff}
.sa-b2{background:var(--ig);color:#fff}
.sa-card:not(.k1) .sa-b2{display:none}
.sa-drawer{left:54%;top:11%;width:40%;bottom:0;background:#fff;border-left:1px solid var(--rule);box-shadow:-1.6cqw 0 3.6cqw -2cqw rgba(0,0,0,.45);padding:3.2cqw 2.6cqw}
.sa-drawer>*{position:absolute;left:5%;right:5%}
.sa-dh{top:6%;font:800 2.3cqw/1 var(--f-display);color:var(--ink)}
.sa-di{top:20%;height:24%;display:grid;grid-template-columns:24% 1fr;gap:5%;align-items:center}
.sa-di .t{aspect-ratio:1;border-radius:1cqw;background:var(--gold-soft);box-shadow:inset 0 0 0 1px var(--gold)}
.sa-di .l{display:flex;flex-direction:column;gap:.9cqw}
.sa-di .l i{display:block;height:1.5cqw;border-radius:2cqw;background:var(--ink)}
.sa-di .l i+i{width:55%;background:var(--gold)}
.sa-sum{top:52%;display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--rule);padding-top:2cqw;font:600 1.9cqw/1 var(--f-body);color:var(--mute)}
.sa-sum b{font:800 2.5cqw/1 var(--f-display);color:var(--ink)}
.sa-go{top:76%;height:15%;border-radius:1.2cqw;background:var(--ig);color:#fff;display:flex;align-items:center;justify-content:center;font:700 2cqw/1 var(--f-display);box-shadow:0 1.2cqw 2.4cqw -1.4cqw rgba(214,41,118,.8)}
.sa-fly{position:absolute;z-index:5;width:2.6cqw;height:2.6cqw;border-radius:50%;background:var(--ig);opacity:0;pointer-events:none;left:48.8cqw;top:40.5cqw;transform:translate(-50%,-50%)}
.sa-cur{position:absolute;z-index:7;width:4.2cqw;height:4.2cqw;opacity:0;left:60cqw;top:72cqw;filter:drop-shadow(0 .5cqw .6cqw rgba(0,0,0,.35));pointer-events:none}
.sa-rip{position:absolute;z-index:6;width:7cqw;height:7cqw;border-radius:50%;border:.5cqw solid #D62976;opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.2)}
.sa-pi{left:12%;right:12%;top:26%;height:24%;border-radius:1.2cqw;background:var(--gold-soft);box-shadow:inset 0 0 0 1px var(--gold)}
.sa-pn{top:57%;width:60%;height:4.5%;border-radius:2cqw;background:var(--ink)}
.sa-pp{top:65%;width:34%;height:4.5%;border-radius:2cqw;background:var(--gold)}
.sa-pb{top:75%;width:80%;height:9%;border-radius:1cqw;background:var(--ig)}
@media (prefers-reduced-motion:reduce){.sa *,.sa{animation:none!important}.sa-cur,.sa-rip,.sa-fly{display:none}.sa-b1{display:none}.sa-card.k1 .sa-b2{display:flex}}

/* === END SHOP ART === */

/* === SLUŽBY / CRM: animace „zakázka → faktura → sklad“ (generováno tools/crmart.py) === */
@keyframes caK0{0%,10.32%{opacity:0;transform:translateX(-10px);animation-timing-function:cubic-bezier(.22,1,.36,1)}14.29%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateX(-10px)}}
@keyframes caK1{0%,11.43%{opacity:0;transform:translateX(-10px);animation-timing-function:cubic-bezier(.22,1,.36,1)}15.40%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateX(-10px)}}
@keyframes caK2{0%,12.54%{opacity:0;transform:translateX(-10px);animation-timing-function:cubic-bezier(.22,1,.36,1)}16.51%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateX(-10px)}}
@keyframes caK3{0%,13.65%{opacity:0;transform:translateX(-10px);animation-timing-function:cubic-bezier(.22,1,.36,1)}17.62%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateX(-10px)}}
@keyframes caK4{0%,14.76%{opacity:0;transform:translateX(-10px);animation-timing-function:cubic-bezier(.22,1,.36,1)}18.73%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateX(-10px)}}
@keyframes caK5{0%,15.08%{opacity:0;transform:translateY(-8px);animation-timing-function:cubic-bezier(.22,1,.36,1)}19.84%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(-8px)}}
@keyframes caK6{0%,18.25%{opacity:0;transform:translateY(14px);animation-timing-function:cubic-bezier(.22,1,.36,1)}23.02%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(14px)}}
@keyframes caK7{0%,19.84%{opacity:0;transform:translateY(14px);animation-timing-function:cubic-bezier(.22,1,.36,1)}24.60%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(14px)}}
@keyframes caK8{0%,21.43%{opacity:0;transform:translateY(14px);animation-timing-function:cubic-bezier(.22,1,.36,1)}26.19%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(14px)}}
@keyframes caK9{0%,23.81%{opacity:0;transform:translateY(10px);animation-timing-function:cubic-bezier(.22,1,.36,1)}27.78%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(10px)}}
@keyframes caK10{0%,26.19%{opacity:0;transform:translateY(10px);animation-timing-function:cubic-bezier(.22,1,.36,1)}30.16%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(10px)}}
@keyframes caK11{0%,27.78%{opacity:0;transform:translateY(10px);animation-timing-function:cubic-bezier(.22,1,.36,1)}31.75%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(10px)}}
@keyframes caB{0%,24.60%{opacity:0;transform:translateY(10px)}28.57%{opacity:1;transform:none}36.11%{opacity:1}36.51%,99.9%{opacity:0}100%{opacity:0;transform:translateY(10px)}}
@keyframes caG{0%,36.11%{opacity:0;transform:translate(0,0) rotate(0) scale(1)}36.67%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}39.29%{opacity:1;transform:translate(0,-.6cqw) rotate(-2.5deg) scale(1.04);animation-timing-function:cubic-bezier(.55,0,.25,1)}48.02%{opacity:1;transform:translate(37.6cqw,-.6cqw) rotate(-2.5deg) scale(1.04)}49.60%{opacity:1;transform:translate(37.6cqw,0) rotate(0) scale(1)}50.00%,100%{opacity:0;transform:translate(37.6cqw,0) rotate(0) scale(1)}}
@keyframes caK14{0%,49.60%{opacity:0;transform:scale(.94);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}53.17%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.94)}}
@keyframes caO0{0%,51.59%{opacity:1}53.57%,99.9%{opacity:0}100%{opacity:1}}
@keyframes caO3{0%,51.98%{opacity:0}53.97%,99.9%{opacity:1}100%{opacity:0}}
@keyframes caK17{0%,53.97%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}57.14%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(0)}}
@keyframes caK18{0%,58.73%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}61.90%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(0)}}
@keyframes caCur{0%,30.16%{opacity:0;left:46cqw;top:72cqw;transform:scale(1);animation-timing-function:ease-in-out}31.75%{opacity:1;left:46cqw;top:72cqw;animation-timing-function:cubic-bezier(.5,0,.2,1)}35.71%{opacity:1;left:31.6cqw;top:46.1cqw;transform:scale(1)}36.67%{left:31.6cqw;top:46.1cqw;transform:scale(.82);animation-timing-function:cubic-bezier(.55,0,.25,1)}39.29%{left:31.6cqw;top:45.5cqw;transform:scale(.82)}48.02%{opacity:1;left:69.2cqw;top:45.5cqw;transform:scale(.82)}49.60%{opacity:1;left:69.2cqw;top:46.1cqw;transform:scale(1);animation-timing-function:ease-in}57.14%{opacity:0;left:73cqw;top:54cqw;transform:scale(1)}100%{opacity:0;left:46cqw;top:72cqw}}
.ca .ca-it.k0{animation:caK0 12.6s linear infinite both}
.ca .ca-it.k1{animation:caK1 12.6s linear infinite both}
.ca .ca-it.k2{animation:caK2 12.6s linear infinite both}
.ca .ca-it.k3{animation:caK3 12.6s linear infinite both}
.ca .ca-it.k4{animation:caK4 12.6s linear infinite both}
.ca .ca-head{animation:caK5 12.6s linear infinite both}
.ca .ca-col.k0{animation:caK6 12.6s linear infinite both}
.ca .ca-col.k1{animation:caK7 12.6s linear infinite both}
.ca .ca-col.k2{animation:caK8 12.6s linear infinite both}
.ca .ca-a{animation:caK9 12.6s linear infinite both}
.ca .ca-c{animation:caK10 12.6s linear infinite both}
.ca .ca-d{animation:caK11 12.6s linear infinite both}
.ca .ca-b{animation:caB 12.6s linear infinite both}
.ca .ca-ghost{animation:caG 12.6s linear infinite both}
.ca .ca-b2{animation:caK14 12.6s linear infinite both}
.ca .ca-on.o0{animation:caO0 12.6s linear infinite both}
.ca .ca-on.o3{animation:caO3 12.6s linear infinite both}
.ca .ca-bd.d1{animation:caK17 12.6s linear infinite both}
.ca .ca-bd.d2{animation:caK18 12.6s linear infinite both}
.ca .ca-cur{animation:caCur 12.6s linear infinite both}

.ca-side{position:absolute;left:0;top:0;bottom:0;width:22%;background:var(--ink);padding:2.2cqw 1.4cqw;display:flex;flex-direction:column;gap:.8cqw}
.ca-brand{height:2.4cqw;width:55%;margin:0 0 1.8cqw 1cqw;border-radius:.6cqw;background:linear-gradient(100deg,var(--gold-deep),var(--night-gold))}
.ca-it{position:relative;display:flex;align-items:center;gap:1.1cqw;padding:1.35cqw 1cqw;border-radius:.9cqw;font:600 1.8cqw/1 var(--f-display);color:var(--night-mute);isolation:isolate}
.ca-it::before{content:"";width:1.7cqw;height:1.7cqw;border-radius:.5cqw;border:1.5px solid currentColor;opacity:.7;flex:none}
.ca-on{position:absolute;inset:0;z-index:-1;border-radius:inherit;background:rgba(216,187,120,.2);box-shadow:inset .3cqw 0 0 var(--night-gold)}
.ca-it.k0{color:#fff}
.ca-on{opacity:0}.ca-on.o0{opacity:1}
.ca-bd{position:absolute;right:.8cqw;top:50%;margin-top:-1.3cqw;min-width:2.6cqw;height:2.6cqw;padding-inline:.7cqw;border-radius:2cqw;background:var(--ig);color:#fff;font:800 1.45cqw/2.6cqw var(--f-display);text-align:center;white-space:nowrap}
.ca-head{position:absolute;left:26%;right:4%;top:3.5%;height:11%;display:flex;align-items:center;justify-content:space-between}
.ca-head b{font:800 2.9cqw/1 var(--f-display);color:var(--ink);letter-spacing:-.02em}
.ca-new{padding:1.1cqw 1.8cqw;border-radius:1cqw;background:var(--ink);color:#fff;font:700 1.55cqw/1 var(--f-display);transform:skewX(-7deg)}
.ca-col{position:absolute;top:20%;height:74%;width:22%;border-radius:1.2cqw;background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--rule)}
.ca-col.k0{left:26%}.ca-col.k1{left:49.5%}.ca-col.k2{left:73%}
.ca-ch{position:absolute;left:8%;top:4%;font:700 1.6cqw/1 var(--f-display);color:var(--char)}
.ca-ch small{font:500 1.45cqw/1 var(--f-body);color:var(--mute);margin-left:.6cqw}
.ca-card,.ca-ghost{position:absolute;width:88%;height:24%;left:6%;border-radius:1cqw;background:#fff;box-shadow:inset 0 0 0 1px var(--rule),0 1cqw 2cqw -1.4cqw rgba(0,0,0,.4);padding:1.1cqw 1.2cqw;display:flex;flex-direction:column;gap:.8cqw}
.ca-card b,.ca-ghost b{font:700 1.5cqw/1.15 var(--f-display);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ca-card i,.ca-ghost i{display:block;height:.9cqw;width:70%;border-radius:2cqw;background:#cfcbc2}
.ca-card em,.ca-ghost em{margin-top:auto;align-self:flex-start;font:700 1.25cqw/1 var(--f-body);font-style:normal;padding:.5cqw 1cqw;border-radius:2cqw;background:var(--gold-soft);color:var(--gold-deep);box-shadow:inset 0 0 0 1px var(--gold)}
.ca-a,.ca-c,.ca-d{top:14%}.ca-b,.ca-b2{top:44%}
.ca-d em,.ca-b2 em{background:#e3f2ea;color:var(--ok);box-shadow:inset 0 0 0 1px rgba(31,122,77,.5)}
.ca-ghost{z-index:4;left:calc(26% + 22% * .06);top:calc(20% + 74% * .44);width:calc(22% * .88);height:calc(74% * .24);opacity:0;will-change:transform;box-shadow:inset 0 0 0 1px var(--gold),0 2.2cqw 3.4cqw -1.4cqw rgba(0,0,0,.55)}
.ca-cur{position:absolute;z-index:7;width:4.2cqw;height:4.2cqw;opacity:0;left:46cqw;top:72cqw;filter:drop-shadow(0 .5cqw .6cqw rgba(0,0,0,.35));pointer-events:none}
.ca .wa-chip.m{left:auto;right:3%}
@media (max-width:640px){.ca .wa-chip.m{display:none}}
@media (prefers-reduced-motion:reduce){.ca *,.ca{animation:none!important}.ca-cur,.ca-ghost,.ca-b{display:none}.ca-on.o0{opacity:0}.ca-on.o3{opacity:1}}

/* === END CRM ART === */

/* === SLUŽBY / SOCIÁLNÍ SÍTĚ: animace (generováno tools/socart.py) === */
@keyframes soK0{0%,2.38%{opacity:0;transform:translateY(18px);animation-timing-function:cubic-bezier(.22,1,.36,1)}8.73%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(18px)}}
@keyframes soK1{0%,18.73%{opacity:0;transform:scale(.3);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}21.90%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.3)}}
@keyframes soK2{0%,25.56%{opacity:0;transform:scale(.3);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}28.73%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.3)}}
@keyframes soK3{0%,28.97%{opacity:0;transform:scale(.3);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}32.14%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.3)}}
@keyframes soK4{0%,15.32%{opacity:0;transform:scale(.3);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}18.49%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.3)}}
@keyframes soK5{0%,22.14%{opacity:0;transform:scale(.3);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}25.32%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.3)}}
@keyframes soK6{0%,28.97%{opacity:0;transform:scale(.3);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}32.14%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.3)}}
@keyframes soK7{0%,15.32%{opacity:0;transform:scale(.3);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}18.49%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.3)}}
@keyframes soK8{0%,22.14%{opacity:0;transform:scale(.3);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}25.32%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.3)}}
@keyframes soK9{0%,28.97%{opacity:0;transform:scale(.3);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}32.14%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.3)}}
@keyframes soK10{0%,15.32%{opacity:0;transform:scale(.3);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}18.49%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.3)}}
@keyframes soPlay{0%,11.11%{opacity:0;transform:translateX(0)}12.70%{opacity:1;transform:translateX(0);animation-timing-function:linear}34.13%{opacity:1;transform:translateX(600%)}36.51%,100%{opacity:0;transform:translateX(600%)}}
@keyframes soK12{0%,22.22%{opacity:0;transform:translateY(46px) rotate(3deg);animation-timing-function:cubic-bezier(.22,1,.36,1)}29.37%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(46px) rotate(3deg)}}
@keyframes soK13{0%,30.95%{opacity:0;transform:scale(.4);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}34.13%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.4)}}
@keyframes soK14{0%,33.33%{opacity:0;transform:scale(.4);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}36.51%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.4)}}
@keyframes soK15{0%,35.71%{opacity:0;transform:scale(.4);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}38.89%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.4)}}
@keyframes soK16{0%,38.10%{opacity:0;transform:scale(.4);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}41.27%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.4)}}
@keyframes soK17{0%,40.48%{opacity:0;transform:scale(.4);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}43.65%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.4)}}
@keyframes soK18{0%,42.86%{opacity:0;transform:scale(.4);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}46.03%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.4)}}
@keyframes soK19{0%,45.24%{opacity:0;transform:scale(.4);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}48.41%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.4)}}
@keyframes soK20{0%,47.62%{opacity:0;transform:scale(.4);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}50.79%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.4)}}
@keyframes soK21{0%,50.00%{opacity:0;transform:scale(.4);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}53.17%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.4)}}
@keyframes soH0{0%,47.62%{opacity:0;transform:translateY(0) scale(.5)}49.60%{opacity:1;transform:translateY(-2cqw) scale(1.1)}58.73%,100%{opacity:0;transform:translateY(-10cqw) scale(.9)}}
@keyframes soH1{0%,51.19%{opacity:0;transform:translateY(0) scale(.5)}53.17%{opacity:1;transform:translateY(-2cqw) scale(1.1)}62.30%,100%{opacity:0;transform:translateY(-10cqw) scale(.9)}}
@keyframes soH2{0%,54.76%{opacity:0;transform:translateY(0) scale(.5)}56.75%{opacity:1;transform:translateY(-2cqw) scale(1.1)}65.87%,100%{opacity:0;transform:translateY(-10cqw) scale(.9)}}
@keyframes soH3{0%,58.33%{opacity:0;transform:translateY(0) scale(.5)}60.32%{opacity:1;transform:translateY(-2cqw) scale(1.1)}69.44%,100%{opacity:0;transform:translateY(-10cqw) scale(.9)}}
@keyframes soH4{0%,61.90%{opacity:0;transform:translateY(0) scale(.5)}63.89%{opacity:1;transform:translateY(-2cqw) scale(1.1)}73.02%,100%{opacity:0;transform:translateY(-10cqw) scale(.9)}}
@keyframes soH5{0%,65.48%{opacity:0;transform:translateY(0) scale(.5)}67.46%{opacity:1;transform:translateY(-2cqw) scale(1.1)}76.59%,100%{opacity:0;transform:translateY(-10cqw) scale(.9)}}
@keyframes soK28{0%,55.56%{opacity:0;transform:translateY(16px);animation-timing-function:cubic-bezier(.22,1,.36,1)}61.11%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(16px)}}
@keyframes soLine{0%,59.52%{stroke-dashoffset:1}68.25%,89.68%{stroke-dashoffset:0}95.24%,100%{stroke-dashoffset:1}}
@keyframes soDot{0%,67.86%{opacity:0;transform:scale(0)}69.84%,89.68%{opacity:1;transform:scale(1)}95.24%,100%{opacity:0;transform:scale(0)}}
.so .so-cal{animation:soK0 12.6s linear infinite both}
.so .so-ct.t0{animation:soK1 12.6s linear infinite both}
.so .so-ct.t1{animation:soK2 12.6s linear infinite both}
.so .so-ct.t2{animation:soK3 12.6s linear infinite both}
.so .so-ct.t3{animation:soK4 12.6s linear infinite both}
.so .so-ct.t4{animation:soK5 12.6s linear infinite both}
.so .so-ct.t5{animation:soK6 12.6s linear infinite both}
.so .so-ct.t6{animation:soK7 12.6s linear infinite both}
.so .so-ct.t7{animation:soK8 12.6s linear infinite both}
.so .so-ct.t8{animation:soK9 12.6s linear infinite both}
.so .so-ct.t9{animation:soK10 12.6s linear infinite both}
.so .so-play{animation:soPlay 12.6s linear infinite both}
.so .so-phone{animation:soK12 12.6s linear infinite both}
.so .so-pt.p0{animation:soK13 12.6s linear infinite both}
.so .so-pt.p1{animation:soK14 12.6s linear infinite both}
.so .so-pt.p2{animation:soK15 12.6s linear infinite both}
.so .so-pt.p3{animation:soK16 12.6s linear infinite both}
.so .so-pt.p4{animation:soK17 12.6s linear infinite both}
.so .so-pt.p5{animation:soK18 12.6s linear infinite both}
.so .so-pt.p6{animation:soK19 12.6s linear infinite both}
.so .so-pt.p7{animation:soK20 12.6s linear infinite both}
.so .so-pt.p8{animation:soK21 12.6s linear infinite both}
.so .so-heart.h0{animation:soH0 12.6s linear infinite both}
.so .so-heart.h1{animation:soH1 12.6s linear infinite both}
.so .so-heart.h2{animation:soH2 12.6s linear infinite both}
.so .so-heart.h3{animation:soH3 12.6s linear infinite both}
.so .so-heart.h4{animation:soH4 12.6s linear infinite both}
.so .so-heart.h5{animation:soH5 12.6s linear infinite both}
.so .so-rep{animation:soK28 12.6s linear infinite both}
.so .so-line{animation:soLine 12.6s linear infinite both}
.so .so-dot{animation:soDot 12.6s linear infinite both}

.so-cal{position:absolute;left:2%;top:6%;width:62%;height:52%;border-radius:2cqw;background:#fff;box-shadow:inset 0 0 0 1px var(--rule),0 3cqw 5.4cqw -3cqw rgba(0,0,0,.45);padding:2.4cqw}
.so-ch{display:flex;align-items:baseline;gap:1.2cqw;margin-bottom:1.6cqw}
.so-ch b{font:800 2.5cqw/1 var(--f-display);color:var(--ink)}
.so-ch span{font:500 1.8cqw/1 var(--f-body);color:var(--mute)}
.so-wd{display:grid;grid-template-columns:repeat(7,1fr);gap:.9cqw;margin-bottom:.9cqw;font:600 1.4cqw/1 var(--f-display);color:var(--mute);text-align:center}
.so-grid{position:relative;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(4,1fr);gap:.9cqw;height:calc(100% - 7cqw)}
.so-grid>i{position:relative;display:block;border-radius:1cqw;background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--rule)}
.so-ct{position:absolute;inset:.35cqw;border-radius:.8cqw;z-index:1}
.so-ct.g{background:var(--gold-soft);box-shadow:inset 0 0 0 1.5px var(--gold)}
.so-ct.i{background:var(--ig)}
.so-ct.k{background:var(--ink)}
.so-ct::after{content:"";position:absolute;left:18%;right:18%;bottom:20%;height:12%;border-radius:2cqw;background:rgba(255,255,255,.75)}
.so-ct.g::after{background:var(--gold)}
.so-play{position:absolute;left:0;top:-1.6cqw;bottom:-.4cqw;width:calc((100% - 5.4cqw) / 7);border-radius:1cqw;background:linear-gradient(180deg,rgba(198,166,92,.28),rgba(198,166,92,.08));box-shadow:inset 0 0 0 1.5px var(--gold);z-index:2;pointer-events:none;opacity:0;margin-left:0}
.so-phone{position:absolute;z-index:3;right:2%;top:8%;width:29%;aspect-ratio:9/18;border-radius:3.4cqw;background:#fff;box-shadow:0 0 0 .55cqw var(--ink),0 3cqw 5cqw -2cqw rgba(0,0,0,.55);overflow:hidden}
.so-phone::before{content:"";position:absolute;left:50%;top:2%;translate:-50% 0;width:32%;height:2.6%;border-radius:2cqw;background:var(--ink);z-index:2}
.so-av{position:absolute;left:8%;top:10%;width:20%;aspect-ratio:1;border-radius:50%;background:var(--ig);padding:.45cqw}
.so-av::after{content:"";display:block;width:100%;height:100%;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 .5cqw var(--paper-2);background:linear-gradient(135deg,var(--gold-soft),var(--gold))}
.so-nm{position:absolute;left:34%;top:12.5%;width:50%;height:3%;border-radius:2cqw;background:var(--ink)}
.so-nm2{position:absolute;left:34%;top:18%;width:34%;height:2%;border-radius:2cqw;background:#cfcbc2}
.so-st{position:absolute;left:8%;right:8%;top:27%;display:flex;justify-content:space-between;font:800 1.7cqw/1 var(--f-display);color:var(--ink);text-align:center}
.so-st small{display:block;margin-top:.5cqw;font:500 1.2cqw/1 var(--f-body);color:var(--mute)}
.so-pg{position:absolute;left:3%;right:3%;top:38%;display:grid;grid-template-columns:repeat(3,1fr);gap:.7cqw}
.so-pt{display:block;aspect-ratio:1;border-radius:.7cqw}
.so-pt.g{background:var(--gold-soft);box-shadow:inset 0 0 0 1.5px var(--gold)}
.so-pt.i{background:var(--ig)}.so-pt.k{background:var(--ink)}
.so-heart{position:absolute;z-index:5;width:4.6cqw;height:4.6cqw;opacity:0;pointer-events:none}
.so-heart svg{width:100%;height:100%;display:block;filter:drop-shadow(0 .5cqw .7cqw rgba(214,41,118,.4))}
.so-heart.h0{left:63%;top:60%}.so-heart.h1{left:69%;top:66%}.so-heart.h2{left:65%;top:72%}.so-heart.h3{left:74%;top:62%}.so-heart.h4{left:70%;top:70%}.so-heart.h5{left:77%;top:68%}
.so-rep{position:absolute;z-index:4;left:2%;top:61%;width:46%;height:25%;border-radius:1.8cqw;background:#fff;box-shadow:inset 0 0 0 1px var(--rule),0 2.4cqw 4cqw -2.4cqw rgba(0,0,0,.5);padding:1.8cqw 2.2cqw}
.so-rep b{display:block;font:700 1.7cqw/1 var(--f-display);color:var(--char)}
.so-rep strong{display:inline-block;margin-top:.9cqw;font:900 4cqw/1 var(--f-display);letter-spacing:-.04em;background:var(--ig);-webkit-background-clip:text;background-clip:text;color:transparent}
.so-rep svg{position:absolute;right:2cqw;bottom:1.8cqw;width:48%;height:58%;overflow:visible}
.so-rep .so-line{fill:none;stroke:url(#so-g);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.so-dot{fill:#962FBF;transform-box:fill-box;transform-origin:center}
.so .wa-chip.m{left:auto;right:3%}
@media (max-width:640px){.so .wa-chip.m{display:none}}
@media (prefers-reduced-motion:reduce){.so *,.so{animation:none!important}.so-play,.so-heart{display:none}}

/* === END SOC ART === */

/* === SLUŽBY / GRAFIKA: animace (generováno tools/grafart.py) === */
@keyframes grK0{0%,2.38%{opacity:0;transform:translateY(18px);animation-timing-function:cubic-bezier(.22,1,.36,1)}8.73%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(18px)}}
@keyframes grGuide{0%,6.35%{stroke-dashoffset:1;opacity:1}18.25%{stroke-dashoffset:0;opacity:1}34.92%{opacity:1}39.68%,99.9%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:1;opacity:1}}
@keyframes grHdl{0%,18.25%{opacity:0}21.43%{opacity:1}34.92%{opacity:1}39.68%,99.9%{opacity:0}100%{opacity:0}}
@keyframes grRing{0%,17.46%{stroke-dashoffset:1}26.19%,99.9%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes grV{0%,23.81%{stroke-dashoffset:1}31.75%,99.9%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes grDisc{0%,30.95%{opacity:0}36.51%,99.9%{opacity:1}100%{opacity:0}}
@keyframes grDot{0%,31.75%{opacity:0;transform:scale(0)}35.71%,99.9%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0)}}
@keyframes grK7{0%,36.51%{opacity:0;transform:translateY(8px);animation-timing-function:cubic-bezier(.22,1,.36,1)}41.27%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(8px)}}
@keyframes grK8{0%,38.89%{opacity:0;transform:scale(.3);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}42.46%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.3)}}
@keyframes grK9{0%,40.48%{opacity:0;transform:scale(.3);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}44.05%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.3)}}
@keyframes grK10{0%,42.06%{opacity:0;transform:scale(.3);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}45.63%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.3)}}
@keyframes grK11{0%,43.65%{opacity:0;transform:scale(.3);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}47.22%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.3)}}
@keyframes grK12{0%,44.44%{opacity:0;transform:translateX(24px) rotate(10deg);animation-timing-function:cubic-bezier(.22,1,.36,1)}50.00%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateX(24px) rotate(10deg)}}
@keyframes grK13{0%,46.43%{opacity:0;transform:translateX(24px) rotate(-12deg);animation-timing-function:cubic-bezier(.22,1,.36,1)}51.98%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateX(24px) rotate(-12deg)}}
@keyframes grK14{0%,48.41%{opacity:0;transform:translateY(46px) rotate(3deg);animation-timing-function:cubic-bezier(.22,1,.36,1)}54.76%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(46px) rotate(3deg)}}
@keyframes grK15{0%,54.76%{opacity:0;transform:scale(.2);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}58.73%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.2)}}
@keyframes grK16{0%,51.59%{opacity:0;transform:translateY(-10px);animation-timing-function:cubic-bezier(.22,1,.36,1)}56.35%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(-10px)}}
@keyframes grK17{0%,55.56%{opacity:0;transform:translateY(16px) scale(.88);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}61.90%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(16px) scale(.88)}}
@keyframes grK18{0%,59.52%{opacity:0;animation-timing-function:cubic-bezier(.22,1,.36,1)}65.87%,89.68%{opacity:1}95.24%{opacity:0}100%{opacity:0}}
.gr .gr-board{animation:grK0 12.6s linear infinite both}
.gr .gr-gp{animation:grGuide 12.6s linear infinite both}
.gr .gr-hdl{animation:grHdl 12.6s linear infinite both}
.gr .gr-ring{animation:grRing 12.6s linear infinite both}
.gr .gr-v{animation:grV 12.6s linear infinite both}
.gr .gr-disc{animation:grDisc 12.6s linear infinite both}
.gr .gr-dot{animation:grDot 12.6s linear infinite both}
.gr .gr-type{animation:grK7 12.6s linear infinite both}
.gr .gr-sw.s0{animation:grK8 12.6s linear infinite both}
.gr .gr-sw.s1{animation:grK9 12.6s linear infinite both}
.gr .gr-sw.s2{animation:grK10 12.6s linear infinite both}
.gr .gr-sw.s3{animation:grK11 12.6s linear infinite both}
.gr .gr-card.b2{animation:grK12 12.6s linear infinite both}
.gr .gr-card.b1{animation:grK13 12.6s linear infinite both}
.gr .gr-phone{animation:grK14 12.6s linear infinite both}
.gr .gr-icon{animation:grK15 12.6s linear infinite both}
.gr .gr-tab{animation:grK16 12.6s linear infinite both}
.gr .gr-tee{animation:grK17 12.6s linear infinite both}
.gr .gr-stitch{animation:grK18 12.6s linear infinite both}

.gr-board{position:absolute;left:3%;top:6%;width:54%;aspect-ratio:1.05;border-radius:1.6cqw;background:#fff;box-shadow:inset 0 0 0 1px var(--rule),0 3cqw 5.6cqw -3cqw rgba(0,0,0,.45);overflow:hidden;
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:5cqw 5cqw;background-position:center}
.gr-board svg.main{position:absolute;inset:4% 4% 14% 4%;width:92%;height:82%;overflow:visible}
.gr-gp{fill:none;stroke:var(--gold);stroke-width:.9;stroke-dasharray:1;stroke-dashoffset:0}
.gr-gp.dash{stroke-dasharray:none}
.gr-ring,.gr-v{fill:none;stroke-dasharray:1;stroke-dashoffset:0;stroke-linecap:round;stroke-linejoin:round}
.gr-ring{stroke:#000;stroke-width:6}.gr-v{stroke:var(--gold-deep);stroke-width:9}
.gr-dot{transform-box:fill-box;transform-origin:center}
.gr-hdl line{stroke:#962FBF;stroke-width:1}.gr-hdl circle{fill:#fff;stroke:#962FBF;stroke-width:1.4}.gr-hdl rect{fill:var(--gold);stroke:#fff;stroke-width:1}
.gr-type{position:absolute;left:5%;bottom:5%;display:flex;align-items:baseline;gap:1.2cqw;font-family:var(--f-display)}
.gr-type b{font:800 5.4cqw/1 var(--f-display);color:var(--ink);letter-spacing:-.04em}
.gr-type span{font:500 1.55cqw/1.25 var(--f-body);color:var(--mute)}
.gr-ruler{position:absolute;left:4%;right:4%;bottom:3.4%;height:1.2cqw;border-bottom:1px solid var(--gold);background:repeating-linear-gradient(90deg,var(--gold) 0 1px,transparent 1px 1.5cqw);background-size:100% 55%;background-repeat:no-repeat;opacity:.8}
.gr-sws{position:absolute;left:61%;top:10%;width:36%;display:flex;gap:2cqw}
.gr-sw{width:7.6cqw;aspect-ratio:1;border-radius:50%;box-shadow:0 1.4cqw 2.4cqw -1.4cqw rgba(0,0,0,.5),inset 0 0 0 .4cqw rgba(255,255,255,.7)}
.gr-sw.s0{background:var(--gold)}.gr-sw.s1{background:#000}.gr-sw.s2{background:var(--ig)}.gr-sw.s3{background:var(--gold-soft);box-shadow:0 1.4cqw 2.4cqw -1.4cqw rgba(0,0,0,.4),inset 0 0 0 1px var(--gold)}
.gr-card{position:absolute;width:35%;aspect-ratio:1.75;border-radius:1.2cqw;display:flex;align-items:center;padding:0 2.4cqw;gap:1.8cqw}
.gr-card.b2{left:62.5%;top:27%;background:#000;box-shadow:0 2.4cqw 4cqw -2cqw rgba(0,0,0,.6);rotate:5deg}
.gr-card.b1{left:60%;top:26%;background:#fff;box-shadow:inset 0 0 0 1px var(--rule),0 2.4cqw 4cqw -2cqw rgba(0,0,0,.5);rotate:-5deg;z-index:2}
.gr-card svg{width:34%;flex:none}
.gr-card .t{display:flex;flex-direction:column;gap:.9cqw;flex:1}
.gr-card .t i{display:block;height:1.2cqw;border-radius:2cqw;background:#000}
.gr-card .t i+i{width:62%;height:.9cqw;background:#cfcbc2}
.gr-card.b2 svg{margin:auto}
.gr-phone{position:absolute;z-index:3;right:3%;top:49%;width:18%;aspect-ratio:9/18;border-radius:3cqw;background:#fff;box-shadow:0 0 0 .5cqw var(--ink),0 3cqw 5cqw -2cqw rgba(0,0,0,.55);overflow:hidden;padding:8.2cqw 2.2cqw 0}
.gr-phone::before{content:"";position:absolute;left:50%;top:2%;translate:-50% 0;width:34%;height:2.6%;border-radius:2cqw;background:var(--ink)}
.gr-apps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.7cqw}
.gr-apps i{display:block;aspect-ratio:1;border-radius:22%;background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--rule)}
.gr-apps i:nth-child(3n+1){background:#e9e6df}
.gr-icon{background:var(--gold-soft)!important;box-shadow:inset 0 0 0 1.5px var(--gold),0 0 0 .5cqw rgba(214,41,118,.25)!important;padding:.5cqw}
.gr-icon svg{width:100%;height:100%;display:block}
.gr-tab{position:absolute;left:3%;top:74%;display:flex;align-items:center;gap:1.4cqw;padding:1.3cqw 2.4cqw 1.3cqw 1.6cqw;border-radius:1.2cqw 1.2cqw 0 0;background:#fff;box-shadow:inset 0 0 0 1px var(--rule),0 1.4cqw 2.4cqw -1.6cqw rgba(0,0,0,.4);font:600 1.8cqw/1 var(--f-display);color:var(--char)}
.gr-tab svg{width:3.2cqw;height:3.2cqw}
.gr-tee{position:absolute;z-index:2;left:40%;top:60%;width:28%}
.gr-tee svg{width:100%;display:block;filter:drop-shadow(0 1.6cqw 2cqw rgba(0,0,0,.35))}
.gr-stitch{fill:none;stroke:#D8BB78;stroke-width:1.1;stroke-dasharray:2.2 1.6;stroke-linecap:round}
@media (prefers-reduced-motion:reduce){.gr *,.gr{animation:none!important}.gr-gp,.gr-hdl{display:none}}

/* === END GRAF ART === */

/* === SLUŽBY / VÝZDOBA: animace (generováno tools/vyzart.py) === */
@keyframes vyK0{0%,2.38%{opacity:0;transform:translateY(20px) scale(.97);animation-timing-function:cubic-bezier(.22,1,.36,1)}9.52%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(20px) scale(.97)}}
@keyframes vyK1{0%,10.32%{opacity:0;animation-timing-function:cubic-bezier(.22,1,.36,1)}17.46%,89.68%{opacity:1}95.24%{opacity:0}100%{opacity:0}}
@keyframes vyK2{0%,12.70%{opacity:0;animation-timing-function:cubic-bezier(.22,1,.36,1)}19.84%,89.68%{opacity:1}95.24%{opacity:0}100%{opacity:0}}
@keyframes vyK3{0%,15.08%{opacity:0;animation-timing-function:cubic-bezier(.22,1,.36,1)}22.22%,89.68%{opacity:1}95.24%{opacity:0}100%{opacity:0}}
@keyframes vyK4{0%,13.49%{opacity:0;transform:scaleY(.2);animation-timing-function:cubic-bezier(.22,1,.36,1)}19.05%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scaleY(.2)}}
@keyframes vyK5{0%,15.87%{opacity:0;transform:scaleY(.2);animation-timing-function:cubic-bezier(.22,1,.36,1)}21.43%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scaleY(.2)}}
@keyframes vyK6{0%,18.25%{opacity:0;transform:scaleY(.2);animation-timing-function:cubic-bezier(.22,1,.36,1)}23.81%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scaleY(.2)}}
@keyframes vyK7{0%,20.63%{opacity:0;transform:translateY(-14cqw);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}26.19%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(-14cqw)}}
@keyframes vyK8{0%,23.02%{opacity:0;transform:translateY(-14cqw);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}28.57%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(-14cqw)}}
@keyframes vyK9{0%,25.40%{opacity:0;transform:translateY(-14cqw);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}30.95%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(-14cqw)}}
@keyframes vyBgA{0%,39.68%{opacity:1}45.24%,99.9%{opacity:0}100%{opacity:1}}
@keyframes vyBgB{0%,39.68%{opacity:0}45.24%,63.49%{opacity:1}69.05%,99.9%{opacity:0}100%{opacity:0}}
@keyframes vyBgC{0%,63.49%{opacity:0}69.05%,99.9%{opacity:1}100%{opacity:0}}
@keyframes vyDA{0%,22.22%{opacity:0}27.78%,38.89%{opacity:1}42.86%,99.9%{opacity:0}100%{opacity:0}}
@keyframes vyDB{0%,42.06%{opacity:0}47.62%,62.70%{opacity:1}66.67%,99.9%{opacity:0}100%{opacity:0}}
@keyframes vyDC{0%,65.87%{opacity:0}71.43%,89.68%{opacity:1}94.44%,99.9%{opacity:0}100%{opacity:0}}
@keyframes vyWire{0%,22.22%{stroke-dashoffset:1}30.95%,99.9%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes vyBau0{0%,24.60%{opacity:0;transform:scale(0)}27.38%,99.9%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0)}}
@keyframes vyBau1{0%,25.56%{opacity:0;transform:scale(0)}28.33%,99.9%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0)}}
@keyframes vyBau2{0%,26.51%{opacity:0;transform:scale(0)}29.29%,99.9%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0)}}
@keyframes vyBau3{0%,27.46%{opacity:0;transform:scale(0)}30.24%,99.9%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0)}}
@keyframes vyBau4{0%,28.41%{opacity:0;transform:scale(0)}31.19%,99.9%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0)}}
@keyframes vyBau5{0%,29.37%{opacity:0;transform:scale(0)}32.14%,99.9%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0)}}
@keyframes vyBau6{0%,30.32%{opacity:0;transform:scale(0)}33.10%,99.9%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0)}}
@keyframes vyL0{0%,7.94%{opacity:0}11.11%,38.89%{opacity:1}42.06%,99.9%{opacity:0}100%{opacity:0}}
@keyframes vyL1{0%,42.06%{opacity:0}45.24%,62.70%{opacity:1}65.87%,99.9%{opacity:0}100%{opacity:0}}
@keyframes vyL2{0%,65.87%{opacity:0}69.05%,785.71%{opacity:1}789.68%,99.9%{opacity:0}100%{opacity:0}}
@keyframes vyMan{0%,34.92%{opacity:0;transform:translateX(18cqw)}37.30%{opacity:1;transform:translateX(15cqw)}49.21%{opacity:1;transform:translateX(0)}89.68%{opacity:1;transform:translateX(0)}95.24%{opacity:0;transform:translateX(0)}100%{opacity:0;transform:translateX(18cqw)}}
@keyframes vyK28{0%,51.59%{opacity:0;transform:scale(.2) translateY(2cqw);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}55.56%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.2) translateY(2cqw)}}
.vy .vy-win{animation:vyK0 12.6s linear infinite both}
.vy .vy-cone.c0{animation:vyK1 12.6s linear infinite both}
.vy .vy-cone.c1{animation:vyK2 12.6s linear infinite both}
.vy .vy-cone.c2{animation:vyK3 12.6s linear infinite both}
.vy .vy-ped.p0{animation:vyK4 12.6s linear infinite both}
.vy .vy-ped.p1{animation:vyK5 12.6s linear infinite both}
.vy .vy-ped.p2{animation:vyK6 12.6s linear infinite both}
.vy .vy-obj.o0{animation:vyK7 12.6s linear infinite both}
.vy .vy-obj.o1{animation:vyK8 12.6s linear infinite both}
.vy .vy-obj.o2{animation:vyK9 12.6s linear infinite both}
.vy .vy-bgA{animation:vyBgA 12.6s linear infinite both}
.vy .vy-bgB{animation:vyBgB 12.6s linear infinite both}
.vy .vy-bgC{animation:vyBgC 12.6s linear infinite both}
.vy .vy-dA{animation:vyDA 12.6s linear infinite both}
.vy .vy-dB{animation:vyDB 12.6s linear infinite both}
.vy .vy-dC{animation:vyDC 12.6s linear infinite both}
.vy .vy-wire{animation:vyWire 12.6s linear infinite both}
.vy .vy-bau.b0{animation:vyBau0 12.6s linear infinite both}
.vy .vy-bau.b1{animation:vyBau1 12.6s linear infinite both}
.vy .vy-bau.b2{animation:vyBau2 12.6s linear infinite both}
.vy .vy-bau.b3{animation:vyBau3 12.6s linear infinite both}
.vy .vy-bau.b4{animation:vyBau4 12.6s linear infinite both}
.vy .vy-bau.b5{animation:vyBau5 12.6s linear infinite both}
.vy .vy-bau.b6{animation:vyBau6 12.6s linear infinite both}
.vy .vy-lab .l0{animation:vyL0 12.6s linear infinite both}
.vy .vy-lab .l1{animation:vyL1 12.6s linear infinite both}
.vy .vy-lab .l2{animation:vyL2 12.6s linear infinite both}
.vy .vy-man{animation:vyMan 12.6s linear infinite both}
.vy .vy-wow{animation:vyK28 12.6s linear infinite both}

.vy-win{position:absolute;left:4%;top:7%;width:72%;height:74%;border-radius:2.2cqw 2.2cqw 1cqw 1cqw;padding:1.3cqw;background:linear-gradient(145deg,#F6E3A9,#C6A65C 35%,#8A6E30 60%,#E6CE8B);box-shadow:0 3.4cqw 6cqw -3cqw rgba(0,0,0,.6)}
.vy-in{position:relative;width:100%;height:100%;border-radius:1.2cqw 1.2cqw .4cqw .4cqw;overflow:hidden;background:#000;isolation:isolate}
.vy-bg{position:absolute;inset:0;z-index:0}
.vy-bgA{background:radial-gradient(ellipse at 50% 18%,#6b4f1d 0,#2a2112 45%,#0a0805 100%)}
.vy-bgB{background:radial-gradient(ellipse at 50% 15%,#34406b 0,#141a33 48%,#06080f 100%)}
.vy-bgC{background:radial-gradient(ellipse at 50% 20%,#fff7e6 0,#f3e4c2 55%,#e3c98f 100%)}
.vy-floor{position:absolute;left:0;right:0;bottom:0;height:15%;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.0),rgba(0,0,0,.55));box-shadow:inset 0 .25cqw 0 rgba(216,187,120,.55)}
.vy-cone{position:absolute;top:0;width:30%;height:78%;z-index:1;clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);background:linear-gradient(180deg,rgba(255,236,190,.65),rgba(255,236,190,0) 92%);mix-blend-mode:screen}
.vy-cone.c0{left:3%}.vy-cone.c1{left:35%}.vy-cone.c2{left:67%}
.vy-ped{position:absolute;bottom:14%;z-index:2;border-radius:.8cqw .8cqw .3cqw .3cqw;transform-origin:50% 100%}
.vy-ped.p0{left:11%;width:20%;height:17%;background:linear-gradient(90deg,#fff,#EFE6CF 60%,#d8c99f);box-shadow:inset 0 .3cqw 0 #fff}
.vy-ped.p1{left:40%;width:21%;height:27%;background:linear-gradient(90deg,#1b1a17,#000 55%,#2a2823);box-shadow:inset 0 .3cqw 0 var(--night-gold),inset 0 0 0 1px rgba(216,187,120,.5)}
.vy-ped.p2{left:70%;width:19%;height:12%;background:linear-gradient(90deg,#fff,#EFE6CF 60%,#d8c99f);box-shadow:inset 0 .3cqw 0 #fff}
.vy-obj{position:absolute;z-index:3}
.vy-obj svg{width:100%;height:auto;display:block;overflow:visible;filter:drop-shadow(0 1.2cqw 1.4cqw rgba(0,0,0,.45))}
.vy-obj.o0{left:13.5%;bottom:calc(14% + 17%);width:15%}
.vy-obj.o1{left:42%;bottom:calc(14% + 27%);width:17%}
.vy-obj.o2{left:72.5%;bottom:calc(14% + 12%);width:14%}
.vy-deco{position:absolute;inset:0;z-index:4;pointer-events:none}
.vy-deco svg{position:absolute;left:0;top:0;width:100%;height:auto;overflow:visible}
.vy-wire{fill:none;stroke:var(--night-gold);stroke-width:.7;stroke-dasharray:1;stroke-dashoffset:0}
.vy-bau{transform-box:fill-box;transform-origin:center}
.vy-snow{position:absolute;inset:0}
.vy-snow i{position:absolute;top:-4%;display:block;width:.9cqw;height:.9cqw;border-radius:50%;background:#fff;opacity:.9;animation:vySnow 4.6s linear infinite}
@keyframes vySnow{0%{transform:translate(0,0)}50%{transform:translate(1.4cqw,28cqw)}100%{transform:translate(-.6cqw,58cqw)}}
.vy-blos{position:absolute;inset:0}
.vy-blos span{position:absolute;top:0;width:1px;background:linear-gradient(180deg,#8A6E30,#C6A65C);transform-origin:50% 0;animation:vySwing 4.2s ease-in-out infinite alternate}
.vy-blos b{position:absolute;left:50%;bottom:-2.4cqw;width:4.8cqw;height:4.8cqw;margin-left:-2.4cqw;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff 0,#F5C6D6 40%,#D62976 100%);box-shadow:0 0 0 .5cqw rgba(255,255,255,.7)}
.vy-blos span:nth-child(even) b{background:radial-gradient(circle at 35% 35%,#fff 0,#FEDA75 40%,#C6A65C 100%)}
@keyframes vySwing{from{rotate:-3deg}to{rotate:3deg}}
.vy-lamp{position:absolute;top:0;width:1px;background:rgba(216,187,120,.8);transform-origin:50% 0;animation:vySwing 5s ease-in-out infinite alternate;z-index:4}
.vy-lamp::after{content:"";position:absolute;left:50%;bottom:-1.2cqw;width:3.2cqw;height:2.2cqw;margin-left:-1.6cqw;border-radius:50% 50% .6cqw .6cqw;background:linear-gradient(180deg,#F6E3A9,#C6A65C);box-shadow:0 1.6cqw 3cqw .6cqw rgba(255,236,190,.5)}
.vy-lamp.a{left:22%;height:9%;animation-delay:-1s}.vy-lamp.b{left:50%;height:12%;animation-delay:-2.4s}.vy-lamp.c{left:78%;height:8%;animation-delay:-3.6s}
.vy-spark{position:absolute;z-index:5;width:3cqw;height:3cqw;color:#fff;animation:vyTw 2.8s ease-in-out infinite;filter:drop-shadow(0 0 .6cqw rgba(255,236,190,.9))}
.vy-spark svg{width:100%;height:100%;display:block}
.vy-spark.s0{left:36%;top:46%}.vy-spark.s1{left:61%;top:34%;animation-delay:-.9s}.vy-spark.s2{left:21%;top:50%;animation-delay:-1.7s;width:2.2cqw;height:2.2cqw}.vy-spark.s3{left:84%;top:56%;animation-delay:-2.2s;width:2.4cqw;height:2.4cqw}
@keyframes vyTw{0%,100%{opacity:0;transform:scale(.3) rotate(0)}50%{opacity:1;transform:scale(1) rotate(45deg)}}
.vy-lab{position:absolute;left:3%;top:4%;z-index:6;height:5cqw;min-width:13cqw}
.vy-lab span{position:absolute;left:0;top:0;padding:1.1cqw 2.2cqw;border-radius:1cqw;font:700 1.9cqw/1 var(--f-display);color:#fff;background:rgba(0,0,0,.45);box-shadow:inset 0 0 0 1px rgba(216,187,120,.7);backdrop-filter:blur(4px);white-space:nowrap;opacity:0}
.vy-lab .l2{color:var(--ink);background:rgba(255,255,255,.7)}
.vy-glass{position:absolute;inset:0;z-index:7;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.22) 0,rgba(255,255,255,.04) 28%,transparent 40%,transparent 62%,rgba(255,255,255,.10) 78%,transparent 90%)}
.vy-man{position:absolute;right:2%;bottom:5.5%;width:12%;z-index:5}
.vy-man svg{width:100%;height:auto;display:block;overflow:visible}
.vy-wow{position:absolute;right:11%;bottom:36%;z-index:6;width:4.8cqw;height:4.8cqw;border-radius:50%;background:var(--ig);display:grid;place-items:center;color:#fff;font:900 2.8cqw/1 var(--f-display);box-shadow:0 1.2cqw 2.2cqw -1cqw rgba(214,41,118,.8)}
@media (prefers-reduced-motion:reduce){.vy *,.vy{animation:none!important}.vy-bgB,.vy-bgC,.vy-dB,.vy-dC,.vy-lab .l1,.vy-lab .l2{display:none}.vy-lab .l0{opacity:1}.vy-man{display:none}}

/* === END VYZ ART === */

.wa.vy{overflow:clip}

/* === CENÍK: animace dlaždic (generováno tools/cenart.py) === */
@keyframes ptScene{0%,86%{opacity:1}95%,99.9%{opacity:0}100%{opacity:1}}
@keyframes ptK1{0%,2.86%{opacity:0;transform:translateY(3cqw);animation-timing-function:cubic-bezier(.22,1,.36,1)}14.29%,100%{opacity:1;transform:none}}
@keyframes ptK2{0%,12.86%{opacity:0;transform:translateX(-3cqw);animation-timing-function:cubic-bezier(.22,1,.36,1)}22.86%,100%{opacity:1;transform:none}}
@keyframes ptK3{0%,17.14%{opacity:0;transform:scale(.7);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}27.14%,100%{opacity:1;transform:none}}
@keyframes ptK4{0%,21.43%{opacity:0;transform:scaleX(0);animation-timing-function:cubic-bezier(.22,1,.36,1)}30.00%,100%{opacity:1;transform:none}}
@keyframes ptK5{0%,24.29%{opacity:0;transform:scaleX(0);animation-timing-function:cubic-bezier(.22,1,.36,1)}32.86%,100%{opacity:1;transform:none}}
@keyframes ptK6{0%,27.14%{opacity:0;transform:scaleX(0);animation-timing-function:cubic-bezier(.22,1,.36,1)}35.71%,100%{opacity:1;transform:none}}
@keyframes ptK7{0%,32.86%{opacity:0;transform:scale(.6);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}41.43%,100%{opacity:1;transform:none}}
@keyframes ptWCur{0%,37.14%{opacity:0;transform:translate(14cqw,10cqw)}41.43%{opacity:1;transform:translate(14cqw,10cqw)}55.71%,64.29%{opacity:1;transform:translate(0,0)}65.71%{opacity:1;transform:translate(0,.6cqw) scale(.9)}70.00%,100%{opacity:1;transform:translate(0,0)}}
@keyframes ptWRing{0%,64.29%{opacity:0;transform:scale(.3)}65.71%{opacity:.9;transform:scale(.5)}75.71%,100%{opacity:0;transform:scale(2.4)}}
@keyframes ptWBtn{0%,32.86%{opacity:0;transform:scale(.6)}41.43%,64.29%{opacity:1;transform:scale(1)}66.43%{opacity:1;transform:scale(.92)}70.00%,100%{opacity:1;transform:scale(1)}}
@keyframes ptWOk{0%,67.14%{opacity:0;transform:translateY(2cqw) scale(.8)}74.29%,100%{opacity:1;transform:none}}
@keyframes ptK12{0%,4.29%{opacity:0;transform:translateY(5cqw) scale(.9);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}14.29%,100%{opacity:1;transform:none}}
@keyframes ptK13{0%,8.57%{opacity:0;transform:translateY(5cqw) scale(.9);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}18.57%,100%{opacity:1;transform:none}}
@keyframes ptK14{0%,12.86%{opacity:0;transform:translateY(5cqw) scale(.9);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}22.86%,100%{opacity:1;transform:none}}
@keyframes ptK15{0%,20.00%{opacity:0;transform:scale(.4);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}28.57%,100%{opacity:1;transform:none}}
@keyframes ptEF0{0%,38.57%{opacity:0;transform:translate(0,0)}40.00%{opacity:1;transform:translate(0,0)}51.43%{opacity:1;transform:translate(31cqw,-33cqw) scale(.6)}52.86%,100%{opacity:0;transform:translate(31cqw,-33cqw) scale(.2)}}
@keyframes ptEF1{0%,60.00%{opacity:0;transform:translate(0,0)}61.43%{opacity:1;transform:translate(0,0)}72.86%{opacity:1;transform:translate(8cqw,-33cqw) scale(.6)}74.29%,100%{opacity:0;transform:translate(8cqw,-33cqw) scale(.2)}}
@keyframes ptEB0{0%,50.71%{opacity:0;transform:scale(.2)}55.71%{opacity:1;transform:scale(1.25)}58.57%{opacity:1;transform:scale(1)}72.14%{opacity:1;transform:scale(1)}73.57%,100%{opacity:0;transform:scale(1)}}
@keyframes ptEB1{0%,72.14%{opacity:0;transform:scale(.2)}77.14%{opacity:1;transform:scale(1.25)}80.00%,100%{opacity:1;transform:scale(1)}}
@keyframes ptK20{0%,2.86%{opacity:0;transform:translateX(-4cqw);animation-timing-function:cubic-bezier(.22,1,.36,1)}12.86%,100%{opacity:1;transform:none}}
@keyframes ptK21{0%,5.71%{opacity:0;transform:translateY(3cqw);animation-timing-function:cubic-bezier(.22,1,.36,1)}15.71%,100%{opacity:1;transform:none}}
@keyframes ptK22{0%,14.29%{opacity:0;transform:scaleY(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}25.71%,100%{opacity:1;transform:none}}
@keyframes ptK23{0%,17.86%{opacity:0;transform:scaleY(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}29.29%,100%{opacity:1;transform:none}}
@keyframes ptK24{0%,21.43%{opacity:0;transform:scaleY(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}32.86%,100%{opacity:1;transform:none}}
@keyframes ptK25{0%,25.00%{opacity:0;transform:scaleY(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}36.43%,100%{opacity:1;transform:none}}
@keyframes ptK26{0%,28.57%{opacity:0;transform:scaleY(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}40.00%,100%{opacity:1;transform:none}}
@keyframes ptK27{0%,22.86%{opacity:0;transform:translateX(5cqw);animation-timing-function:cubic-bezier(.22,1,.36,1)}31.43%,100%{opacity:1;transform:none}}
@keyframes ptK28{0%,30.00%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}37.14%,100%{opacity:1;transform:none}}
@keyframes ptK29{0%,28.57%{opacity:0;transform:translateX(5cqw);animation-timing-function:cubic-bezier(.22,1,.36,1)}37.14%,100%{opacity:1;transform:none}}
@keyframes ptK30{0%,35.71%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}42.86%,100%{opacity:1;transform:none}}
@keyframes ptK31{0%,34.29%{opacity:0;transform:translateX(5cqw);animation-timing-function:cubic-bezier(.22,1,.36,1)}42.86%,100%{opacity:1;transform:none}}
@keyframes ptK32{0%,41.43%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}48.57%,100%{opacity:1;transform:none}}
@keyframes ptCHl{0%,40.00%{opacity:0;transform:translateY(0)}45.71%{opacity:1;transform:translateY(0)}57.14%{opacity:1;transform:translateY(7cqw)}62.86%{opacity:1;transform:translateY(7cqw)}74.29%,100%{opacity:1;transform:translateY(14cqw)}}
@keyframes ptGRing{0%,8.57%{stroke-dashoffset:1}28.57%,100%{stroke-dashoffset:0}}
@keyframes ptGDia{0%,22.86%{stroke-dashoffset:1}40.00%,100%{stroke-dashoffset:0}}
@keyframes ptK36{0%,37.14%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}45.71%,100%{opacity:1;transform:none}}
@keyframes ptK37{0%,1.43%{opacity:0;animation-timing-function:cubic-bezier(.22,1,.36,1)}10.00%,100%{opacity:1}}
@keyframes ptK38{0%,45.71%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}52.86%,100%{opacity:1;transform:none}}
@keyframes ptK39{0%,49.29%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}56.43%,100%{opacity:1;transform:none}}
@keyframes ptK40{0%,52.86%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}60.00%,100%{opacity:1;transform:none}}
@keyframes ptK41{0%,56.43%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}63.57%,100%{opacity:1;transform:none}}
@keyframes ptGSpin{0%,28.57%{transform:rotate(0)}45.71%,100%{transform:rotate(45deg)}}
@keyframes ptK43{0%,2.86%{opacity:0;transform:translateY(5cqw) scale(.95);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}14.29%,100%{opacity:1;transform:none}}
@keyframes ptK44{0%,12.86%{opacity:0;transform:scale(.9);animation-timing-function:cubic-bezier(.22,1,.36,1)}21.43%,100%{opacity:1;transform:none}}
@keyframes ptK45{0%,18.57%{opacity:0;transform:scaleX(0);animation-timing-function:cubic-bezier(.22,1,.36,1)}25.71%,100%{opacity:1;transform:none}}
@keyframes ptK46{0%,21.43%{opacity:0;transform:scaleX(0);animation-timing-function:cubic-bezier(.22,1,.36,1)}28.57%,100%{opacity:1;transform:none}}
@keyframes ptSHeart{0%,34.29%{opacity:0;transform:scale(.2)}38.57%{opacity:1;transform:scale(1.5)}42.14%{opacity:1;transform:scale(1)}51.43%{opacity:1;transform:scale(1)}53.57%{opacity:1;transform:scale(1.3)}56.43%,100%{opacity:1;transform:scale(1)}}
@keyframes ptSFl0{0%,41.43%{opacity:0;transform:translate(0,0) scale(.5)}43.57%{opacity:1;transform:translate(0,-2cqw) scale(.9)}58.57%,100%{opacity:0;transform:translate(-3cqw,-16cqw) scale(1.1)}}
@keyframes ptSFl1{0%,50.00%{opacity:0;transform:translate(0,0) scale(.5)}52.14%{opacity:1;transform:translate(0,-2cqw) scale(.9)}67.14%,100%{opacity:0;transform:translate(2cqw,-16cqw) scale(1.1)}}
@keyframes ptSFl2{0%,58.57%{opacity:0;transform:translate(0,0) scale(.5)}60.71%{opacity:1;transform:translate(0,-2cqw) scale(.9)}75.71%,100%{opacity:0;transform:translate(-1cqw,-16cqw) scale(1.1)}}
@keyframes ptSFl3{0%,67.14%{opacity:0;transform:translate(0,0) scale(.5)}69.29%{opacity:1;transform:translate(0,-2cqw) scale(.9)}84.29%,100%{opacity:0;transform:translate(3cqw,-16cqw) scale(1.1)}}
@keyframes ptK52{0%,47.14%{opacity:0;transform:translateX(-5cqw);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}55.71%,100%{opacity:1;transform:none}}
@keyframes ptK53{0%,57.14%{opacity:0;transform:translateX(5cqw);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}65.71%,100%{opacity:1;transform:none}}
@keyframes ptK54{0%,5.71%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}12.86%,100%{opacity:1;transform:none}}
@keyframes ptK55{0%,8.57%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}15.71%,100%{opacity:1;transform:none}}
@keyframes ptK56{0%,11.43%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}18.57%,100%{opacity:1;transform:none}}
@keyframes ptK57{0%,14.29%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}21.43%,100%{opacity:1;transform:none}}
@keyframes ptK58{0%,17.14%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}24.29%,100%{opacity:1;transform:none}}
@keyframes ptK59{0%,20.00%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}27.14%,100%{opacity:1;transform:none}}
@keyframes ptK60{0%,22.86%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}30.00%,100%{opacity:1;transform:none}}
@keyframes ptVWire{0%,2.86%{stroke-dashoffset:1}24.29%,100%{stroke-dashoffset:0}}
@keyframes ptK62{0%,25.71%{opacity:0;animation-timing-function:cubic-bezier(.22,1,.36,1)}38.57%,100%{opacity:1}}
@keyframes ptK63{0%,31.43%{opacity:0;transform:scaleY(.1);animation-timing-function:cubic-bezier(.22,1,.36,1)}41.43%,100%{opacity:1;transform:none}}
@keyframes ptK64{0%,41.43%{opacity:0;transform:translateY(-22cqw);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}52.86%,100%{opacity:1;transform:none}}
@keyframes ptK65{0%,51.43%{opacity:0;animation-timing-function:cubic-bezier(.22,1,.36,1)}62.86%,100%{opacity:1}}
.pa{animation:ptScene 7.0s linear infinite both}
.pw .w-win{animation:ptK1 7.0s linear infinite both}
.pw .w-hero{animation:ptK2 7.0s linear infinite both}
.pw .w-img{animation:ptK3 7.0s linear infinite both}
.pw .w-l0{animation:ptK4 7.0s linear infinite both}
.pw .w-l1{animation:ptK5 7.0s linear infinite both}
.pw .w-l2{animation:ptK6 7.0s linear infinite both}
.pw .w-btn{animation:ptK7 7.0s linear infinite both}
.pw .w-cur{animation:ptWCur 7.0s linear infinite both}
.pw .w-ring{animation:ptWRing 7.0s linear infinite both}
.pw .w-btn{animation:ptWBtn 7.0s linear infinite both}
.pw .w-ok{animation:ptWOk 7.0s linear infinite both}
.pe .e-c0{animation:ptK12 7.0s linear infinite both}
.pe .e-c1{animation:ptK13 7.0s linear infinite both}
.pe .e-c2{animation:ptK14 7.0s linear infinite both}
.pe .e-cart{animation:ptK15 7.0s linear infinite both}
.pe .e-f0{animation:ptEF0 7.0s linear infinite both}
.pe .e-f1{animation:ptEF1 7.0s linear infinite both}
.pe .e-b0{animation:ptEB0 7.0s linear infinite both}
.pe .e-b1{animation:ptEB1 7.0s linear infinite both}
.pc .c-side{animation:ptK20 7.0s linear infinite both}
.pc .c-main{animation:ptK21 7.0s linear infinite both}
.pc .c-bar.b0{animation:ptK22 7.0s linear infinite both}
.pc .c-bar.b1{animation:ptK23 7.0s linear infinite both}
.pc .c-bar.b2{animation:ptK24 7.0s linear infinite both}
.pc .c-bar.b3{animation:ptK25 7.0s linear infinite both}
.pc .c-bar.b4{animation:ptK26 7.0s linear infinite both}
.pc .c-row.r0{animation:ptK27 7.0s linear infinite both}
.pc .c-dot.r0{animation:ptK28 7.0s linear infinite both}
.pc .c-row.r1{animation:ptK29 7.0s linear infinite both}
.pc .c-dot.r1{animation:ptK30 7.0s linear infinite both}
.pc .c-row.r2{animation:ptK31 7.0s linear infinite both}
.pc .c-dot.r2{animation:ptK32 7.0s linear infinite both}
.pc .c-hl{animation:ptCHl 7.0s linear infinite both}
.pg .g-ring{animation:ptGRing 7.0s linear infinite both}
.pg .g-dia{animation:ptGDia 7.0s linear infinite both}
.pg .g-core{animation:ptK36 7.0s linear infinite both}
.pg .g-guide{animation:ptK37 7.0s linear infinite both}
.pg .g-sw.s0{animation:ptK38 7.0s linear infinite both}
.pg .g-sw.s1{animation:ptK39 7.0s linear infinite both}
.pg .g-sw.s2{animation:ptK40 7.0s linear infinite both}
.pg .g-sw.s3{animation:ptK41 7.0s linear infinite both}
.pg .g-spin{animation:ptGSpin 7.0s linear infinite both}
.ps .s-card{animation:ptK43 7.0s linear infinite both}
.ps .s-img{animation:ptK44 7.0s linear infinite both}
.ps .s-l0{animation:ptK45 7.0s linear infinite both}
.ps .s-l1{animation:ptK46 7.0s linear infinite both}
.ps .s-heart{animation:ptSHeart 7.0s linear infinite both}
.ps .s-fl.f0{animation:ptSFl0 7.0s linear infinite both}
.ps .s-fl.f1{animation:ptSFl1 7.0s linear infinite both}
.ps .s-fl.f2{animation:ptSFl2 7.0s linear infinite both}
.ps .s-fl.f3{animation:ptSFl3 7.0s linear infinite both}
.ps .s-chat{animation:ptK52 7.0s linear infinite both}
.ps .s-like{animation:ptK53 7.0s linear infinite both}
.pv .v-bu.b0{animation:ptK54 7.0s linear infinite both}
.pv .v-bu.b1{animation:ptK55 7.0s linear infinite both}
.pv .v-bu.b2{animation:ptK56 7.0s linear infinite both}
.pv .v-bu.b3{animation:ptK57 7.0s linear infinite both}
.pv .v-bu.b4{animation:ptK58 7.0s linear infinite both}
.pv .v-bu.b5{animation:ptK59 7.0s linear infinite both}
.pv .v-bu.b6{animation:ptK60 7.0s linear infinite both}
.pv .v-wire{animation:ptVWire 7.0s linear infinite both}
.pv .v-cone{animation:ptK62 7.0s linear infinite both}
.pv .v-ped{animation:ptK63 7.0s linear infinite both}
.pv .v-orb{animation:ptK64 7.0s linear infinite both}
.pv .v-glow{animation:ptK65 7.0s linear infinite both}

.pt-stage{position:relative;container-type:inline-size;aspect-ratio:8/5;overflow:hidden;background:radial-gradient(120% 95% at 50% 0,#2b261d 0,#0e0d0b 62%,#000 100%);border-bottom:1px solid var(--night-gold)}
.pt-stage::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(216,187,120,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(216,187,120,.09) 1px,transparent 1px);background-size:6.25cqw 6.25cqw;background-position:center}
.pa{position:absolute;inset:0}
.pa i{position:absolute;display:block;font-style:normal}
.pa svg{position:absolute;left:0;top:0;width:100%;height:100%;display:block;overflow:visible}
/* web */
.w-win{left:12cqw;top:7cqw;width:76cqw;height:48cqw;border-radius:2cqw;background:#fff;box-shadow:0 3cqw 6cqw -2cqw rgba(0,0,0,.7);overflow:hidden}
.w-win::before{content:"";position:absolute;left:0;right:0;top:0;height:6cqw;background:#EFEDE8}
.w-dots{left:2.4cqw;top:2.2cqw;width:1.6cqw;height:1.6cqw;border-radius:50%;background:#E6B8A8;box-shadow:2.6cqw 0 #F1D78A,5.2cqw 0 #B9DDB1}
.w-hero{left:16.4cqw;top:15cqw;width:30cqw;height:15cqw;border-radius:1.4cqw;background:linear-gradient(120deg,#EFE6CF,#C6A65C)}
.w-img{left:50cqw;top:15cqw;width:33cqw;height:23cqw;border-radius:1.4cqw;background:linear-gradient(135deg,#FEDA75,#FA7E1E 35%,#D62976 70%,#962FBF)}
.w-l0,.w-l1,.w-l2{left:16.4cqw;height:2cqw;border-radius:1cqw;background:#D9D6CE;transform-origin:0 50%}
.w-l0{top:33cqw;width:30cqw}.w-l1{top:37cqw;width:22cqw}.w-l2{top:41cqw;width:26cqw}
.w-btn{left:50cqw;top:42cqw;width:17cqw;height:5.4cqw;border-radius:2.7cqw;background:var(--ig);box-shadow:0 1.2cqw 2.4cqw -.8cqw rgba(214,41,118,.6)}
.w-ring{left:55.5cqw;top:42cqw;width:5.4cqw;height:5.4cqw;border-radius:50%;box-shadow:0 0 0 .5cqw #fff,0 0 0 .8cqw rgba(214,41,118,.7);opacity:0}
.w-cur{left:62cqw;top:45cqw;width:5cqw;height:5cqw;z-index:3;filter:drop-shadow(0 .6cqw .6cqw rgba(0,0,0,.4))}
.w-ok{left:70cqw;top:41cqw;padding:1cqw 2cqw;border-radius:2cqw;background:#000;color:#fff;font:700 2.2cqw/1 var(--f-display);box-shadow:inset 0 0 0 1px var(--night-gold)}
/* e-shop */
.e-c{top:14cqw;width:26cqw;height:36cqw;border-radius:2cqw;background:#fff;box-shadow:0 2.4cqw 4cqw -1.6cqw rgba(0,0,0,.7)}
.e-c0{left:9cqw}.e-c1{left:37cqw}.e-c2{left:65cqw}
.e-c::before{content:"";position:absolute;left:2cqw;top:2cqw;right:2cqw;height:17cqw;border-radius:1.2cqw;background:var(--pg)}
.e-c0{--pg:linear-gradient(135deg,#EFE6CF,#C6A65C)}.e-c1{--pg:linear-gradient(135deg,#FEDA75,#FA7E1E 45%,#D62976)}.e-c2{--pg:linear-gradient(135deg,#d6c9ff,#962FBF 60%,#4F5BD5)}
.e-c::after{content:"";position:absolute;left:2cqw;top:21.5cqw;width:12cqw;height:2cqw;border-radius:1cqw;background:#000;box-shadow:0 3.4cqw 0 -.2cqw #D9D6CE}
.e-add{left:2cqw;bottom:2cqw;width:22cqw;height:5cqw;border-radius:2.5cqw;background:var(--ig)}
.e-cart{left:84cqw;top:2cqw;width:11cqw;height:11cqw;border-radius:50%;background:#fff;box-shadow:0 1.6cqw 3cqw -1cqw rgba(0,0,0,.7)}
.e-cart svg{left:2.4cqw;top:2.6cqw;width:6.2cqw;height:6.2cqw}
.e-b0,.e-b1{left:91cqw;top:0;width:5.2cqw;height:5.2cqw;border-radius:50%;background:var(--ig);color:#fff;font:800 3cqw/5.2cqw var(--f-display);text-align:center;box-shadow:0 0 0 .5cqw #fff;z-index:2}
.e-b0{opacity:0}
.e-f0,.e-f1{width:3cqw;height:3cqw;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#FEDA75 45%,#C6A65C);box-shadow:0 0 1.6cqw rgba(254,218,117,.9);z-index:3;opacity:0}
.e-f0{left:48cqw;top:44cqw}.e-f1{left:76cqw;top:44cqw}
/* crm */
.c-side{left:5cqw;top:7cqw;width:14cqw;height:48cqw;border-radius:2cqw;background:#1b1a17;box-shadow:inset 0 0 0 1px rgba(216,187,120,.4)}
.c-side::before{content:"";position:absolute;left:3cqw;top:3.4cqw;width:8cqw;height:2.4cqw;border-radius:1.2cqw;background:var(--night-gold)}
.c-side::after{content:"";position:absolute;left:3cqw;top:11cqw;width:8cqw;height:2cqw;border-radius:1cqw;background:rgba(255,255,255,.22);box-shadow:0 6cqw 0 rgba(255,255,255,.22),0 12cqw 0 rgba(255,255,255,.22),0 18cqw 0 rgba(255,255,255,.22)}
.c-hl{left:7cqw;top:17.2cqw;width:10cqw;height:6cqw;border-radius:1.4cqw;background:rgba(216,187,120,.28);box-shadow:inset 0 0 0 1px var(--night-gold);z-index:2}
.c-main{left:22cqw;top:7cqw;width:73cqw;height:48cqw;border-radius:2cqw;background:#fff;box-shadow:0 3cqw 6cqw -2cqw rgba(0,0,0,.7)}
.c-main::before{content:"";position:absolute;left:3cqw;top:3cqw;width:20cqw;height:2.6cqw;border-radius:1.3cqw;background:#000}
.c-bar{bottom:12.5cqw;width:6.4cqw;border-radius:1cqw 1cqw .2cqw .2cqw;background:linear-gradient(180deg,#E6CE8B,#C6A65C);transform-origin:50% 100%}
.c-bar.b0{left:27cqw;height:10cqw}.c-bar.b1{left:35cqw;height:17cqw}.c-bar.b2{left:43cqw;height:13cqw}.c-bar.b3{left:51cqw;height:23cqw}.c-bar.b4{left:59cqw;height:30cqw;background:var(--ig)}
.c-row{left:69cqw;width:22cqw;height:5.4cqw;border-radius:1.4cqw;background:#F1EFEA;box-shadow:inset 0 0 0 1px #E6E3DC}
.c-row.r0{top:15cqw}.c-row.r1{top:23cqw}.c-row.r2{top:31cqw}
.c-row::before{content:"";position:absolute;left:2cqw;top:1.7cqw;width:11cqw;height:2cqw;border-radius:1cqw;background:#cfcbc1}
.c-dot{left:86cqw;width:3.2cqw;height:3.2cqw;border-radius:50%;background:var(--ig)}
.c-dot.r0{top:16.1cqw}.c-dot.r1{top:24.1cqw}.c-dot.r2{top:32.1cqw}
/* grafika */
.g-guide{inset:0}
.g-guide svg{stroke:rgba(216,187,120,.45);stroke-width:.25;fill:none;stroke-dasharray:1.2 1.2}
.g-ring,.g-dia{fill:none;stroke:var(--night-gold);stroke-width:1.5;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.g-dia{stroke:#fff;stroke-width:1.1}
.g-spin{transform-box:fill-box;transform-origin:center}
.g-core,.g-sw{transform-box:fill-box;transform-origin:center}
.g-core{fill:url(#ptIg)}
.g-sw{stroke:#fff;stroke-width:.5}
/* sociální sítě */
.s-card{left:31cqw;top:4cqw;width:38cqw;height:54cqw;border-radius:3cqw;background:#fff;box-shadow:0 3cqw 6cqw -2cqw rgba(0,0,0,.7)}
.s-card::before{content:"";position:absolute;left:3cqw;top:3cqw;width:5.6cqw;height:5.6cqw;border-radius:50%;background:var(--ig)}
.s-card::after{content:"";position:absolute;left:10.4cqw;top:4.4cqw;width:14cqw;height:2.2cqw;border-radius:1.1cqw;background:#000;box-shadow:0 3.2cqw 0 -.6cqw #D9D6CE}
.s-img{left:34cqw;top:15cqw;width:32cqw;height:23cqw;border-radius:1.6cqw;background:linear-gradient(135deg,#FEDA75,#C6A65C 40%,#D62976 85%)}
.s-heart{left:34cqw;top:41cqw;width:6.4cqw;height:6.4cqw;z-index:2}
.s-heart svg{fill:#D62976}
.s-l0,.s-l1{left:34cqw;height:2cqw;border-radius:1cqw;background:#D9D6CE;transform-origin:0 50%}
.s-l0{top:50cqw;width:28cqw}.s-l1{top:53.6cqw;width:18cqw}
.s-fl{left:35.4cqw;top:41cqw;width:3.6cqw;height:3.6cqw;z-index:3;opacity:0}
.s-fl svg{fill:#D62976}
.s-chat,.s-like{height:8cqw;border-radius:4cqw;font:700 2.4cqw/8cqw var(--f-display);white-space:nowrap}
.s-chat{left:5cqw;top:18cqw;width:23cqw;background:#fff;box-shadow:0 1.6cqw 3cqw -1cqw rgba(0,0,0,.7)}
.s-chat::before{content:"";position:absolute;left:3cqw;top:2.6cqw;width:10cqw;height:2.2cqw;border-radius:1.1cqw;background:#cfcbc1;box-shadow:0 0 0 0 #000}
.s-chat::after{content:"";position:absolute;right:2.6cqw;top:2cqw;width:4cqw;height:4cqw;border-radius:50%;background:var(--ig)}
.s-like{left:72cqw;top:30cqw;width:23cqw;background:var(--ig);box-shadow:0 1.6cqw 3cqw -1cqw rgba(214,41,118,.7)}
.s-like::before{content:"";position:absolute;left:3cqw;top:2.8cqw;width:11cqw;height:2.4cqw;border-radius:1.2cqw;background:rgba(255,255,255,.85)}
/* výzdoba */
.v-bu{width:3.4cqw;height:3.4cqw;border-radius:50%;z-index:3}
.v-bu.b0{left:6cqw;top:6.2cqw;background:radial-gradient(circle at 35% 35%,#fff,#FEDA75 45%,#C6A65C)}
.v-bu.b1{left:20cqw;top:9.4cqw;background:radial-gradient(circle at 35% 35%,#fff,#F5C6D6 40%,#D62976)}
.v-bu.b2{left:34cqw;top:11.4cqw;background:radial-gradient(circle at 35% 35%,#fff,#FEDA75 45%,#C6A65C)}
.v-bu.b3{left:48.3cqw;top:12.2cqw;background:radial-gradient(circle at 35% 35%,#fff,#F5C6D6 40%,#D62976)}
.v-bu.b4{left:62.6cqw;top:11.4cqw;background:radial-gradient(circle at 35% 35%,#fff,#FEDA75 45%,#C6A65C)}
.v-bu.b5{left:76.6cqw;top:9.4cqw;background:radial-gradient(circle at 35% 35%,#fff,#F5C6D6 40%,#D62976)}
.v-bu.b6{left:90.6cqw;top:6.2cqw;background:radial-gradient(circle at 35% 35%,#fff,#FEDA75 45%,#C6A65C)}
.v-wire{fill:none;stroke:var(--night-gold);stroke-width:.35;stroke-dasharray:1;stroke-dashoffset:0}
.v-cone{left:26cqw;top:10cqw;width:48cqw;height:44cqw;clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);background:linear-gradient(180deg,rgba(255,236,190,.7),rgba(255,236,190,0) 94%);mix-blend-mode:screen}
.v-glow{left:30cqw;top:38cqw;width:40cqw;height:18cqw;border-radius:50%;background:radial-gradient(closest-side,rgba(255,236,190,.55),rgba(255,236,190,0))}
.v-ped{left:39cqw;top:40cqw;width:22cqw;height:14cqw;border-radius:1.2cqw 1.2cqw .4cqw .4cqw;background:linear-gradient(90deg,#fff,#EFE6CF 60%,#d8c99f);box-shadow:inset 0 .5cqw 0 #fff;transform-origin:50% 100%}
.v-orb{left:44.5cqw;top:26cqw;width:11cqw;height:11cqw;border-radius:50%;background:radial-gradient(circle at 34% 30%,#fff 0,#FEDA75 14%,#D62976 55%,#962FBF 100%);box-shadow:0 1.6cqw 2.4cqw rgba(0,0,0,.55),0 0 3cqw rgba(214,41,118,.5)}
.v-floor{left:0;right:0;top:54cqw;height:.3cqw;background:rgba(216,187,120,.7)}
.v-sp{width:3cqw;height:3cqw;color:#fff;filter:drop-shadow(0 0 .6cqw rgba(255,236,190,.9));animation:ptTw 2.8s ease-in-out infinite}
.v-sp svg{fill:currentColor}
.v-sp.s0{left:30cqw;top:34cqw}.v-sp.s1{left:66cqw;top:28cqw;animation-delay:-1s}.v-sp.s2{left:56cqw;top:44cqw;animation-delay:-1.9s;width:2.2cqw;height:2.2cqw}
@keyframes ptTw{0%,100%{opacity:0;transform:scale(.3) rotate(0)}50%{opacity:1;transform:scale(1) rotate(45deg)}}
/* karta */
.pt{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--rule);border-top:2px solid var(--ink);transition:box-shadow .35s var(--ease),transform .35s var(--ease)}
.pt:hover{box-shadow:0 22px 40px -26px rgba(0,0,0,.55);transform:translateY(-3px)}
.pt-body{display:flex;flex-direction:column;gap:12px;padding:20px 22px 24px;flex:1}
.pt h3{font-size:1.3rem}
.pt .from{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.pt .from small{color:var(--mute);font-size:.85rem}
.pt .from b{font-family:var(--f-display);font-weight:800;color:var(--ink);font-size:1.6rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.pt .btn{margin-top:auto;align-self:flex-start}
.pt .btn::after{content:"";position:absolute;inset:0}
.pt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
@media (max-width:980px){.pt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.pt-grid{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.pa,.pa *{animation:none!important}.e-b0,.e-f0,.e-f1,.w-ring{display:none}.pt{transition:none}.pt:hover{transform:none}}

/* === END CEN ART === */

#cenik,#hodinova-sazba{scroll-margin-top:110px}

/* === PRÁCE: animace hera (generováno tools/pracart.py) === */
@keyframes wkK0{0%,2.38%{opacity:0;transform:translateY(14cqw) rotate(-4deg) scale(.94);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}10.32%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(14cqw) rotate(-4deg) scale(.94)}}
@keyframes wkK1{0%,10.32%{opacity:0;transform:translateY(14cqw) rotate(3deg) scale(.94);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}18.25%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(14cqw) rotate(3deg) scale(.94)}}
@keyframes wkK2{0%,18.25%{opacity:0;transform:translateY(14cqw) rotate(-3deg) scale(.94);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}26.19%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(14cqw) rotate(-3deg) scale(.94)}}
@keyframes wkK3{0%,11.90%{opacity:0;transform:scale(.3);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}15.87%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.3)}}
@keyframes wkK4{0%,19.84%{opacity:0;transform:scale(.3);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}23.81%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.3)}}
@keyframes wkK5{0%,27.78%{opacity:0;transform:scale(.3);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}31.75%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(.3)}}
@keyframes wkFl0{0%,100%{transform:translateY(0)}50%{transform:translateY(-1cqw)}}
@keyframes wkFl1{0%,100%{transform:translateY(0)}50%{transform:translateY(-1cqw)}}
@keyframes wkFl2{0%,100%{transform:translateY(0)}50%{transform:translateY(-1cqw)}}
.wk .wk-f.f0{animation:wkK0 12.6s linear infinite both}
.wk .wk-f.f1{animation:wkK1 12.6s linear infinite both}
.wk .wk-f.f2{animation:wkK2 12.6s linear infinite both}
.wk .wk-f.f0 .wk-live{animation:wkK3 12.6s linear infinite both}
.wk .wk-f.f1 .wk-live{animation:wkK4 12.6s linear infinite both}
.wk .wk-f.f2 .wk-live{animation:wkK5 12.6s linear infinite both}
.wk .wk-f.f0 .wk-fi{animation:wkFl0 5.6s ease-in-out 0s infinite}
.wk .wk-f.f1 .wk-fi{animation:wkFl1 5.6s ease-in-out -1.6s infinite}
.wk .wk-f.f2 .wk-fi{animation:wkFl2 5.6s ease-in-out -3.1s infinite}

.wk-f{position:absolute;width:62cqw;z-index:1}
.wk-f.f0{left:3cqw;top:5cqw;z-index:1}
.wk-f.f1{left:20cqw;top:27cqw;z-index:2}
.wk-f.f2{left:35cqw;top:49cqw;z-index:3}
.wk-fi{position:relative;border-radius:2cqw;overflow:hidden;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.18),0 3.4cqw 6cqw -2cqw rgba(0,0,0,.55)}
.wk-fi img{display:block;width:100%;height:auto}
.wk-bar{display:flex;gap:1.1cqw;align-items:center;height:4.4cqw;padding:0 2.2cqw;background:#EFEDE8}
.wk-bar i{display:block;width:1.5cqw;height:1.5cqw;border-radius:50%;background:#E6B8A8}
.wk-bar i:nth-child(2){background:#F1D78A}.wk-bar i:nth-child(3){background:#B9DDB1}
.wk-live{position:absolute;right:2cqw;top:.9cqw;display:flex;align-items:center;gap:1cqw;padding:.55cqw 1.7cqw;border-radius:2cqw;background:#000;color:#fff;font:700 1.9cqw/1.4 var(--f-display);box-shadow:inset 0 0 0 1px rgba(216,187,120,.7)}
.wk-live u{display:block;width:1.5cqw;height:1.5cqw;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 0 rgba(61,220,132,.7);animation:wkPulse 1.8s ease-out infinite}
@keyframes wkPulse{0%{box-shadow:0 0 0 0 rgba(61,220,132,.7)}80%,100%{box-shadow:0 0 0 1.6cqw rgba(61,220,132,0)}}
@media (prefers-reduced-motion:reduce){.wk *,.wk{animation:none!important}}
/* stránka: velké náhledy webů */
.works2{display:flex;flex-direction:column;gap:clamp(48px,7vw,104px)}
.work2{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center}
.work2:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
.work2:nth-child(even) .shot{order:2}
.work2 .shot{display:block;border:0;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.14),0 30px 60px -34px rgba(0,0,0,.55);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.work2 a.shot:hover{transform:translateY(-5px);box-shadow:0 0 0 1px rgba(0,0,0,.14),0 40px 70px -34px rgba(0,0,0,.6)}
.work2 .shot img{display:block;width:100%;height:auto;aspect-ratio:auto;transform:none!important;image-rendering:auto}
.shot-bar{display:flex;align-items:center;gap:7px;height:34px;padding:0 14px;background:#EFEDE8;border-bottom:1px solid var(--rule)}
.shot-bar i{display:block;width:10px;height:10px;border-radius:50%;background:#E6B8A8}
.shot-bar i:nth-child(2){background:#F1D78A}.shot-bar i:nth-child(3){background:#B9DDB1}
.shot-bar b{margin-left:12px;flex:0 1 auto;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 .76rem/1 var(--f-body);color:var(--mute);padding:5px 14px;border-radius:999px;background:#fff}
.work2 h3{font-size:clamp(1.5rem,1.1rem + 1.4vw,2.2rem);letter-spacing:-.03em}
.work2 ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.work2 li{font-size:.82rem;padding:6px 12px;border:0;border-radius:var(--rr);color:var(--char);position:relative;isolation:isolate}
.work2 li::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:var(--rr);transform:skewX(var(--sk));box-shadow:inset 0 0 0 1px var(--rule)}
.work2 p{color:var(--mute);max-width:36em}
@media (max-width:900px){.work2,.work2:nth-child(even){grid-template-columns:minmax(0,1fr)}.work2:nth-child(even) .shot{order:0}}

/* === END PRACE ART === */

/* === O NÁS: animace hera (generováno tools/aboutart.py) === */
@keyframes abRule{0%,2.38%{stroke-dashoffset:1;opacity:1}11.11%,89.68%{stroke-dashoffset:0;opacity:1}95.24%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:1;opacity:1}}
@keyframes abK1{0%,9.52%{opacity:0;animation-timing-function:cubic-bezier(.22,1,.36,1)}15.87%,89.68%{opacity:1}95.24%{opacity:0}100%{opacity:0}}
@keyframes abK2{0%,10.32%{opacity:0;animation-timing-function:cubic-bezier(.22,1,.36,1)}16.67%,89.68%{opacity:1}95.24%{opacity:0}100%{opacity:0}}
@keyframes abLine{0%,7.14%{stroke-dashoffset:1;opacity:1}65.08%,89.68%{stroke-dashoffset:0;opacity:1}95.24%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:1;opacity:1}}
@keyframes abK4{0%,55.56%{opacity:0;animation-timing-function:cubic-bezier(.22,1,.36,1)}68.25%,89.68%{opacity:1}95.24%{opacity:0}100%{opacity:0}}
@keyframes abDot{0%,7.14%{offset-distance:0%;opacity:0}7.94%{offset-distance:0%;opacity:1}65.08%{offset-distance:100%;opacity:1}69.05%{offset-distance:100%;opacity:0}100%{offset-distance:0%;opacity:0}}
@keyframes abK6{0%,5.95%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}9.52%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(0)}}
@keyframes abK7{0%,7.14%{opacity:0;animation-timing-function:cubic-bezier(.22,1,.36,1)}11.90%,89.68%{opacity:1}95.24%{opacity:0}100%{opacity:0}}
@keyframes abK8{0%,7.94%{opacity:0;transform:translateY(2cqw) scale(.92);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}12.70%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(2cqw) scale(.92)}}
@keyframes abK9{0%,16.57%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}20.14%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(0)}}
@keyframes abK10{0%,17.76%{opacity:0;animation-timing-function:cubic-bezier(.22,1,.36,1)}22.52%,89.68%{opacity:1}95.24%{opacity:0}100%{opacity:0}}
@keyframes abK11{0%,18.55%{opacity:0;transform:translateY(-2cqw) scale(.92);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}23.32%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(-2cqw) scale(.92)}}
@keyframes abK12{0%,28.04%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}31.61%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(0)}}
@keyframes abK13{0%,29.23%{opacity:0;animation-timing-function:cubic-bezier(.22,1,.36,1)}33.99%,89.68%{opacity:1}95.24%{opacity:0}100%{opacity:0}}
@keyframes abK14{0%,30.02%{opacity:0;transform:translateY(2cqw) scale(.92);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}34.79%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(2cqw) scale(.92)}}
@keyframes abK15{0%,39.20%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}42.77%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(0)}}
@keyframes abK16{0%,40.39%{opacity:0;animation-timing-function:cubic-bezier(.22,1,.36,1)}45.15%,89.68%{opacity:1}95.24%{opacity:0}100%{opacity:0}}
@keyframes abK17{0%,41.19%{opacity:0;transform:translateY(-2cqw) scale(.92);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}45.95%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(-2cqw) scale(.92)}}
@keyframes abK18{0%,51.36%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}54.93%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(0)}}
@keyframes abK19{0%,52.55%{opacity:0;animation-timing-function:cubic-bezier(.22,1,.36,1)}57.31%,89.68%{opacity:1}95.24%{opacity:0}100%{opacity:0}}
@keyframes abK20{0%,53.34%{opacity:0;transform:translateY(2cqw) scale(.92);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}58.11%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(2cqw) scale(.92)}}
@keyframes abK21{0%,63.89%{opacity:0;transform:scale(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}67.46%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:scale(0)}}
@keyframes abK22{0%,65.08%{opacity:0;animation-timing-function:cubic-bezier(.22,1,.36,1)}69.84%,89.68%{opacity:1}95.24%{opacity:0}100%{opacity:0}}
@keyframes abK23{0%,65.87%{opacity:0;transform:translateY(-2cqw) scale(.92);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}70.63%,89.68%{opacity:1;transform:none}95.24%{opacity:0;transform:none}100%{opacity:0;transform:translateY(-2cqw) scale(.92)}}
.ab .ab-rule{animation:abRule 12.6s linear infinite both}
.ab .ab-ticks{animation:abK1 12.6s linear infinite both}
.ab .ab-y{animation:abK2 12.6s linear infinite both}
.ab .ab-line{animation:abLine 12.6s linear infinite both}
.ab .ab-area{animation:abK4 12.6s linear infinite both}
.ab .ab-dot{animation:abDot 12.6s linear infinite both}
.ab .ab-n.n0{animation:abK6 12.6s linear infinite both}
.ab .ab-drop.n0{animation:abK7 12.6s linear infinite both}
.ab .ab-chip.c0{animation:abK8 12.6s linear infinite both}
.ab .ab-n.n1{animation:abK9 12.6s linear infinite both}
.ab .ab-drop.n1{animation:abK10 12.6s linear infinite both}
.ab .ab-chip.c1{animation:abK11 12.6s linear infinite both}
.ab .ab-n.n2{animation:abK12 12.6s linear infinite both}
.ab .ab-drop.n2{animation:abK13 12.6s linear infinite both}
.ab .ab-chip.c2{animation:abK14 12.6s linear infinite both}
.ab .ab-n.n3{animation:abK15 12.6s linear infinite both}
.ab .ab-drop.n3{animation:abK16 12.6s linear infinite both}
.ab .ab-chip.c3{animation:abK17 12.6s linear infinite both}
.ab .ab-n.n4{animation:abK18 12.6s linear infinite both}
.ab .ab-drop.n4{animation:abK19 12.6s linear infinite both}
.ab .ab-chip.c4{animation:abK20 12.6s linear infinite both}
.ab .ab-n.n5{animation:abK21 12.6s linear infinite both}
.ab .ab-drop.n5{animation:abK22 12.6s linear infinite both}
.ab .ab-chip.c5{animation:abK23 12.6s linear infinite both}

.ab-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ab-rule{fill:none;stroke:var(--gold-deep);stroke-width:.35;stroke-dasharray:1;stroke-dashoffset:0}
.ab-ticks path{fill:none;stroke:var(--gold-deep);stroke-width:.3}
.ab-y{font:700 2.4px var(--f-display);fill:var(--gold-deep);letter-spacing:.02em}
.ab-area{fill:url(#ab-ar)}
.ab-line{fill:none;stroke:url(#ab-ln);stroke-width:1.1;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.ab-drop{stroke:var(--gold);stroke-width:.25;stroke-dasharray:.9 .9}
.ab-n{fill:#fff;stroke:var(--gold-deep);stroke-width:.7;transform-box:fill-box;transform-origin:center}
.ab-dot{fill:#D62976;filter:drop-shadow(0 0 1.6px rgba(214,41,118,.9));offset-rotate:0deg}
.ab-chip{position:absolute;z-index:3;width:22cqw;padding:1.1cqw 1.6cqw 1.2cqw;border-radius:1.4cqw;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.12),0 1.8cqw 3cqw -1.4cqw rgba(0,0,0,.45);font-family:var(--f-display);line-height:1.15}
.ab-chip b{display:block;font-weight:800;font-size:2.7cqw;color:var(--ink);letter-spacing:-.02em}
.ab-chip small{display:block;margin-top:.3cqw;font:500 1.75cqw/1.25 var(--f-body);color:var(--mute)}
.ab-chip.c5{box-shadow:0 0 0 1.5px var(--gold),0 1.8cqw 3cqw -1.4cqw rgba(0,0,0,.45)}
.ab .wa-toast{left:3%;right:auto;top:4%}
.ab .wa-chip{display:none}
@media (prefers-reduced-motion:reduce){.ab *,.ab{animation:none!important}}
/* časová osa na stránce: body se rozsvítí, jakmile je osa dosažena */
.tl li::before{transition:background-color .5s,border-color .5s,box-shadow .5s,transform .5s var(--ease)}
.tl li.on::before{background:var(--gold);box-shadow:0 0 0 5px rgba(198,166,92,.22);transform:scale(1.15)}
.tl li .yr{transition:color .5s}
.tl li:not(.on) .yr{color:var(--mute)}

/* === END ABOUT ART === */

/* === KONTAKT: karty týmu, mapa, formulář (ručně) === */
.team-sec{position:relative;overflow:hidden;padding-block:clamp(72px,9vw,128px)}
.team-sec::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 55% at 50% 0,rgba(216,187,120,.22),transparent 70%),linear-gradient(rgba(216,187,120,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(216,187,120,.06) 1px,transparent 1px);background-size:auto,64px 64px,64px 64px;-webkit-mask:linear-gradient(#000 40%,transparent);mask:linear-gradient(#000 40%,transparent)}
.team-sec .wrap{position:relative}
.team-sec h2{margin-bottom:clamp(40px,6vw,76px)}
.team3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,2.6vw,40px);align-items:stretch}
.pc-w{position:relative;container-type:inline-size;animation:pcIn 1s var(--ease) both;animation-delay:calc(.1s + var(--i) * .16s)}
.pc-w:nth-child(1){--fd:7s}.pc-w:nth-child(2){--fd:8.4s}.pc-w:nth-child(3){--fd:6.6s}
.pc-w::before{content:"";position:absolute;left:10%;right:10%;bottom:-30px;height:26px;border-radius:50%;background:radial-gradient(closest-side,rgba(216,187,120,.34),transparent);filter:blur(7px);animation:pcSh var(--fd,7s) ease-in-out infinite;animation-delay:calc(var(--i) * -1.7s)}
.pc-w{animation:pcIn 1s var(--ease) both,pcFloat var(--fd,7s) ease-in-out infinite;animation-delay:calc(.1s + var(--i) * .16s),calc(var(--i) * -1.7s)}
@keyframes pcIn{from{opacity:0;transform:translateY(34px) scale(.96)}to{opacity:1;transform:none}}
@keyframes pcFloat{0%,100%{translate:0 0}50%{translate:0 -12px}}
@keyframes pcSh{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(.82);opacity:.55}}
.pc{position:relative;display:flex;flex-direction:column;gap:24px;height:100%;padding:32px 30px 30px;border-radius:24px;overflow:hidden;color:var(--night-fg);background:linear-gradient(160deg,#1f1c17 0%,#0d0c0a 58%,#16130e 100%);box-shadow:0 0 0 1px rgba(216,187,120,.22),0 46px 80px -40px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.07);transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .3s ease-out,box-shadow .5s}
.pc:hover{box-shadow:0 0 0 1px rgba(216,187,120,.55),0 56px 90px -40px rgba(0,0,0,1),0 0 60px -20px rgba(216,187,120,.35),inset 0 1px 0 rgba(255,255,255,.1)}
.pc::before{content:"";position:absolute;left:12%;right:12%;top:0;height:1px;background:linear-gradient(90deg,transparent,#F6E3A9,transparent);opacity:.9}
.pc-shine{position:absolute;inset:0;pointer-events:none;background:radial-gradient(420px circle at var(--mx,75%) var(--my,0%),rgba(216,187,120,.2),transparent 55%);opacity:.55;transition:opacity .4s}
.pc:hover .pc-shine{opacity:1}
.pc header{position:relative;display:flex;gap:18px;align-items:center}
.pc-av{position:relative;flex:none;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,#4a3d22,#14110b 78%);box-shadow:0 0 34px -8px rgba(216,187,120,.55)}
.pc-av::after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,#8A6E30,#F6E3A9,#C6A65C,#8A6E30,#F6E3A9,#8A6E30);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));animation:pcSpin 9s linear infinite}
@keyframes pcSpin{to{transform:rotate(360deg)}}
.pc-av svg{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);display:block;border-radius:50%;overflow:hidden}
.av-eyes{transform-box:fill-box;transform-origin:center;animation:avBlink 5.2s infinite}
.pc-w:nth-child(2) .av-eyes{animation-delay:-1.8s}.pc-w:nth-child(3) .av-eyes{animation-delay:-3.4s}
@keyframes avBlink{0%,93%,100%{transform:scaleY(1)}96%{transform:scaleY(.1)}}
@media (prefers-reduced-motion:reduce){.av-eyes{animation:none}}
.pc h3{font-size:clamp(1.55rem,1.2rem + .9vw,1.95rem);color:#fff;letter-spacing:-.03em}
.pc .role{margin-top:6px;font-size:.9rem;line-height:1.5;color:var(--night-mute)}
.pc-lines{position:relative;list-style:none;margin:0;padding:22px 0 0;flex:1;display:flex;flex-direction:column;justify-content:flex-start;gap:14px;border-top:1px solid rgba(216,187,120,.28)}
.pc-lines li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:center}
.pc-ico svg{display:block;width:20px;height:20px;fill:none;stroke:var(--night-gold);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pc-lines a{color:#fff;font-weight:500;font-size:clamp(.7rem,calc((100cqw - 136px) / 15.6),.96rem);white-space:nowrap;transition:color .2s}
.pc-lines a:hover{color:var(--night-gold)}
.pc .copy{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;border:1px solid rgba(216,187,120,.32);background:transparent;color:var(--night-gold);padding:0;transition:background-color .2s,color .2s,border-color .2s}
.pc .copy svg{width:15px;height:15px}
.pc .copy:hover,.pc .copy.ok{background:var(--night-gold);color:#000;border-color:var(--night-gold)}
.pc-act{position:relative;display:flex;flex-wrap:wrap;gap:10px}
.pc-act .btn{padding:.78em 1.3em;font-size:.92rem;gap:.55em}
.pc-act .btn svg{width:17px;height:17px;flex:none}
@media (max-width:1180px){.team3{grid-template-columns:minmax(0,1fr);max-width:560px;margin-inline:auto}}
@media (max-width:480px){.pc{padding:26px 22px 24px;gap:20px}.pc-av{width:78px;height:78px}.pc-act .btn{flex:1 1 auto;justify-content:center}}
@media (prefers-reduced-motion:reduce){.pc-w,.pc-w::before,.pc-av::after{animation:none!important}.pc{transition:none}}
/* banka */
.bank{margin-top:12px;padding:14px 16px;border-radius:14px;background:var(--paper-2);display:flex;flex-direction:column;gap:4px}
.bank .k{font-size:.8rem;color:var(--mute)}
.bank .v{display:flex;align-items:center;justify-content:space-between;gap:12px}
.bank b{font:800 1.3rem/1.2 var(--f-display);letter-spacing:-.01em;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.bank .copy{width:36px;height:36px;display:grid;place-items:center;flex:none;border-radius:11px;border:1px solid var(--rule);background:#fff;padding:0}
.bank .copy svg{width:16px;height:16px}
.bank .copy.ok{background:var(--ink);color:#fff;border-color:var(--ink)}
/* mapa */
.mapbox{position:relative;display:block;width:100%;min-width:0;max-width:100%;container-type:size;margin-top:clamp(16px,2vw,24px);aspect-ratio:2.3;min-height:340px;border-radius:22px;overflow:hidden;isolation:isolate;background:#EDEDEB;box-shadow:0 0 0 1px var(--rule),0 40px 70px -44px rgba(0,0,0,.55)}
.map-live{position:absolute;inset:0;width:100%;height:100%;display:block;border:0}
.map-stage{position:absolute;left:50%;top:50%;display:block;width:max(100cqw,calc(100cqh * 1.832));aspect-ratio:1092/596;transform:translate(-50%,-50%)}
.map-stage img{display:block;width:100%;height:100%;max-width:none;transition:transform 1.6s var(--ease)}
.mapbox:hover .map-stage img{transform:scale(1.04)}
.map-live{filter:grayscale(1) contrast(1.05)}
.map-pin{position:absolute;left:36.6%;top:51%;z-index:2;width:40px;height:52px;margin:-52px 0 0 -20px;filter:drop-shadow(0 7px 6px rgba(0,0,0,.35));animation:pinBob 2.6s ease-in-out infinite}
.map-pin svg{display:block;width:100%;height:100%}
.map-pin i{position:absolute;left:50%;bottom:-3px;width:14px;height:14px;margin-left:-7px;border-radius:50%;border:2px solid #000;opacity:0;animation:pinRing 2.6s ease-out infinite}
.map-pin i+i{animation-delay:1.3s}
@keyframes pinBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes pinRing{0%{opacity:.7;transform:scale(.4)}100%{opacity:0;transform:scale(5.5)}}
.map-card{position:absolute;z-index:3;left:clamp(14px,2.4vw,28px);bottom:clamp(14px,2.4vw,28px);max-width:360px;display:flex;flex-direction:column;gap:6px;padding:20px 22px 22px;border-radius:18px;background:#fff;box-shadow:0 24px 50px -22px rgba(0,0,0,.6),0 0 0 1px rgba(0,0,0,.06)}
.map-card b{font:800 1.2rem/1.2 var(--f-display);letter-spacing:-.02em;color:var(--ink)}
.map-card small{font-size:.88rem;line-height:1.5;color:var(--mute)}
.map-card .btn{margin-top:10px;align-self:flex-start}
@media (max-width:640px){.mapbox{aspect-ratio:auto;height:480px}.map-stage{top:44%;transform:translate(-36.6%,-51%)}.map-card{left:12px;right:12px;max-width:none}.map-card .btn{align-self:stretch;justify-content:center}}
@media (prefers-reduced-motion:reduce){.map-pin,.map-pin i{animation:none!important}.map-stage img{transition:none}}
/* formulář */
.fx{gap:18px 16px}
.fx-top{position:relative;display:flex;align-items:center;gap:10px;padding-bottom:16px;font-size:.88rem;color:var(--night-mute)}
.fx-live{flex:none;width:9px;height:9px;border-radius:50%;background:#3ddc84;animation:fxPulse 2s ease-out infinite}
@keyframes fxPulse{0%{box-shadow:0 0 0 0 rgba(61,220,132,.65)}80%,100%{box-shadow:0 0 0 9px rgba(61,220,132,0)}}
.fx-bar{position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden}
.fx-bar b{display:block;height:100%;width:0;border-radius:3px;background:var(--ig);transition:width .6s var(--ease)}
.fl{position:relative}
.fl input,.fl textarea{min-height:60px;padding:26px 46px 9px 16px;border-radius:14px}
.fl textarea{min-height:150px;padding-top:32px}
.fl label{position:absolute;left:17px;right:46px;top:19px;z-index:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;transform-origin:0 0;font-size:1rem;font-weight:400;color:var(--night-mute);transition:transform .25s var(--ease),color .25s}
.fl label span{opacity:.65}
.fl input:focus+label,.fl input:not(:placeholder-shown)+label,.fl textarea:focus+label,.fl textarea:not(:placeholder-shown)+label{transform:translateY(-12px) scale(.76);color:var(--night-gold)}
.fl::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;border-radius:2px;background:var(--ig);transform:scaleX(0);transform-origin:0 50%;transition:transform .45s var(--ease)}
.fl:focus-within::after{transform:scaleX(1)}
.fl .fl-ok{position:absolute;right:15px;top:21px;width:20px;height:20px;color:#3ddc84;opacity:0;transform:scale(.3) rotate(-30deg);transition:opacity .3s,transform .4s var(--ease)}
.fl .fl-ok svg{display:block;width:100%;height:100%}
.fl input:not(:placeholder-shown):valid~.fl-ok{opacity:1;transform:none}
.fl input:not(:placeholder-shown):not(:focus):invalid{border-color:#E5604F}
.fl-hint{display:block;margin-top:8px;font-size:.8rem;color:var(--night-mute)}
.fx .chip{gap:.55em}
.fx .chip .tick{display:none;width:14px;height:14px;flex:none}
.fx .chip[aria-pressed="true"] .plus{display:none}
.fx .chip[aria-pressed="true"] .tick{display:block}
.fx .chip .plus{flex:none}
.fx-send{gap:.65em}
.fx-send svg{width:18px;height:18px;flex:none;transition:transform .35s var(--ease)}
.fx-send:hover svg{transform:translateX(5px)}
.form-ok:not([hidden]){animation:fxPop .7s var(--ease)}
.form-ok .tick svg{width:24px;height:24px}
.form-ok .tick svg path{stroke-dasharray:24;stroke-dashoffset:24;animation:fxDraw .7s .25s var(--ease) forwards}
@keyframes fxDraw{to{stroke-dashoffset:0}}
@keyframes fxPop{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
@media (max-width:640px){.fx{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.fx-live{animation:none}.form-ok:not([hidden]){animation:none}.form-ok .tick svg path{animation:none;stroke-dashoffset:0}}
/* === END KONTAKT === */

/* === ONLINE NÁVRHÁŘ: "jako první" === */
.first-badge{align-self:flex-start;width:fit-content;max-width:100%;position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:.7em;margin:0 0 6px;padding:10px 22px 10px 12px;color:#fff;font:700 .9rem/1 var(--f-display);letter-spacing:.01em;overflow:hidden}
.first-badge::before{content:"";position:absolute;inset:0;z-index:-2;border-radius:14px;background:linear-gradient(180deg,#232323,#000);box-shadow:0 0 0 1px #000,0 16px 26px -14px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.16);transform:skewX(-6deg)}
.first-badge::after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:35%;z-index:-1;background:linear-gradient(100deg,transparent,rgba(216,187,120,.55),transparent);transform:skewX(-20deg);animation:fbSweep 4.2s 1s ease-in-out infinite}
@keyframes fbSweep{0%{left:-40%}55%,100%{left:130%}}
.first-badge .fb-star{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ig);box-shadow:0 6px 12px -4px rgba(214,41,118,.7)}
.first-badge .fb-star svg{width:16px;height:16px;fill:#fff;animation:fbSpin 6s linear infinite}
@keyframes fbSpin{0%,70%{transform:rotate(0)}100%{transform:rotate(360deg)}}
.first-badge b{font-weight:800}
.phero .lead .first{background:linear-gradient(100deg,#FEDA75,#FA7E1E 45%,#D62976);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800;padding:0 .05em;box-shadow:inset 0 -.14em 0 rgba(198,166,92,.35)}
.first-facts{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.first-facts li{position:relative;display:flex;flex-direction:column;gap:4px;padding:15px 16px 16px;border-radius:16px;background:linear-gradient(180deg,#fff,#FBFAF6);box-shadow:inset 0 1px 0 #fff,0 0 0 1px var(--rule),0 12px 22px -16px rgba(0,0,0,.35)}
.first-facts li::before{content:"";position:absolute;left:16px;top:0;width:34px;height:3px;border-radius:0 0 3px 3px;background:var(--ig)}
.first-facts b{font:800 .98rem/1.25 var(--f-display);letter-spacing:-.01em}
.first-facts span{font-size:.84rem;line-height:1.45;color:var(--mute)}
@media (max-width:760px){.first-facts{grid-template-columns:1fr}.first-badge{font-size:.84rem}}
@media (prefers-reduced-motion:reduce){.first-badge::after,.first-badge .fb-star svg{animation:none}}
/* === END ONLINE NÁVRHÁŘ === */

/* === IKONY: iOS plovoucí kontakt + dlaždice v menu === */
.fab-menu i,.fab-menu a:nth-child(2) i{width:48px;height:48px;border-radius:0;background:none;color:inherit;filter:drop-shadow(0 5px 7px rgba(0,0,0,.22))}
.fab-menu i svg.ios{width:100%;height:100%;display:block}
.fab-menu a{transition:transform .25s var(--ease),box-shadow .25s}
.fab-menu a:hover i{animation:iosBounce .5s var(--ease)}
@keyframes iosBounce{0%{transform:scale(1)}40%{transform:scale(.88)}100%{transform:scale(1.06)}}
.mega .mi{position:relative;isolation:isolate;display:grid;place-items:center;width:64px;height:60px}
.mega .mi::before{content:"";position:absolute;inset:0 3px;z-index:-1;border-radius:16px;background:linear-gradient(160deg,#2a2a2a,#050505);box-shadow:0 12px 20px -12px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.16),inset 0 0 0 1px rgba(255,255,255,.04);transform:skewX(-6deg);transition:background .35s,box-shadow .35s,transform .35s var(--ease)}
.mega .mi::after{content:"";position:absolute;inset:0 3px;z-index:-1;border-radius:16px;background:var(--ig);opacity:0;transform:skewX(-6deg);transition:opacity .35s}
.mega .mi .ico{width:42px;height:32px}
.mega .mi .ico .s{stroke:var(--night-gold,#D8BB78);stroke-width:2.6;transition:stroke .3s}
.mega a:hover .mi::after,.mega a:focus-visible .mi::after{opacity:1}
.mega a:hover .mi::before{transform:skewX(-6deg) translateY(-2px);box-shadow:0 16px 24px -12px rgba(214,41,118,.6),inset 0 1px 0 rgba(255,255,255,.2)}
.mega a:hover .mi .ico .s{stroke:#fff}
.mega a{grid-template-columns:64px minmax(0,1fr);position:relative;isolation:isolate}
.mega a:not(.all)::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:14px;background:var(--paper-2);opacity:0;transform:skewX(-3deg);transition:opacity .25s}
.mega a:not(.all):hover::before{opacity:1}
.mega a:not(.all):hover{background:none}
/* === END IKONY === */

/* === HOME HERO: ateliér (náčrt → živý web → všechna zařízení → výsledky) === */
.stage{container-type:inline-size}
@media (min-width:1021px){.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.14fr)}}
.sheet{background-image:linear-gradient(rgba(198,166,92,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(198,166,92,.10) 1px,transparent 1px);background-size:4.5cqw 4.5cqw;background-position:center}
.sheet .wf{transform-origin:0 50%;will-change:transform}
.wf .f{opacity:1}
.fin .sheet .wf{transform:scale(.62)}
.beam{position:absolute;z-index:2;top:5%;bottom:7%;left:6%;width:3px;border-radius:3px;background:linear-gradient(180deg,#FEDA75,#FA7E1E,#D62976,#962FBF,#4F5BD5);box-shadow:0 0 14px 2px rgba(250,126,30,.55),0 0 38px 6px rgba(214,41,118,.28);opacity:0;pointer-events:none}
.hs{position:absolute;inset:0;pointer-events:none;z-index:4}
.pl{position:absolute;translate:calc(var(--mx,0) * var(--d,1) * 14px) calc(var(--my,0) * var(--d,1) * 10px);transition:translate .35s cubic-bezier(.2,.7,.2,1)}
.it{position:relative}
.dv{container-type:inline-size;background:linear-gradient(160deg,#2c2c2c,#080808);box-shadow:0 2.6cqw 5cqw -2.4cqw rgba(0,0,0,.6),inset 0 0 0 1px rgba(255,255,255,.12);padding:3.4%}
.dv-s{height:100%;background:#fff;overflow:hidden;display:flex;flex-direction:column;gap:3.4cqw;padding:4cqw}
.dv-tab{border-radius:6% / 4.5%;padding:3.6%}
.dv-tab .dv-s{border-radius:3% / 2.2%}
.dv-pho{border-radius:16% / 7.4%;padding:5.2% 5.2%}
.dv-pho .dv-s{border-radius:11% / 5%;padding:7cqw 6cqw;gap:6cqw}
.ms-h{display:flex;align-items:center;gap:3cqw;flex:none}
.ms-h .lg{width:11cqw;height:3.4cqw;border-radius:1cqw;background:#C6A65C}
.ms-h b{width:7cqw;height:1.6cqw;border-radius:1cqw;background:#cfcac0;margin-left:auto}
.ms-h b+b{margin-left:0}
.ms-h u{width:12cqw;height:4.6cqw;border-radius:99px;background:#000}
.dv-pho .ms-h b{display:none}
.dv-pho .ms-h u{margin-left:auto;width:6cqw;height:3cqw;border-radius:1cqw}
.ms-hero{flex:none;display:grid;grid-template-columns:1.1fr 1fr;gap:3cqw;align-items:center;padding:4cqw;border-radius:2.4cqw;background:#000}
.dv-pho .ms-hero{grid-template-columns:1fr;gap:4cqw;padding:5cqw}
.ms-hero .tx{display:flex;flex-direction:column;gap:2cqw}
.ms-hero s{display:block;height:2.6cqw;border-radius:1cqw;background:#fff}
.ms-hero .w2{width:70%}
.ms-hero .g1{height:1.4cqw;background:#8b867c;width:85%}
.ms-hero .pill{display:block;width:34%;height:4.4cqw;border-radius:99px;background:linear-gradient(100deg,#FEDA75,#FA7E1E 30%,#D62976 58%,#962FBF 80%,#4F5BD5);margin-top:1cqw}
.ms-hero .im{border-radius:1.6cqw;background:#C6A65C;overflow:hidden;aspect-ratio:1.5}
.ms-hero .im svg{display:block;width:100%;height:100%}
.dv-pho .ms-hero .im{aspect-ratio:2}
.ms-grid{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:3cqw}
.dv-pho .ms-grid{grid-template-columns:1fr}
.dv-pho .ms-grid div:nth-child(n+3){display:none}
.ms-grid div{border-radius:2cqw;background:#F6F6F4;box-shadow:inset 0 0 0 1px #E6E3DC;padding:3cqw;display:flex;flex-direction:column;gap:1.8cqw;justify-content:center}
.ms-grid s{display:block;height:1.5cqw;border-radius:1cqw;background:#d6d2c9}
.ms-grid s:first-child{width:45%;background:#C6A65C;height:1.8cqw}
.ms-ft{flex:none;height:5cqw;border-radius:1.6cqw;background:#000}
.dv-pho .ms-ft{height:7cqw;border-radius:99px}
.wg{background:#fff;border-radius:2.2cqw;box-shadow:0 0 0 1px var(--rule),0 2.2cqw 4.4cqw -2cqw rgba(0,0,0,.45);font-size:max(10.5px,2cqw);line-height:1.25;color:var(--ink)}
.wg b{font-family:var(--f-display);font-weight:800}
.wg small{display:block;color:var(--mute);font-size:.84em}
.p-tab{left:60%;top:13%;width:23.5%}
.dv-tab{aspect-ratio:3/4}
.p-pho{left:85.5%;top:31%;width:12%}
.dv-pho{aspect-ratio:9/19}
.p-serp{left:3%;top:2.5%;width:44%}
.wg-serp{padding:1.6cqw 2cqw 2cqw;display:flex;flex-direction:column;gap:.55em;border-radius:2cqw}
.sp-url{display:flex;align-items:center;gap:.6em;font-size:.82em;color:var(--mute)}
.sp-url i{display:grid;place-items:center;width:1.9em;height:1.9em;border-radius:50%;background:#000;color:var(--night-gold,#D8BB78);font:800 .62em var(--f-display);font-style:normal}
.sp-url b{font-weight:500;font-family:var(--f-body)}
.sp-t{font-size:1.12em;line-height:1.2;color:#1a0dab;font-family:var(--f-body)!important;font-weight:500!important}
.sp-d{display:flex;flex-direction:column;gap:.4em}
.sp-d s{display:block;height:.5em;border-radius:1em;background:#e1ded6;width:94%}
.sp-d s+s{width:70%}
.sp-rank{position:absolute;right:-1.2cqw;top:-2.2cqw;padding:.55em .95em;border-radius:99px;background:linear-gradient(100deg,#FEDA75,#FA7E1E 35%,#D62976 70%,#962FBF);color:#fff;font:800 .9em var(--f-display);font-style:normal;box-shadow:0 1.4cqw 2.4cqw -1cqw rgba(214,41,118,.7)}
.p-lh{left:38%;top:79%;width:30%}
.wg-lh{display:flex;align-items:center;gap:1.4cqw;padding:1.5cqw 2cqw 1.5cqw 1.5cqw}
.wg-lh .ring{position:absolute;left:1.5cqw;top:50%;width:6.4cqw;height:6.4cqw;translate:0 -50%;transform:rotate(-90deg)}
.wg-lh .ring circle{fill:none;stroke-width:4;stroke-linecap:round}
.wg-lh .rb{stroke:#E2F4E8}
.wg-lh .rf{stroke:#12B858;stroke-dasharray:100;stroke-dashoffset:0}
.wg-lh .num{position:relative;display:grid;place-items:center;width:6.4cqw;height:6.4cqw;flex:none;font-size:1.25em;color:#0A8F43}
.wg-lh>span{display:flex;flex-direction:column;min-width:0}
.wg-lh>span b{font-size:1em;font-weight:700}
.p-ord{left:3%;top:79%;width:31%}
.wg-ord{display:flex;align-items:center;gap:1.6cqw;padding:1.6cqw 2cqw 1.6cqw 1.6cqw}
.wg-ord i{flex:none;display:grid;place-items:center;width:5.2cqw;height:5.2cqw;border-radius:1.6cqw;background:linear-gradient(180deg,#34D26B,#16A94A);box-shadow:0 .8cqw 1.4cqw -.6cqw rgba(22,169,74,.7)}
.wg-ord i svg{width:62%;height:62%}
.wg-ord span{display:flex;flex-direction:column;min-width:0}
.wg-ord b{font-weight:700}
.wg-ord .amt{font:800 1.18em var(--f-display);color:var(--ink);font-variant-numeric:tabular-nums}
.p-tag{left:61%;top:3.5%}
.wg-tag{padding:.7em 1.1em;border-radius:99px;background:#000;color:#fff;font:700 .92em var(--f-display);white-space:nowrap;box-shadow:0 1.6cqw 2.6cqw -1.2cqw rgba(0,0,0,.6)}
.wg-tag::before{content:"";display:inline-block;width:.6em;height:.6em;margin-right:.6em;border-radius:50%;background:#3ddc84}
@media (max-width:640px){.p-ord,.p-tag{display:none}.p-lh{left:6%}.wg{font-size:max(9px,2.6cqw)}.p-serp{width:52%}.wg-lh{width:150%}}
@media (prefers-reduced-motion:reduce){.pl{transition:none}}
/* === END HOME HERO === */

/* === ÚVOD: tři poslední zakázky === */
.works3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,36px)}
.work3{display:flex;flex-direction:column;gap:14px;min-width:0}
.work3 .shot{display:block;border:0;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.14),0 26px 50px -30px rgba(0,0,0,.5);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.work3 .shot:hover{transform:translateY(-5px);box-shadow:0 0 0 1px rgba(0,0,0,.14),0 36px 60px -30px rgba(0,0,0,.6)}
.work3 .shot img{display:block;width:100%;height:auto;aspect-ratio:2.05/1;object-fit:cover;object-position:top;transform:none!important}
.work3 h3{margin:6px 0 0;font-size:clamp(1.25rem,1rem + .9vw,1.6rem);letter-spacing:-.03em}
.work3 p{margin:0;color:var(--mute);line-height:1.55;font-size:.95rem}
.work3 ul{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.work3 li{position:relative;isolation:isolate;font-size:.8rem;padding:5px 11px;color:var(--char)}
.work3 li::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:var(--rr);transform:skewX(var(--sk));box-shadow:inset 0 0 0 1px var(--rule)}
@media (max-width:900px){.works3{grid-template-columns:minmax(0,1fr)}}
/* === END ÚVOD ZAKÁZKY === */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}

/* ===== COOKIE LIŠTA ===== */
.ftr-cc{appearance:none;background:none;border:0;padding:0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ftr-cc:hover{color:#fff}
.cc-inline{appearance:none;background:none;border:0;padding:0;font:inherit;font-weight:600;cursor:pointer}
.cc{position:fixed;left:clamp(12px,2vw,24px);bottom:calc(env(safe-area-inset-bottom,0px) + clamp(12px,2vw,24px));z-index:200;width:min(460px,calc(100vw - 24px));background:#0d0c0a;color:#e8e3d6;border:1px solid #3a3224;border-radius:22px;box-shadow:0 24px 70px -18px rgba(0,0,0,.65),0 0 0 1px rgba(198,166,92,.12) inset;padding:20px 20px 18px;transform:translateY(24px) scale(.98);opacity:0;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .35s}
.cc.on{transform:none;opacity:1}
.cc h2{font:700 1.02rem/1.2 var(--f-display);color:#fff;margin:0 0 8px;letter-spacing:-.01em}
.cc p{margin:0;font-size:.84rem;line-height:1.55;color:#bdb7a8}
.cc a{color:var(--gold)}
.cc-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.cc-b{appearance:none;cursor:pointer;font:600 .84rem/1 var(--f-body);padding:12px 18px;border-radius:999px;border:1.5px solid #4a4130;background:transparent;color:#fff;flex:1 1 auto;transition:background-color .2s,border-color .2s,transform .2s}
.cc-b:hover{border-color:var(--gold);background:rgba(198,166,92,.1)}
.cc-b:active{transform:scale(.97)}
.cc-yes{background:var(--ig);border-color:transparent;color:#fff}
.cc-yes:hover{background:var(--ig);filter:brightness(1.08);border-color:transparent}
.cc-set-box{margin-top:14px;border-top:1px solid #2c261b;padding-top:6px}
.cc-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 0;border-bottom:1px solid #1f1b13;cursor:pointer}
.cc-row b{display:block;color:#fff;font-size:.88rem}
.cc-row small{display:block;color:#9d9788;font-size:.76rem;line-height:1.45;margin-top:2px}
.cc-row input{appearance:none;flex:none;width:44px;height:26px;border-radius:999px;background:#3a3427;position:relative;cursor:pointer;transition:background-color .25s}
.cc-row input::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .25s cubic-bezier(.3,.8,.3,1)}
.cc-row input:checked{background:var(--gold)}
.cc-row input:checked::after{transform:translateX(18px)}
.cc-row input:disabled{opacity:.55;cursor:not-allowed}
.cc-row input:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media (max-width:600px){.cc{left:8px;right:8px;width:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 8px);padding:16px 16px 14px}.cc-btns{flex-direction:column}.cc-b{width:100%}}
@media (prefers-reduced-motion:reduce){.cc{transition:none;transform:none}}

/* ===== OPRAVY: cookie tlačítko, hlavička, menu služeb, vyhlazení, logo, šipka nahoru ===== */
/* přechod barvy nesmí pod okrajem tlačítka začínat znovu */
.cc-yes{background-origin:border-box;background-clip:border-box;border-color:transparent}

/* hlavička na počítači: logo vlevo, kategorie uprostřed, Online návrhář webu úplně vpravo */
@media (min-width:1181px){
  .hdr-in{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:18px;max-width:none;margin-inline:0;padding-inline:20px}
  .hdr-in .logo{justify-self:start}
  .hdr-in .nav{margin:0;justify-self:center}
  .hdr-in .hdr-cta{margin:0;justify-self:end}
}

/* menu Služby: při najetí bez sklonu */
.mega a:not(.all)::before{transform:none}
.mega a:hover .mi::before,.mega a:focus-visible .mi::before{transform:skewX(-6deg)}

/* logo v patičce je odkaz */
.ftr-logo{display:inline-block;margin-bottom:20px}
.ftr-top .ftr-logo img{margin-bottom:0;display:block}
.mnav-top a{display:inline-flex}

/* vyhlazení hran zkosených tvarů: vykreslují se jako samostatná vrstva a hrany se vyhladí */
.btn::before,.chip::before,.work li::before,.ftr .ftr-chips li a::after,.plan .rec-tag::before,
.nav-a::before,.hdr-tel::before,.sketch-link::before,.burger::before,.mnav-close::before,
.o-core::before,.o-halo,.o-in::before,.wa-nb,.wa-cta::before,.wa-chip::before,.wa-toast::before,.ca-new,
.work2 li::before,.work3 li::before,.first-badge::before,.mega .mi::before,.mega .mi::after,.mega a:not(.all)::before{
  will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}

/* šipka nahoru nad telefonem */
.totop{position:absolute;right:9px;bottom:72px;appearance:none;border:0;padding:0;cursor:pointer;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:var(--gold);background:rgba(10,9,7,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1.5px rgba(198,166,92,.7),0 10px 22px -10px rgba(0,0,0,.6);opacity:0;visibility:hidden;transform:translateY(10px) scale(.9);transition:opacity .3s,transform .35s var(--ease),visibility 0s .35s,background-color .2s,color .2s}
.totop svg{width:19px;height:19px;display:block}
.totop.on{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .35s var(--ease),visibility 0s,background-color .2s,color .2s}
.totop:hover{background:var(--ig);color:#fff;box-shadow:0 12px 24px -10px rgba(214,41,118,.6)}
.totop:active{transform:scale(.94)}
.totop:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.fab.open .totop{opacity:0;visibility:hidden;pointer-events:none}
@media (prefers-reduced-motion:reduce){.totop,.totop.on{transition:none;transform:none}}

/* ===== MOBIL: oprava dotyku a menu ===== */
/* žádný barevný čtverec při klepnutí */
a,button,summary,label,[role="button"],.fab-btn,.totop,.burger,.mnav-close,.chip,.btn{-webkit-tap-highlight-color:transparent}
.fab-btn,.totop,.burger,.mnav-close,.btn,.chip,.fab-menu a,.cc-b{touch-action:manipulation}
.fab-btn:focus{outline:none}
.fab-btn:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 6px var(--gold)}
/* pulzující kruh je ořezaný do kruhu, aby se na mobilu nikdy nevykreslil jako čtverec */
.fab-btn::before{clip-path:circle(50% at 50% 50%);-webkit-clip-path:circle(50% at 50% 50%);will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.fab-btn{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
@keyframes fabping{0%{transform:scale(1);opacity:.5}70%,100%{transform:scale(1.55);opacity:0}}
/* na dotykovém zařízení nezůstává "hover" po klepnutí */
@media (hover:none){
  .fab-btn:hover{transform:none;background-position:0 50%}
  .totop:hover{background:rgba(10,9,7,.88);color:var(--gold);box-shadow:inset 0 0 0 1.5px rgba(198,166,92,.7),0 10px 22px -10px rgba(0,0,0,.6)}
  .fab-menu a:hover{transform:none}
}
/* otevřené mobilní menu: nic jiného (cookie lišta, telefon) nesmí překrývat a blokovat posouvání */
.mnav{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;height:100%;height:100dvh;overflow-y:auto}
body.mnav-open .cc,body.mnav-open .fab{visibility:hidden;pointer-events:none}
/* cookie lišta na mobilu: kompaktnější, hlavní tlačítko nahoře, dvě vedlejší vedle sebe */
@media (max-width:600px){
  .cc{padding:14px 14px 12px;border-radius:18px}
  .cc h2{font-size:.95rem;margin-bottom:6px}
  .cc p{font-size:.78rem;line-height:1.45}
  .cc-btns{flex-direction:row;flex-wrap:wrap;gap:8px;margin-top:12px}
  .cc-b{width:auto;flex:1 1 calc(50% - 4px);padding:12px 10px;font-size:.8rem}
  .cc-yes{order:-1;flex:1 1 100%}
}

/* ===== OPRAVY 3 ===== */
/* cookie: tlačítko "Přijmout vše" bez okraje i při najetí (žádný proužek gradientu) */
.cc-yes,.cc-yes:hover,.cc-yes:focus-visible{border:0;background:var(--ig);background-origin:border-box;background-clip:border-box;padding:13.5px 19.5px}
@media (max-width:600px){.cc-yes,.cc-yes:hover{padding:13.5px 11.5px}}
/* menu Služby: ikony bez sklonu, v klidu i při najetí */
.mega .mi::before,.mega .mi::after,.mega a:hover .mi::before,.mega a:focus-visible .mi::before,.mega a:hover .mi::after{transform:none}
.mega a:hover .mi::before{transform:translateY(-2px)}
/* ceník: celá karta (i obrázek) je odkaz */
.pt-link{position:absolute;inset:0;z-index:1}
.pt .btn{position:relative;z-index:2}
.pt:has(.pt-link){cursor:pointer}
.pt .btn::after{display:none}
.totop svg{width:24px;height:24px;position:absolute;left:50%;top:50%;margin:-12px 0 0 -12px}
/* otevřené mobilní menu: schovat i šipku nahoru a všechno uvnitř tlačítka telefonu a cookie lišty */
body.mnav-open .fab,body.mnav-open .fab *,body.mnav-open .cc,body.mnav-open .cc *,body.mnav-open .totop{visibility:hidden!important;pointer-events:none!important}

/* ===== mobilní menu: Služby se rozbalí až po klepnutí ===== */
.mnav .mn-toggle{appearance:none;background:none;border:0;border-bottom:1px solid #2a2826;width:100%;cursor:pointer;text-align:left;display:flex;align-items:center;gap:12px;padding:14px 0;font-family:var(--f-display);font-weight:800;font-size:clamp(1.7rem,7vw,2.4rem);letter-spacing:-.03em;color:var(--night-fg);-webkit-tap-highlight-color:transparent}
.mnav .mn-toggle span{flex:1}
.mnav .mn-toggle small{font-family:var(--f-body);font-weight:400;font-size:.8rem;color:var(--night-mute);letter-spacing:0}
.mnav .mn-chev{flex:none;width:30px;height:30px;padding:6px;border-radius:50%;box-shadow:inset 0 0 0 1px #3a3835;color:var(--night-gold,#D8BB78);transition:transform .35s var(--ease),background-color .2s}
.mnav .has-sub.open .mn-chev{transform:rotate(180deg);background:rgba(216,187,120,.14)}
.mnav .mn-toggle:focus-visible{outline:2px solid var(--night-gold,#D8BB78);outline-offset:2px}
.mnav .mn-sub{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .4s var(--ease),visibility 0s .4s}
.mnav .has-sub.open .mn-sub{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .4s var(--ease),visibility 0s}
.mnav .mn-sub-in{overflow:hidden;min-height:0;display:flex;flex-direction:column;padding-left:2px}
.mnav .mn-sub-in a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 4px 13px 16px;border:0;border-bottom:1px solid #22201e;border-radius:0;font-family:var(--f-body);font-weight:500;font-size:1.05rem;letter-spacing:0;color:var(--night-fg);position:relative}
.mnav .mn-sub-in a::before{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--night-gold,#D8BB78);opacity:.7}
.mnav .mn-sub-in a::after{content:"";width:8px;height:8px;border-top:1.5px solid #8d8777;border-right:1.5px solid #8d8777;transform:rotate(45deg);flex:none;margin-right:4px}
.mnav .mn-sub-in a.mn-all{color:var(--night-gold,#D8BB78);font-weight:700}
.mnav .mn-sub-in a.mn-all::after{border-color:var(--night-gold,#D8BB78)}
.mnav .mn-sub-in a:last-child{border-bottom:0;padding-bottom:6px}
@media (prefers-reduced-motion:reduce){.mnav .mn-sub,.mnav .mn-chev{transition:none}}

/* hub služeb: popisek pod kruhem má pevnou výšku, aby se při najetí nehýbal nadpis vedle */
#o-cap{min-height:4.9em}
@media (max-width:600px){#o-cap{min-height:6.6em}}
.mnav .mn-sub-in a{display:block;padding-right:32px}
.mnav .mn-sub-in a::after{position:absolute;right:6px;top:50%;margin:-5px 0 0}
.mnav .mn-sub-in a:last-child{padding-bottom:13px}
.mnav .mn-sub-in{padding-bottom:6px}

/* ===== KONTAKT: klidné, formální karty týmu (světlé, bez animací) ===== */
.team-sec{background:var(--paper-2);padding-block:clamp(64px,8vw,112px);overflow:visible}
.team-sec::before{display:none}
.team-sec h2{color:var(--ink);margin-bottom:clamp(32px,4.5vw,56px)}
.team3{gap:clamp(18px,2vw,28px)}
.pc-w{animation:none!important}
.pc-w::before{display:none}
.pc{gap:0;padding:32px 30px 28px;border-radius:4px;background:#fff;color:var(--char);border:1px solid var(--rule);border-top:2px solid var(--ink);box-shadow:none;transform:none!important;transition:border-color .25s,box-shadow .25s;--sk:0deg}
.pc:hover{border-color:#cfcabd;border-top-color:var(--ink);box-shadow:0 18px 36px -26px rgba(0,0,0,.35)}
.pc::before,.pc-shine{display:none}
.pc header{gap:18px;padding-bottom:22px}
.pc-av{width:60px;height:60px;border-radius:50%;background:var(--ink);box-shadow:none;font-family:var(--f-display);font-weight:500;font-size:1.55rem;letter-spacing:0;color:var(--night-gold,#D8BB78)}
.pc-av::after{display:none}
.pc h3{font-size:1.45rem;letter-spacing:-.02em;font-weight:700;color:var(--ink)}
.pc .role{font-size:.88rem;line-height:1.55;margin-top:4px;color:var(--mute)}
.pc-lines{padding:0;gap:0;border-top:1px solid var(--rule);flex:1}
.pc-lines li{padding:14px 0;border-bottom:1px solid var(--rule)}
.pc-lines li:last-child{border-bottom:0}
.pc-ico svg{stroke:var(--gold-deep)}
.pc-lines a{color:var(--ink);font-weight:500}
.pc-lines a:hover{color:var(--gold-deep)}
.pc .copy{width:30px;height:30px;border-radius:50%;border:1px solid var(--rule);color:var(--mute);background:#fff}
.pc .copy:hover,.pc .copy.ok{background:var(--ink);color:#fff;border-color:var(--ink)}
.pc-act{padding-top:22px;gap:10px}
.pc-act .btn{--sk:0deg;transform:none!important;border-radius:999px;box-shadow:none;font-weight:600;padding:.8em 1.5em}
.pc-act .btn::before{display:block;transform:none;border-radius:999px;box-shadow:none;background-size:auto;transition:background-color .2s,box-shadow .2s}
.pc-act .btn.btn-ig{color:#fff}
.pc-act .btn.btn-ig::before{background:var(--ig);background-size:150% 100%;background-position:0 50%;box-shadow:0 10px 24px -12px rgba(214,41,118,.55)}
.pc-act .btn.btn-ig:hover::before{background-position:100% 50%;box-shadow:0 14px 28px -14px rgba(150,47,191,.6)}
.pc-act .btn.btn-line{color:var(--ink)}
.pc-act .btn.btn-line::before{background:transparent;box-shadow:inset 0 0 0 1px var(--ink)}
.pc-act .btn.btn-line:hover{color:#fff}
.pc-act .btn.btn-line:hover::before{background:var(--ink)}
.pc-act .btn svg{stroke:currentColor}
@media (max-width:480px){.pc{padding:26px 20px 22px}.pc-av{width:54px;height:54px;font-size:1.4rem}.pc-act .btn{flex:1 1 auto;justify-content:center}}

/* NAVIGACE: čistě černá lišta, přes ni občas přeběhne zlatý lesk */
.hdr-bg{background:rgba(6,6,6,.97)}
.hdr-bg::after{width:30%;background:linear-gradient(105deg,transparent 0%,rgba(198,166,92,.10) 30%,rgba(255,236,190,.34) 50%,rgba(198,166,92,.10) 70%,transparent 100%);animation:sheen 6.5s cubic-bezier(.45,0,.25,1) infinite}
@keyframes sheen{0%,45%{transform:translateX(-110%)}100%{transform:translateX(370%)}}
@media (prefers-reduced-motion:reduce){.hdr-bg::after{animation:none;opacity:0}}

/* Doplňky: seznam cen se rozbalí tlačítkem „Zobrazit ceny“ */
.fold-bar{margin-top:clamp(18px,2.4vw,28px)}
.fold-btn .chev{flex:none;transition:transform .45s var(--ease)}
.fold-btn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.fold{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .6s var(--ease),visibility 0s linear .6s}
.fold.open{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .6s var(--ease),visibility 0s}
.fold>.fold-in{min-height:0;overflow:hidden}
.fold-in>.addon-g:first-child{margin-top:clamp(20px,3vw,36px)}
@media (prefers-reduced-motion:reduce){.fold,.fold.open{transition:none}.fold-btn .chev{transition:none}}


/* Otevírací doba (Kontakt) */
.hrs{list-style:none;margin:6px 0 0;padding:0;display:grid}
.hrs li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px solid var(--rule);font-size:.98rem;color:var(--char)}
.hrs li:last-child{border-bottom:0}
.hrs li b{font-family:var(--f-display);font-weight:700;color:var(--ink);white-space:nowrap}
.hrs li.closed b{color:var(--mute);font-weight:600}
.hrs li.today{position:relative}
.hrs li.today span{font-weight:600;color:var(--ink)}
.hrs li.today span::after{content:"dnes";margin-left:10px;padding:2px 9px;border-radius:99px;background:var(--gold-soft);color:var(--gold-deep);font:700 .68rem/1.5 var(--f-display);letter-spacing:.04em;text-transform:uppercase;vertical-align:2px}
.open-now{margin:2px 0 4px;display:inline-flex;align-items:center;gap:9px;font-weight:500;font-size:.92rem;color:var(--char)}
.open-now::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--mute);flex:none}
.open-now.on::before{background:var(--ok);box-shadow:0 0 0 4px rgba(31,122,77,.16)}
.phone-hrs .until{font:800 clamp(2rem,1.4rem + 2.4vw,3rem)/1.05 var(--f-display);color:var(--ink);margin:2px 0 4px;letter-spacing:-.02em}
.phone-hrs .pc-act{margin-top:auto;padding-top:18px}

/* Instagram: okno „Sledujte nás“ */
[data-ig][hidden]{display:none!important}
.igp{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:20px;background:rgba(8,7,5,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .3s}
.igp.on{opacity:1}
.igp-card{position:relative;width:min(440px,100%);padding:44px 34px 30px;border-radius:26px;background:#0d0c0a;color:#e8e3d6;text-align:center;box-shadow:0 40px 90px -24px rgba(0,0,0,.7),inset 0 0 0 1px rgba(198,166,92,.18);overflow:hidden;transform:translateY(22px) scale(.97);transition:transform .45s cubic-bezier(.2,.8,.2,1);outline:0}
.igp.on .igp-card{transform:none}
.igp-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--ig)}
.igp-x{position:absolute;top:12px;right:14px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.07);color:#fff;font:400 1.5rem/1 var(--f-body);cursor:pointer;transition:background-color .2s}
.igp-x:hover{background:rgba(255,255,255,.16)}
.igp-badge{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 20px;border-radius:24px;background:var(--ig);color:#fff;box-shadow:0 18px 36px -14px rgba(214,41,118,.65)}
.igp-badge svg{width:38px;height:38px}
.igp-card h2{font:800 clamp(1.5rem,1.2rem + 1.2vw,1.9rem)/1.15 var(--f-display);color:#fff;letter-spacing:-.015em;margin:0 0 12px;text-wrap:balance}
.igp-card p{margin:0 auto;max-width:34ch;font-size:.97rem;line-height:1.6;color:#bdb7a8}
.igp-card .igp-handle{margin-top:14px;font:700 1rem var(--f-display);color:var(--night-gold)}
.igp-act{display:grid;gap:6px;margin-top:24px}
.igp-act .btn{justify-content:center;width:100%}
.igp-no{appearance:none;border:0;background:none;color:#a9a59c;font:500 .9rem var(--f-body);padding:12px;cursor:pointer;border-radius:99px}
.igp-no:hover{color:#fff}
@media (max-width:480px){.igp{padding:16px}.igp-card{padding:40px 22px 22px;border-radius:24px;max-height:calc(100dvh - 32px);overflow-y:auto}}
@media (prefers-reduced-motion:reduce){.igp,.igp-card{transition:none}}

/* Kontakt: fotka zaměstnance nad kartou a pruh s Instagramem */
.pc-photo{margin:-32px -30px 24px;aspect-ratio:4/3;overflow:hidden;background:var(--gold-soft)}
.pc-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.pc header{padding-bottom:20px}
@media (max-width:480px){.pc-photo{margin:-26px -22px 22px}}
.ig-band{background:var(--night);color:#fff;padding-block:clamp(14px,1.8vw,20px);position:relative}
.ig-band::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--ig)}
.ig-band[hidden]{display:none!important}
.ig-band-in{display:flex;align-items:center;justify-content:center;gap:clamp(12px,2.4vw,26px);flex-wrap:wrap}
.ig-band-logo{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--ig);color:#fff;flex:none}
.ig-band-logo svg{width:22px;height:22px}
.ig-band p{margin:0;font:700 clamp(1.02rem,.9rem + .5vw,1.28rem)/1.25 var(--f-display);color:#fff}
.ig-band .btn{min-height:42px;padding:.55em 1.5em;font-size:.92rem}
@media (max-width:560px){.ig-band-in{justify-content:space-between;flex-wrap:nowrap;gap:12px}.ig-band p{flex:1;font-size:.98rem}.ig-band .btn{flex:none}}
.team-sec[hidden]{display:none!important}
/* méně než tři karty: zůstanou stejně široké jako při třech (jinak by se roztáhly), zarovnané doleva */
.team3.team-n1,.team3.team-n2{display:flex;flex-wrap:wrap;justify-content:flex-start}
.team3.team-n1>.pc-w,.team3.team-n2>.pc-w{flex:0 1 calc((100% - 2 * clamp(18px,2vw,28px)) / 3);min-width:min(320px,100%)}
@media (max-width:1180px){.team3.team-n1,.team3.team-n2{display:grid}}

/* Naše práce: další práce po třech */
.works-more{display:flex;justify-content:center;margin-top:clamp(40px,5vw,72px)}
.work2[hidden]{display:none}
@keyframes wkIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){.work2.rv{animation:wkIn .7s var(--ease) both}}
