/* Môj životopis – vzhľad A4 stránky (spoločný pre PC aj mobilný editor) */
.page{--f:1;--s:1;--side:#1d2b3a;--side2:#24364a;--stext:#dfe6ee;--accent:#e0566f;--head:#1d2b3a;--sideW:71mm;
 --stitle:#fff;--sline:rgba(255,255,255,.18);--soff:rgba(255,255,255,.16);--slevel:#f3a3b1;--font:'Poppins';
 --m:0mm;--mr:0mm;width:210mm;height:297mm;box-sizing:border-box;padding:var(--m);display:flex;overflow:hidden;background:#fff;color:#1f2933;position:relative;
 font-family:var(--font),'Poppins','Liberation Sans',sans-serif;font-size:calc(8.9pt*var(--f));line-height:1.45;
 -webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:0 20px 60px rgba(15,23,34,.22),0 2px 6px rgba(15,23,34,.08)}
.page *{margin:0;padding:0;box-sizing:border-box}
.page aside{width:var(--sideW);flex:none;background:var(--side);color:var(--stext);padding:max(8mm,calc(13mm - var(--m))) 8mm 10mm 9mm;position:relative;z-index:2;border-radius:var(--mr)}
.page aside.grad{background:linear-gradient(180deg,var(--side2),var(--side) 55%)}
.page aside .band{position:absolute;top:0;left:0;right:0;height:calc(42mm - var(--m) * .6);background:var(--side2);border-radius:var(--mr) var(--mr) 0 0}
.page aside>*{position:relative}
.page .photo-wrap{margin:0 auto calc(7mm*var(--s));display:block}
.page .photo-wrap.ring-gradient{background:linear-gradient(135deg,var(--accent),var(--accent-soft,#f7c1ca))}
.page .photo-wrap.ring-accent{background:var(--accent)}
.page .photo-wrap.ring-white{background:#fff}
.page .photo-frame{width:100%;height:100%;overflow:hidden;position:relative;border:0 solid var(--side);background:var(--side2)}
.page .photo-frame img{position:absolute;max-width:none;display:block;user-select:none;-webkit-user-drag:none}
.page .ph-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--stext);opacity:.6;font-size:9pt}
.page aside h2{font-size:calc(9.2pt*var(--f));font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--stitle);margin:calc(7mm*var(--s)) 0 calc(3.4mm*var(--s));display:flex;align-items:center;gap:2.5mm;position:relative}
.page aside h2::after{content:"";flex:1;height:.3mm;background:var(--sline)}
.page aside section:first-of-type h2{margin-top:0}
.page .contact .crow{display:flex;align-items:center;gap:3mm;margin-bottom:calc(2.3mm*var(--s));font-size:calc(8.2pt*var(--f))}
.page .contact .ic{width:6.2mm;height:6.2mm;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;flex:none}
.page .contact .ic svg{width:3.4mm;height:3.4mm;fill:#fff}
.page .contact .ed{min-width:0;overflow-wrap:normal}
.page .skill{display:flex;justify-content:space-between;align-items:center;gap:2mm;margin-bottom:calc(2.6mm*var(--s))}
.page .skill .sk-t{min-width:0}
.page .sname{display:block;font-size:calc(8.3pt*var(--f));color:var(--stext);line-height:1.25}
.page .slevel{display:block;font-size:calc(6.6pt*var(--f));color:var(--slevel);letter-spacing:.03em;line-height:1.2}
.page .dots{display:flex;gap:1.1mm;flex:none}
.page .dots i{width:2.3mm;height:2.3mm;border-radius:50%;background:var(--soff);display:block}
.page .dots i.on{background:var(--accent)}
.page main{flex:1;min-width:0;padding:max(6mm,calc(14mm - var(--m))) max(4mm,calc(12mm - var(--m))) max(6mm,calc(10mm - var(--m))) 11mm;display:flex;flex-direction:column}
.page .credit{position:absolute;right:calc(var(--m) + 5mm);bottom:calc(var(--m) / 2 + 2.6mm);font-family:Inter,'Liberation Sans',sans-serif;font-size:5.6pt;letter-spacing:.02em;color:#a3abb6;line-height:1;white-space:nowrap;pointer-events:none;z-index:1}
.page .credit b{font-weight:600;color:#8d96a2}
.page .name{font-size:calc(27pt*var(--f));font-weight:700;line-height:1.02;letter-spacing:-.01em;color:var(--head)}
.page .name .n2{color:var(--accent)}
.page .role{margin-top:2.5mm;font-size:calc(9.5pt*var(--f));font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#6b7785}
.page .profile{margin-top:calc(6mm*var(--s));padding:4mm 5mm;background:#f6f7f9;border-left:1.2mm solid var(--accent);border-radius:0 2mm 2mm 0;font-family:'Lora',Georgia,serif;font-style:italic;font-size:calc(9.3pt*var(--f));line-height:1.55;color:#36414d}
.page main h2{font-size:calc(10.5pt*var(--f));font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--head);margin:calc(8mm*var(--s)) 0 calc(4mm*var(--s));display:flex;align-items:center;gap:3mm;position:relative}
.page main h2 .num{width:6.5mm;height:6.5mm;border-radius:50%;background:var(--accent);color:#fff;font-size:7.5pt;letter-spacing:0;display:flex;align-items:center;justify-content:center;flex:none}
.page main h2::after{content:"";flex:1;height:.3mm;background:#e6e9ee}
.page .timeline{position:relative;padding-left:6mm}
.page .timeline::before{content:"";position:absolute;left:1.1mm;top:1.5mm;bottom:2mm;width:.4mm;background:#e6e9ee}
.page .job{position:relative;margin-bottom:calc(5.2mm*var(--s))}
.page .job:last-child{margin-bottom:0}
.page .job::before{content:"";position:absolute;left:-6mm;top:1.3mm;width:2.6mm;height:2.6mm;border-radius:50%;background:#fff;border:.6mm solid var(--accent)}
.page .job:first-child::before{background:var(--accent)}
.page .jhead{display:flex;justify-content:space-between;align-items:flex-start;gap:3mm}
.page .jl{min-width:0}
.page h3{font-size:calc(10.3pt*var(--f));font-weight:600;line-height:1.25;color:var(--head)}
.page .company{font-size:calc(8.4pt*var(--f));color:var(--accent);font-weight:500}
.page .note{display:block;color:#6b7785;font-style:italic;font-size:calc(7.8pt*var(--f))}
.page .date{flex:none;font-size:calc(7.6pt*var(--f));font-weight:500;color:var(--head);background:#eef1f5;padding:.6mm 2.4mm;border-radius:3mm;white-space:nowrap}
.page ul{list-style:none;margin-top:1.2mm}
.page li{position:relative;padding-left:3mm;color:#3d4854}
.page li::before{content:"";position:absolute;left:0;top:.75em;width:1.2mm;height:1.2mm;background:var(--accent);border-radius:50%}
.page .two{display:grid;grid-template-columns:1fr 1fr;gap:6mm}
.page .two.one{grid-template-columns:1fr}
.page .edu{margin-bottom:calc(2.5mm*var(--s))}
.page .edu h3{font-size:calc(9.6pt*var(--f))}
.page .edu .company{margin-top:.5mm;display:block}
.page .edu .meta{display:block;font-size:calc(7.8pt*var(--f));color:#6b7785;margin-top:.6mm}
.page .cert{display:flex;gap:2.2mm;align-items:flex-start;margin-bottom:1.6mm;font-size:calc(8.4pt*var(--f))}
.page .cert .ck{width:4.2mm;height:4.2mm;border-radius:50%;background:var(--accent);flex:none;display:flex;align-items:center;justify-content:center;margin-top:.4mm}
.page .cert .ck svg{width:2.8mm;height:2.8mm;fill:#fff}
.page .test{margin-bottom:calc(2mm*var(--s))}
.page .trow{display:flex;justify-content:space-between;gap:2mm;font-size:calc(8.2pt*var(--f));color:#3d4854}
.page .trow b{color:var(--head);font-weight:600;white-space:nowrap}
.page .bar{height:1.5mm;background:#eceff3;border-radius:1mm;margin-top:.6mm;overflow:hidden}
.page .bar div{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-mid,#f08a9c));border-radius:1mm}
.page .small-h{display:block;font-size:calc(7.6pt*var(--f));font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#6b7785;margin:2.6mm 0 1.6mm;position:relative}
.page .tests-col .small-h{margin-top:0}
.page .it{position:relative}

.page .credit{position:absolute;right:calc(var(--m) + 5mm);bottom:calc(var(--m) / 2 + 2.6mm);font-family:Inter,'Liberation Sans',sans-serif;font-size:5.6pt;letter-spacing:.02em;color:#a3abb6;line-height:1;white-space:nowrap;pointer-events:none;z-index:1}
.page .credit b{font-weight:600;color:#8d96a2}
