:root {
  --black: #0d0d0f;
  --white: #eaeaea;
  --red: #ee382b;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

@font-face {
  font-family: 'Helvena';
  src: url('../assets/fonts/Helvena-Regular.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: 'Helvena';
  src: url('../assets/fonts/Helvena-Extrabold.woff2') format('woff2');
  font-weight: 700;
  font-display: swap;
}

.menu-link {
  display: block;
  position: relative;
}

body {
 font-family: 'Helvena', sans-serif;
  background:#eaeaea;
  overflow-x: hidden;
}


a[href^="tel"]{
  color: inherit;
  text-decoration: none;
}

.menu a {
  display: inline-block;
  color: inherit;
  text-decoration: none;
}

.background {
  z-index: 9998;
  position: absolute;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background: transparent;
}

.background::after {
  content: "";
  position: fixed;
  inset: 0;

  background-image: url("/images/grain.png");
  background-repeat: repeat;
pointer-events: none;
  opacity: 0.070;
  mix-blend-mode: overlay;

  animation: grainMove 0.6s steps(4) infinite;
}

@keyframes grainMove {
  0%   { background-position: 0 0; }
  25%  { background-position: 10% 5%; }
  50%  { background-position: -5% 10%; }
  75%  { background-position: 5% -5%; }
  100% { background-position: 0 0; }
}

::selection {
  background: #ee382b;
  color: #000;
}

.faqqq {
  color:#111
}

/* šířka scrollbar */
::-webkit-scrollbar {
  width: 8px;
}

/* track (pozadí) */
::-webkit-scrollbar-track {
  background: transparent;
}

/* samotný posuvník */
::-webkit-scrollbar-thumb {
  background: #ee382b; /* tvoje červená */
  border-radius: 10px;
}

/* hover efekt */
::-webkit-scrollbar-thumb:hover {
  background: #111;
}

/* trail čtverečky */
.trail {
  position: fixed;
  width: 10px;
  height: 10px;
  background: var(--red);
  pointer-events: none;
  z-index: 9998;
  transform: translate(-50%, -50%);
  opacity: 0.7;
  transition: opacity 0.4s linear, transform 0.4s ease;
}

/* ======================================== */
/* BUNKR LIGHTWEIGHT INFINITE GALLERY */
/* ======================================== */

.bunkr-inf-gallery{

    position: relative;

    width: 100%;

    overflow: hidden;

    padding: 25vh 0;

    background: #eaeaea;

    cursor: grab;

    user-select: none;

    touch-action: pan-y;
}

.bunkr-inf-track{

    display: flex;
    align-items: center;

    gap: 25px;

    width: max-content;

    transform: translate3d(0,0,0);

    backface-visibility: hidden;
}

.bunkr-inf-item{

    position: relative;

    flex: 0 0 auto;

    width: 550px;
    height: 700px;

    overflow: hidden;

    background: #ddd;
}

.bunkr-inf-item img{

    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;

    pointer-events: none;
}


.contact-sticky {
  position: fixed;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9998;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  pointer-events: auto;
}

.contact-circle img {
  width: 30px;
}


.contact-text {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-size: 35px;
  color: var(--red);
  font-weight: 600;
  opacity: 0; /* start hidden */
  text-decoration: none;
}


/* HERO */
.hero {
  position: relative;
  height: 100vh;
  overflow: visible;
  background: #111;
  isolation: isolate;
}

/* BACKGROUND */
.hero-bg {
  position: absolute;
  inset: 0;
}

.hero-bg-bottom {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 15vh;
  background: #eaeaea;
  z-index: 2;
}

.hero-bg-red {
  position: absolute;
  bottom: 15vh;
  left: 0;
  width: 100%;
  height: 100%;
  background: #ee382b;
  transform: translateY(100%);
  z-index: 1;
}

/* VIDEO */
/* ===== HERO MEDIA WRAPPER ===== */
/* STAGE */
.hero-media {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
}

/* všechny media přes sebe */
.media {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  
  opacity: 0;
  pointer-events: none;
}

/* aktivní */
.media.active {
  opacity: 1;
}

/* VIDEO (hlavní velikost – NEMĚNÍŠ) */
.media--video {
  width: 41vw;
  max-width: 1600px;
  aspect-ratio: 4/3;
}

/* 📸 obrázky – KAŽDÝ SI ŘÍDÍŠ */
.img-1 {
  width: 550px;
  height: 700px;
}

.img-2 {
  width: 600px;
  height: 800px;
}

.img-3 {
  width: 500px;
  height: 860px;
}

.img-4 {
  width: 750px;
  height: 760px;
}

.img-5 {
  width: 700px;
  height: 700px;
}

/* 🎬 druhý video může být jiný */
.video-2 {
  width: 1200px;
  height: 650px;
}

/* obsah */
.media img,
.media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* TEXT */
.hero-text {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 5;
    mix-blend-mode: difference;
  color: var(--red);
    filter: blur(6px);
  transition: filter 0.3s ease;
}

/* společný styl */
.wordd {
  position: absolute;
  font-size: 20vw;
  font-weight: 900;
  line-height: 0.9;
}

.bunkr {
  top: 0%;
  left: 50%;
  transform: translateX(-50%);
  mix-blend-mode: difference;
  letter-spacing: -2rem;
}

.tattoo {
  top: 80%;
  left: -1%;
  mix-blend-mode: difference;
  letter-spacing: -2.7rem;
}

.piercing {
  top: 80%;
  left: 46.5%;
  mix-blend-mode: difference;
  letter-spacing: -2.7rem;
}

.hero-indicator {
  position: absolute;
  left: 50%;
  bottom: 6.3%;

  width: 28px;
  height: 28px;

  transform: translateX(-50%);

  z-index: 20;

  pointer-events: none;

  opacity: 1;
}

.hero-indicator span {
  position: absolute;
  background: #eaeaea;
}

.hero-indicator span:nth-child(1) {
  width: 100%;
  height: 8px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.hero-indicator span:nth-child(2) {
  width: 8px;
  height: 100%;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}

.hero-bottom {
  font-size: 70px;
  position: absolute;
  bottom: 18%;
  left: 0;
  width: 100%;
  pointer-events: none;
}

.hero-bottom-word:nth-child(1) {
  position: absolute;
  left: 60px;
  bottom: 0;
}

.hero-bottom-separator {
  position: absolute;
  left: 49.3%;
  transform: translateX(-50%);
  bottom: 10px;
}

.hero-bottom-word:nth-child(3) {
  position: absolute;
  right: 60px;
  bottom: 0;
}

.hero-bottom-word,
.hero-bottom-separator {
  opacity: 0;
  transform: translateY(40px);
  letter-spacing: 0.2rem;
}

.hero-text-mask {
  overflow: hidden;
}

.hero-text-mask span {
  position: relative;
  z-index: 1;
}

.hero-text-mask-box {
  position: absolute;
  inset: 0;
  background: var(--red); /* nebo tvoje červená */
  transform: translateX(-100%);
  z-index: 2;
  will-change: transform;
}

.ascii-wrap {
  position: relative;
  overflow: hidden;
  background: #eaeaea;
}

.section-indicator {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  
  font-size: 0.9vw;
  font-weight: 700;
  pointer-events: none;
  z-index: 10;

  mix-blend-mode: difference;
  color: #15bfbf;
  opacity: 0;
}

.bunkr-mobile-nav {
  display: none;
}

.section-indicator span {
  display: inline-block;
}

/* IMG JE VIDĚT DEFAULT */
.ascii-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* CANVAS NAD IMG */
.ascii-wrap canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;

  opacity: 0; /* skrytý default */
  pointer-events: none;
  transform: scale(1.03);
  filter: blur(6px);
  
  transition:
  opacity 0.5s ease,
  transform 0.6s ease,
  filter 0.6s ease;
}

/* HOVER */
.ascii-wrap:hover img {
  opacity: 0;
  transform: scale(1.08);
  filter: blur(2px);
}

.ascii-wrap:hover canvas {
  opacity: 1;
  transform: scale(1);
  filter: blur(0px);
}

.hero-ui {
  position: absolute;
  bottom: 0.1vh;
  left: 30%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  z-index: 999;
}

/* ========================================== */
/* CREATIVE SECTION */
/* ========================================== */

.creative-section{
    position:relative;
    width:100%;
    background:#eaeaea;
    overflow:visible;
    padding:90px 0;
    min-height:200vh;
}

.creative-container{
    position:relative;
    max-width:1600px;
    margin:0 auto;
    padding:0 2vw;
}

/* ========================================== */
/* LEFT TOP */
/* ========================================== */

.left-top{
    width:43%;
}

.left-top img{
    width:100%;
    height:auto;
    display:block;
}

/* ========================================== */
/* RIGHT TOP */
/* ========================================== */

.right-top{
    position:absolute;
    top:10%;
    right:5%;
    width:33%;
}

.right-top img{
    width:100%;
    height:auto;
    display:block;
}

/* ========================================== */
/* MAIN TEXT */
/* ========================================== */

.grid-text-row{
    position:absolute;
    left:15%;
    top:125%;
    max-width:75%;
    z-index:5;
}

.main-paragraph{
    font-size: clamp(25px, 5vw, 60px);
    font-weight:600;
    line-height:1.1;
    color:#111;
    text-align:left;
    text-indent:120px;
}

/* ========================================== */
/* RIGHT BOTTOM */
/* ========================================== */

.right-bottom{
    position:absolute;
    top:210%;
    right:2%;
    width:36%;
}

.right-bottom img{
    width:100%;
    height:auto;
    display:block;
}

/* ========================================== */
/* LEFT BOTTOM */
/* ========================================== */

.left-bottom{
    position:absolute;
    top:220%;
    right:70.7%;
    width:28%;
}

.left-bottom img{
    width:100%;
    height:auto;
    display:block;
}

/* ========================================== */
/* ASCII / PARALLAX */
/* ========================================== */

.ascii-wrap{
    position:relative;
    overflow:hidden;
}

.ascii-wrap canvas{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}


.video-reveal-wrapper {
  width: 100%;
  height: 1px; /* start = nic */
  overflow: hidden;
  position: relative;
  margin-top: 100px;
}

.reveal-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.arrow {
  position: absolute;
  bottom: 6vh;   /* doladíš podle oka */
  left: 32%;
  transform: translateX(-50%);
  
  width: 150px; /* nebo kolik chceš */
  pointer-events: none;
z-index: 5;
  filter: saturate(120%);
}

.menu{
  position:fixed;
  left:40px;
  top:50%;
  transform:translateY(-50%);
  z-index: 10000;
}

.item{
  position:relative;
  height:30px;
  margin:20px 0;
  overflow:hidden;
}

.item span{
  color:var(--red);
  font-size:22px;
  white-space:nowrap;
  display:inline-block;
  position:relative;
  z-index:4;
  font-weight: 600;
}

/* LETTER */
.letter{
  display:inline-block;
  opacity:0;
  transform:translateX(-10px);
}

/* MASK */
.mask{
  position:absolute;
  top:0;
  left:0;
  height:100%;
  width:30px;
  background:var(--red);
  z-index:5;
  pointer-events: none;
}

/* HLAVNÍ SCROLL AREA */
.videov1-section {
  height: 200vh;
  position: relative;
  background-color: #111;
}

/* STICKY STAGE */
.videov1-stage {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
}

/* TEXT */
.videov1-title {
  position: absolute;
  top: 10%;
  width: 100%;
  text-align: center;
  font-size: 7vw;
  font-weight: 800;
  line-height: 1;
  z-index: 2;
  pointer-events: none;
  will-change: transform, opacity;
  color: #ff2b2b;
}

/* VIDEO WRAP */
.videov1-media {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40vw;
  height: 22vw;
  transform: translate(-50%, -50%) scale(0.4);
  overflow: hidden;
  will-change: transform, width, height;
}

.videov1-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/* ========================= */
/* 🎯 STUDIO SECTION (copy) */
/* ========================= */


.studio-section {
  position: relative;
  width: 100%;
  background: #eaeaea;
  overflow: visible;
  padding: 260px 0;
  min-height: 194vh;
}

.studio-container {
  position: relative;
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 2vw;
}

/* 🔥 TOP OFFSET (aby to dýchalo pod videem) */
.studio-offset {
  height: 200px;
}

/* 🟥 LEFT BIG IMAGE */
.studio-left-big {
  width: 42%;
}

.studio-left-big img {
  width: 100%;
  height: auto;

}

/* 🟦 RIGHT TOP IMAGE */
.studio-right-top {
  position: absolute;
  top: 15%;
  right: 5%;
  width: 33%;
}

.studio-right-top img {
  width: 100%;
  height: auto;
}


/* 🟨 TEXT (hlavní blok) */
.studio-text-main {
  font-size: clamp(25px, 5vw, 60px);
  font-weight: 600;
  line-height: 1.1;
  color: #111;
  max-width: 75vw;
  text-align: left;
  text-indent: 120px;
  position: absolute;
  left: 15%;
}

/* 🟩 RIGHT BOTTOM IMAGE */
.studio-right-bottom {
  position: absolute;
  top: 160%;
  right: 10%;
  width: 28%;
}

.studio-right-bottom img {
  width: 100%;
  height: auto;
}

.studio-right-left {
  position: absolute;
  top: 160%;
  right: 70.7%;
  width: 28%;
}

.studio-right-left img {
  width: 100%;
  height: auto;
}

.b-wrap {
  position: absolute;
 bottom: -110%;
  left: 28%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  perspective: 800px;
  z-index: 15;
  opacity: 0.7;
}

.b {
  position: absolute;
  font-size: 500px;
  font-weight: 700;
  color: transparent;
  -webkit-text-stroke: 2px #ff2b2b; 
  opacity: 1;
  transform-origin: center;
  transform-style: preserve-3d;
}

img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 3;
}

.work {
  position: relative;
  width: 100vw;
  overflow: hidden;
}

.row {
  width: 100vw;
  display: flex;
  z-index: 3;
}

.col {
  flex: 1;
  aspect-ratio: 1;
  z-index: 3;
}

.img {
  position: relative;
  width: 100%;
  height: 100%;
  will-change: transform;
  z-index: 3;
}

.img[data-origin="left"] {
  transform-origin: 0% 0%;
}

.img[data-origin="right"] {
  transform-origin: 100% 0%;
}

.faq {
  background: #eaeaea;
  color: #eaeaea;
  padding: 140px 20px;
  margin-top: clamp(80px, 8vh, 150px);
}

.faq-container {
  max-width: 1600px;
  margin: 0 auto;
}

.faq-item {
  border-bottom: 1px solid rgba(154, 22, 22, 0.466);
}

/* BUTTON */
.faq-question {
  width: 100%;
  background: none;
  border: none;
  padding: 40px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

/* SWEEP */
.faq-question::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #ee382b;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.6s cubic-bezier(0.77,0,0.175,1);
  z-index: 1;
}

/* HOVER */
.faq-question:hover::before {
  transform: scaleX(1);
}

/* ACTIVE (zůstane červený) */
.faq-item.active .faq-question::before {
  transform: scaleX(1);
}

/* TEXT */
.faq-text {
  font-size: 42px;
  padding: 30px 40px;
  font-weight: 900;
  position: relative;
  z-index: 2;
  color: #111;
  transition: color 0.4s ease;
}

/* TEXT COLOR CHANGE */
.faq-question:hover .faq-text,
.faq-item.active .faq-text {
  color: #000;
}

/* ICON */
.faq-icon {
  width: 40px;
  height: 40px;
  position: relative;
  z-index: 2;
}

/* LINES */
.faq-icon::before,
.faq-icon::after {
  content: "";
  position: absolute;
  background: #ee382b;
  transition: all 0.4s ease;
}

/* horizontal */
.faq-icon::before {
  width: 16px;
  height: 3px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* vertical */
.faq-icon::after {
  width: 3px;
  height: 16px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.menu,
.contact-sticky,
.section-indicator {
  opacity: 0;
  pointer-events: none;
}

/* hover → black */
.faq-question:hover .faq-icon::before,
.faq-question:hover .faq-icon::after,
.faq-item.active .faq-icon::before,
.faq-item.active .faq-icon::after {
  background: #000;
}

/* active → minus */
.faq-item.active .faq-icon::after {
  transform: translate(-50%, -50%) scaleY(0);
}

/* ANSWER */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  background: #ee382b;
  transition: max-height 0.7s cubic-bezier(0.77,0,0.175,1);
}

/* text inside */
.faq-answer p {
  padding: 30px 40px;
  color: #000;
  font-size: 26px;
  line-height: 1.6;
}

/* OPEN */
.faq-item.active .faq-answer {
  max-height: 800px;
}

/* ANIMACE */
@keyframes siteBgScan {
  from { transform: translateY(0); }
  to { transform: translateY(2px); }
}

/* SECTION */
.contact-section {
  display: flex;
  justify-content: center;
  padding: 80px 20px;
  background: #eaeaea;
}

.gallerysection
{
  display: flex;
  justify-content: center;
  padding: 20px 20px;
  background: #eaeaea;
}

/* BOX */
.contact-box {
  width: 100%;
  max-width: 1600px;
  background: #ee382b;
  border-radius: 3px;
  padding: 80px 60px;
  color: #000;
}

/* HEADER */
.contact-top {
  text-align: center;
  font-size: 14px;
  margin-bottom: 20px;
}

.contact-top span {
  opacity: 0.6;
}

.contact-header h1 {
  text-align: center;
  font-size: clamp(60px, 8vw, 120px);
  font-weight: 900;
  line-height: 0.9;
  margin: 40px 0;
}

.contact-sub {
  text-align: center;
  font-size: 18px;
  margin-bottom: 60px;
  letter-spacing: 0.1em;
}

/* FORM */
.contact-form {
  width: 100%;
}

.field {
  border-bottom: 1px solid rgba(0,0,0,0.4);
  margin-bottom: 40px;
}

.field input,
.field textarea {
  width: 100%;
  border: none;
  background: transparent;
  padding: 20px 0;
  font-size: 24px;
  font-weight: 700;
  outline: none;
  color: #111;
  text-align: center;
  font-family: 'Helvena', sans-serif;
}

.field textarea {
  resize: none;
  height: 80px;
}

/* BUTTON */
.submit-btn {
  display: block;
  margin: 40px auto 0;
  padding: 10px 25px;
  border: 3px solid black;
  background: black;
  border-radius: 3px;
  cursor: pointer;
  font-weight: 600;
  color: var(--red);
}

.field input::placeholder,
.field textarea::placeholder {
  color:#eaeaea;
  opacity: 1;
}

.footer {
  position: relative;
  height: 65vh;
  background: #000;
  color: #fff;
  padding: 60px 80px;
  overflow: hidden;
  margin-top: 200px;
}

/* TOP GRID */
.footer-top {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: start;
}

/* IG LEFT */
.ig {
  width: 200px;
  transform: translateX(47%);
  height: 200px;
  opacity: 0.8;
}

.ig svg {
  transition: transform 0.3s ease, filter 0.3s ease;
}

.ig svg path,
.ig svg circle {
  transition: stroke 0.3s ease;
}

/* hover efekt */
.ig:hover svg {
  transform: translateY(-6px) scale(1.12);
}

/* jen linka červená */
.ig:hover svg path,
.ig:hover svg circle {
  stroke: #ff2a2a;
  stroke-width: 3px;
}


/* CENTER ADDRESS */
.footer-center {
  text-align: left;
  transform: translateX(80%);
}

.footer-center span,
.footer-right span {
  font-size: 20px;
  letter-spacing: 0.2em;
  display: block;
  font-weight: bold;
  margin-bottom: 12px;
  color: #ee382b;
}

.footer-center p,
.footer-right p {
  font-size: 22px;
  line-height: 1.6;
}

/* RIGHT CONTACT */
.footer-right {
  text-align: left;
    transform: translateX(60%);
}

/* BIG BUNKR */
.bunkrrr {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 20%);
  
  font-size: 29vw;
  font-weight: 900;
  letter-spacing: -0.05em;
  white-space: nowrap;
  line-height: 0.8;
}

/* LETTER HOVER */
.bunkrrr span {
  display: inline-block;
  transition: transform 0.25s ease;
}

.bunkrrr span:hover {
  transform: translateY(-25px);
}


@media (max-width: 768px) {

html,
body {
overflow-x: hidden;
}

/* -------------------- */
/* GLOBAL OFF */
/* -------------------- */
.menu,
.contact-sticky,
.section-indicator,
.b-overlay,
.background::after,
.ascii-wrap canvas {
display: none !important;
}

@media (max-width:767px){

   .ascii-wrap canvas{
      display:none !important;
   }

   .ascii-wrap img{
      opacity:1 !important;
   }

}

.b-wrap {
  position: absolute;
 bottom: 68.5%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  perspective: 800px;
  z-index: 15;
  opacity: 0.7;
}

.b {
  position: absolute;
  font-size: 200px;
  font-weight: 700;
  color: transparent;
  -webkit-text-stroke: 2px #ff2b2b; 
  opacity: 1;
  transform-origin: center;
  transform-style: preserve-3d;
}

/* -------------------- */
/* HERO */
/* -------------------- */
    .hero {
        position: relative;
        height: 100svh;
        overflow: hidden;
        background: #e91b23;
    }

    .hero-media {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }

    /* VŠECHNY MEDIA PŘES SEBE */
    .media {
        position: absolute !important;

        width: 72vw !important;
        height: 52vh !important;

        top: 39% !important;
        left: 50% !important;

        transform: translate(-50%, -50%) !important;

        overflow: hidden;
        z-index: 2;
    }

    .media img,
    .media video {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    /* BUNKR */

    .hero-text {
        position: absolute;
        inset: 0;
        z-index: 20;
        pointer-events: none;
    }

    .bunkr {
        position: absolute;
        top: 5.3vh;
        left: 50%;
        transform: translateX(-50%);
        font-size: 22vw;
        line-height: 0.8;
        letter-spacing: -0.08em;
         mix-blend-mode: difference;


        white-space: nowrap;
        color: #ee382b;

        z-index: 30;
    }

    /* TATTOO & PIERCING */

    .hero-bottom {
        position: absolute;
align-items: center;
        bottom: 20vh;
        left: 50%;
line-height: 1;
        transform: translateX(-50%);
z-index: 30;
        display: flex;
        gap: 12px;
font-weight: 800;
        font-size: 15px;
        letter-spacing: 0.18em;

   mix-blend-mode: difference;


        white-space: nowrap;
        color: #ee382b;
    }

    .hero-bottom-separator {
        opacity: 1;
        position: relative;
        top: -1px;
        align-items: center;
        line-height: 1;
        left: 46%;
        z-index: 30;
    }

    /* INDIKATOR */

.hero-indicator {
    position: absolute;
    left: 45.6%;
    bottom: 5vh;
    transform: translateX(-50%);
    z-index: 40;
    opacity: 1 !important;
    transform: scale(0.6);
    transform-origin: center;
    overflow: visible;
}

/* ===================== */
/* CREATIVE */
/* ===================== */

 .creative-section{
        min-height:auto;
        padding:60px 20px;
    }

    .creative-container{
        display:flex;
        flex-direction:column;
        gap:10px;
    }

    .left-top,
    .right-top,
    .right-bottom,
    .left-bottom{
        position:relative;

        width:80%;

        top:auto;
        right:auto;
        left:auto;

        aspect-ratio:4/5.3;

        align-self:center;

        transform:none;
    }

    .grid-text-row{
        width:100%;

        position:relative;

        max-width:330px;

        margin-left:-45px;

        left:auto;
        top:auto;

        padding:20px 0;

        z-index:5;
    }

    .main-paragraph{
        width: 100%;
    position: relative;
    max-width: 330px;
    margin-left: 45px;

    padding: 60px 0 80px;

    font-size: 33px;
    line-height: 1.02;
    letter-spacing: -0.01em;

    font-weight: 600;

    text-align: left;

    word-break: keep-all;

    text-wrap: balance;
}

    .ascii-wrap{
        width:100%;
    }

    .ascii-wrap canvas{
        position:absolute;
        inset:0;
        width:100%;
        height:100%;    }

/* ====================== */
/* STUDIO */
/* ====================== */

.studio-section {
    min-height: auto;
    padding: 80px 20px;
}

.studio-container {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.studio-left-big,
.studio-right-top,
.studio-right-bottom,
.studio-right-left {
    position: relative;
    width: 80%;
    top: auto;
    right: auto;
    left: auto;
        aspect-ratio: 4/5.6;
        align-self: center;
}

.studio-text-main {

    width: 100%;
    position: relative;

    max-width: 420px;

    margin-left: 4px;

    padding: 0px 20px 50px 10px;
box-sizing: border-box;
    font-size: 33px;

    line-height: 1.08;

    letter-spacing: -0.03em;

    font-weight: 600;

    text-align: left;
 left:auto;
        top:auto;
    text-wrap: balance;

}




/* -------------------- */
/* VIDEO SECTION */
/* -------------------- */
.videov1-section {
height: 70svh;
position: relative;
background-color: #eaeaea;
overflow: visible;
}

.videov1-title {
font-size: 10vw;
top: 14%;
overflow: visible;
position: absolute;
white-space: nowrap;
}

.videov1-media {
width: 50vw;
aspect-ratio: 16/9;
height: auto;
overflow: hidden;
}

.videov1-media video {
  object-fit: cover;
}

.bunkr-gallery-link {
  right: -20px;
}

/* -------------------- */
/* FAQ */
/* -------------------- */
.faq {
padding: 80px 20px;
}

.faq-question {
padding: 25px 0;
}

.faq-text {
font-size: 22px;
line-height: 1.2;
padding: 0;
}

.faq-answer p {
font-size: 16px;
line-height: 1.5;
padding: 24px 0;
}

/* -------------------- */
/* CONTACT */
/* -------------------- */
.contact-section {
padding: 40px 20px;
}

.contact-box {
padding: 40px 24px;
}

.contact-header h1 {
font-size: 14vw;
line-height: 0.9;
}

.contact-sub {
font-size: 14px;
}

.field input,
.field textarea {
font-size: 18px;
text-align: left;
}

.submit-btn {
width: 100%;
height: 56px;
font-size: 18px;
}

/* -------------------- */
/* FOOTER */
/* -------------------- */
.footer {
height: auto;
padding: 60px 20px 120px;
}

.footer-top {
grid-template-columns: 1fr;
gap: 40px;
}

.footer-center,
.footer-right {
transform: none;
}

.footer-center p,
.footer-right p {
font-size: 18px;
}

.ig {
width: 80px;
height: 80px;
transform: none;
}

.bunkrrr {
font-size: 34vw;
bottom: -10px;
}



/* ========================= */
/* FIX CONTACT MOBILE */
/* ========================= */

/* ========================= */
/* CONTACT MOBILE COMPACT */
/* ========================= */

.contact-section{
    padding: 20px 20px 10px;
    flex-direction: column;
}

.contact-box{
    padding: 28px 20px;
    overflow:hidden;
}

.contact-header h1{
    font-size: 11vw;
    line-height: .9;
    margin-bottom: 12px;
}

.contact-sub{
    font-size: 13px;
    margin-bottom: 22px;
    line-height: 1.4;
}

/* fields */

.field{
    margin-bottom: 22px;
}

.field input,
.field textarea{
    font-size: 16px;
    padding: 14px 0;
}

/* textarea menší */

.field textarea{
    min-height: 90px;
}

/* button */

.submit-btn{
    margin-top: 10px;
    height: 52px;
    font-size: 17px;
}

/* menší gapy */

.contact-form{
    gap: 8px;
}

/* ========================= */
/* FAQ ALIGN */
/* ========================= */

.faq {
  padding-top: 40px;
  margin-top: 20px;
}

.faq-question {
  align-items: center;
  
}

.faq-answer {
  padding-right: 10px;
  padding-left:  10px;
}

.faq-text {
  text-align: left;
  width: calc(100% - 60px);
  padding-right: 10px;
  padding-left:  10px;
}

.faq-icon {
  width: 30px;
  min-width: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* pluska pod sebou */
.faq-icon::before {
  width: 14px;
}

.faq-icon::after {
  height: 14px;
}


/* ========================= */
/* CONTACT → FOOTER GAP */
/* ========================= */

.footer {
  margin-top: 60px;
}

.mobile-label {
  display: none;
}

.mobile-label {
  display: block;
  text-align: left;
  position: relative;

  font-size: 25px;
  font-weight: 700;
  letter-spacing: -0.05em;

  color: #ee382b;

  z-index: 20;
  margin-bottom: 45px;

  text-transform: uppercase;
}


}

@media (min-width: 768px){

  .mobile-label,
  .mobile-label * {
      display:none !important;
  }

}

@media (max-width: 767px){

   .ascii-wrap img{
      opacity: 1 !important;
      filter: none !important;
      transform: none !important;
      transition: none !important;
      pointer-events: auto;
   }

   .ascii-wrap canvas{
      display:none !important;
   }

}

@media(max-width:768px){

    .bunkr-inf-gallery{
        padding: 20vh 0;
    }

    .bunkr-inf-track{
        gap: 10px;
    }

    .bunkr-inf-item{

        width: 68vw;
        height: 52vh;
    }


/* MOBILE SIDE NAV */

.bunkr-mobile-nav{
    position: fixed;
    top: 50%;
    right: 22px;

    margin-top: -120px;

    display: flex;
    flex-direction: column;

    gap: 120px;

    z-index: 9999;
}


/* TEXT */

.bunkr-mobile-link span{
    position: relative;

    writing-mode: vertical-rl;

    transform: rotate(180deg);
opacity: 1;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -.02em;

    color: #e91b23;

}
}
/* MOBILE PARALLAX */

/* pouze mobil */

@media(min-width: 769px){

.mobile-parallax{
  position: relative;
  z-index: 2;
}

}

/* ========================================= */
/* TABLET */
/* 768px → 1100px */
/* CLEAN OVERRIDE */
/* ========================================= */

@media (min-width:768px) and (max-width:1100px){

html,
body{
    overflow-x:hidden;
}

/* ========================================= */
/* DESKTOP UI OFF */
/* ========================================= */

.menu,
.contact-sticky,
.b-overlay,
.background::after,
.ascii-wrap canvas {
display: none !important;
}


.bunkr-mobile-link span{
    writing-mode:vertical-rl;

    transform:rotate(180deg);

    font-size:18px;
    font-weight:600;

    letter-spacing:-0.02em;

    color:#ee382b;
}

/* ========================================= */
/* HERO */
/* ========================================= */

.hero{
    position:relative;

    height:100svh;

    overflow:hidden;

    background:#e91b23;
}

/* MEDIA WRAP */

.hero-media{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;
}

/* všechny media stejně jako mobile */

.media{
    position:absolute !important;

    width:46vw !important;
    height:57vh !important;

    top:44% !important;
    left:50% !important;

    transform:translate(-50%, -50%) !important;

    overflow:hidden;

    z-index:2;
}

/* vypnout hero animace */

.media,
.wordd,
.hero-bottom,
.hero-indicator{
    transition:none !important;
    animation:none !important;
}

/* media */

.media img,
.media video{
    width:100%;
    height:100%;

    object-fit:cover;
}

/* TEXT */

.hero-text{
    position:absolute;
    inset:0;

    z-index:20;

    pointer-events:none;
}

/* BUNKR */

.bunkr{
    position:absolute;

    top:6vh;
    left:50%;

    transform:translateX(-50%);

    font-size:25vw;

    line-height:.8;

    letter-spacing:-0.08em;

    white-space:nowrap;

    color:#ee382b;

    mix-blend-mode:difference;
}

/* HERO BOTTOM */

.hero-bottom{
    position:absolute;

    bottom:18vh;
    left:50%;

    transform:translateX(-50%);

    display:flex;

    gap:14px;

    font-size:26px;

    letter-spacing:.12em;

    font-weight:800;

    white-space:nowrap;


    mix-blend-mode:difference;
}

.hero-bottom-separator{
    position:relative;

    top:-1px;

    left:49%;

    transform:none;
}

/* INDICATOR */

.hero-indicator{
    position:absolute;

    left:50%;
    bottom:5vh;

    transform:translateX(-50%) scale(.8);

    opacity:1 !important;
}

/* ========================================= */
/* CREATIVE */
/* ========================================= */

.creative-section{
    position:relative;

    min-height:130vh;

    padding:160px 0 180px;

    overflow:hidden;
}

.creative-container{
    position:relative;

    max-width:100%;

    padding:0 40px;
}

/* LEFT */

.left-top{
    width:47%;
}

/* RIGHT */

.right-top{
    position:absolute;

    top:9%;
    right:4%;

    width:34%;
}

/* TEXT */

.grid-text-row{
    position:absolute;

    top:120%;
    left:10%;

    width:80%;

    z-index:5;
}

.main-paragraph{
    font-size:clamp(34px,4vw,52px);

    line-height:1.03;

    text-indent:70px;
}

/* BOTTOM */

.right-bottom{
    position:absolute;

    top:210%;

    right:4%;

    width:34%;
}

.left-bottom{
    position:absolute;

    top:230%;

    left:4%;

    width:35%;
}

/* ========================================= */
/* VIDEO SECTION */
/* ========================================= */

.videov1-section{
    height:80vh;
background: #eaeaea;
    overflow:hidden;
}

.videov1-stage{
    position:sticky;

    top:0;
}

.videov1-title{
    font-size:7vw;

    top:12%;
}

.videov1-media {
width: 50vw;
aspect-ratio: 16/9;
height: auto;
overflow: hidden;
}

/* ========================================= */
/* STUDIO */
/* ========================================= */

.studio-section{
    position:relative;

    min-height:127vh;

    padding:100px 0 220px;

    overflow:hidden;
}

.studio-container{
    position:relative;

    max-width:100%;

    padding:0 40px;
}

/* TOP */

.studio-left-big{
    width:44%;
}

.studio-right-top{
    position:absolute;

    top:8%;
    right:4%;

    width:34%;
}

/* TEXT */

.studio-text-main{
    position:absolute;

    top:110%;
    left:15%;

    width:80%;

    font-size:clamp(34px,4vw,52px);

    line-height:1.03;

    text-indent:70px;
}

/* BOTTOM */

.studio-right-bottom{
    position:absolute;

    top:217%;

    right:9%;

    width:30%;
}

.studio-right-left{
    position:absolute;

    top:195%;

    left:4%;

    width:35%;
}

/* BIG B */

.b-wrap{
    bottom:-180%;

    left:30%;

    transform:translate(-50%, -50%) scale(.65);

    opacity:.4;
}

.b{
    font-size:570px;
}

/* ========================================= */
/* GALLERY */
/* ========================================= */

.bunkr-inf-gallery{
    padding:18vh 0;
}

.bunkr-inf-track{
    gap:14px;
}

.bunkr-inf-item{
    width:42vw;
    height:40vh;
}

/* ========================================= */
/* FAQ */
/* ========================================= */

.faq{
    padding:100px 40px;

    margin-top:40px;
}

.faq-question{
    padding:30px 0;
    text-align: left;
}

.faq-text{
    font-size:28px;

    line-height:1.1;

    padding:0;
}

.faq-answer p{
    font-size:20px;

    line-height:1.6;

    padding:24px 0;
}

/* ========================================= */
/* CONTACT */
/* ========================================= */

.contact-section{
    padding:40px;
}

.contact-box{
    padding:50px 40px;
}

.contact-header h1{
    font-size:9vw;

    line-height:.9;
}

.contact-sub{
    font-size:16px;

    margin-bottom:40px;
}

.field input,
.field textarea{
    font-size:20px;

    padding:16px 0;
}

.submit-btn{
    height:56px;

    font-size:18px;
}

/* ================================= */
/* TABLET FOOTER FIX */
/* ================================= */

.footer{

    position:relative;

    padding:100px 50px 60px;

    min-height:20vh !important;

    overflow:hidden;
}

/* TOP GRID */

.footer-top{

    display:grid;

    grid-template-columns:
    120px 1fr 1fr;

    align-items:start;

    gap:60px;

    position:relative;
    z-index:5;
}

/* INSTAGRAM */

.ig{

    width:110px;
    height:110px;
margin-left: -60px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.ig svg{
    width:100%;
    height:100%;
}

/* CENTER + RIGHT */

.footer-center,
.footer-right{

    transform:none !important;
    position:relative;

}

/* TITLES */

.footer-center span,
.footer-right span{

    display:block;

    font-size:18px;

    font-weight:700;

    letter-spacing:.12em;

    color:#ee382b;

    margin-bottom:14px;
}

/* TEXT */

.footer-center p,
.footer-right p{

    font-size:20px;

    line-height:1.4;

    font-weight:400;

    color:#eaeaea;
}

/* BIG BUNKR */

.bunkrrr{

    position:absolute;

    left:46%;
    bottom:-30px;

    transform:translateX(-50%);

    width:100%;

    text-align:center;

    font-size:35vw;

    line-height:.8;

    opacity:1;


    white-space:nowrap;
}



/* ========================================= */
/* ASCII */
/* ========================================= */

.ascii-wrap img{
    opacity:1 !important;

    filter:none !important;

    transform:none !important;

    transition:none !important;
}

/* ========================================= */
/* PARALLAX */
/* ========================================= */

.mobile-parallax{
    will-change:transform;

    transform:translate3d(0,0,0);
}

.section-indicator {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  
  font-size: 2vw;
  font-weight: 700;
  pointer-events: none;
  z-index: 10;

  mix-blend-mode: difference;
  color: #15bfbf;
  opacity: 0;
}



}

/* SMALL TABLET = skoro mobile */
@media (min-width:768px) and (max-width:819px){


.b-wrap {
display: none !important;
}

   .creative-container,
   .studio-container{
      display:flex;
      flex-direction:column;
      gap:60px;
      padding-top:80px;
   }

   .left-top,
   .right-top,
   .right-bottom,
   .left-bottom,
   .studio-left-big,
   .studio-right-top,
   .studio-right-bottom,
   .studio-right-left{

      position:relative !important;

      top:auto !important;
      left:auto !important;
      right:auto !important;

      width:65%;
      margin:0 auto;
   }

   .grid-text-row,
   .studio-text-main{

      position:relative !important;

      top:auto !important;
      left:auto !important;
      right:auto !important;

      width:78%;
      max-width:none;

      margin:0 auto;

      font-size:48px;
      line-height:1;
      text-indent:0;
   }
}


@media (min-width: 900px) and (max-width: 1440px) and (orientation: landscape){



.menu,
.contact-sticky,
.b-overlay,
.b-wrap,
.background::after,
.ascii-wrap canvas {
display: none !important;

   .ascii-wrap canvas{
      display:none !important;
   }

   .ascii-wrap img{
      opacity:1 !important;
   }

}

/* ================================= */
/* CREATIVE */
/* ================================= */

.creative-section{
    min-height: 250vh;
}

.main-paragraph{
    font-size: clamp(25px, 5vw, 60px);
    font-weight:600;
    line-height:1.1;
    color:#111;
    text-align:left;
    text-indent:120px;
}

/* ================================= */
/* STUDIO */
/* ================================= */

.studio-section{
    min-height: 270vh;
}

   .grid-text-row,
   .studio-text-main{

      position:relative !important;

      top:auto !important;
      left:auto !important;
      right:auto !important;

      width:78%;
      max-width:none;

      margin:0 auto;
margin-top:120px;
      font-size:48px;
      line-height:1;
      text-indent:0;
   }

/* ================================= */
/* IMAGES */
/* ================================= */

.left-top{
    width:36%;
}

.left-top img{
    width:100%;
    height:auto;
    display:block;
}


/* ========================================== */
/* RIGHT TOP */
/* ========================================== */

.right-top{
    position:absolute;
    top:4%;
    right:5%;
    width:30%;
    pointer-events: none;
}

.right-top img{
    width:100%;
    height:auto;
    display:block;
    pointer-events: none;
}

.right-bottom{
  position:absolute;
    width: 33%;
    top: 110%;
    pointer-events: none;
}

.left-bottom{
  position:absolute;
    width: 24%;
    top: 110%; 
    pointer-events: none;
}


.studio-right-top{
    position:absolute;
pointer-events: none;
    top:1%;
    right:4%;

    width:34%;
}

.studio-left-big {
  width: 30%;
  pointer-events: none;
}

.studio-right-bottom{
    position:absolute;
pointer-events: none;
    top:120%;

    right:9%;

    width:34%;
}

.studio-right-left{
    position:absolute;
pointer-events: none;
    top:140%;

    left:4%;

    width:40%;
}

.studio-right-left {
  width: 30%;
  pointer-events: none;
}

/* ================================= */
/* HERO */
/* ================================= */

.wordd{
    font-size: 16vw;
}

    .hero {
        position: relative;
        height: 100svh;
        overflow: hidden;
        background: #e91b23;
    }

    .hero-media {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }

    /* VŠECHNY MEDIA PŘES SEBE */
    .media {
        position: absolute !important;

        width: 55vw !important;
        height: 55vh !important;

        top: 50% !important;
        left: 50% !important;

        transform: translate(-50%, -50%) !important;

        overflow: hidden;
        z-index: 2;
    }

    .media img,
    .media video {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.hero-bottom{
    font-size: 44px;
}

/* ================================= */
/* GALLERY */
/* ================================= */

.bunkr-inf-item{

    width: 420px;
    height: 560px;
}

/* ================================= */
/* FOOTER */
/* ================================= */

.footer{
    height: 52vh;
}

.bunkrrr{
    font-size: 24vw;
}

}

.bunkr{
    position:absolute;

    top:6vh;
    left:50%;

    transform:translateX(-50%);

    font-size:25vw;

    line-height:.8;

    letter-spacing:-0.08em;

    white-space:nowrap;

    color:#ee382b;

    mix-blend-mode:difference;

    
}


@media 
(min-width:1441px) 
and (max-width:1900px)
and (max-height:1100px){

.menu,
.contact-sticky,
.b-overlay,
.b-wrap,
.background::after,
.ascii-wrap canvas {
display: none !important;

   .ascii-wrap canvas{
      display:none !important;
   }

   .ascii-wrap img{
      opacity:1 !important;
   }

}

/* ================================= */
/* CREATIVE */
/* ================================= */

.creative-section{
    min-height: 250vh;
}

.main-paragraph{
    font-size: clamp(25px, 5vw, 60px);
    font-weight:600;
    line-height:1.1;
    color:#111;
    text-align:left;
    text-indent:120px;
}

/* ================================= */
/* STUDIO */
/* ================================= */

.studio-section{
    min-height: 270vh;
}

   .grid-text-row,
   .studio-text-main{

      position:relative !important;

      top:auto !important;
      left:auto !important;
      right:auto !important;

      width:78%;
      max-width:none;

      margin:0 auto;
margin-top:120px;
      font-size:48px;
      line-height:1;
      text-indent:0;
   }

/* ================================= */
/* IMAGES */
/* ================================= */

.left-top{
    width:36%;
}

.left-top img{
    width:100%;
    height:auto;
    display:block;
}


/* ========================================== */
/* RIGHT TOP */
/* ========================================== */

.right-top{
    position:absolute;
    top:4%;
    right:5%;
    width:30%;
    pointer-events: none;
}

.right-top img{
    width:100%;
    height:auto;
    display:block;
    pointer-events: none;
}

.right-bottom{
  position:absolute;
    width: 33%;
    top: 110%;
    pointer-events: none;
}

.left-bottom{
  position:absolute;
    width: 24%;
    top: 110%; 
    pointer-events: none;
}


.studio-right-top{
    position:absolute;
pointer-events: none;
    top:1%;
    right:4%;

    width:34%;
}

.studio-left-big {
  width: 30%;
  pointer-events: none;
}

.studio-right-bottom{
    position:absolute;
pointer-events: none;
    top:120%;

    right:9%;

    width:34%;
}

.studio-right-left{
    position:absolute;
pointer-events: none;
    top:140%;

    left:4%;

    width:40%;
}

.studio-right-left {
  width: 30%;
  pointer-events: none;
}

/* ================================= */
/* HERO */
/* ================================= */

.wordd{
    font-size: 16vw;
}

    .hero {
        position: relative;
        height: 100svh;
        overflow: hidden;
        background: #e91b23;
    }

    .hero-media {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }

    /* VŠECHNY MEDIA PŘES SEBE */
    .media {
        position: absolute !important;

        width: 55vw !important;
        height: 55vh !important;

        top: 50% !important;
        left: 50% !important;

        transform: translate(-50%, -50%) !important;

        overflow: hidden;
        z-index: 2;
    }

    .media img,
    .media video {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.hero-bottom{
    font-size: 44px;
}

/* ================================= */
/* GALLERY */
/* ================================= */

.bunkr-inf-item{

    width: 420px;
    height: 560px;
}

/* ================================= */
/* FOOTER */
/* ================================= */

.footer{
    height: 52vh;
}

.bunkrrr{
    font-size: 24vw;
}


.bunkr{
    position:absolute;

    top:6vh;
    left:50%;

    transform:translateX(-50%);

    font-size:25vw;

    line-height:.8;

    letter-spacing:-0.08em;

    white-space:nowrap;

    color:#ee382b;

    mix-blend-mode:difference;
}


.videov1-section {
  height: 200vh;
  position: relative;
  background-color: #eaeaea;
}

}