@font-face{font-family:"SG Expanded";src:url(fonts/sgx-latin-ext.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+20A0-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"SG Expanded";src:url(fonts/sgx-latin.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"SG";src:url(fonts/sg-latin-ext.woff2) format("woff2-variations");font-weight:400 700;font-stretch:75% 125%;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+20A0-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"SG";src:url(fonts/sg-latin.woff2) format("woff2-variations");font-weight:400 700;font-stretch:75% 125%;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Layout: one column of client blocks. Each block = name row + max 3 tile templates (sestava / plná šířka / řada). Work first, words second. */
:root{
  --paper:#F7F3F6;
  --ink:#1E1119;
  --grey:#5C4B57;
  --rule:#E6DAE9;
  --tile:#EEE6EC;
  --blue:#5E1239;
  --display:"SG Expanded","Arial Black",Helvetica,sans-serif;
  --text:"SG",Helvetica,Arial,sans-serif;
  --gap:12px;
  --wrap:1320px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--paper);color:var(--ink);font-family:var(--text);font-size:16px;line-height:1.5;padding-inline:clamp(16px,4vw,56px);-webkit-font-smoothing:antialiased}
a{color:inherit}
img{display:block;width:100%;height:100%;object-fit:cover;max-width:100%}
.wrap{max-width:var(--wrap);margin-inline:auto}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--paper);display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:18px;max-width:var(--wrap);margin-inline:auto}
.mark{font-family:var(--display);font-size:14px;line-height:1.05;letter-spacing:.03em;text-transform:uppercase;text-decoration:none;display:flex;flex-direction:column;align-items:flex-start;text-align:left}
.top nav{display:flex;gap:clamp(14px,2.5vw,32px);font-size:13px;text-transform:uppercase;letter-spacing:.06em;font-weight:500}
.top nav a{text-decoration:none}
.top nav a:hover,.top nav a:focus-visible{color:var(--blue)}
.top nav .mail{color:var(--blue)}

/* intro */
.intro{padding-block:clamp(56px,10vw,140px) clamp(48px,7vw,96px)}
.intro h1{font-family:var(--display);font-weight:400;font-size:clamp(28px,5.2vw,76px);line-height:1.04;letter-spacing:0;text-transform:uppercase;max-width:16ch;margin:0;text-wrap:balance}
.intro .lede{font-size:clamp(17px,1.6vw,21px);line-height:1.45;max-width:52ch;margin:clamp(20px,2.5vw,32px) 0 0;color:var(--grey)}
.intro .lede a{color:var(--ink)}
.intro .lede a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-color:var(--rule)}
.intro .lede a:hover,.intro .lede a:focus-visible{text-decoration-color:var(--blue)}

/* client block */
.client{display:grid;gap:var(--gap);padding-block:clamp(48px,7vw,104px);scroll-margin-top:70px}
.head{display:flex;justify-content:space-between;align-items:baseline;gap:8px 24px;flex-wrap:wrap;padding-bottom:clamp(8px,1.5vw,20px)}
.head h2{font-family:var(--display);font-weight:400;font-size:clamp(24px,3.8vw,52px);line-height:1;letter-spacing:0;text-transform:uppercase;margin:0}
.meta{display:flex;gap:6px 20px;flex-wrap:wrap;color:var(--grey);font-size:15px;font-variant-numeric:tabular-nums}
.meta b{font-weight:500;color:var(--ink)}

.t{overflow:hidden;border-radius:10px;background:var(--tile);isolation:isolate}
/* template 1: sestava (one tall + two stacked) */
.stack{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.stack>.t:first-child{aspect-ratio:4/5;grid-row:span 2}
.stack>.t:not(:first-child){min-height:0;position:relative}
.stack>.t:not(:first-child)>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.stack.flip>.t:first-child{grid-column:2;grid-row:1 / span 2}
.stack.flip>.t:not(:first-child){grid-column:1}
/* template 2: plná šířka */
.full{aspect-ratio:16/8}
/* template 3: řada */
.row{display:grid;grid-template-columns:repeat(var(--n,3),1fr);gap:var(--gap)}
.row>.t{aspect-ratio:var(--r,4/5)}
.contain img{object-fit:contain;background:#fff}
.top-crop img{object-position:top}

.after{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:clamp(10px,1.5vw,18px);font-size:15px;color:var(--grey)}
.after p{margin:0;max-width:60ch}
.after a{color:var(--ink);text-decoration:none;white-space:nowrap}
.after a:hover,.after a:focus-visible{color:var(--blue)}

/* smaller work */
.small{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.small figure{margin:0;display:grid;gap:10px}
.small .t{aspect-ratio:4/3}
.small figcaption{font-size:15px}
.small figcaption span{color:var(--grey)}

/* about */
.about{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,72px);padding-block:clamp(56px,8vw,120px);scroll-margin-top:70px}
.about .t{aspect-ratio:4/5;align-self:start}
.about h2{font-family:var(--display);font-weight:400;font-size:clamp(20px,2.3vw,30px);line-height:1.2;text-transform:uppercase;margin:0 0 28px;max-width:26ch;text-wrap:balance}
.about p{max-width:58ch;margin:0 0 16px;font-size:17px}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px;padding-top:24px;border-top:1px solid var(--rule);font-size:15px}
.facts h3{font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--grey);margin:0 0 8px}
.facts ul{list-style:none;margin:0;padding:0;line-height:1.7}

/* footer */
.foot{padding-block:clamp(48px,7vw,96px) 32px}
.foot .say{font-size:15px;color:var(--grey);margin:0 0 12px}
.foot .big{display:inline-flex;align-items:center;gap:clamp(14px,1.6vw,24px);font-family:var(--display);font-size:clamp(18px,2.4vw,34px);line-height:1;text-decoration:none;color:#fff;background:var(--ink);padding:clamp(20px,2.4vw,34px) clamp(26px,3.4vw,52px);border-radius:999px;max-width:100%;word-break:break-word;transition:background .5s cubic-bezier(.22,.61,.36,1),transform .5s cubic-bezier(.22,.61,.36,1)}
.foot .big::after{content:'\2192';font-family:var(--text);transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.foot .big:hover,.foot .big:focus-visible{background:var(--blue);color:#fff}
.foot .big:hover::after{transform:translateX(6px)}
@media (max-width:560px){.foot .big{font-size:16px;padding:18px 22px;gap:10px}}
.foot .line{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:clamp(48px,7vw,96px);font-size:14px;color:var(--grey)}

a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}

@media (max-width:760px){
  .stack{grid-template-columns:1fr}
  .stack>.t:first-child,.stack.flip>.t:first-child{grid-row:auto;grid-column:auto}
  .stack.flip>.t:not(:first-child){grid-column:auto}
  .stack>.t:not(:first-child){aspect-ratio:3/2}
  .full{aspect-ratio:4/3}
  .row{grid-template-columns:repeat(2,1fr)}
  .row.keep{grid-template-columns:repeat(var(--n),1fr)}
  .small{grid-template-columns:1fr}
  .about{grid-template-columns:1fr}
  .about .t{max-width:420px}
  .top nav .hide-s{display:none}
}

/* ---------- case study ---------- */
.cs-hero{padding-block:clamp(40px,8vw,112px) clamp(32px,5vw,64px);display:grid;gap:clamp(20px,3vw,36px)}
.back{font-size:15px;color:var(--grey);text-decoration:none}
.back:hover,.back:focus-visible{color:var(--blue)}
.cs-hero h1{font-family:var(--display);font-weight:400;font-size:clamp(28px,5vw,72px);line-height:1.04;text-transform:uppercase;margin:0;max-width:18ch;text-wrap:balance}
.cs-hero .lede{font-size:clamp(18px,1.7vw,22px);line-height:1.45;max-width:56ch;margin:0}
.cs-body{display:grid;gap:clamp(40px,6vw,88px);padding-bottom:clamp(48px,7vw,104px)}
.txt{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:16px clamp(24px,4vw,64px)}
.txt h2{font-family:var(--display);font-weight:400;font-size:clamp(18px,1.8vw,24px);line-height:1.2;text-transform:uppercase;margin:0}
.txt div{max-width:62ch}
.txt p{margin:0 0 14px;font-size:17px}
.txt ul{margin:0;padding-left:1.1em;font-size:17px;line-height:1.6}
.txt li{margin-bottom:6px}
.todo{border:1px dashed var(--grey);border-radius:10px;padding:14px 16px;font-size:15px;color:var(--grey);background:transparent}
.todo b{color:var(--ink)}
.imgs{display:grid;gap:var(--gap)}
.next{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;padding-block:clamp(32px,5vw,64px);border-top:1px solid var(--rule)}
.next span{font-size:15px;color:var(--grey)}
.next a{font-family:var(--display);font-size:clamp(22px,3.4vw,44px);text-transform:uppercase;text-decoration:none}
.next a:hover,.next a:focus-visible{color:var(--blue)}
@media (max-width:760px){.txt{grid-template-columns:1fr}}

/* ---------- další práce: rozbitý grid s velkými čísly ---------- */
.more{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px);align-items:start;padding-top:clamp(48px,6vw,96px)}
.more figure{margin:0;position:relative;display:grid;gap:14px}
.more figure:nth-child(2){margin-top:clamp(48px,7vw,110px)}
.more .num{position:absolute;right:0;top:0;transform:translateY(-80%);font-family:var(--display);font-size:clamp(56px,8.5vw,128px);line-height:.8;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink);z-index:0;pointer-events:none}
.more .t{position:relative;z-index:1;aspect-ratio:1/1}
.more figcaption{display:grid;gap:4px}
.more .cat{font-size:14px;color:var(--grey)}
.more .nm{font-family:var(--text);font-size:clamp(18px,1.6vw,22px);font-weight:500}
@media (max-width:760px){
  .more{grid-template-columns:1fr;gap:72px;padding-top:48px}
  .more figure:nth-child(2){margin-top:0}
  .more .num{font-size:72px}
}

/* ---------- animace tučnosti: šířka zůstává na maximu, mění se jen síla ---------- */
.client .head h2,.more .num,.next a{font-family:var(--text);font-stretch:125%;font-weight:700;transition:font-weight .5s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover){
  .client:hover .head h2,.client:focus-within .head h2{font-weight:400}
  .more figure:hover .num{font-weight:400}
  .next a:hover,.next a:focus-visible{font-weight:400}
}
@media (prefers-reduced-motion:reduce){.client .head h2,.more .num,.next a{transition:none}}

.t img[src*="duvio-logo"]{object-position:left center}

/* placeholder pro budoucí video */
.ph-wrap{position:relative}
.ph{position:absolute;left:clamp(10px,1.6vw,20px);bottom:clamp(10px,1.6vw,20px);max-width:min(560px,calc(100% - 20px));background:rgba(30,17,25,.86);color:#F7F3F6;border-radius:8px;padding:12px 16px;font-size:14px;line-height:1.45;display:grid;gap:4px}
.ph b{font-weight:600}
@media (max-width:760px){.ph{position:static;max-width:none;border-radius:0}.ph-wrap{aspect-ratio:auto}.ph-wrap img{aspect-ratio:2/1;height:auto}}

/* placeholder dlaždice pro chybějící obsah */
.ph-tile{background:transparent;border:1px dashed var(--grey);display:flex;align-items:flex-end;padding:clamp(14px,1.8vw,22px)}
.ph-tile div{display:grid;gap:6px;font-size:14px;color:var(--grey);max-width:36ch}
.ph-tile b{font-family:var(--text);font-stretch:125%;font-weight:700;font-size:15px;color:var(--ink);text-transform:uppercase}

/* role tagy */
.tags{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0;padding:0}
.tags li{background:var(--ink);color:var(--paper);font-size:15.5px;font-weight:500;line-height:1.2;padding:7px 12px 8px;border-radius:6px;white-space:nowrap}
.meta{align-items:center}
.cs-hero .roles{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;color:var(--grey);font-size:15px;font-variant-numeric:tabular-nums}

/* creative testing: široká sekce s bannery */
.ct{background:var(--tile);border-radius:10px;padding:clamp(16px,2.6vw,36px);display:grid;gap:clamp(14px,2vw,24px)}
.ct-head{display:grid;gap:4px;max-width:70ch}
.ct-head b{font-family:var(--text);font-stretch:125%;font-weight:700;font-size:15px;text-transform:uppercase}
.ct-head span{font-size:14px;color:var(--grey)}
.ct-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(8px,1.2vw,14px)}
.ct-grid figure{margin:0;display:grid;gap:8px}
.ct-sq{aspect-ratio:1/1;border-radius:6px;overflow:hidden;background:var(--paper)}
.ct-sq img{width:100%;height:100%;object-fit:cover;display:block}
.ct-ph{background:transparent;border:1px dashed var(--grey);display:grid;place-items:center;color:var(--grey);font-size:13px}
.ct-grid figcaption{font-size:12px;color:var(--grey);font-variant-numeric:tabular-nums}
@media (max-width:760px){.ct-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ct-grid figcaption{font-size:11px;line-height:1.3}

/* mobil: lichá poslední dlaždice v řadě přes celou šířku */
@media (max-width:760px){.row:not(.keep)>.t:last-child:nth-child(odd){grid-column:1/-1}}

/* další práce na šířku 3:2 */
.more.wide .t{aspect-ratio:3/2}

/* otázky */
.faq{padding-block:clamp(56px,8vw,120px) 0;scroll-margin-top:70px}
.faq h2{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(24px,3.4vw,44px);line-height:1.05;margin:0 0 clamp(24px,3vw,40px)}
.faq-list{border-top:1px solid var(--rule)}
.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-block:clamp(18px,2.2vw,26px);cursor:pointer;font-size:clamp(17px,1.6vw,21px)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover span,.faq summary:focus-visible span{color:var(--grey)}
.faq summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.faq summary i{position:relative;flex:none;width:16px;height:16px}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:var(--ink);transition:transform .25s ease}
.faq summary i::after{transform:rotate(90deg)}
.faq details[open] summary i::after{transform:rotate(0)}
.faq details p{margin:0 0 clamp(18px,2.2vw,26px);max-width:62ch;color:var(--grey);font-size:16px;line-height:1.55}
@media (prefers-reduced-motion:reduce){.faq summary i::before,.faq summary i::after{transition:none}}

/* kontaktní formulář */
.contact{padding-block:clamp(64px,9vw,128px) 0;scroll-margin-top:70px}
.contact-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px 24px;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,52px)}
.contact h2{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(24px,3.4vw,44px);line-height:1.05;margin:0}
.status{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;color:var(--grey)}
.status .dot{width:8px;height:8px;border-radius:50%;background:#A8E69B}
.cform{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,28px) clamp(16px,2vw,24px)}
.cform .f{display:grid;gap:8px;min-width:0}
.cform .wide,.cform .send,.cform .msg{grid-column:1/-1}
.cform label{font-size:13px;color:var(--grey)}
.cform input,.cform textarea{font:inherit;font-size:17px;color:var(--ink);background:transparent;border:1px solid var(--rule);border-radius:0;padding:14px 16px;width:100%;transition:border-color .2s}
.cform textarea{resize:vertical;min-height:150px;line-height:1.45}
.cform input::placeholder,.cform textarea::placeholder{color:var(--grey);opacity:.6}
.cform input:hover,.cform textarea:hover{border-color:var(--grey)}
.cform input:focus,.cform textarea:focus{outline:none;border-color:var(--ink)}
.cform .err input,.cform .err textarea{border-color:#C8392B}
.cform .send{display:flex;align-items:center;gap:14px 24px;flex-wrap:wrap}
.cform button{font:inherit;font-size:15px;font-weight:600;background:var(--ink);color:var(--paper);border:0;border-radius:0;padding:14px 28px;cursor:pointer}
.cform button:hover,.cform button:focus-visible{background:var(--blue)}
.cform button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.cform button:disabled{opacity:.5;cursor:default}
.cform .note{margin:0;font-size:13px;color:var(--grey)}
.cform .msg{margin:0;font-size:15px;min-height:1.4em}
.cform .hp{position:absolute;left:-9999px}
@media (max-width:760px){.cform{grid-template-columns:1fr}}
.about .more-link{display:inline-block;margin-top:28px;color:var(--ink);text-decoration:none;font-size:15px}
.about .more-link:hover,.about .more-link:focus-visible{color:var(--blue)}

/* podstránka o mně */
.ab-page{max-width:820px;margin-inline:auto;padding-block:clamp(32px,5vw,64px) 0}
.ab-hero{display:grid;gap:clamp(20px,3vw,32px);padding-block:clamp(28px,4vw,48px) clamp(40px,6vw,80px)}
.ab-hero .portrait{width:clamp(96px,12vw,140px);aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:var(--tile)}
.ab-hero .portrait img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}
.ab-hero h1{font-family:var(--text);font-stretch:125%;font-weight:700;font-size:clamp(24px,3.2vw,40px);line-height:1.2;margin:0;text-wrap:balance}
.ab-text p{font-size:clamp(17px,1.5vw,19px);line-height:1.6;margin:0 0 1.2em;max-width:62ch}
.ab-text b{font-weight:600}
.ab-sec{padding-top:clamp(48px,7vw,96px)}
.ab-sec h2{font-family:var(--text);font-stretch:125%;font-weight:700;font-size:clamp(18px,1.8vw,22px);margin:0 0 16px}
.xp{list-style:none;margin:0;padding:0}
.xp li{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:4px 24px;align-items:baseline;padding:18px 16px;border-radius:10px}
.xp li.now{background:var(--tile)}
.xp b{font-weight:600}
.xp .sub{display:block;color:var(--grey);font-size:14px}
.xp .role{font-weight:500}
.xp .yr{font-size:14px;color:var(--grey);font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:640px){.xp li{grid-template-columns:1fr auto}.xp .role{grid-column:1/-1;grid-row:2}}
.quotes{display:grid;gap:clamp(36px,5vw,64px)}
.quotes blockquote{margin:0;font-family:var(--text);font-stretch:110%;font-weight:600;font-style:italic;font-size:clamp(19px,2vw,26px);line-height:1.35;text-wrap:pretty}
.quotes cite{font-style:normal;font-weight:400;font-size:15px;color:var(--grey);display:block;margin-top:10px}
.quotes .pending{display:inline-block;margin-left:8px;font-size:12px;border:1px dashed var(--grey);padding:1px 6px;vertical-align:middle}
.quotes figure{margin:0}

/* načítání obrázků: jemně se pohybující gradient, pak prolnutí */
.t,.ct-sq{position:relative}
.t::before,.ct-sq::before{content:"";position:absolute;top:0;bottom:0;left:-100%;width:300%;z-index:0;pointer-events:none;
  background:linear-gradient(100deg,#EEE6EC 0%,#EEE6EC 30%,#F7F3F6 42%,#E8DCE3 50%,#F7F3F6 58%,#EEE6EC 70%,#EEE6EC 100%);
  animation:tile-shimmer 2.8s ease-in-out infinite alternate;transition:opacity .6s ease}
.t>img,.ct-sq>img{position:relative;z-index:1}
.ph{z-index:2}
.is-loaded::before{animation:none;opacity:0}
.js .t img,.js .ct-sq img{opacity:0;transition:opacity .7s ease}
.js .is-loaded img{opacity:1}
@keyframes tile-shimmer{from{transform:translateX(-12%)}to{transform:translateX(12%)}}
@media (prefers-reduced-motion:reduce){.t::before,.ct-sq::before{animation:none}.js .t img,.js .ct-sq img{transition:none}}

/* video v dlaždici */
.t video{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:1}

.faq{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,72px);align-items:start}
.faq h2{margin:0;position:sticky;top:90px}
.faq details p{max-width:none;padding-right:36px}
@media (max-width:760px){.faq{grid-template-columns:1fr;gap:24px}.faq h2{position:static}}

body{font-stretch:108%}

/* klienti pod úvodem */
.brands{display:flex;align-items:center;gap:clamp(16px,3vw,40px);margin-top:clamp(40px,6vw,80px);padding-top:clamp(18px,2.4vw,28px);border-top:1px solid var(--rule)}
.brands-k{flex:none;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey);white-space:nowrap}
.brands-wrap{position:relative;flex:1;min-width:0;overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.brands-fade{position:relative;flex:1;min-width:0}
.brands-fade::before,.brands-fade::after{content:"";position:absolute;top:0;bottom:0;width:56px;z-index:2;pointer-events:none}
.brands-fade::before{left:0;background:linear-gradient(90deg,var(--paper),rgba(247,243,246,0))}
.brands-fade::after{right:0;background:linear-gradient(270deg,var(--paper),rgba(247,243,246,0))}
.brands-wrap.is-drag{cursor:grabbing}
.brands-track{display:flex;align-items:center;width:max-content}
.bm{flex:none;display:flex;align-items:center;justify-content:center;height:84px;padding-inline:clamp(22px,2.6vw,36px)}
.lg{display:block;height:var(--h);width:auto;aspect-ratio:var(--ar);color:#B5A8B1;overflow:visible;transition:color .4s ease,transform .4s cubic-bezier(.16,1,.3,1)}
@media (hover:hover){.bm:hover .lg{color:var(--ink);transform:scale(1.07)}}
@media (max-width:760px){.brands{flex-direction:column;align-items:stretch;gap:6px}.bm{height:64px}.lg{height:calc(var(--h)*.82)}}

/* revize 10/2026 */
.hroles{margin:clamp(16px,2vw,24px) 0 0;font-family:var(--text);font-stretch:125%;font-weight:600;font-size:clamp(14px,1.35vw,19px);line-height:1.4;text-transform:uppercase;letter-spacing:.01em}
.hroles i{font-style:normal;color:var(--rule);margin:0 .25em}
.after .res{font-size:14px;color:var(--grey);margin:10px 0 0}
.more .desc{display:block;font-size:15px;line-height:1.45;color:var(--grey);margin-top:6px;max-width:42ch}
.process{list-style:none;margin:0 0 clamp(32px,4vw,52px);padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.process li{display:grid;gap:6px;border-top:1px solid var(--ink);padding-top:12px}
.process b{font-family:var(--text);font-stretch:125%;font-weight:700;font-size:13px}
.process span{font-size:15px;line-height:1.45}
@media (max-width:760px){.process{grid-template-columns:1fr 1fr}}
.foot .social{display:flex;gap:18px}
.foot .social a{color:inherit;text-decoration:none}
.foot .social a:hover{color:var(--blue)}
.todo,.ph{display:none!important}
.ab-tools{font-size:17px;line-height:1.6;margin:0}

/* vybrané práce */
.work{padding-block:clamp(56px,8vw,120px) 0;scroll-margin-top:70px}
.work h2{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(24px,3.4vw,44px);line-height:1.05;margin:0 0 clamp(28px,4vw,52px)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.card{display:flex;flex-direction:column;color:var(--ink);text-decoration:none}
.card-media{aspect-ratio:4/5;border-radius:10px;overflow:hidden;isolation:isolate;transform:translateZ(0)}
.card-media img,.card-media video{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.001);will-change:transform;backface-visibility:hidden;transition:transform 1.4s cubic-bezier(.22,.61,.36,1)}
.card:hover .card-media img,.card:hover .card-media video{transform:scale(1.04);transition-duration:1.1s}
.card-body{display:flex;flex-direction:column;gap:10px;padding-top:20px;flex:1}
.card-client{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}
.card h3{font-family:var(--text);font-stretch:125%;font-weight:700;font-size:clamp(22px,2.3vw,32px);line-height:1.12;margin:0;text-wrap:balance}
.card p{font-size:16px;line-height:1.5;color:var(--grey);margin:0;max-width:40ch}
.card-cta{margin-top:auto;padding-top:14px;font-size:15px}
.card:hover .card-cta,.card:focus-visible .card-cta{color:var(--blue)}
@media (max-width:860px){.cards{grid-template-columns:1fr;gap:56px}.card-media{aspect-ratio:4/3}}
.more figure:nth-child(3n+2){margin-top:clamp(48px,7vw,110px)}
.more .nm a{color:inherit;text-decoration:none}
.more .nm a:hover{color:var(--blue)}
@media (max-width:760px){.more figure:nth-child(3n+2){margin-top:0}}

/* text + svislá fotka v case study */
.split{display:grid;grid-template-columns:minmax(0,1.618fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:stretch}
.split-txt{display:flex;flex-direction:column}
.split-txt::before{content:'';flex:1}
.split-txt::after{content:'';flex:1.618}
.split-txt h2{font-family:var(--display);font-weight:400;font-size:clamp(18px,1.8vw,24px);line-height:1.2;text-transform:uppercase;margin:0 0 16px}
.split-txt p{margin:0 0 14px;font-size:clamp(17px,1.35vw,20px);line-height:1.5;max-width:61.8%}
.split-img{aspect-ratio:4/5}
.split-img img{object-position:60% 40%}
@media (max-width:760px){.split{grid-template-columns:1fr}.split-txt::before,.split-txt::after{display:none}.split-txt p{max-width:none}}
.js .card .card-media img,.js .card .card-media video{transition:opacity .7s ease,transform 1.4s cubic-bezier(.22,.61,.36,1)}
.js .card:hover .card-media img,.js .card:hover .card-media video{transition:opacity .7s ease,transform 1.1s cubic-bezier(.22,.61,.36,1)}
.cs-cta{margin:clamp(48px,7vw,96px) 0 0;padding:clamp(28px,4vw,48px);border-radius:16px;background:var(--tile,#ecebe7);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px}
.cs-cta p{margin:0;max-width:52ch;font-size:clamp(17px,1.35vw,20px);line-height:1.5}
.cs-cta a{display:inline-flex;align-items:center;gap:12px;font-family:var(--display);font-size:clamp(16px,1.5vw,20px);text-decoration:none;color:#fff;background:var(--ink);padding:18px 28px;border-radius:999px;white-space:nowrap;transition:background .5s cubic-bezier(.22,.61,.36,1)}
.cs-cta a:hover,.cs-cta a:focus-visible{background:var(--blue);color:#fff}
.tools{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0;padding:0}
.tools li{display:inline-flex;align-items:center;gap:8px;font-size:15.5px;font-weight:500;line-height:1.2;color:var(--ink);padding:6px 12px 7px 10px;border:1px solid var(--rule);border-radius:6px;background:transparent;white-space:nowrap}
.tools i{width:10px;height:10px;border-radius:50%;background:var(--c,#B5A8B1);flex:none}
.cs-hero .tools{margin:0}
.tools li svg{width:16px;height:16px;flex:none;display:block}
.cs-hero{padding-block:clamp(32px,5vw,72px) clamp(44px,5.5vw,80px);border-bottom:1px solid var(--rule);margin-bottom:clamp(44px,5.5vw,80px)}

.cs-kind{margin:0 0 14px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--grey)}

@media (max-width:760px){.row.wide,.row.keep.wide{grid-template-columns:1fr}.row.wide>.t{grid-column:auto}}
.foot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 32px;margin-top:clamp(48px,6vw,80px);padding-top:28px;border-top:1px solid var(--rule)}
.foot-grid h3{margin:0 0 12px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--grey)}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:15px}
.foot-grid a{color:inherit;text-decoration:none}
.foot-grid a:hover,.foot-grid a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.foot .line{margin-top:clamp(32px,4vw,56px)}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr 1fr}}
.foot{width:100vw;margin-left:calc(50% - 50vw);margin-right:0;padding-inline:clamp(16px,4vw,56px);box-sizing:border-box}html{overflow-x:clip}
body{margin-bottom:0}
/* Bold: využít celou šířku prohlížeče */
:root{--plum-900:#3A1428;--plum-700:#5E1239;--plum-500:#93607E;--plum-300:#C2A2B5;--plum-100:#E8DCE3;--wrap:100%;--gap:16px;--side:max(16px,3vw)}
body{padding-inline:var(--side)}
.foot{padding-inline:var(--side)}
.intro h1{font-size:clamp(32px,4.8vw,112px);max-width:none}
.cs-hero h1{font-size:clamp(32px,4.8vw,112px);line-height:1.04;max-width:none}
.head h2{font-size:clamp(26px,4.4vw,96px)}
.work h2,.faq h2,.contact h2{font-size:clamp(26px,3.8vw,80px)}
.intro .lede{font-size:clamp(17px,1.35vw,26px);max-width:56ch}
.ab-page{max-width:none}
.ab-hero h1{font-size:clamp(26px,4vw,84px);max-width:24ch;line-height:1.1}
.ab-text p{font-size:clamp(17px,1.3vw,24px);max-width:60ch}
.ab-sec h2{font-size:clamp(20px,2.2vw,44px)}
@media (min-width:761px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
/* Brand gradient: Plum + Lilac + Paper, animované skvrny a grain */
.grad{position:relative;overflow:hidden;isolation:isolate;border-radius:16px;background:#C2A2B5;aspect-ratio:16/9}
.grad i{position:absolute;display:block;border-radius:50%;filter:blur(clamp(50px,7vw,120px));will-change:transform}
.grad .g1{width:75%;height:95%;left:-20%;top:-35%;background:#5E1239;opacity:.55;animation:gA 14s ease-in-out infinite alternate}
.grad .g2{width:70%;height:90%;right:-15%;top:-25%;background:#F7F3F6;animation:gB 17s ease-in-out infinite alternate}
.grad .g3{width:80%;height:85%;left:15%;bottom:-45%;background:#E8DCE3;animation:gC 12s ease-in-out infinite alternate}
.grad .g4{width:55%;height:70%;right:-10%;bottom:-30%;background:#93607E;opacity:.8;animation:gD 15s ease-in-out infinite alternate}
.grad .g5{width:45%;height:55%;left:-12%;bottom:-20%;background:#C2A2B5;opacity:.9;animation:gB 19s ease-in-out infinite alternate-reverse}
.grad::after{content:"";position:absolute;inset:-50%;pointer-events:none;mix-blend-mode:overlay;opacity:.55;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
 animation:gN .9s steps(6) infinite}
@keyframes gA{to{transform:translate(18%,22%) rotate(25deg) scale(1.15)}}
@keyframes gB{to{transform:translate(-22%,18%) rotate(-20deg) scale(.9)}}
@keyframes gC{to{transform:translate(-14%,-26%) rotate(30deg) scale(1.2)}}
@keyframes gD{to{transform:translate(-30%,-12%) scale(1.25)}}
@keyframes gN{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-5%)}60%{transform:translate(-6%,-2%)}80%{transform:translate(5%,4%)}100%{transform:translate(0,0)}}
@media (prefers-reduced-motion:reduce){.grad i,.grad::after{animation:none}}

.intro{position:relative;isolation:isolate}
.intro-bg{position:absolute;z-index:-1;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;height:auto;aspect-ratio:auto;border-radius:0;
 -webkit-mask-image:linear-gradient(to bottom,#000 0,#000 50%,transparent 78%);mask-image:linear-gradient(to bottom,#000 0,#000 50%,transparent 78%)}
.intro-bg .g1{opacity:.35}

/* Bold hero: tmavý Plum gradient, světlý text */
.intro.bold{color:#F7F3F6;padding-bottom:clamp(40px,5vw,72px)}
.intro.bold .intro-bg{-webkit-mask-image:none;mask-image:none;background:#3A1428}
.intro.bold .intro-bg .g1{background:#5E1239;opacity:1}
.intro.bold .intro-bg .g2{background:#93607E;opacity:.85}
.intro.bold .intro-bg .g3{background:#93607E;opacity:.9}
.intro.bold .intro-bg .g4{background:#7A2E5F;opacity:.9}
.intro.bold .intro-bg .g5{background:#5E1239;opacity:.9}
.intro.bold h1,html[data-theme] .intro.bold h1{color:#F7F3F6}
.intro.bold .hroles,html[data-theme] .intro.bold .hroles{color:#F7F3F6}
.intro.bold .hroles i,html[data-theme] .intro.bold .hroles i{color:#A8E69B}
.intro.bold .lede,html[data-theme] .intro.bold .lede{color:#E8DCE3}
.intro.bold .lede a{color:#F7F3F6}
.intro.bold .brands{border-color:rgba(247,243,246,.2)}
.intro.bold .brands-k,html[data-theme] .intro.bold .brands-k{color:#A8E69B}
.intro.bold .lg,html[data-theme] .intro.bold .lg{color:rgba(247,243,246,.55)}
.intro.bold .bm:hover .lg,html[data-theme] .intro.bold .bm:hover .lg{color:#F7F3F6}
.intro.bold .brands-fade::before,.intro.bold .brands-fade::after,html[data-theme] .intro.bold .brands-fade::before,html[data-theme] .intro.bold .brands-fade::after{background:none}
.intro.bold .intro-bg::after{opacity:.85;mix-blend-mode:soft-light}
.intro.bold .intro-bg .g6{width:42%;height:60%;left:var(--mx,70%);top:var(--my,40%);background:#93607E;opacity:.7;transform:translate(-50%,-50%);transition:left 1.4s cubic-bezier(.22,.61,.36,1),top 1.4s cubic-bezier(.22,.61,.36,1)}
@media (prefers-reduced-motion:reduce){.intro.bold .intro-bg .g6{transition:none}}

/* ROUVY photo wall */
.wall{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);height:clamp(420px,52vw,900px);overflow:hidden;border-radius:16px;margin-bottom:var(--gap);
 -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%)}
.wcol{overflow:hidden}
.wtrack{display:flex;flex-direction:column;gap:var(--gap);animation:wUp 70s linear infinite}
.wcol:nth-child(even) .wtrack{animation-name:wDown;animation-duration:85s}
.wcol:nth-child(3) .wtrack{animation-duration:62s}
.wall:hover .wtrack{animation-play-state:paused}
.wtrack img{display:block;width:100%;height:auto;border-radius:10px;transition:filter .4s}
@keyframes wUp{to{transform:translateY(calc(-50% - var(--gap)/2))}}
@keyframes wDown{from{transform:translateY(calc(-50% - var(--gap)/2))}to{transform:none}}
@media(max-width:760px){.wall{grid-template-columns:repeat(2,1fr);height:120vw}.wcol:nth-child(n+3){display:none}}
@media(prefers-reduced-motion:reduce){.wtrack{animation:none}}

/* distorted warp */
.intro-bg .warp{position:absolute;inset:-10%;filter:url(#warp) brightness(.88)}
.intro.bold .intro-bg::after{opacity:1;mix-blend-mode:overlay;background-size:180px}
@media(prefers-reduced-motion:reduce){.intro-bg .warp{filter:none}}
/* sticky lišta přes celou šířku */
.top{width:100vw;margin-left:calc(50% - 50vw);margin-right:0;padding-inline:calc(var(--side) + 8px);max-width:none;box-shadow:0 1px 0 rgba(30,17,25,.05),0 6px 18px -10px rgba(30,17,25,.18)}

/* ROUVY portrait frames */
.pfx{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-bottom:var(--gap)}
.pf{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:16px;background:#EEE6EC}
.pf img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:pfZ 12s linear both}
.pf img.in{opacity:0;animation:pfIn .8s cubic-bezier(.4,0,.2,1) forwards,pfZ 12s linear both}
@keyframes pfIn{0%{opacity:0;filter:blur(14px) saturate(.9)}100%{opacity:1;filter:none}}
@keyframes pfZ{from{transform:scale(1.06)}to{transform:scale(1)}}
.pf:nth-child(2){transform:translateY(clamp(20px,4vw,64px))}
.pfx{padding-bottom:clamp(20px,4vw,64px)}
@media(max-width:760px){.pfx{grid-template-columns:repeat(2,1fr)}.pf:nth-child(3){display:none}}
.brands-k{font-weight:700}

/* základní CTA s gradientem na hover */
.btn{width:max-content;justify-self:start;align-self:center;position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:10px;padding:16px 26px;border-radius:999px;background:#5E1239;color:#F7F3F6;font-weight:600;font-size:17px;line-height:1;text-decoration:none;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.btn::before{content:"";position:absolute;inset:-60%;z-index:-2;opacity:0;transition:opacity .45s;
 background:radial-gradient(circle at 25% 35%,#C2A2B5 0,transparent 40%),radial-gradient(circle at 75% 65%,#93607E 0,transparent 45%),radial-gradient(circle at 65% 25%,#E8DCE3 0,transparent 30%),radial-gradient(circle at 30% 75%,#3A1428 0,transparent 40%),#7A2E5F;
 filter:blur(6px);animation:btnG 3.2s linear infinite;animation-play-state:paused}
.btn::after{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .45s;mix-blend-mode:overlay;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}
.btn span{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.btn:hover,.btn:focus-visible{transform:translateY(-2px);box-shadow:0 10px 24px -12px rgba(94,18,57,.6)}
.btn:hover::before,.btn:focus-visible::before{opacity:1;animation-play-state:running}
.btn:hover::after,.btn:focus-visible::after{opacity:.7}
.btn:hover span,.btn:focus-visible span{transform:translateX(4px)}
@keyframes btnG{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.btn::before{animation:none}}

.intro.off .intro-bg *,.intro.off .intro-bg::after{animation-play-state:paused!important}
.intro.off .intro-bg .warp{filter:none}
@media(max-width:760px){.intro-bg .warp{filter:brightness(.88)}}
/* warp počítaný v 1/4 rozlišení kvůli výkonu */
.intro-bg .warp{inset:auto;left:-10%;top:-10%;width:30%;height:30%;transform:scale(4);transform-origin:0 0}
.intro-bg .warp i{filter:blur(calc(clamp(50px,7vw,120px) / 4))}

/* WebGL gradient */
.intro-bg .glbg{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .8s}
.intro-bg .glbg.on{opacity:1}
.intro-bg .glbg.on~*{}
.intro-bg:has(.glbg.on) .warp{display:none}
.intro-bg .warp{filter:none!important}
.intro-bg::after{z-index:1}
.intro.bold .intro-bg::after{opacity:.8;mix-blend-mode:soft-light}
/* CTA: všechna tlačítka v Leaf, na hover pomalý klidný gradient */
html .btn,html .foot .big,html .cs-cta a,html .cform button{position:relative;isolation:isolate;overflow:hidden;background:#A8E69B!important;color:#1E1119!important;box-shadow:none}
html .btn::before,html .foot .big::before,html .cs-cta a::before,html .cform button::before{content:"";position:absolute;inset:-80%;z-index:-1;opacity:0;pointer-events:none;transition:opacity 1.2s ease;
 background:radial-gradient(circle at 25% 35%,#C9F0BE 0,transparent 42%),radial-gradient(circle at 75% 60%,#B4C5A8 0,transparent 45%),radial-gradient(circle at 60% 20%,#E2F7DA 0,transparent 32%),radial-gradient(circle at 30% 75%,#8FD27F 0,transparent 40%),#A8E69B;
 filter:blur(8px);animation:ctaG 16s linear infinite;animation-play-state:paused}
html .btn::after{display:none}
html .btn:hover::before,html .foot .big:hover::before,html .cs-cta a:hover::before,html .cform button:hover::before,
html .btn:focus-visible::before,html .foot .big:focus-visible::before,html .cs-cta a:focus-visible::before,html .cform button:focus-visible::before{opacity:1;animation-play-state:running}
html .btn:hover,html .btn:focus-visible{transform:none;box-shadow:none}
@keyframes ctaG{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){html .btn::before,html .foot .big::before,html .cs-cta a::before,html .cform button::before{animation:none}}
.sg-hero{position:relative;left:auto;width:100%;height:auto;aspect-ratio:16/9;border-radius:16px;background:#3A1428}
.sg-hero::after{opacity:.8;mix-blend-mode:soft-light}
.sg-hero{mask-image:none!important;-webkit-mask-image:none!important}

/* paleta Leaf jako jediná: akcenty */
:root{--hi:#A8E69B;--hi-ink:#5E1239}
.stat i,.stat b i{color:#A8E69B!important;-webkit-text-stroke:0}
.hroles i{color:#A8E69B}
/* interaktivní karty: stejný pomalý Leaf gradient jako CTA */
.stat{position:relative;isolation:isolate;overflow:hidden;transition:color .6s}
.stat::before{content:"";position:absolute;inset:-60%;z-index:-1;opacity:0;pointer-events:none;transition:opacity 1.2s ease;
 background:radial-gradient(circle at 25% 35%,#C9F0BE 0,transparent 42%),radial-gradient(circle at 75% 60%,#B4C5A8 0,transparent 45%),radial-gradient(circle at 60% 20%,#E2F7DA 0,transparent 32%),radial-gradient(circle at 30% 75%,#8FD27F 0,transparent 40%),#A8E69B;
 filter:blur(10px);animation:ctaG 18s linear infinite;animation-play-state:paused}
.stat:hover::before{opacity:1;animation-play-state:running}
.stat:hover i,.stat:hover b i{color:#5E1239!important}
/* výraznější hover CTA */
html .btn::before,html .foot .big::before,html .cs-cta a::before,html .cform button::before{
 background:radial-gradient(circle at 22% 30%,#EAF9E4 0,transparent 38%),radial-gradient(circle at 78% 65%,#DDCDE2 0,transparent 40%),radial-gradient(circle at 62% 18%,#B4C5A8 0,transparent 34%),radial-gradient(circle at 30% 78%,#76C064 0,transparent 42%),#A8E69B;
 filter:blur(4px);transition:opacity .5s ease;animation-duration:10s}
html .btn,html .foot .big,html .cs-cta a,html .cform button{transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
html .btn:hover,html .foot .big:hover,html .cs-cta a:hover,html .cform button:hover{transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(94,18,57,.55)}
html .btn::before,html .foot .big::before,html .cs-cta a::before,html .cform button::before{inset:-40% -15%;
 background:radial-gradient(ellipse at 15% 40%,#F2FBEE 0,transparent 30%),radial-gradient(ellipse at 50% 70%,#DDCDE2 0,transparent 32%),radial-gradient(ellipse at 85% 35%,#C9F0BE 0,transparent 30%),radial-gradient(ellipse at 35% 15%,#76C064 0,transparent 28%),radial-gradient(ellipse at 70% 90%,#B4C5A8 0,transparent 30%),#A8E69B}
/* tool cloud */
.tcloud{position:relative;display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:clamp(24px,4vw,64px);padding:clamp(24px,3vw,44px);border-radius:20px;background:#EEE6EC;overflow:hidden;isolation:isolate}
.tc-lines{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible}
.tc-l{fill:none;stroke:#C2A2B5;stroke-width:1.2;stroke-dasharray:3 6;animation:tcFlow 2.4s linear infinite}
.tc-l.main{stroke:#5E1239;stroke-width:1.5;stroke-dasharray:none;opacity:.35;animation:none}
@keyframes tcFlow{to{stroke-dashoffset:-18}}
.tc-grp{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.tc-hub{display:inline-block;padding:8px 14px;border-radius:999px;background:#5E1239;color:#F7F3F6;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.tc-grp ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.tc-pill{display:inline-flex;align-items:center;gap:12px;padding:12px 20px 12px 12px;border-radius:999px;background:#F7F3F6;color:#1E1119;font-weight:600;font-size:clamp(15px,1.2vw,18px);box-shadow:0 1px 0 rgba(30,17,25,.06),0 8px 20px -14px rgba(94,18,57,.35);animation:tcFloat 6s ease-in-out infinite;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.tc-pill:nth-child(2n){animation-delay:-2s}.tc-pill:nth-child(3n){animation-delay:-4s;animation-duration:7s}
.tc-pill:hover{transform:translateY(-4px) scale(1.04);box-shadow:0 14px 28px -14px rgba(94,18,57,.5)}
.tc-ic{display:grid;place-items:center;width:clamp(34px,2.6vw,42px);height:clamp(34px,2.6vw,42px);border-radius:12px;background:#fff;flex:none}
.tc-ic svg{width:62%;height:62%;display:block}
.tc-dot{width:16px;height:16px;border-radius:50%;display:block}
@keyframes tcFloat{0%,100%{translate:0 0}50%{translate:0 -5px}}
@media(max-width:900px){.tcloud{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.tc-pill,.tc-l{animation:none}}
.co-url{display:block;margin-top:6px;font-family:"SG",system-ui,sans-serif;font-weight:400!important;font-size:14px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--grey);text-decoration:none;transition:color .2s}
.co-url:hover{color:#5E1239;text-decoration:underline}
/* O mně: fotka v pozadí vpravo */
.ab-hero{position:relative;isolation:isolate;min-height:clamp(420px,46vw,760px);display:flex;align-items:flex-end;padding-bottom:clamp(24px,3vw,48px)}
.ab-hero h1{position:relative;z-index:1}
.ab-bg{position:absolute;z-index:-1;top:calc(-1 * clamp(60px,6vw,100px));bottom:0;right:calc(50% - 50vw);width:58vw;overflow:hidden;
 -webkit-mask-image:linear-gradient(to right,transparent 0,#000 38%),linear-gradient(to top,transparent 0,#000 30%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 38%),linear-gradient(to top,transparent 0,#000 30%);mask-composite:intersect}
.ab-bg img{width:100%;height:100%;object-fit:cover;object-position:60% 20%;display:block;border-radius:0}
@media(max-width:760px){.ab-hero{min-height:0;display:block;padding-top:78vw}.ab-bg{top:-20px;right:calc(50% - 50vw);width:100vw;height:95vw;bottom:auto;-webkit-mask-image:linear-gradient(to top,transparent 0,#000 40%);mask-image:linear-gradient(to top,transparent 0,#000 40%)}}
/* tool cloud v2: volná mapa */
.tcloud2{position:relative;aspect-ratio:2.3/1;min-height:460px;border-radius:24px;background:radial-gradient(ellipse at 50% 50%,#F7F3F6 0,#EEE6EC 70%);overflow:hidden;isolation:isolate}
.tcloud2 .tc-lines{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.tcloud2 .tc-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);z-index:1;white-space:nowrap}
.tcloud2 .tc-pill{animation:tcDrift 9s ease-in-out infinite}
.tcloud2 .tc-node:nth-child(3n){animation-duration:11s;animation-delay:-3s}
.tcloud2 .tc-node:nth-child(4n){animation-duration:8s;animation-delay:-5s}
.tcloud2 .tc-hub{padding:10px 16px;font-size:12px;animation:tcDrift 13s ease-in-out infinite reverse}
.tcloud2 .tc-hub.core{padding:16px 24px;font-size:14px;background:#1E1119;box-shadow:0 0 0 10px rgba(94,18,57,.08),0 0 0 22px rgba(94,18,57,.04);animation:none}
.tcloud2 .tc-l{stroke:#C2A2B5}
.tcloud2 .tc-l.main{stroke:#5E1239;opacity:.45;stroke-width:1.6;stroke-dasharray:2 5;animation:tcFlow 3s linear infinite}
@keyframes tcDrift{0%,100%{translate:0 0}33%{translate:6px -6px}66%{translate:-5px 4px}}
@media(max-width:760px){.tcloud2{aspect-ratio:auto;height:760px;min-height:0}.tcloud2 .tc-node{left:var(--mx);top:var(--my)}.tcloud2 .tc-pill{font-size:14px;padding:8px 14px 8px 8px}.tcloud2 .tc-ic{width:30px;height:30px;border-radius:9px}}
@media(max-width:760px){.tcloud2{height:680px}}
.ab-hero h1{max-width:min(55%,14ch)!important}@media(max-width:760px){.ab-hero h1{max-width:none!important}}
@media(max-width:760px){.tcloud2{height:600px}}
/* mobil: menší zaoblení plošně */
@media(max-width:760px){.t,.pf,.wtrack img,.tcloud2 .tc-ic{border-radius:6px!important}.stat,.cs-cta,.grad,.sg-hero{border-radius:8px!important}.tcloud2,.tcloud{border-radius:12px!important}}
.status{display:inline-flex;padding:8px 14px 8px 12px;border-radius:999px;background:#A8E69B;color:#5E1239!important;font-weight:600}
.status .dot{background:#5E1239!important;animation:stPulse 2.4s ease-in-out infinite}
@keyframes stPulse{0%,100%{opacity:1}50%{opacity:.35}}
/* Hero v2: video reel */
.intro-old{display:none!important}
.vhero .vh-media{position:absolute;z-index:-1;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;overflow:hidden;background:#1E1119}
.vhero .vh-media video{width:100%;height:100%;object-fit:cover;display:block}
.vhero .vh-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,17,25,.82) 0,rgba(30,17,25,.55) 45%,rgba(30,17,25,.15) 100%),linear-gradient(0deg,rgba(30,17,25,.7) 0,transparent 40%)}
.vhero{min-height:min(92vh,960px);display:flex;flex-direction:column;justify-content:flex-end}
@media(max-width:760px){.vhero{min-height:88vh}.vhero .vh-media::after{background:linear-gradient(0deg,rgba(30,17,25,.88) 0,rgba(30,17,25,.55) 55%,rgba(30,17,25,.25) 100%)}}
.vhero .brands{border-top:0;padding-top:0}
/* mobil: video nad textem, ne pod ním */
@media(max-width:760px){
.vhero{min-height:0;display:block;padding-top:0;position:relative}
.vhero::before{content:"";position:absolute;z-index:-2;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;background:#1E1119}
.vhero .vh-media{position:relative;z-index:0;top:auto;bottom:auto;left:auto;margin-left:calc(50% - 50vw);width:100vw;aspect-ratio:4/5;margin-bottom:-18vw}
.vhero .vh-media::after{background:linear-gradient(0deg,#1E1119 0,rgba(30,17,25,0) 30%)}
.vhero h1{position:relative}
}
@media(max-width:760px){.vhero .vh-media{margin-bottom:-42vw}.vhero .vh-media::after{background:linear-gradient(0deg,#1E1119 0,rgba(30,17,25,.85) 22%,rgba(30,17,25,0) 50%)}}
@media(max-width:760px){.vhero>*:not(.vh-media){position:relative;z-index:1}}
.brands-track{will-change:transform;backface-visibility:hidden;transform:translate3d(0,0,0)}.brands-track .bm,.brands-track .lg{transform-origin:center;backface-visibility:hidden}
/* === Lišta v2: průhledná, minimal === */
.top{position:fixed;top:0;left:0;right:0;width:auto;margin:0;max-width:none;z-index:40;background:transparent;box-shadow:none;border-bottom:1px solid transparent;padding-block:max(18px,env(safe-area-inset-top));padding-inline:calc(var(--side) + 8px);transition:background-color .35s ease,border-color .35s ease,color .35s ease,padding .35s ease,-webkit-backdrop-filter .35s,backdrop-filter .35s}
body{padding-top:72px}
body.has-vhero{padding-top:0}
.top nav{font-size:12px;letter-spacing:.1em;gap:clamp(18px,3vw,40px)}
.top nav a{position:relative;transition:color .25s,opacity .25s}
.top nav a:not(.mail)::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.top nav a:not(.mail):hover::after,.top nav a:not(.mail):focus-visible::after{transform:scaleX(1)}
.top nav a:hover,.top nav a:focus-visible{color:inherit}
.top nav .mail{padding:9px 16px;margin:-9px 0;border-radius:999px;border:1px solid currentColor;color:inherit;transition:background-color .25s,color .25s,border-color .25s}
.top nav .mail:hover,.top nav .mail:focus-visible{background:var(--hi,#A8E69B);border-color:var(--hi,#A8E69B);color:#1E1119}
.top.on-dark{color:#fff}
.top.on-dark .mark,.top.on-dark nav a{color:#fff}
.top.is-scrolled{color:var(--ink);background:rgba(247,243,246,.62);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);border-bottom-color:rgba(30,17,25,.06);padding-block:12px}
.top.is-scrolled .mark,.top.is-scrolled nav a{color:var(--ink)}
@media(max-width:760px){body{padding-top:62px}.top nav .mail{padding:7px 12px;margin:-7px 0}}
body{margin-top:0}
.top.on-dark::before{content:"";position:absolute;inset:0 0 -40px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(30,17,25,.45),rgba(30,17,25,0))}
.top{--hp:max(18px,env(safe-area-inset-top))}
.top.is-scrolled{--hp:12px}
.top nav{align-self:stretch;align-items:center}
.top nav a:not(.mail){padding-block:var(--hp);margin-block:calc(var(--hp) * -1);transition:padding .35s ease,margin .35s ease,color .25s}
.top nav a:not(.mail)::after{bottom:calc(var(--hp) - 4px);transition:transform .3s ease,bottom .35s ease}
/* CTA v3: bez gradientu, čistá změna barvy */
html .btn::before,html .foot .big::before,html .cs-cta a::before,html .cform button::before{display:none!important;animation:none!important}
html .btn,html .foot .big,html .cs-cta a,html .cform button{box-shadow:none!important;transform:none!important;transition:background-color .25s ease,color .25s ease!important}
html .btn:hover,html .btn:focus-visible,html .foot .big:hover,html .foot .big:focus-visible,html .cs-cta a:hover,html .cs-cta a:focus-visible,html .cform button:hover,html .cform button:focus-visible{background:#5E1239!important;color:#A8E69B!important;box-shadow:none!important}
/* === Sekce Proč já === */
.why{position:relative;isolation:isolate;color:#F7F3F6;text-align:center;padding-block:clamp(72px,10vw,150px);margin-block:clamp(24px,4vw,56px)}
.why::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;background:#5E1239}
.why h2{font-family:var(--display);font-weight:400;text-transform:lowercase;color:#A8E69B;font-size:clamp(40px,8.6vw,132px);line-height:.95;margin:0 auto clamp(40px,5vw,72px);letter-spacing:-.01em}
.why-pts{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,48px);max-width:1180px;text-align:left}
.why-pts li{display:flex;gap:16px;align-items:flex-start}
.why-pts svg{flex:0 0 30px;width:30px;height:30px;fill:none;stroke:#F7F3F6;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.why-pts p{margin:0;font-size:clamp(16px,1.35vw,20px);line-height:1.4;color:#DDCDE2}
.why-pts b{font-family:var(--display);font-weight:400;color:#A8E69B}
.why-blobs{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(14px,2.2vw,32px);max-width:1100px;margin:clamp(56px,7vw,100px) auto 0}
.blob{width:clamp(160px,19vw,250px);aspect-ratio:1.15;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;border:2px solid #A8E69B;color:#A8E69B;transition:border-radius 1.2s cubic-bezier(.4,0,.2,1),background-color .4s,color .4s}
.blob b{font-family:var(--display);font-weight:400;font-size:clamp(34px,4.2vw,64px);line-height:1;white-space:nowrap}
.blob span{font-size:clamp(13px,1.1vw,16px);line-height:1.3;max-width:15ch;color:#DDCDE2;transition:color .4s}
.b1{border-radius:58% 42% 50% 50%/45% 52% 48% 55%;transform:rotate(-4deg)}
.b2{border-radius:44% 56% 38% 62%/58% 40% 60% 42%;transform:translateY(-14px) rotate(3deg)}
.b3{border-radius:52% 48% 62% 38%/40% 58% 42% 60%;width:clamp(180px,22vw,290px);transform:rotate(-2deg)}
.b4{border-radius:40% 60% 55% 45%/55% 45% 55% 45%;transform:translateY(10px) rotate(5deg)}
.b5{border-radius:60% 40% 45% 55%/48% 60% 40% 52%;transform:rotate(-3deg)}
.blob:hover{border-radius:50%;background:#A8E69B}
.blob:hover span,.blob:hover b{color:#5E1239}
.why-cta{margin-top:clamp(48px,6vw,80px);display:inline-flex}
@media(max-width:760px){.why-pts{grid-template-columns:1fr;max-width:420px}.blob{width:calc(50% - 8px);aspect-ratio:1}.b3{width:calc(50% - 8px)}.blob,.b2,.b4{transform:none}}
.b0{border-radius:48% 52% 60% 40%/52% 44% 56% 48%;transform:translateY(8px) rotate(4deg)}
.why-blobs{max-width:1000px}
@media(max-width:760px){.b0{transform:none}}
/* Proč já v2: dva sloupce, bez naklánění */
.why{text-align:left;display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(40px,7vw,120px);align-items:start}
.why h2{text-transform:uppercase;font-size:clamp(44px,7.4vw,118px);line-height:.92;margin:0 0 clamp(36px,4vw,56px);letter-spacing:0}
.why-pts{grid-template-columns:1fr;gap:22px;max-width:520px;margin:0}
.why-cta{margin-top:clamp(36px,4vw,56px)}
.why-nums{list-style:none;margin:0;padding:0;border-top:1px solid rgba(168,230,155,.35);align-self:center}
.why-nums li{display:grid;grid-template-columns:minmax(0,1.1fr) 1fr;align-items:baseline;gap:20px;padding-block:clamp(16px,1.8vw,26px);border-bottom:1px solid rgba(168,230,155,.35);transition:padding .3s ease}
.why-nums b{font-family:var(--display);font-weight:400;color:#A8E69B;font-size:clamp(34px,4.2vw,64px);line-height:1;white-space:nowrap}
.why-nums span{color:#DDCDE2;font-size:clamp(14px,1.15vw,17px);line-height:1.35}
.why-nums li:hover{padding-left:12px}
@media(max-width:900px){.why{grid-template-columns:1fr}}
html .why .why-cta{font-size:15px;padding:15px 26px;min-height:53px;border-radius:999px}
html .why .why-cta:hover,html .why .why-cta:focus-visible{background:#F7F3F6!important;color:#5E1239!important}
html .why .why-cta:focus-visible{outline:2px solid #A8E69B;outline-offset:4px}
/* FAQ plusko v Leaf kroužku */
.faq summary i{width:40px;height:40px;border-radius:50%;background:#A8E69B;transition:background-color .25s ease,transform .25s ease}
.faq summary i::before,.faq summary i::after{left:12px;right:12px;height:2px;margin-top:-1px;background:#5E1239;transition:transform .25s ease,background-color .25s ease}
.faq summary:hover i,.faq summary:focus-visible i,.faq details[open] summary i{background:#5E1239}
.faq summary:hover i::before,.faq summary:hover i::after,.faq summary:focus-visible i::before,.faq summary:focus-visible i::after,.faq details[open] summary i::before,.faq details[open] summary i::after{background:#A8E69B}
.faq summary:hover i{transform:scale(1.08)}
@media(max-width:760px){.faq summary i{width:34px;height:34px}.faq summary i::before,.faq summary i::after{left:10px;right:10px}}
/* Proč já v3: vycentrované */
.why{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0}
.why-l{display:contents}
.why h2{order:1;margin:0 0 clamp(48px,5vw,80px)}
.why-nums{order:2;display:grid;grid-template-columns:repeat(3,1fr);width:100%;max-width:1100px;border-top:0;align-self:center}
.why-nums li{display:flex;flex-direction:column;align-items:center;gap:12px;padding:clamp(8px,1vw,16px) clamp(16px,2vw,32px);border-bottom:0;border-left:1px solid rgba(168,230,155,.35)}
.why-nums li:first-child{border-left:0}
.why-nums li:hover{padding-left:clamp(16px,2vw,32px)}
.why-nums b{font-size:clamp(48px,6vw,96px)}
.why-pts{order:3;grid-template-columns:repeat(3,1fr);max-width:1100px;width:100%;margin-top:clamp(56px,6vw,96px);gap:clamp(24px,3vw,48px);text-align:center}
.why-pts li{flex-direction:column;align-items:center;gap:14px}
.why-cta{order:4}
@media(max-width:760px){.why-nums{grid-template-columns:1fr}.why-nums li{border-left:0;border-top:1px solid rgba(168,230,155,.35);padding-block:20px}.why-nums li:first-child{border-top:0}.why-pts{grid-template-columns:1fr}}
/* Case study CTA jako výrazné tlačítko */
.after{align-items:center}
.after > a{display:inline-flex;align-items:center;gap:10px;padding:16px 28px;border-radius:999px;background:#A8E69B;color:#1E1119;font-weight:600;font-size:16px;transition:background-color .25s ease,color .25s ease}
.after > a:hover,.after > a:focus-visible{background:#5E1239;color:#A8E69B}
@media(max-width:760px){.after > a{width:100%;justify-content:center}}
.why h2{text-transform:none;letter-spacing:-.01em}
.why h2{max-width:14ch;margin-inline:auto;text-wrap:balance}
.why-nums li,.why-nums li:first-child{border:0!important}
@media(min-width:900px){.vhero h1,.vhero .hroles,.vhero .lede{max-width:min(50vw,820px)}.vhero h1{font-size:clamp(34px,4.4vw,72px)}.vhero .hroles{font-size:clamp(14px,1.25vw,20px);line-height:1.5}}
@media(min-width:900px){.vhero .hroles{max-width:none}}
.more figure:nth-child(3n+2){margin-top:clamp(48px,7vw,110px)}@media(max-width:760px){.more figure:nth-child(3n+2){margin-top:0}}
/* Stack v2: strukturovaný přehled místo mapy */
.tcloud2{aspect-ratio:auto!important;height:auto!important;min-height:0!important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,4vw,64px);align-content:start;padding:clamp(28px,3.5vw,48px);background:#F7F3F6;border:1px solid rgba(30,17,25,.08);border-radius:16px}
.tcloud2 .tc-lines,.tcloud2 .tc-hub.core{display:none!important}
.tcloud2 .tc-node{position:static!important;transform:none!important;animation:none!important;white-space:normal}
.tcloud2 .tc-hub{grid-row:1;background:none!important;color:#5C4B57!important;padding:0 0 14px!important;border-radius:0;border-bottom:1px solid #1E1119;font-size:12px!important;letter-spacing:.12em;margin-bottom:6px;box-shadow:none!important}
.tcloud2 [data-id="adobe"],.tcloud2 [data-p="adobe"]{grid-column:1}
.tcloud2 [data-id="design"],.tcloud2 [data-p="design"]{grid-column:2}
.tcloud2 [data-id="ai"],.tcloud2 [data-p="ai"]{grid-column:3}
.tcloud2 .tc-pill{background:none!important;box-shadow:none!important;border-radius:0;padding:12px 0!important;border-bottom:1px solid rgba(30,17,25,.1);font-weight:500;font-size:clamp(15px,1.15vw,17px);gap:14px;transition:none}
.tcloud2 .tc-pill:hover{transform:none;box-shadow:none}
.tcloud2 .tc-ic{width:28px!important;height:28px!important;border-radius:7px!important;background:none}
.tcloud2 .tc-ic svg{width:100%;height:100%}
@media(max-width:760px){.tcloud2{grid-template-columns:1fr;row-gap:0}.tcloud2 .tc-hub{grid-row:auto;margin-top:24px}.tcloud2 [data-id="adobe"]{margin-top:0}.tcloud2 .tc-node{grid-column:1!important}}
.tcloud2{grid-auto-flow:row dense}
@media(max-width:760px){.tcloud2{display:flex;flex-direction:column}.tcloud2 [data-id="adobe"]{order:1}.tcloud2 [data-p="adobe"]{order:2}.tcloud2 [data-id="design"]{order:3}.tcloud2 [data-p="design"]{order:4}.tcloud2 [data-id="ai"]{order:5}.tcloud2 [data-p="ai"]{order:6}}
html .cform button,html .cform button[type=submit],.cform input[type=submit]{border-radius:999px!important;padding:16px 32px}
/* Kontakt v2 */
.contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,7vw,120px);align-items:start;max-width:1180px;margin:clamp(40px,5vw,72px) auto 0}
.proc-h{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#5C4B57;margin:0 0 20px}
.contact .process{display:grid!important;grid-template-columns:1fr!important;gap:0!important;margin:0!important;padding:0;list-style:none}
.contact .process li{display:grid!important;grid-template-columns:44px 1fr;column-gap:18px;align-items:start;padding:18px 0!important;border:0!important;border-bottom:1px solid rgba(30,17,25,.1)!important}
.contact .process li:first-child{border-top:1px solid rgba(30,17,25,.1)!important}
.contact .process li b{font-size:12px;letter-spacing:.08em;color:#5C4B57;margin:2px 0 4px!important}
.contact .process li span{font-size:16px;line-height:1.45}
.contact .cform{max-width:none;margin:0!important;padding:clamp(24px,3vw,40px);background:#fff;border-radius:20px;border:1px solid rgba(30,17,25,.07);grid-template-columns:1fr 1fr;gap:16px}
.contact .cform input,.contact .cform textarea{border-radius:10px;padding:12px 14px;min-height:0}
.contact .cform textarea{min-height:120px}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}.contact .cform{grid-template-columns:1fr}}
.contact .contact-head{max-width:1180px;margin-inline:auto}.contact .cform .msg:empty{display:none}
.contact .cform{border-radius:10px}.contact .cform input,.contact .cform textarea{border-radius:10px}@media(max-width:760px){.contact .cform,.contact .cform input,.contact .cform textarea{border-radius:6px!important}}
/* Volné kapacity jako stavový text, ne tlačítko */
.contact .status{background:none!important;padding:0!important;border-radius:0!important;box-shadow:none!important;color:#5C4B57!important;font-weight:500;font-size:14px;display:inline-flex;align-items:center;gap:10px}
.contact .status .dot{width:9px;height:9px;border-radius:50%;background:#4FB83F!important;position:relative;flex:none}
.contact .status .dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:#4FB83F;animation:stPulse 2s ease-out infinite}
@keyframes stPulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(2.8);opacity:0}}
@media(prefers-reduced-motion:reduce){.contact .status .dot::after{animation:none}}
.contact .process li{grid-template-rows:auto auto;align-content:center;row-gap:2px}.contact .process li b{margin:0!important;line-height:1.2;align-self:end}.contact .process li span{align-self:start;margin:0!important}
.contact .process li{grid-template-columns:52px 1fr}
@media(min-width:761px){.ab-hero{min-height:clamp(380px,38vw,640px);align-items:center;padding-bottom:0}.ab-bg{width:54vw}.ab-hero h1{max-width:min(46%,13ch)!important;margin-top:clamp(20px,3vw,48px)}}
@media(min-width:761px){
.ab-hero{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,80px);min-height:0!important;padding-block:clamp(16px,2vw,32px) clamp(48px,6vw,88px)!important}
.ab-hero h1{grid-column:1;grid-row:1;max-width:none!important;margin:0!important}
.ab-bg{position:relative!important;inset:auto!important;grid-column:2;grid-row:1;width:100%!important;height:auto!important;aspect-ratio:4/5;max-height:72vh;border-radius:10px;-webkit-mask-image:none!important;mask-image:none!important;z-index:0!important}
.ab-bg img{object-position:62% 25%}
}
.ab-lede{font-size:clamp(17px,1.35vw,20px);line-height:1.55;max-width:46ch;margin:0;color:var(--ink)}
@media(min-width:761px){.ab-hero{grid-template-rows:auto auto;align-content:center}.ab-hero h1{grid-row:1;align-self:end}.ab-lede{grid-column:1;grid-row:2;align-self:start;margin-top:clamp(20px,2.4vw,32px)}.ab-bg{grid-row:1 / span 2}}
@media(max-width:760px){.ab-lede{margin-top:20px;position:relative;z-index:1}}
@media(min-width:761px){.ab-hero{row-gap:0!important}.ab-lede{margin-top:clamp(18px,2vw,28px)}}
@media(min-width:761px){.ab-text{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:clamp(32px,5vw,80px);max-width:none!important;padding-top:0!important;margin-top:0!important}.ab-text>*{grid-column:1;max-width:none!important}.ab-lede{max-width:none}}
@media(min-width:761px){.ab-hero{padding-bottom:clamp(32px,3.5vw,56px)!important}}
.vhero .cnt{display:inline-block;min-width:2.2ch;text-align:center;color:#A8E69B;font-variant-numeric:tabular-nums}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.vhero .cnt{min-width:0;text-align:left}
.vhero .cnt.inf{transform:scale(1.15);transition:transform .35s cubic-bezier(.2,.8,.2,1)}.vhero .cnt{transition:transform .2s}
.mark{font-size:clamp(18px,1.6vw,22px);letter-spacing:.04em}
.vhero .cnt.glitch{opacity:.92;text-shadow:2px 0 rgba(168,230,155,.35),-2px 0 rgba(221,205,226,.35)}
html .foot .big{background:#5E1239!important;color:#F7F3F6!important}html .foot .big:hover,html .foot .big:focus-visible{background:#1E1119!important;color:#A8E69B!important}
@media(max-width:760px){.top nav a:not(.mail){display:none}.top nav .mail{white-space:nowrap;font-size:11px;padding:8px 14px}.mark{font-size:17px}}
.vhero .cnt{transition:filter .45s ease,opacity .45s ease,transform .2s}.vhero .cnt.out{filter:blur(16px);opacity:0}
.vhero .vh-media video{object-position:center 30%}
/* Nástroje a automatizace */
.toolkit .tools-lede{margin:0;max-width:44ch;font-size:clamp(16px,1.3vw,19px);line-height:1.5;color:var(--grey)}
.tools-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.tools-list li{border-bottom:1px solid var(--rule)}
.tl-row{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(0,1.5fr) 48px;gap:clamp(16px,2.5vw,40px);align-items:center;padding:clamp(24px,3vw,44px) 0;color:var(--ink);text-decoration:none;transition:padding .25s ease,background-color .25s ease}
.tl-k{display:grid;gap:8px}
.tl-stat{font-family:var(--display);font-weight:400;font-size:clamp(44px,5.2vw,84px);line-height:.9;letter-spacing:-.01em;color:var(--blue);font-variant-numeric:tabular-nums;white-space:nowrap}
.tl-stat-l{font-size:14px;line-height:1.4;color:var(--grey);max-width:26ch}
.tl-n{display:grid;gap:6px}
.tl-n .cat{font-size:14px;color:var(--grey)}
.tl-n .nm{font-family:var(--text);font-stretch:125%;font-weight:700;font-size:clamp(20px,1.9vw,28px);line-height:1.1}
.tl-row .desc{font-size:16px;line-height:1.5;color:var(--ink);max-width:48ch}
.tl-go{width:48px;height:48px;border-radius:999px;display:grid;place-items:center;border:1px solid var(--rule);transition:background-color .25s ease,border-color .25s ease,transform .25s ease}
.tl-go svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tl-row:hover .tl-go,.tl-row:focus-visible .tl-go{background:var(--hi);border-color:var(--hi);color:var(--hi-ink);transform:translateX(4px)}
.tl-row:hover .nm,.tl-row:focus-visible .nm{color:var(--blue)}
.tl-row:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:4px}
@media(max-width:900px){.tl-row{grid-template-columns:minmax(0,1fr) 48px;row-gap:14px}.tl-k,.tl-n,.tl-row .desc{grid-column:1}.tl-go{grid-column:2;grid-row:1;align-self:start}}
@media(prefers-reduced-motion:reduce){.tl-row,.tl-go{transition:none}.tl-row:hover .tl-go{transform:none}}
.tl-media{aspect-ratio:21/9}
.tl-media img{object-position:center 45%}
@media(max-width:760px){.tl-media{aspect-ratio:4/3}}
.cs-body .txt[id]{scroll-margin-top:110px}
/* Kontakt: zjednodušené kroky bez ikon */
.contact .process li{grid-template-columns:clamp(44px,4vw,56px) 1fr!important;grid-template-rows:none!important;align-items:baseline!important;padding:clamp(16px,1.6vw,22px) 0!important}
.contact .process li b{font-family:var(--display);font-weight:400;font-stretch:normal;font-size:clamp(20px,1.7vw,26px);letter-spacing:0;line-height:1;color:var(--blue);margin:0!important;align-self:baseline}
.contact .process li span{font-size:17px;line-height:1.45;align-self:baseline}
.contact .cform{border:0!important;box-shadow:none!important}

/* O mně: portrét do kraje stránky */
.ab-bg{background:#BCD3DC}
@media(min-width:761px){
.ab-hero{position:relative!important;min-height:min(84vh,820px)!important}
.ab-bg{position:absolute!important;grid-area:auto!important;inset:auto!important;top:calc(-1 * (72px + clamp(32px,5vw,64px) + 24px))!important;bottom:0!important;left:calc((100% - clamp(32px,5vw,80px)) * 1.1 / 2.1 + clamp(32px,5vw,80px))!important;right:calc((100% - 100vw) / 2)!important;width:auto!important;height:auto!important;aspect-ratio:auto!important;max-height:none!important;border-radius:0!important;margin:0!important}
.ab-bg img{object-position:62% 25%!important}
}
@media(max-width:760px){
.ab-bg{top:calc(-1 * (62px + clamp(32px,5vw,64px) + 24px))!important;height:calc(100vw * 1.15)!important;-webkit-mask-image:none!important;mask-image:none!important}
.ab-bg img{object-position:66% 20%!important}
.ab-hero{padding-top:calc(100vw * 1.15 - 62px - clamp(32px,5vw,64px) - 24px + 28px)!important}
}

/* O mně: odkazy v textu, čísla vedle textu, 2 sloupce čísel na mobilu */
.ab-text a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);transition:color .2s ease,text-decoration-color .2s ease}
.ab-text a:hover,.ab-text a:focus-visible{color:var(--blue);text-decoration-color:currentColor}
.ab-text .ab-stats{padding-top:clamp(32px,6vw,56px)}
@media(min-width:761px){
.ab-text{padding-top:clamp(40px,4vw,64px)!important}
.ab-text>.ab-stats{grid-column:2!important;grid-row:1 / span 4;align-self:start;padding-top:0}
.ab-text .ab-stats .stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.ab-text .ab-stats .stat{min-height:clamp(150px,13vw,200px)}
}
@media(max-width:520px){
.ab-text .stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
.ab-text .stat{min-height:132px!important;padding:18px 16px 16px}
.ab-text .stat span{margin-top:18px;font-size:14px}
}
@media(min-width:761px){.ab-hero{align-content:center!important;padding-top:0!important;padding-bottom:clamp(96px,10vw,160px)!important}.ab-text{padding-top:clamp(40px,4vw,56px)!important}}
/* O mně mobil: nižší výřez fotky, ať vede nadpis */
@media(max-width:760px){
.ab-bg{height:calc(100vw * .72)!important}
.ab-bg img{object-position:62% 6%!important}
.ab-hero{padding-top:calc(100vw * .72 - 62px - clamp(32px,5vw,64px) - 24px + 28px)!important}
}
/* O mně desktop: fotka vlevo, text vpravo */
@media(min-width:761px){
.ab-hero{--abg:clamp(32px,5vw,80px);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)!important}
.ab-hero h1,.ab-lede{grid-column:2!important}
.ab-bg{left:calc((100% - 100vw) / 2)!important;right:calc(100% - (100% - var(--abg)) / 2.1)!important}
}
/* Vybrané práce: karty vyjedou postupně s pružným dosednutím */
@keyframes cardRise{0%{opacity:0;transform:translateY(72px)}55%{opacity:1;transform:translateY(-10px)}78%{transform:translateY(3px)}100%{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){
.js .work .cards.rise .card{opacity:0}
.js .work .cards.rise .card.in{animation:cardRise .95s cubic-bezier(.22,.61,.36,1) both}
}
/* Vybrané práce: kurzor jako okénko do fotky s CTA, zbytek fotky přebarvený */
.cm-tint,.cm-lens,.cm-label{position:absolute;pointer-events:none}
.cm-tint{inset:0;z-index:1;background:var(--plum-700);mix-blend-mode:multiply;opacity:0;transition:opacity .45s ease}
.cm-lens{inset:0;z-index:2;clip-path:circle(0px at var(--x,50%) var(--y,50%));transition:clip-path .45s cubic-bezier(.22,.61,.36,1)}
.cm-lens img{position:absolute;inset:0}
.cm-label{z-index:3;left:var(--x,50%);top:var(--y,50%);transform:translate(-50%,-50%) scale(.4);opacity:0;padding:11px 18px;border-radius:999px;background:var(--hi);color:#1E1119;font-size:14px;font-weight:600;letter-spacing:.02em;white-space:nowrap;transition:transform .35s cubic-bezier(.22,.61,.36,1),opacity .25s ease}
.card-media.lens-on{cursor:none}
.card-media.lens-on>img{filter:grayscale(1) contrast(1.05)}
.card-media>img{transition:opacity .7s ease,transform 1.4s cubic-bezier(.22,.61,.36,1),filter .45s ease!important}
.card-media.lens-on .cm-tint{opacity:.78}
.card-media.lens-on .cm-lens{clip-path:circle(92px at var(--x,50%) var(--y,50%))}
.card-media.lens-on .cm-label{opacity:1;transform:translate(-50%,-50%) scale(1)}
/* dotyková zařízení: CTA jako tlačítko */
@media(hover:none){
.work .card-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:11px 18px;border-radius:999px;background:var(--hi);color:#1E1119;font-weight:600;font-size:14px}
}
.cm-label{padding:0;border-radius:0;background:none;color:#fff;font-family:var(--display);font-weight:700;font-size:22px;line-height:1;letter-spacing:.02em;text-transform:uppercase;text-align:center;white-space:normal;width:min-content}
/* kukátko o 20 % větší, šipka pod textem */
.card-media.lens-on .cm-lens{clip-path:circle(110px at var(--x,50%) var(--y,50%))}
.cm-label{font-size:30px;font-weight:700;letter-spacing:.01em}
.cm-label i{display:block;font-style:normal;font-family:var(--text);font-weight:700;font-size:34px;line-height:1;margin-top:4px}
.cm-label svg{display:block;width:46px;height:18px;margin:10px auto 0}
/* bez stínů (pravidlo identity) */
.tc-pill:hover{box-shadow:none!important}
/* mobil: video čtvercové (méně ořezu), kratší přechod do tmavé */
@media(max-width:760px){
.vhero .vh-media{aspect-ratio:1/1;margin-bottom:-14vw}
.vhero .vh-media::after{background:linear-gradient(0deg,#1E1119 0,rgba(30,17,25,.6) 14%,rgba(30,17,25,0) 30%)}
}
@media(max-width:760px){.vhero .vh-media{aspect-ratio:1124/900}}
@media(prefers-reduced-motion:no-preference){
.js #dalsi .more.rise>*{opacity:0}
.js #dalsi .more.rise>.in{animation:cardRise .95s cubic-bezier(.22,.61,.36,1) both}
}
/* Nástroje: tmavá sekce, na pozadí pomalé video systémů, přes něj čísla */
.toolkit{position:relative;isolation:isolate;color:#F7F3F6;padding-block:clamp(72px,9vw,140px)!important;border-top:0!important}
.toolkit::before{content:"";position:absolute;z-index:-2;inset:0 calc(50% - 50vw);background:#1E1119}
.tk-bg{position:absolute;z-index:-1;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;overflow:hidden;pointer-events:none}
.tk-bg video{width:100%;height:100%;object-fit:cover;display:block;opacity:.55}
.tk-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,17,25,.92) 0,rgba(58,20,40,.78) 45%,rgba(30,17,25,.94) 100%)}
.toolkit h2,.toolkit .tools-lede,.toolkit .tl-row,.toolkit .tl-n .nm,.toolkit .tl-row .desc{color:#F7F3F6}
.toolkit .tools-lede{color:#C2A2B5}
.toolkit .head{margin-bottom:clamp(40px,6vw,88px)}
.toolkit .tools-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(247,243,246,.22)}
.toolkit .tools-list li{border-bottom:0;border-left:1px solid rgba(247,243,246,.22)}
.toolkit .tools-list li:first-child{border-left:0}
.toolkit .tl-row{display:flex;flex-direction:column;align-items:flex-start;gap:18px;height:100%;padding:clamp(28px,3vw,44px) clamp(20px,2.4vw,40px) 8px}
.toolkit .tools-list li:first-child .tl-row{padding-left:0}
.toolkit .tl-stat{color:var(--hi);font-size:clamp(56px,5.6vw,104px)}
.toolkit .tl-stat-l{color:#E8DCE3;font-size:15px;max-width:30ch}
.toolkit .tl-n .cat{color:#C2A2B5}
.toolkit .tl-row .desc{color:#E8DCE3;font-size:15px;max-width:40ch}
.toolkit .tl-go{margin-top:auto;border-color:rgba(247,243,246,.35);color:#F7F3F6}
.toolkit .tl-row:hover .nm,.toolkit .tl-row:focus-visible .nm{color:var(--hi)}
.toolkit .after p{color:#F7F3F6}
.toolkit .after>a{background:var(--hi);color:#1E1119}
.toolkit .after>a:hover,.toolkit .after>a:focus-visible{background:#F7F3F6;color:#1E1119}
.toolkit .after{margin-top:clamp(48px,6vw,96px);align-items:center}
.toolkit .after p{font-family:var(--text);font-stretch:125%;font-weight:700;font-size:clamp(24px,2.6vw,40px);line-height:1.15;max-width:22ch;color:#F7F3F6}
@media(max-width:900px){
.toolkit .tools-list{grid-template-columns:minmax(0,1fr)}
.toolkit .tools-list li{border-left:0;border-bottom:1px solid rgba(247,243,246,.22)}
.toolkit .tl-row,.toolkit .tools-list li:first-child .tl-row{padding:32px 0}
.toolkit .tl-go{margin-top:0}
}
.toolkit .tools-list,.toolkit .tools-list li,.toolkit .tools-list li:first-child{border:0!important}
/* Nástroje: řádky textů zarovnané napříč sloupci (subgrid) */
@media(min-width:901px){
.toolkit .tools-list{grid-template-rows:repeat(6,auto);column-gap:clamp(24px,3vw,56px)}
.toolkit .tools-list li{display:grid;grid-template-columns:minmax(0,1fr);grid-row:span 6;grid-template-rows:subgrid}
.toolkit .tl-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-row:span 6;grid-template-rows:subgrid;row-gap:0;align-items:start;padding:clamp(28px,3vw,44px) 0 8px!important}
.toolkit .tl-k,.toolkit .tl-n{display:contents}
.toolkit .tl-stat-l{margin-top:14px}
.toolkit .tl-n .cat{margin-top:22px}
.toolkit .tl-n .nm{margin-top:6px}
.toolkit .tl-row .desc{margin-top:16px}
.toolkit .tl-go{margin-top:28px}
}
/* Reference v2 (návrh): u každého klienta pás širokých fotek, který se posouvá se scrollem */
.refv2{padding-block:clamp(64px,8vw,128px) clamp(32px,4vw,64px)}
.rv-top{display:flex;flex-direction:column;gap:14px;margin-bottom:clamp(40px,5vw,72px)}
.rv-flag{align-self:flex-start;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:7px 12px;border-radius:999px;background:var(--hi);color:#1E1119}
.rv-top h2{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(26px,3.8vw,80px);line-height:1.05;margin:0}
.rv-client{margin-bottom:clamp(64px,8vw,128px)}
.rv-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.4fr) auto;gap:clamp(16px,2.5vw,40px);align-items:baseline;margin-bottom:clamp(18px,2vw,28px)}
.rv-head h3{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(28px,3.2vw,56px);line-height:1;margin:0}
.rv-cat{margin:0;font-size:14px;color:var(--grey)}
.rv-desc{margin:0;font-size:16px;line-height:1.5;max-width:48ch}
.rv-cta{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;padding:12px 20px;border-radius:999px;background:var(--hi);color:#1E1119;font-weight:600;font-size:15px;text-decoration:none;transition:background-color .25s ease,color .25s ease}
.rv-cta svg{width:22px;height:9px}
.rv-cta:hover,.rv-cta:focus-visible{background:#1E1119;color:var(--hi)}
.rv-strip{margin-inline:calc(50% - 50vw);overflow:hidden}
.rv-track{display:flex;gap:clamp(10px,1.2vw,18px);width:max-content;padding-inline:var(--side,16px);will-change:transform}
.rv-tile{flex:none;width:min(62vw,1100px);aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:var(--tile,#E8DCE3)}
.rv-tile img{width:100%;height:100%;object-fit:cover;display:block}
.rv-trip{display:flex}
.rv-trip img{flex:1 1 0;min-width:0}
.js .rv-tile img{opacity:1}
@media(max-width:900px){.rv-head{grid-template-columns:minmax(0,1fr) auto;row-gap:10px}.rv-head h3{grid-column:1}.rv-cta{grid-column:2;grid-row:1}.rv-cat,.rv-desc{grid-column:1 / -1}}
@media(max-width:760px){.rv-tile{width:86vw}.rv-cta{padding:10px 16px;font-size:14px}}
/* Reference v2: stoh karet, nová přijede zespodu, stará se zmenší a nakloní */
.rv-client{margin-bottom:0}
.rv-stage{display:flex;flex-direction:column;gap:clamp(18px,2.4vw,32px)}
.rv-cards{position:relative;display:grid;gap:16px}
.rv-card{position:relative;width:100%;aspect-ratio:16/9;border-radius:10px;overflow:hidden;transform-origin:50% 0;will-change:transform}
.rv-card img{transform:scale(calc(1 + var(--k,0) * .1));transform-origin:50% 30%}
.rv-card::after{content:"";position:absolute;inset:0;background:#1E1119;opacity:calc(var(--k,0) * .35);pointer-events:none}
.rv-lab{position:absolute;z-index:2;top:14px;left:16px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fff;mix-blend-mode:difference}
.rv-on .rv-stack{height:calc(100svh + (var(--n) - 1) * 70svh);margin-bottom:clamp(40px,6vw,96px)}
.rv-on .rv-stage{position:sticky;top:0;height:100svh;justify-content:center;padding-top:72px;box-sizing:border-box}
.rv-on .rv-cards{display:block;width:min(100%,calc((100svh - 300px) * 16 / 9));margin-inline:auto;aspect-ratio:16/9}
.rv-on .rv-card{position:absolute;inset:0}
.rv-on .rv-card+.rv-card{transform:translate3d(0,100vh,0)}
@media(max-width:900px){.rv-on .rv-cards{width:100%}.rv-on .rv-stack{height:calc(100svh + (var(--n) - 1) * 55svh)}}
.rv-card{background:#1E1119}
.rv-card img{transform:translate3d(calc(var(--k,0) * 3%),calc(var(--k,0) * 2%),0) rotate(calc(var(--k,0) * 2.5deg)) scale(calc(1 + var(--k,0) * .2));transform-origin:50% 50%}
.rv-head{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;align-items:center}
.rv-desc{font-size:17px}
@media(max-width:900px){.rv-head{grid-template-columns:minmax(0,1fr) auto}.rv-desc{grid-column:1 / -1}}
/* Reference v2: karty přes celou šířku obsahu a skoro celou výšku okna */
@media(min-width:901px){
.rv-on .rv-stage{padding-top:84px;padding-bottom:24px;justify-content:flex-start}
.rv-on .rv-cards{width:min(88%,calc((100svh - 270px) * 1.9));aspect-ratio:1.9/1;flex:none;height:auto;margin-inline:auto}
}
/* O mně: nástroje jako skupiny štítků (odlišné od seznamů kariéry) */
.stack2{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(24px,3vw,56px)}
.stack2 h3{margin:0 0 14px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--grey)}
.stack2 ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.stack2 li{padding:10px 16px;border-radius:999px;background:var(--plum-100,#E8DCE3);color:var(--ink);font-size:15px;font-weight:500;line-height:1}
@media(max-width:760px){.stack2{grid-template-columns:minmax(0,1fr)!important;gap:28px}}
/* Reference v2: hlavička 1:1 s původní (štítky + delší text), víc druhů obsahu v kartách */
.rv-head{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;grid-template-rows:auto auto;column-gap:clamp(24px,3vw,56px);row-gap:10px;align-items:start}
.rv-head h3{grid-column:1;grid-row:1}
.rv-tags{grid-column:1;grid-row:2;list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.rv-tags li{font-size:12px;padding:6px 10px;border-radius:999px;background:var(--plum-100,#E8DCE3);color:var(--ink);line-height:1}
.rv-desc{grid-column:2;grid-row:1 / span 2;font-size:15px;line-height:1.5;max-width:62ch}
.rv-cta{grid-column:3;grid-row:1}
.rv-trip>img,.rv-trip>video{min-width:0;height:100%;object-fit:cover;display:block}
.rv-card video{width:100%;height:100%;object-fit:cover}
@media(min-width:901px){.rv-on .rv-cards{width:min(88%,calc((100svh - 330px) * 1.9))}}
@media(max-width:900px){.rv-head{grid-template-columns:minmax(0,1fr) auto}.rv-tags{grid-column:1 / -1;grid-row:2}.rv-desc{grid-column:1 / -1;grid-row:3;font-size:14px}.rv-cta{grid-column:2;grid-row:1}}
@media(max-width:760px){.rv-desc{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}}
@media(max-width:760px){.rv-head{grid-template-columns:minmax(0,1fr)}.rv-cta{grid-column:1;grid-row:4;justify-self:start}}
/* Reference: hlavička jen název, štítky a CTA */
.rv-head{grid-template-columns:minmax(0,1fr) auto!important;align-items:center}
.rv-head h3{grid-column:1;grid-row:1}
.rv-tags{grid-column:1;grid-row:2}
.rv-cta{grid-column:2;grid-row:1 / span 2;align-self:center}
@media(min-width:901px){.rv-on .rv-cards{width:min(88%,calc((100svh - 290px) * 1.9))}}
@media(max-width:760px){.rv-cta{grid-column:1;grid-row:3;justify-self:start}}
/* Reference: kompaktní hlavička (tagy vlevo, název uprostřed), CTA plovoucí v rohu rámečku */
.rv-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;grid-template-rows:auto!important;align-items:center;column-gap:24px;margin-bottom:clamp(14px,1.6vw,22px)}
.rv-head h3{grid-column:2!important;grid-row:1!important;text-align:center;font-size:clamp(28px,3vw,52px)}
.rv-tags{grid-column:1!important;grid-row:1!important;justify-self:start;max-width:100%}
.rv-cards .rv-cta{position:absolute;z-index:20;right:clamp(14px,1.6vw,24px);bottom:clamp(14px,1.6vw,24px);grid-column:auto;grid-row:auto;opacity:0;transform:translate3d(0,24px,0) scale(.85);transition:opacity .45s ease,transform .55s cubic-bezier(.34,1.56,.64,1),background-color .25s ease,color .25s ease;pointer-events:none}
.rv-act .rv-cards .rv-cta,.rv-cards .rv-cta:focus-visible{opacity:1;transform:none;pointer-events:auto}
html:not(.rv-on) .rv-cards .rv-cta{position:static;opacity:1;transform:none;pointer-events:auto;margin-top:12px}
@media(min-width:901px){.rv-on .rv-stage{padding-top:76px}.rv-on .rv-cards{width:min(90%,calc((100svh - 200px) * 1.9))}}
@media(max-width:900px){.rv-head{grid-template-columns:minmax(0,1fr)!important}.rv-head h3{grid-column:1!important;grid-row:1!important}.rv-tags{grid-column:1!important;grid-row:2!important;justify-self:center;justify-content:center}}
@media(max-width:760px){.rv-cards .rv-cta{right:12px;bottom:-22px;padding:9px 14px;font-size:13px}.rv-cards .rv-cta svg{width:18px;height:7px}}
/* Reference: rámeček se vždy vejde mezi hlavičku a 10 % okna odspodu */
@media(min-width:901px){
.rv-on .rv-stage{padding-top:84px;padding-bottom:10svh}
.rv-on .rv-fit{flex:1 1 auto;min-height:0;container-type:size;display:grid;place-items:start center}
.rv-on .rv-cards{width:min(88cqw,100cqh * 1.9)!important;aspect-ratio:1.9/1;margin:0}
}
/* Reference: název blíž k rámečku */
.rv-stage{gap:0!important}
.rv-head{margin-bottom:10px!important}
.rv-head h3{line-height:.95}
/* Reference: tagy jako jeden řádek textu pod názvem */
.rv-head{grid-template-columns:minmax(0,1fr)!important;justify-items:center;row-gap:8px}
.rv-head h3{grid-column:1!important;grid-row:1!important}
.rv-tags{grid-column:1!important;grid-row:2!important;justify-self:center!important;justify-content:center;gap:0!important}
.rv-tags li{background:none!important;padding:0!important;border-radius:0!important;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--grey)}
.rv-tags li+li::before{content:"·";margin:0 .6em;color:var(--grey)}
@media(max-width:760px){.rv-tags{padding-inline:8px!important}.rv-tags li{font-size:10.5px;letter-spacing:.05em;line-height:1.7}.rv-tags li+li::before{margin:0 .45em}}
/* Reference: pilulky zpět, menší, v řádku pod názvem */
.rv-tags{gap:6px!important;flex-wrap:wrap}
.rv-tags li{background:var(--plum-100,#E8DCE3)!important;padding:5px 10px!important;border-radius:999px!important;font-size:12px!important;letter-spacing:0!important;text-transform:none!important;color:var(--ink)!important;line-height:1!important}
.rv-tags li+li::before{content:none!important}
@media(max-width:760px){.rv-tags{gap:4px!important}.rv-tags li{font-size:11px!important;padding:4px 8px!important}}
.rv-head{margin-bottom:clamp(20px,2.2vw,32px)!important}
/* Nástroje: nadpis zalomený do šíře textu pod ním, bez hover změny tloušťky */
.toolkit .head h2{max-width:min(100%,44rem);text-wrap:balance}
.toolkit.client .head h2,.toolkit.client:hover .head h2,.toolkit.client:focus-within .head h2{font-weight:700!important}
.toolkit .head h2{transition:none!important}
.toolkit .head{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:clamp(14px,1.6vw,22px)!important;grid-template-columns:none!important}
.toolkit .head .meta{margin:0!important;max-width:min(100%,44rem)}
/* Nástroje: závěrečná výzva zelená a na střed */
.toolkit .after{flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center;gap:clamp(20px,2.4vw,32px)!important}
.toolkit .after p{color:var(--hi)!important;max-width:24ch!important;margin-inline:auto!important;text-wrap:balance}
/* Reference: nadpis sekce na střed jako názvy klientů */
.rv-top{align-items:center;text-align:center;margin-bottom:0!important}
.refv2{padding-top:clamp(56px,7vw,110px)}

/* Brand loader */
@property --ld{syntax:"<integer>";inherits:false;initial-value:0}
html.js body::before{content:"";position:fixed;inset:0;z-index:10000;background:#F7F3F6;pointer-events:none;animation:ld-fade .5s ease 1.2s forwards}
html.js body::after{content:counter(ld) "%";counter-reset:ld var(--ld);position:fixed;left:clamp(16px,3vw,40px);bottom:clamp(16px,3vw,36px);z-index:10001;font-family:var(--display);font-size:clamp(40px,7vw,96px);line-height:1;font-variant-numeric:tabular-nums;color:#1E1119;pointer-events:none;animation:ld-count 1.05s cubic-bezier(.45,0,.2,1) .1s forwards,ld-fade .25s ease 1.2s forwards}
html.js.ld-short body::before{animation:ld-fade .35s ease .05s forwards}
html.js.ld-short body::after{display:none}
@keyframes ld-count{to{--ld:100}}
@keyframes ld-fade{to{opacity:0;visibility:hidden}}
@keyframes ld-up{to{transform:translateY(-100%);visibility:hidden}}
@media (prefers-reduced-motion:reduce){html.js body::before,html.js body::after{display:none}}
/* Reference: mobil na střed, CTA pod obrázkem */
@media(max-width:760px){
.rv-on .rv-stage{justify-content:center;padding-top:64px;padding-bottom:150px}
.rv-head{justify-items:center;text-align:center}
.rv-on .rv-cards{width:100%}
.rv-cards .rv-cta{right:0;left:0;bottom:auto;top:calc(100% + 18px);margin-inline:auto;width:max-content;padding:11px 18px;font-size:14px}
}

/* Nástroje: hlavička stejně široká jako v hero */
@media(min-width:900px){.toolkit .head h2,.toolkit .head .meta{width:100%;max-width:min(50vw,820px)!important}.toolkit .head h2{text-wrap:wrap}.toolkit .tools-lede{max-width:none;text-wrap:pretty}}
/* O mně desktop: menší portrét, širší text */
@media(min-width:761px){
.ab-hero{--abr:.56;grid-template-columns:minmax(0,.56fr) minmax(0,1fr)!important}
.ab-bg{right:calc(100% - (100% - var(--abg)) * var(--abr) / (1 + var(--abr)))!important}
.ab-lede{max-width:62ch!important}
}
/* Otázky: světle zelená plocha přes celou šířku */
.faq{position:relative;isolation:isolate;margin-top:clamp(56px,8vw,120px);padding-block:clamp(64px,8vw,120px)!important;--rule:rgba(30,17,25,.16)}
.faq::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;background:#C9F0BE}
.faq summary:hover span,.faq summary:focus-visible span{color:var(--ink)}
.faq summary:focus-visible{outline-color:var(--ink)}
.faq details p{color:var(--ink)}
.faq summary i{background:#5E1239}
.faq summary i::before,.faq summary i::after{background:#C9F0BE}
.faq summary:hover i,.faq summary:focus-visible i,.faq details[open] summary i{background:#F7F3F6}
.faq summary:hover i::before,.faq summary:hover i::after,.faq summary:focus-visible i::before,.faq summary:focus-visible i::after,.faq details[open] summary i::before,.faq details[open] summary i::after{background:#5E1239}
/* O mně: Nástroje jako vycentrovaný pás s ikonami aplikací */
.tk2{position:relative;isolation:isolate;text-align:center;padding-block:clamp(64px,8vw,120px);margin-block:clamp(56px,7vw,104px)}
.tk2::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;background:#5E1239}
.tk2 h2{margin:0 0 clamp(36px,4.4vw,64px);color:#A8E69B;font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(26px,3.8vw,80px);line-height:1}
.tk2-apps{list-style:none;margin:0 auto;padding:0;max-width:1120px;display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(24px,2.8vw,40px) clamp(16px,2.6vw,36px)}
.tk2-apps li{display:flex;flex-direction:column;align-items:center;gap:12px;width:clamp(84px,9vw,124px)}
.tk2-ic{display:grid;place-items:center;width:clamp(64px,6.4vw,92px);aspect-ratio:1;border-radius:22%;background:#F7F3F6;overflow:hidden}
.tk2-ic svg{width:60%;height:60%;display:block}
.tk2-ic.tk2-full{background:none}
.tk2-ic.tk2-full svg{width:100%;height:100%}
.tk2-n{color:#F7F3F6;font-size:clamp(13px,1vw,15px);font-weight:500;line-height:1.2}
/* Kontakt: po skoku z menu sedí nadpis a formulář výš */
.contact{scroll-margin-top:calc(96px - clamp(64px,9vw,128px))}
@media(max-width:760px){.contact{scroll-margin-top:calc(76px - clamp(64px,9vw,128px))}}
/* Audit: mobil, klikací plochy 44 px a čitelnější drobný text */
@media(max-width:760px){
.top .mark,.top nav .mail,.more-link{position:relative}
.top .mark::before,.top nav .mail::before,.more-link::before{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}
.rv-cards .rv-cta{min-height:44px;display:inline-flex;align-items:center}
.foot-grid ul:has(a){gap:0}
.foot-grid li:has(a){min-height:44px;display:flex;align-items:center}
.foot-grid li:has(a) a{display:flex;align-items:center;min-height:44px}
.foot-grid ul:has(a) li:not(:has(a)){padding-block:12px}
.top nav .mail{font-size:12px}
.rv-tags li{font-size:12px!important}
}
/* O mně na úvodní stránce: nadpis stejně velký jako ostatní sekce */
.about h2{font-size:clamp(26px,3.8vw,80px)!important;line-height:1.02}
/* Lišta: Napište mi jako hlavní zelené tlačítko */
html .top nav a.mail{background:#A8E69B;border-color:#A8E69B;color:#1E1119!important}
html .top nav a.mail:hover,html .top nav a.mail:focus-visible{background:#1E1119;border-color:#1E1119;color:#A8E69B!important}
/* Konec hledání: tři tvrzení bez ikon */
.why-pts svg{display:none}
.why-pts li{display:block}
.why-pts p{font-size:clamp(16px,1.25vw,19px);line-height:1.45}
.why-pts b{display:block;margin-bottom:.5em;font-size:clamp(18px,1.32vw,24px);line-height:1.15}
/* Nadpisy na dva řádky */
@media(min-width:900px){.vhero h1{font-size:clamp(30px,3.6vw,60px);max-width:none;white-space:nowrap}}
@media(max-width:899px){.tl2-br{display:none}}
.about h2{font-size:clamp(22px,2.9vw,56px)!important;max-width:none}
/* Bez tenkých linek */
.faq-list{border-top:0}
.faq details{border-bottom:0}
.contact .process li,.contact .process li:first-child{border:0!important}
/* Základ, který dřív dodával obal artefaktu */
[hidden]{display:none!important}
body{margin:0}
img{max-width:100%}
/* Stažení CV u Zkušeností */
.cvdl-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-bottom:16px}
.cvdl-head h2{margin:0}
.cvdl{display:flex;flex-wrap:wrap;gap:8px}
.cvdl a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;background:#A8E69B;color:#1E1119;font-weight:600;font-size:15px;line-height:1;text-decoration:none;transition:background .2s}
.cvdl a:hover,.cvdl a:focus-visible{background:#C9F0BE}
.cvdl svg{width:13px;height:13px;flex:none}
/* Sekce Konec hledání dodavatelů: čísla v dlaždicích, argumenty pod nimi ve stejné mřížce */
.why-nums,.why-pts{max-width:1180px;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1vw,16px)}
.why-nums li{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:clamp(36px,4.4vw,72px);padding:clamp(20px,2vw,32px);border-radius:12px;background:#6F2449;text-align:left;transition:background-color .25s ease}
.why-nums li:hover{padding-left:clamp(20px,2vw,32px)}
.why-nums b{color:#F7F3F6;font-size:clamp(44px,5.2vw,84px);transition:color .25s ease}
.why-nums b i{font-style:normal;font-size:.55em;vertical-align:.55em;margin-left:.08em;color:#A8E69B;transition:color .25s ease}
.why-nums span{color:#DDCDE2;font-size:clamp(15px,1.15vw,17px);transition:color .25s ease}
.why-nums li:hover{background:#A8E69B}
.why-nums li:hover b,.why-nums li:hover b i,.why-nums li:hover span{color:#1E1119}
.why-pts{margin-top:clamp(40px,4vw,64px);text-align:left}
.why-pts li{padding-inline:clamp(20px,2vw,32px)}
@media(max-width:760px){
.why-nums,.why-pts{grid-template-columns:minmax(0,1fr);gap:8px}
.why-nums li{flex-direction:row;align-items:center;gap:16px;padding-block:18px}
.why-nums li,.why-nums li:first-child{border:0!important}
.why-nums b{font-size:44px}
.why-nums span{text-align:right}
.why-pts{gap:24px;margin-top:40px;max-width:none}
.why-pts li{padding-inline:20px}
}
/* Nadpis sekce na stejné úrovni jako ostatní h2 */
.why h2{font-size:clamp(26px,3.8vw,80px);line-height:1.05;max-width:none;margin:0 0 clamp(28px,4vw,52px)}
.work h2{text-transform:none;letter-spacing:-.01em}
/* Otázky: podbarvené bloky místo linek */
.faq-list{display:grid;gap:8px}
.faq details{border-radius:12px;background:#E2F7DA;transition:background-color .25s ease}
.faq details:hover,.faq details[open]{background:#F7F3F6}
.faq summary{padding:clamp(14px,1.4vw,20px) clamp(14px,1.4vw,20px) clamp(14px,1.4vw,20px) clamp(20px,2vw,28px);border-radius:12px}
.faq summary:focus-visible{outline-offset:-2px}
.faq details p{padding:0 clamp(20px,2vw,28px) clamp(20px,2vw,28px);margin:0}
.faq summary:hover i,.faq summary:focus-visible i,.faq details[open] summary i{background:#A8E69B}
@media (prefers-reduced-motion:reduce){.faq details{transition:none}}
/* Odkaz nahoru v patičce */
.line-r{display:inline-flex;align-items:center;gap:clamp(16px,2vw,28px)}
.totop{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:inherit;font-weight:600;text-decoration:none}
.totop:hover,.totop:focus-visible{text-decoration:underline;text-underline-offset:3px}
.totop svg{width:12px;height:12px;flex:none}
.foot .line{align-items:center}
/* Otázky: šipka dolů místo plusu, otevřená míří nahoru */
.faq summary i::before{display:none}
.faq summary i::after,.faq details[open] summary i::after{left:50%;right:auto;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;clip-path:polygon(37.5% 0,62.5% 0,62.5% 56%,94% 56%,50% 100%,6% 56%,37.5% 56%);transform:rotate(0)}
.faq details[open] summary i::after{transform:rotate(180deg)}
@media(max-width:760px){.faq summary i::after,.faq details[open] summary i::after{width:14px;height:14px;margin:-7px 0 0 -7px}}
.totop{gap:6px}.totop svg{width:10px;height:10px}
/* Šipka podle dodaného tvaru */
.faq summary i::after,.faq details[open] summary i::after{width:22px;height:22px;margin:-11px 0 0 -11px;clip-path:none;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 128 128'%3E%3Cpath d='m64 88c-1.023 0-2.047-.391-2.828-1.172l-40-40c-1.563-1.563-1.563-4.094 0-5.656s4.094-1.563 5.656 0l37.172 37.172 37.172-37.172c1.563-1.563 4.094-1.563 5.656 0s1.563 4.094 0 5.656l-40 40c-.781.781-1.805 1.172-2.828 1.172z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 128 128'%3E%3Cpath d='m64 88c-1.023 0-2.047-.391-2.828-1.172l-40-40c-1.563-1.563-1.563-4.094 0-5.656s4.094-1.563 5.656 0l37.172 37.172 37.172-37.172c1.563-1.563 4.094-1.563 5.656 0s1.563 4.094 0 5.656l-40 40c-.781.781-1.805 1.172-2.828 1.172z'/%3E%3C/svg%3E") center/contain no-repeat}
.totop{gap:5px}.totop svg{width:14px;height:14px;transform:rotate(180deg)}
.faq summary:hover i,.faq summary:focus-visible i,.faq details[open] summary:hover i{background:#1E1119}
.faq summary:hover i::after,.faq summary:focus-visible i::after,.faq details[open] summary:hover i::after{background:#A8E69B}
.faq summary i::after,.faq details[open] summary i::after{width:26px;height:26px;margin:-13px 0 0 -13px}
.faq summary i::after{transform:translateY(2px)}
.faq details[open] summary i::after{transform:translateY(-2px) rotate(180deg)}
@media(max-width:760px){.faq summary i::after,.faq details[open] summary i::after{width:22px;height:22px;margin:-11px 0 0 -11px}}
/* Nástroje bez čísel: karta začíná klientem */
@media(min-width:901px){
.toolkit .tools-list{grid-template-rows:repeat(4,auto)}
.toolkit .tools-list li{grid-row:span 4}
.toolkit .tl-row{grid-row:span 4}
}
.toolkit .tl-n .cat{margin-top:0}
/* Nástroje: logo klienta místo názvu */
.toolkit .tl-n .cat{display:flex;align-items:center;height:34px;color:#F7F3F6}
.tl-logo{display:block;height:var(--h);width:auto;aspect-ratio:var(--ar);flex:none}
.toolkit .tl-n .nm{margin-top:12px}.toolkit .tl-n{gap:12px}
/* Nástroje: tlumenější logo, větší odstup od nadpisu */
.toolkit .tl-n{gap:0}
.toolkit .tl-n .cat{align-items:flex-end;color:#F7F3F6;opacity:.55;transition:opacity .25s ease}
.toolkit .tl-row:hover .cat,.toolkit .tl-row:focus-visible .cat{opacity:.85}
.toolkit .tl-n .nm{margin-top:60px}
@media(max-width:760px){.toolkit .tl-n .nm{margin-top:48px}}
/* Reference na mobilu: vyšší vizuál, tlačítko dál od obsahu */
@media(max-width:760px){
.rv-on .rv-stage{justify-content:center;padding-top:56px;padding-bottom:124px}
.rv-on .rv-fit{flex:none;container-type:normal;display:block}
.rv-on .rv-cards{width:100%!important;aspect-ratio:16/9;margin-inline:auto}
.rv-head{margin-bottom:40px!important}
.rv-cards .rv-cta{top:calc(100% + 64px)}
}
/* O mně na mobilu: tlačítko nad fotkou v ink */
@media(max-width:760px){html .top:has([aria-current="page"]) nav a.mail{background:#1E1119!important;border-color:#1E1119!important;color:#A8E69B!important}}
.cvdl-box{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.cvdl-box p{margin:0;font-size:15px;line-height:1.4;color:var(--grey)}
.rv-cta svg.rv-chev,.rv-cards .rv-cta svg.rv-chev{width:18px;height:18px;transform:rotate(-90deg)}
/* Všechna tlačítka mají text ve verzálkách (e-mail v patičce je výjimka) */
html .btn,html .rv-cta,html .cs-cta a,html .after>a,html .work .card-cta,html .cm-label,html .cvdl a,html .top nav a.mail,html .cform button,html .cform input[type=submit]{font-family:var(--text);font-weight:700;font-stretch:100%;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:760px){.cs-cta a{font-size:14px;white-space:nowrap;padding-inline:18px}}
/* Tlačítka: šipka z otázek */
.rv-chev{width:1.25em;height:1.25em;flex:none;transform:rotate(-90deg)}
.rv-cta svg.rv-chev,.rv-cards .rv-cta svg.rv-chev{width:1.25em;height:1.25em}
.foot .big::after{content:"";width:.9em;height:.9em;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 128 128'%3E%3Cpath stroke='%23000' stroke-width='5' d='m64 88c-1.023 0-2.047-.391-2.828-1.172l-40-40c-1.563-1.563-1.563-4.094 0-5.656s4.094-1.563 5.656 0l37.172 37.172 37.172-37.172c1.563-1.563 4.094-1.563 5.656 0s1.563 4.094 0 5.656l-40 40c-.781.781-1.805 1.172-2.828 1.172z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 128 128'%3E%3Cpath stroke='%23000' stroke-width='5' d='m64 88c-1.023 0-2.047-.391-2.828-1.172l-40-40c-1.563-1.563-1.563-4.094 0-5.656s4.094-1.563 5.656 0l37.172 37.172 37.172-37.172c1.563-1.563 4.094-1.563 5.656 0s1.563 4.094 0 5.656l-40 40c-.781.781-1.805 1.172-2.828 1.172z'/%3E%3C/svg%3E") center/contain no-repeat;transform:rotate(-90deg)}
.foot .big:hover::after{transform:translateX(6px) rotate(-90deg)}
html .rv-cta,html .rv-cards .rv-cta,html .toolkit .after>a{padding:15px 26px}
.rv-chev path{stroke:currentColor;stroke-width:5;stroke-linejoin:round}
@media(max-width:760px){html .rv-cta,html .rv-cards .rv-cta,html .toolkit .after>a{padding:14px 22px}}
@media(hover:none){html .work .card-cta{padding:15px 26px}}
@media(hover:none) and (max-width:760px){html .work .card-cta{padding:14px 22px}}
@media(max-width:760px){html .top nav a[href$="o-mne.html"]:not([aria-current]),html .top nav:has([aria-current]) a[href*="#prace"]{display:inline-flex;align-items:center}.top nav{align-items:center;gap:16px}}
.tk2::before{background:#C9F0BE}
.tk2 h2{color:#1E1119;font-size:clamp(20px,2.4vw,36px);margin-bottom:clamp(24px,3vw,40px)}
.tk2-apps{max-width:1000px;gap:8px}
.tk2-apps li{flex-direction:row;gap:12px;width:auto;padding:10px 20px 10px 10px;border-radius:12px;background:#E2F7DA;transition:background-color .25s ease}
.tk2-apps li:hover{background:#F7F3F6}
.tk2-ic{width:36px;flex:none;border-radius:8px}
.tk2-n{color:#1E1119;font-size:15px;font-weight:500;white-space:nowrap}
@media(max-width:760px){.tk2-apps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.tk2-apps li{padding-right:12px;min-width:0}.tk2-ic{width:32px}.tk2-n{font-size:14px;white-space:normal;text-align:left}}
@media(prefers-reduced-motion:reduce){.tk2-apps li{transition:none}}
@media(max-width:760px){.ab-bg::before{content:"";position:absolute;inset:0 0 auto;height:6.1vw;background:url(img/r/michal-p-800.webp) top/100% auto no-repeat;transform:scaleY(-1)}html .ab-bg img{object-position:62% 0!important;transform:translateY(6vw)}}
.ab-hero{margin-top:24px}
.vhero .cnt{width:1.84em;text-align:right;white-space:nowrap}
.vhero .cnt i{display:inline-block;width:.92em;text-align:center;font-style:normal}
@media(max-width:760px){html .why .why-cta{font-size:14px;padding:14px 22px;min-height:49px}}
