/* Layout: bílý web, tmavý je jen úvod s limetkovým logem. Sekce dělí jemné linky,
   žádné rámečky kolem karet. Web má záměrně jeden vzhled (světlý s tmavým úvodem). */
:root{
  --paper:#ffffff;       /* hlavní plocha */
  --mist:#f2f5f1;        /* jemné podkladové pásy */
  --ink:#043529;         /* firemní zelená: text, tlačítka */
  --muted:#4f6a60;       /* doplňkový text */
  --line:#d3dfd8;        /* dělicí linky */
  --dark:#03241b;        /* tmavý úvod a tmavé pásy */
  --on-dark:#eef4ec;     /* text na tmavé */
  --on-dark-muted:#9fb9ad;
  --lime:#ccff3f;        /* akcent */
  --display:"Kumbh Sans","Avenir Next","Segoe UI",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --wrap:1320px;
  --gutter:clamp(16px,4vw,56px);
  --head-h:92px;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:var(--head-h)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--display);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-.035em;line-height:1.04;margin:0;text-wrap:balance}
p{margin:0}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.label{font:500 12px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.todo{font:500 12px/1.4 var(--mono);color:#1a1a1a;background:#ffd84d;padding:2px 6px;letter-spacing:.02em}

/* Tlačítka a odkazy */
.btn{display:inline-flex;align-items:center;gap:.7em;font:600 16px/1 var(--display);text-decoration:none;padding:18px 26px;border:0;cursor:pointer;white-space:nowrap;transition:transform .2s ease,background .2s ease,color .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn--lime{background:var(--lime);color:var(--ink)}
.btn--lime:hover{background:#dcff73}
.btn--dark{background:var(--ink);color:var(--lime)}
.btn--dark:hover{background:#021a14}
.btn--sm{padding:13px 18px;font-size:15px}
.arr{width:15px;height:12px;flex:none;transition:transform .2s ease}
a:hover>.arr,button:hover>.arr{transform:translateX(3px)}
.more{display:inline-flex;align-items:center;gap:.6em;font-weight:600;text-decoration:none;padding-block:6px;background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .3s ease}
.more:hover{background-size:100% 2px}

/* Hlavička: na tmavém úvodu světlá, po odscrollování bílá */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;color:var(--ink);background:rgba(255,255,255,.94);backdrop-filter:blur(10px);transition:box-shadow .25s ease}
.site-head.solid{box-shadow:0 1px 0 var(--line)}
.head{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--head-h)}
.brand{display:block;width:112px;color:inherit}
.brand svg{width:100%;height:auto;display:block}
.head__r{display:flex;align-items:center;gap:clamp(8px,2vw,20px)}
.star-btn{width:52px;height:52px;display:grid;place-items:center;background:none;border:0;color:var(--ink);cursor:pointer;padding:0}
.star-btn svg{width:34px;height:34px;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.star-btn:hover svg{transform:rotate(60deg)}
.star-btn[aria-expanded="true"] svg{transform:rotate(225deg)}
@media (max-width:520px){.head .btn--sm{padding:11px 14px;font-size:14px}.head .btn--sm .arr{display:none}.brand{width:92px}}

/* Menu přes celou obrazovku */
.overlay{position:fixed;inset:0;z-index:45;background:var(--lime);color:var(--ink);display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--head-h) + 24px + env(safe-area-inset-top,0px)) var(--gutter) calc(32px + env(safe-area-inset-bottom,0px));overflow-y:auto}
.overlay nav{display:flex;flex-direction:column;gap:4px}
.overlay nav a{font:700 clamp(40px,9vw,104px)/1.02 var(--display);letter-spacing:-.045em;text-decoration:none;width:fit-content;transition:transform .25s ease}
.overlay nav a:hover{transform:translateX(12px)}
.overlay .over-foot{display:flex;flex-wrap:wrap;gap:12px 32px;font:500 15px/1.4 var(--mono)}
.menu-open{overflow:hidden}
.menu-open .site-head,.menu-open .site-head.solid{background:transparent;backdrop-filter:none;box-shadow:none;color:var(--ink)}
.menu-open .site-head .star-btn{color:var(--ink)}
.menu-open .site-head .btn--sm{background:var(--ink);color:var(--lime)}

/* Tmavý úvod */
.hero{padding-bottom:clamp(16px,2vw,24px)}
.hero__panel{background:var(--dark);color:var(--on-dark);padding:clamp(28px,5vw,72px)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(32px,5vw,72px);align-items:end}
.hero__mark{color:var(--lime);position:relative;order:2;padding-right:13%}
.hero__mark .word{width:100%;height:auto;display:block}
/* hvězdička sedí vpravo nahoře vedle K, jako v logu, a nepřekrývá písmena */
.hero__mark .spin{position:absolute;right:0;top:-4%;width:12%;animation:spin 18s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hero__text{display:flex;flex-direction:column;gap:28px;order:1;padding-bottom:6px}
.hero .label{color:var(--on-dark-muted)}
.hero h1{font-size:clamp(40px,5.6vw,80px)}
.hero h1 em{font-style:normal;color:var(--lime)}
.hero__sub{font-size:clamp(17px,1.5vw,20px);color:var(--on-dark-muted);max-width:34ch}
.hero__acts{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center}
@media (max-width:860px){
  .hero__grid{grid-template-columns:1fr}
  .hero__mark{order:1}
}

/* Showreel: náhled 16:9, po kliknutí se načte přehrávač z Vimea */
.reel__box{position:relative;aspect-ratio:16/9;max-width:100%;background:var(--ink) radial-gradient(120% 90% at 70% 30%,#0b4a39 0%,var(--dark) 70%);color:var(--on-dark);display:grid;place-items:center;overflow:hidden}
.reel__box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.reel__play{width:clamp(72px,9vw,112px);aspect-ratio:1;border-radius:50%;border:0;background:var(--lime);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:transform .25s ease}
.reel__play:hover{transform:scale(1.06)}
.reel__play svg{width:40%;height:40%;margin-left:8%}
.reel__cap{position:absolute;left:clamp(20px,3vw,40px);bottom:clamp(20px,3vw,36px);display:flex;flex-direction:column;gap:6px}
.reel__cap .label{color:var(--on-dark-muted)}
.reel__title{font:700 clamp(22px,2.6vw,36px)/1.1 var(--display);letter-spacing:-.02em}
.reel__note{position:absolute;right:clamp(20px,3vw,40px);bottom:clamp(20px,3vw,36px);max-width:32ch;text-align:right;font:500 13px/1.4 var(--mono);color:var(--on-dark-muted)}
@media (max-width:600px){.reel__note{left:20px;right:20px;top:20px;bottom:auto;text-align:left}}

/* Případovka */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font:500 13px/1.4 var(--mono);color:var(--on-dark-muted);margin-bottom:clamp(24px,4vw,48px)}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--lime)}
.case-hero h1{font-size:clamp(48px,8vw,128px);letter-spacing:-.045em}
.case-hero__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px clamp(32px,5vw,72px);align-items:end}
.case-hero__perex{font-size:clamp(18px,1.6vw,22px);color:var(--on-dark);max-width:36ch}
.case-hero__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;list-style:none;padding:0}
.case-hero__meta li{font:500 13px/1 var(--display);background:rgba(255,255,255,.08);color:var(--on-dark);padding:9px 12px}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line)}
.fact{padding:clamp(24px,3vw,36px) clamp(16px,2vw,24px) clamp(24px,3vw,36px) 0;display:flex;flex-direction:column;gap:6px}
.fact+.fact{border-left:1px solid var(--line);padding-left:clamp(16px,2vw,24px)}
.fact b{font:700 clamp(32px,4vw,56px)/1 var(--display);letter-spacing:-.03em}
.fact span{color:var(--muted);font-size:15px}
@media (max-width:640px){.facts{grid-template-columns:1fr}.fact+.fact{border-left:0;border-top:1px solid var(--line);padding-left:0}}
.story{display:flex;flex-direction:column}
.chapter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px clamp(24px,5vw,80px);padding-block:clamp(32px,4vw,56px);border-bottom:1px solid var(--line)}
.chapter h2{font-size:clamp(28px,3vw,40px)}
.chapter p{font-size:clamp(17px,1.4vw,20px);line-height:1.6;max-width:60ch}
.chapter ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.chapter li{font-size:clamp(17px,1.4vw,20px);padding-left:28px;position:relative;max-width:60ch}
.chapter li::before{content:"";position:absolute;left:0;top:.55em;width:12px;height:12px;background:var(--lime);box-shadow:inset 0 0 0 1px var(--ink)}
@media (max-width:760px){.chapter{grid-template-columns:1fr}}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2vw,24px)}
.gallery figure{margin:0;background:var(--mist);aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden}
.gallery figure.wide{grid-column:1/-1;aspect-ratio:16/8}
.gallery img{width:100%;height:100%;object-fit:contain}
.gallery figure.cover img{object-fit:cover}
.gallery figure.logo{background:#141414}
.gallery figure.logo img{width:40%;height:auto;filter:invert(1)}
.gallery .ph{font:500 13px/1.4 var(--mono);color:var(--muted);text-align:center;padding:24px}
@media (max-width:640px){.gallery{grid-template-columns:1fr}.gallery figure.wide{aspect-ratio:4/3}}
.next{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;padding-block:clamp(40px,6vw,72px);border-top:1px solid var(--line);text-decoration:none}
.next .label{display:block;margin-bottom:10px}
.next b{font:700 clamp(40px,6vw,88px)/1 var(--display);letter-spacing:-.04em}
.next:hover b{text-decoration:underline;text-decoration-thickness:4px;text-underline-offset:8px}
.next .arr{width:48px;height:40px}

/* Sekce */
.section{padding-block:clamp(72px,10vw,136px)}
.section--mist{background:var(--mist)}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px clamp(24px,5vw,72px);align-items:end;margin-bottom:clamp(40px,6vw,72px)}
.sec-head h2{font-size:clamp(40px,6vw,88px)}
.sec-head p{color:var(--muted);max-width:42ch;font-size:clamp(17px,1.4vw,19px)}
@media (max-width:760px){.sec-head{grid-template-columns:1fr}}

/* Projekty */
.project{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,5vw,80px);align-items:center;padding-block:clamp(40px,6vw,72px);border-top:1px solid var(--line)}
.project__body{display:flex;flex-direction:column;gap:20px;min-width:0}
.project__meta{display:flex;flex-wrap:wrap;gap:6px 18px}
.project h3{font-size:clamp(36px,4.6vw,64px)}
.project p{color:var(--muted);max-width:46ch}
.project__media{background:var(--mist);aspect-ratio:16/10;display:grid;place-items:center;overflow:hidden}
.project__media img{width:100%;height:100%;object-fit:contain}
.project__media--logo{background:#141414}
.project__media--logo img{width:46%;height:auto;filter:invert(1)}
.project__media--grid img{object-fit:cover}
.project:nth-child(even) .project__media{order:-1}
@media (max-width:860px){
  .project{grid-template-columns:1fr}
  .project__media,.project:nth-child(even) .project__media{order:-1}
}

/* Pruh s výzvou */
.nudge{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px;padding:clamp(28px,4vw,40px) 0;border-top:1px solid var(--line)}
.nudge p{font:600 clamp(22px,2.4vw,32px)/1.25 var(--display);letter-spacing:-.02em;max-width:30ch;text-wrap:balance}

/* Služby: rozbalovací řádky. Ikona | název + krátká věta | plus. Detail se otevře pod tím. */
.services{border-top:1px solid var(--line)}
.service{border-bottom:1px solid var(--line)}
.service summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(16px,3vw,32px);align-items:center;padding-block:clamp(20px,2.6vw,30px)}
.service summary::-webkit-details-marker{display:none}
.service__icon{width:clamp(52px,5vw,64px);aspect-ratio:1;display:grid;place-items:center;background:var(--paper);color:var(--ink);transition:background .2s ease}
.service__icon svg{width:52%;height:auto}
.service summary:hover .service__icon,.service[open] .service__icon{background:var(--lime)}
.service__head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px;min-width:0}
.service__lead{line-height:1.2;padding-top:.15em}
.service h3{font-size:clamp(26px,3vw,40px);line-height:1.05}
.service__lead{color:var(--muted);font-size:clamp(16px,1.3vw,18px)}
.service__toggle{width:40px;height:40px;position:relative;flex:none}
.service__toggle::before,.service__toggle::after{content:"";position:absolute;left:50%;top:50%;width:20px;height:2px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .25s ease}
.service__toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.service[open] .service__toggle::after{transform:translate(-50%,-50%) rotate(0deg)}
.service__body{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px 48px;padding:0 0 clamp(28px,3vw,40px) calc(clamp(52px,5vw,64px) + clamp(16px,3vw,32px))}
.service__body p{font-size:18px;line-height:1.55;max-width:52ch}
.service__side{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.tags li{font:500 13px/1 var(--display);background:var(--paper);padding:9px 12px}
@media (max-width:760px){
  .service__body{grid-template-columns:1fr;padding-left:0}
  .service__head{flex-direction:column;gap:4px}
}

/* Postup */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,3vw,40px);counter-reset:s}
.step{display:flex;flex-direction:column;gap:12px;padding-top:20px;border-top:2px solid var(--ink);counter-increment:s}
.step::before{content:"0" counter(s);font:500 13px/1 var(--mono);color:var(--muted);letter-spacing:.1em}
.step h3{font-size:24px;letter-spacing:-.02em}
.step p{color:var(--muted);font-size:16px}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* Tmavý pás s výzvou */
.band{background:var(--dark);color:var(--on-dark)}
.band__in{display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:24px 48px;align-items:center;padding-block:clamp(48px,7vw,88px)}
.band h2{font-size:clamp(32px,4.4vw,60px)}
.band h2 em{font-style:normal;color:var(--lime)}
.band p{color:var(--on-dark-muted);margin-top:16px;max-width:46ch}
.band__acts{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.band__acts small{font:500 13px/1.4 var(--mono);color:var(--on-dark-muted)}
@media (max-width:760px){.band__in{grid-template-columns:1fr}}

/* PDF ke stažení */
.pdf{background:var(--lime);color:var(--ink);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);padding:clamp(32px,5vw,72px);align-items:center}
.pdf h2{font-size:clamp(36px,4.8vw,68px)}
.pdf__text{display:flex;flex-direction:column;gap:20px;min-width:0}
.pdf__text p{max-width:44ch;font-size:18px}
.pdf .label{color:var(--ink);opacity:.75}
.pdf__note{font:500 14px/1.4 var(--mono);min-height:1.4em}
.pdf__doc{justify-self:center;width:min(100%,240px);aspect-ratio:210/297;background:var(--ink);color:var(--lime);padding:22px;display:flex;flex-direction:column;justify-content:space-between;transform:rotate(4deg);box-shadow:-18px 22px 0 rgba(4,53,41,.18)}
.pdf__doc svg{width:70%;height:auto}
.pdf__doc span{font:500 11px/1.5 var(--mono);color:var(--on-dark);letter-spacing:.08em;text-transform:uppercase}
@media (max-width:760px){.pdf{grid-template-columns:1fr}.pdf__doc{width:170px;order:-1;justify-self:start}}

/* Reference a klienti */
.quote{max-width:1040px}
.quote blockquote{margin:0;font:500 clamp(24px,3vw,40px)/1.3 var(--display);letter-spacing:-.02em;text-wrap:pretty}
.quote blockquote::before{content:"„"}
.quote blockquote::after{content:"“"}
.quote figcaption{margin-top:28px;display:flex;align-items:center;gap:16px}
.quote figcaption img{width:44px;height:44px}
.quote figcaption b{display:block}
.quote figcaption span{color:var(--muted);font-size:15px}
.logos{list-style:none;margin:clamp(56px,8vw,96px) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:36px 32px;align-items:center}
.logos li{display:flex;align-items:center;min-height:56px;font:700 15px/1.15 var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}
.logos img{max-height:52px;width:auto}

/* Kontakt s formulářem */
.final{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:start}
.final h2{font-size:clamp(48px,7vw,112px)}
.final__side{display:flex;flex-direction:column;gap:28px;min-width:0}
.final__side>p{color:var(--muted);font-size:18px;max-width:40ch}
.contact-list{display:flex;flex-direction:column;gap:8px;font-size:clamp(20px,2vw,26px);font-weight:600}
.contact-list div{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}
.copy{background:none;border:0;padding:0;color:var(--muted);font:500 13px/1 var(--mono);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.copy:hover{color:var(--ink)}
.form{display:flex;flex-direction:column;gap:18px;background:var(--mist);padding:clamp(24px,3.5vw,40px)}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font:500 12px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.field input,.field textarea{font:400 17px/1.5 var(--display);color:var(--ink);background:var(--paper);border:0;border-bottom:2px solid var(--line);padding:14px 14px;border-radius:0;width:100%}
.field textarea{min-height:120px;resize:vertical}
.field label span{text-transform:none;letter-spacing:0}
.form__two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:560px){.form__two{grid-template-columns:1fr}}
.field input:focus,.field textarea:focus{border-bottom-color:var(--ink)}
.form__row{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
.form-note{font:500 14px/1.4 var(--mono);color:var(--muted)}
@media (max-width:860px){.final{grid-template-columns:1fr}}

/* Patička */
.foot{background:var(--dark);color:var(--on-dark-muted);padding-block:56px 32px;font-size:15px}
.foot__grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}
.foot h4{margin:0 0 12px;font:500 12px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark)}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.foot a{text-decoration:none}
.foot a:hover{color:var(--lime)}
.foot__brand{width:96px;color:var(--lime)}
.foot__brand svg{width:100%;height:auto}
.foot__legal{margin-top:40px;padding-top:20px;border-top:1px solid #1d4a3c;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font:500 13px/1.4 var(--mono)}
@media (max-width:760px){.foot__grid{grid-template-columns:1fr 1fr}}

.logos img{max-height:64px;max-width:140px}

/* Nadpisy fontem z logomanuálu: Alternate Gothic Compressed ATF.
   Na webu použita volná League Gothic (revival Alternate Gothic No.1). Po zakoupení licence
   stačí přepsat --heading na "alternate-gothic-compressed-atf" z Adobe Fonts. */
:root{--heading:"League Gothic","Alternate Gothic Compressed ATF","Arial Narrow",Impact,sans-serif}
h1,h2,h3,.next b,.fact b,.nudge p,.reel__title,.overlay nav a{font-family:var(--heading);font-weight:400;letter-spacing:.005em;text-transform:uppercase;line-height:.95}
.hero h1{font-size:clamp(56px,7.6vw,112px)}
.sec-head h2{font-size:clamp(56px,8vw,124px)}
.project h3{font-size:clamp(52px,6.4vw,92px)}
.service h3{font-size:clamp(34px,4vw,56px);line-height:.95}
.step h3{font-size:32px}
.band h2{font-size:clamp(44px,6vw,84px)}
.pdf h2{font-size:clamp(52px,6.6vw,96px)}
.final h2{font-size:clamp(64px,9.6vw,150px)}
.case-hero h1{font-size:clamp(72px,11vw,176px)}
.chapter h2{font-size:clamp(36px,4vw,56px)}
.fact b{font-size:clamp(44px,5.4vw,76px)}
.next b{font-size:clamp(56px,8vw,120px)}
.nudge p{font-size:clamp(30px,3.4vw,46px);max-width:none}
.overlay nav a{font-size:clamp(56px,12vw,140px);line-height:.92;letter-spacing:.01em}

/* Formulář: ochrana proti robotům a poznámka k údajům */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-legal{font-size:14px;color:var(--muted)}
.form-legal a{color:var(--ink)}
.foot__legal a{text-decoration:underline;text-underline-offset:3px}
/* Zásady ochrany osobních údajů */
.legal{max-width:820px;display:flex;flex-direction:column;gap:18px}
.legal h1{font-size:clamp(56px,8vw,112px)}
.legal h2{font-size:clamp(30px,3.4vw,44px);margin-top:24px}
.legal p,.legal li{font-size:17px;line-height:1.65}
.legal ul{padding-left:20px;display:flex;flex-direction:column;gap:10px}
.legal a{color:var(--ink)}
.legal .lead{font-size:20px;color:var(--muted)}


/* Audit 17. 10. 2026: čitelnost, klikací plochy, mobil */
.skip{position:absolute;left:16px;top:-60px;z-index:100;background:var(--lime);color:var(--ink);padding:12px 16px;font:600 15px/1 var(--display);text-decoration:none}
.skip:focus{top:12px}
.label{font-size:13px}
.hero__label{font-size:14px;color:var(--on-dark)}
.hero__facts{list-style:none;margin:8px 0 0;padding:20px 0 0;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14px;color:var(--on-dark-muted)}
.hero__facts b{font-family:var(--heading);font-weight:400;font-size:28px;line-height:1;color:var(--lime);margin-right:6px;letter-spacing:.01em}
.btn{min-height:48px}
.btn--sm,.head .btn--sm{min-height:44px}
.more{min-height:44px;padding-block:10px}
.copy{padding:10px 0;min-height:44px;display:inline-flex;align-items:center}
.crumbs a{padding-block:8px;display:inline-block}
.foot a{display:inline-block;padding-block:4px}
.foot .foot__h{margin:0 0 12px;font:500 13px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark)}

.pdf__form{display:flex;flex-direction:column;gap:10px;max-width:520px}
.pdf__row{display:flex;flex-wrap:wrap;gap:10px}
.pdf__row input{flex:1 1 220px;min-height:48px;font:400 17px/1.4 var(--display);color:var(--ink);background:var(--paper);border:0;border-bottom:2px solid var(--ink);padding:12px 14px;border-radius:0;min-width:0}
.pdf__row input:focus{outline:2px solid var(--ink);outline-offset:2px}
.pdf .form-note{color:var(--ink);opacity:.8}
@media (max-width:860px){
  .hero__mark{max-width:58%;margin-bottom:8px}
  .hero__text{gap:22px}
}
@media (max-width:760px){
  .service summary{align-items:start}
  .service__head{align-items:flex-start;text-align:left}
  .service__toggle{margin-top:6px}
  .hero__facts b{font-size:24px}
}

/* případovky: střídání textu a obrázků */
.story--mixed .gallery{margin:clamp(8px,2vw,20px) 0 clamp(8px,2vw,20px)}
.case-top{margin-bottom:clamp(8px,2vw,20px)}

/* program pro tipaře */
.tip-steps{padding-left:22px;display:flex;flex-direction:column;gap:10px}
.tip-steps li{font-size:17px;line-height:1.65}
.tip-table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.5}
.tip-table th{background:var(--dark,#03241b);color:#fff;text-align:left;font:500 12px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:10px 12px}
.tip-table td{border-bottom:1px solid var(--line);padding:12px;vertical-align:top}
@media (max-width:640px){.tip-table{font-size:15px}.tip-table th,.tip-table td{padding:8px}.tip-table--levels thead{display:none}.tip-table--levels tr{display:block;border-bottom:2px solid var(--ink);padding:8px 0}.tip-table--levels td{display:block;border:0;padding:4px 0}.tip-table--levels td::before{content:attr(data-label);display:block;font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.tip-table--levels td:first-child{font-size:20px}.tip-table--levels td:first-child::before{display:none}}
.tip-check{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.5;cursor:pointer}
.tip-check input{width:20px;height:20px;margin-top:2px;accent-color:var(--ink);flex:none}

/* MOVED-FROM-INLINE: dřív v <style> blocích stránek */
.chapter p+p{margin-top:1em}@media (max-width:760px){.case-hero__grid{grid-template-columns:1fr}.case-hero h1{font-size:clamp(44px,15vw,96px);overflow-wrap:anywhere}}
/* Projekty: logo na černé, po najetí se panel rozsvítí v barvě klienta.
   Barvu klienta mění --brand, barvu loga po najetí --logo-on, velikost loga --w. */
.project__media--logo{background:#141414;transition:background-color .45s ease}
.project__media--logo img{width:var(--w,46%);height:auto;max-height:70%;filter:brightness(0) invert(1);transition:filter .45s ease,transform .45s ease}
@media (hover:hover){
  .project:hover .project__media--logo,.project:focus-within .project__media--logo{background:var(--brand,#141414)}
  .project:hover .project__media--logo img,.project:focus-within .project__media--logo img{filter:var(--logo-on,brightness(0) invert(1));transform:scale(1.04)}
}
@media (hover:none){
  .project:active .project__media--logo,.project:focus-within .project__media--logo{background:var(--brand,#141414)}
  .project:active .project__media--logo img,.project:focus-within .project__media--logo img{filter:var(--logo-on,brightness(0) invert(1))}
}
@media (prefers-reduced-motion:reduce){.project__media--logo,.project__media--logo img{transition:none}}
.project__media{position:relative}
.chips{position:absolute;left:clamp(12px,2vw,20px);bottom:clamp(12px,2vw,20px);display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;max-width:calc(100% - 24px)}
 .chips li{background:var(--lime);color:var(--ink);font:500 12px/1 var(--mono,monospace);letter-spacing:.08em;text-transform:uppercase;padding:8px 10px}
.chips--inline{position:static;max-width:none;margin-top:14px}
.chips--inline .chip--year{background:transparent;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}
.project__text{display:flex;flex-direction:column;gap:20px}
@media (max-width:760px){.projects .project{gap:20px}.projects .project__body{display:contents}.projects .project__head{order:0}.projects .project .project__media,.projects .project:nth-child(even) .project__media{order:1}.projects .project__text{order:2}}


.pdf__pages{position:relative;justify-self:center;width:min(100%,420px);aspect-ratio:297/250}
.pdf__pages img{position:absolute;width:78%;aspect-ratio:297/210;object-fit:cover;box-shadow:0 18px 40px rgba(3,36,27,.28);border-radius:2px}
.pdf__pages img:nth-child(1){right:0;top:0;transform:rotate(5deg)}
.pdf__pages img:nth-child(2){right:9%;top:13%;transform:rotate(-2deg)}
.pdf__pages img:nth-child(3){left:0;bottom:0;transform:rotate(-6deg)}
@media (max-width:760px){.pdf__pages{order:-1;width:100%;max-width:360px}}
/* Fotky projektů */
.project__media--photo{background:#141414}
.project__media--photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
@media (hover:hover){.project:hover .project__media--photo img{transform:scale(1.03)}}
@media (prefers-reduced-motion:reduce){.project__media--photo img{transition:none}}
.gallery figure>img,.gallery figure>picture>img{max-height:100%;min-height:0}
.gallery figure.dark{background:#0b0b0b}
.gallery figure.white{background:#fff}
.gallery figure.brands{background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:9%;place-items:center}
.gallery figure.brands img{width:100%;height:auto;max-height:none}
.gallery figure.video{position:relative;background:#0b0b0b}.gallery figure.video img{object-fit:contain}
.gallery figure.video::after{content:"Záběr z videa";position:absolute;left:14px;bottom:14px;background:var(--lime);color:var(--ink);font:600 11px/1 var(--mono,monospace);letter-spacing:.08em;text-transform:uppercase;padding:7px 9px}
/* Kdo za tím stojí */
.who{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:clamp(28px,5vw,72px);align-items:center}
.who__photo{margin:0;background:var(--dark,#03241b);aspect-ratio:3/4;overflow:hidden;max-width:420px}
.who__photo img{width:100%;height:100%;object-fit:cover;display:block}
.who__text h2{font-size:clamp(40px,5vw,72px);margin-bottom:.35em}
.who__text p+p{margin-top:1em}
.who__name{display:block;margin-top:1.4em;font:500 13px/1.5 var(--mono,monospace);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
@media (max-width:760px){.who{grid-template-columns:1fr}.who__photo{max-width:320px}}

/* FIX-AUDIT 18. 10. 2026 */
.hero :focus-visible,.band :focus-visible,.foot :focus-visible,.overlay :focus-visible,.case-hero :focus-visible,.final :focus-visible{outline-color:var(--lime)}
.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.field label{font-size:13px}
.crumbs a,.foot a{padding-block:8px}
.crumbs span[aria-hidden]{opacity:.5}
.tip-check{min-height:44px;align-items:center}
.logos img{filter:brightness(0) opacity(.72)}
.logos img.keep-tone{filter:grayscale(1) opacity(.72)}
.foot__contact a{color:inherit;text-decoration:none}.foot__contact a:hover{text-decoration:underline}
@media (hover:none){.btn:hover{transform:none}.star-btn:hover{transform:none}.overlay nav a:hover{transform:none}}
@media print{.site-head,.band,.foot,.skip,.overlay,.next{display:none!important}.hero,.hero__panel,.case-hero{background:none!important;color:#000!important}}
.over-foot a{color:inherit;text-decoration:none}.over-foot a:hover{text-decoration:underline}
.gallery figure>picture,.project__media>picture,.who__photo>picture{display:contents}
@media (min-width:860px){.logos{grid-template-columns:repeat(4,1fr)}}

/* VIDEO-EMBED: náhled s tlačítkem, YouTube se načte až po kliknutí */
.gallery figure.yt,.gallery figure.yt.wide{position:relative;aspect-ratio:16/9;background:#000}
.gallery figure.yt img{object-fit:cover}
.yt__play{position:absolute;inset:0;width:100%;height:100%;border:0;margin:0;cursor:pointer;background:linear-gradient(180deg,rgba(3,36,27,0) 60%,rgba(3,36,27,.5) 100%);display:flex;align-items:flex-end;justify-content:flex-end;gap:12px;padding:clamp(12px,2vw,28px)}
.yt__btn{width:clamp(56px,6.5vw,88px);aspect-ratio:1;border-radius:50%;background:var(--lime);display:grid;place-items:center;box-shadow:0 8px 30px rgba(0,0,0,.35);transition:transform .2s ease}
.yt__btn::before{content:"";width:0;height:0;margin-left:12%;border-left:clamp(18px,2.2vw,28px) solid var(--ink);border-top:clamp(11px,1.35vw,17px) solid transparent;border-bottom:clamp(11px,1.35vw,17px) solid transparent}
.yt__play:focus-visible{outline:3px solid var(--lime);outline-offset:-6px}
@media (hover:hover){.yt__play:hover .yt__btn{transform:scale(1.07)}}
.gallery figure.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:640px){.gallery figure.yt,.gallery figure.yt.wide{aspect-ratio:16/9}}
