:root{
  --bg:#0c0b09;
  --bg-soft:#16130f;
  --ink:#f3f1ec;          /* skoro bílá */
  --ink-dim:#8d8a84;      /* tlumená šedá */
  --accent:#cf9b63;       /* teplý jantar / karamel */
  --pill:#dcdad5;         /* světlá pilulka / button */
  --pill-ink:#161616;
  --line:rgba(243,241,236,0.14);
  --serif:'Fraunces', Georgia, 'Times New Roman', serif;
  --sans:'Ysabeau Infant', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --mono:'Chivo Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
  --maxw:none;
  --pad:clamp(20px,5vw,72px);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:
    radial-gradient(90% 55% at 50% -12%, rgba(207,155,99,.12), transparent 60%),
    radial-gradient(62% 50% at 88% 112%, rgba(207,155,99,.06), transparent 58%),
    linear-gradient(180deg, #110d09 0%, #0c0a08 46%, #080706 100%);
  background-attachment:fixed;
  color:var(--ink);
  font-family:var(--sans);
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
/* filmové zrno přes celý web — jemná textura, „dotvářecí" prvek */
body::after{
  content:""; position:fixed; inset:0; z-index:1; pointer-events:none;
  opacity:.06; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
a{color:inherit; text-decoration:none;}
img{display:block; max-width:100%;}
::selection{background:var(--ink); color:var(--bg);}

/* display nadpisy */
.display{
  font-family:var(--serif); font-weight:500; line-height:.95; letter-spacing:-.01em;
  font-size:clamp(2.8rem,8vw,6.5rem); margin-bottom:1.6rem;
}

/* reveal animace */
[data-reveal]{opacity:0; transform:translateY(22px); transition:opacity .9s ease, transform .9s cubic-bezier(.16,1,.3,1);}
[data-reveal].in{opacity:1; transform:none;}

/* ---------- NAV ---------- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:200;
  display:flex; align-items:center; justify-content:space-between;
  padding:22px var(--pad); transition:background .35s, padding .35s, box-shadow .35s;
}
.nav__brand{font-family:var(--serif); font-size:1.4rem; font-weight:500; letter-spacing:.01em;}
.nav__links{display:flex; gap:38px; align-items:center;}
.nav__links a{font-family:var(--serif); font-size:1.02rem; letter-spacing:.01em; color:var(--ink); position:relative; transition:opacity .25s;}
.nav__links a:not(.nav__cta):hover{opacity:.62;}
.nav__links a:not(.nav__cta)::after{content:""; position:absolute; left:0; bottom:-4px; width:0; height:1px; background:currentColor; transition:width .3s;}
.nav__links a:not(.nav__cta):hover::after{width:100%;}
.nav__cta{background:var(--pill); color:var(--pill-ink); padding:.55em 1.4em; border-radius:3px; transition:.25s;}
.nav__cta:hover{background:#fff;}
.nav.scrolled{background:rgba(13,13,13,.86); backdrop-filter:blur(12px); padding:14px var(--pad); box-shadow:0 1px 0 var(--line);}

.nav__burger{display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:6px; z-index:210;}
.nav__burger span{width:26px; height:2px; background:var(--ink); transition:.3s;}

/* ---------- HERO ---------- */
.hero{position:relative; height:100vh; min-height:620px; display:flex; align-items:flex-end;}
.hero__media{position:absolute; inset:0; overflow:hidden;}
.hero__media img{width:100%; height:100%; object-fit:cover; object-position:center 7%; filter:grayscale(1) contrast(1.05);}
.hero__media::after{content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(13,13,13,.85) 0%, rgba(13,13,13,.15) 45%, rgba(13,13,13,.45) 100%);}
.hero__wordmark{position:relative; z-index:2; padding:0 var(--pad) clamp(28px,6vh,64px); width:100%;}
.hero__eyebrow{display:block; font-family:var(--mono); font-size:.78rem; letter-spacing:.22em; text-transform:uppercase; color:var(--accent); margin-bottom:1rem;}
.hero__wordmark h1{font-family:var(--serif); font-weight:500; font-size:clamp(3.6rem,15vw,12rem); line-height:.86; letter-spacing:-.02em;}

/* ---------- STATEMENT ---------- */
.statement{max-width:var(--maxw); margin:0 auto; padding:clamp(80px,14vh,170px) var(--pad);}
.statement__lead{font-family:var(--serif); font-weight:400; font-size:clamp(1.7rem,3.6vw,3.1rem); line-height:1.18; letter-spacing:-.01em; max-width:24ch;}
.statement__meta{display:flex; gap:clamp(32px,7vw,96px); margin-top:3rem; flex-wrap:wrap;}
.statement__meta div{display:flex; flex-direction:column; font-size:1.05rem;}
.statement__meta span{font-family:var(--mono); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--accent); margin-bottom:.5rem;}

/* ---------- PORTFOLIO ---------- */
.portfolio{max-width:var(--maxw); margin:0 auto; padding:clamp(30px,5vh,60px) var(--pad) clamp(80px,14vh,160px);}
.portfolio__head{display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:20px; margin-bottom:2.6rem;}
.portfolio__head .display{margin-bottom:0;}
.filter{display:inline-flex; gap:8px; flex-wrap:wrap;}
.filter__btn{
  font-family:var(--mono); font-size:.74rem; letter-spacing:.12em; text-transform:uppercase;
  padding:.7em 1.4em; border:1px solid var(--line); background:none; color:var(--ink-dim);
  border-radius:3px; cursor:pointer; transition:.22s;
}
.filter__btn:hover{color:var(--ink); border-color:var(--ink);}
.filter__btn.is-active{background:var(--pill); border-color:var(--pill); color:var(--pill-ink);}

.grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
.grid__item{
  position:relative; cursor:pointer; overflow:hidden; background:var(--bg-soft);
  aspect-ratio:4 / 5;
  opacity:0; transform:translateY(16px); animation:rise .6s ease forwards;
}
@keyframes rise{to{opacity:1; transform:none;}}
.grid__item img,.grid__video{width:100%; height:100%; object-fit:cover; display:block;}
.grid__item img,.grid__video{filter:grayscale(1) contrast(1.03); transition:transform .6s ease, filter .5s ease;}
.grid__item:hover img,.grid__item:hover .grid__video{transform:scale(1.03); filter:grayscale(0) contrast(1);}
.grid__empty{font-family:var(--mono); font-size:.9rem; letter-spacing:.04em; color:var(--ink-dim); padding:2.5rem 0; grid-column:1 / -1;}
.grid__idx{position:absolute; top:8px; left:8px; z-index:2; font-family:var(--mono); font-size:.72rem; line-height:1; padding:4px 8px; border-radius:3px; background:rgba(0,0,0,.66); color:var(--accent); pointer-events:none;}

/* ---------- O MNĚ ---------- */
.about{max-width:var(--maxw); margin:0 auto; padding:clamp(70px,12vh,150px) var(--pad); border-top:1px solid var(--line);}
.about__body{display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(36px,6vw,90px); align-items:start;}
.about__text p{color:var(--ink-dim); font-size:1.12rem; margin-bottom:1.2rem; max-width:50ch;}
.about__text p:first-child{color:var(--ink);}
.pills{list-style:none; display:flex; flex-direction:column; gap:12px;}
.pills li{
  display:flex; align-items:center; gap:14px; background:var(--pill); color:var(--pill-ink);
  font-family:var(--serif); font-size:1.18rem; padding:.85em 1.3em; border-radius:4px;
}
.pills__ico{font-size:.8rem; opacity:.55;}

/* MÍRY / model card */
.stats__label{font-family:var(--mono); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--accent); margin-bottom:1.2rem;}
.stats__list{display:flex; flex-direction:column; border-top:1px solid var(--line);}
.stat{display:flex; justify-content:space-between; align-items:baseline; gap:1.2rem; padding:.85rem 0; border-bottom:1px solid var(--line);}
.stat dt{font-family:var(--mono); font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-dim);}
.stat dd{font-family:var(--serif); font-size:1.5rem; line-height:1; text-align:right;}
.stat--fun dt{color:var(--ink);}
.stat--fun dd{color:var(--ink);}

/* ---------- REGION ---------- */
.region{max-width:var(--maxw); margin:0 auto; padding:clamp(70px,12vh,150px) var(--pad); border-top:1px solid var(--line);}
.region .statement__lead{max-width:26ch;}
.region__stats{display:flex; gap:clamp(32px,7vw,110px); margin-top:3.2rem; flex-wrap:wrap;}
.region__stats div{display:flex; flex-direction:column;}
.region__stats strong{font-family:var(--serif); font-size:clamp(2.6rem,5vw,3.8rem); font-weight:500; line-height:1;}
.region__stats span{font-family:var(--mono); font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-dim); margin-top:.7rem;}

/* ---------- SPOLUPRÁCE ---------- */
.works{max-width:var(--maxw); margin:0 auto; padding:clamp(70px,12vh,150px) var(--pad); border-top:1px solid var(--line);}
.works__sub{font-family:var(--mono); font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; color:var(--accent); margin:2.4rem 0 1.2rem;}
.works__sub:first-of-type{margin-top:.4rem;}
.works__note{color:var(--ink-dim); font-size:.92rem; margin:-.4rem 0 1.4rem; font-family:var(--mono); letter-spacing:.02em;}
.works__grid{list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.works__grid li{display:flex;}
.work-card{
  flex:1; border:1px solid var(--line); border-radius:5px; padding:2rem; background:var(--bg-soft);
  display:flex; flex-direction:column; gap:.4rem; transition:.3s; color:inherit;
}
.work-card--link:hover{border-color:var(--ink-dim); transform:translateY(-3px); background:#1b1b1b;}
.work-card__logo{
  display:flex; align-items:center; justify-content:center; width:60px; height:60px; margin-bottom:1rem;
  border:1px solid var(--line); border-radius:50%; color:var(--ink-dim); font-family:var(--mono); font-size:.84rem; letter-spacing:.06em;
}
.work-card strong{font-family:var(--serif); font-size:1.55rem; font-weight:500;}
.work-card em{font-style:normal; color:var(--ink-dim); font-family:var(--mono); font-size:.8rem; letter-spacing:.04em;}
.work-card__url{margin-top:auto; padding-top:1rem; font-family:var(--mono); font-size:.78rem; letter-spacing:.04em; color:var(--ink); opacity:.7; transition:opacity .25s;}
.work-card--link:hover .work-card__url{opacity:1;}
.work-card__photo{
  display:block; width:84px; height:84px; margin-bottom:1.1rem; padding:4px;
  border:1px solid var(--line); border-radius:6px; background:var(--bg); overflow:hidden;
}
.work-card__photo img{width:100%; height:100%; object-fit:cover; border-radius:3px; filter:grayscale(1) contrast(1.03); transition:filter .5s ease;}
.work-card--link:hover .work-card__photo img{filter:grayscale(0) contrast(1);}
.work-card__logobox{
  display:flex; align-items:center; justify-content:flex-start; height:64px; width:fit-content; max-width:100%;
  padding:12px 16px; margin-bottom:1.1rem; background:#fff; border-radius:6px;
}
.work-card__logobox img{height:100%; width:auto; max-width:180px; object-fit:contain;}

/* ---------- FOOTER / KONTAKT ---------- */
.footer{border-top:1px solid var(--line); padding:clamp(60px,10vh,110px) var(--pad) 36px;}
.footer__top{max-width:var(--maxw); margin:0 auto;}
.footer__col h3{font-family:var(--mono); font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; color:var(--accent); font-weight:500; margin-bottom:1.2rem;}
.footer__col a{display:block; font-family:var(--serif); font-size:1.3rem; padding:.28em 0; transition:opacity .2s;}
.footer__col a:hover{opacity:.6;}
.footer__bottom{max-width:var(--maxw); margin:clamp(48px,8vh,90px) auto 0; padding-top:24px; border-top:1px solid var(--line); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-family:var(--mono); font-size:.74rem; letter-spacing:.08em; color:var(--ink-dim);}

/* ---------- LIGHTBOX ---------- */
.lb{position:fixed; inset:0; z-index:500; background:rgba(8,8,8,.96); display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s;}
.lb.open{opacity:1; visibility:visible;}
.lb__img{max-width:88vw; max-height:86vh; object-fit:contain;}
.lb__close,.lb__nav{position:absolute; background:none; border:0; color:#fff; cursor:pointer; opacity:.75; transition:opacity .2s;}
.lb__close:hover,.lb__nav:hover{opacity:1;}
.lb__close{top:24px; right:30px; font-size:2.4rem; line-height:1;}
.lb__nav{top:50%; transform:translateY(-50%); font-size:3.4rem; padding:0 18px;}
.lb__prev{left:8px;} .lb__next{right:8px;}
.lb__count{position:absolute; bottom:24px; left:50%; transform:translateX(-50%); font-family:var(--mono); color:rgba(255,255,255,.7); font-size:.8rem; letter-spacing:.12em;}

/* ---------- RESPONSIVE ---------- */
@media (min-width:1700px){ .grid{grid-template-columns:repeat(5,1fr);} }
@media (min-width:2200px){ .grid{grid-template-columns:repeat(6,1fr);} }
@media (max-width:1100px){ .grid{grid-template-columns:repeat(3,1fr);} }
@media (max-width:860px){
  .grid{grid-template-columns:repeat(2,1fr);}
  .about__body{grid-template-columns:1fr;}
  .works__grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
  .nav__links{
    position:fixed; inset:0 0 auto 0; flex-direction:column; gap:0;
    background:rgba(13,13,13,.98); backdrop-filter:blur(14px); padding:96px 0 28px;
    transform:translateY(-110%); transition:transform .38s ease;
  }
  .nav__links.open{transform:translateY(0);}
  .nav__links a{width:100%; text-align:center; padding:16px 0; font-size:1.4rem;}
  .nav__links .nav__cta{width:auto; margin:8px auto 0;}
  .nav__burger{display:flex;}
  .grid{grid-template-columns:repeat(2,1fr); gap:10px;}
  .works__grid{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important; scroll-behavior:auto!important;}
  [data-reveal]{opacity:1; transform:none;}
}
