*{ box-sizing:border-box; margin:0; padding:0; }
  html,body{
    width:100%; height:100%;
    background:#090705;
    font-family:"Segoe UI", Arial, sans-serif;
    overflow:hidden;
  }

  /* ---------- responsive viewport: letterbox-scales the fixed 1820x1024 stage
       so the whole design always fits on screen, on any device ---------- */
  .viewport{
    position:fixed;
    inset:0;
    background:#090705;
    overflow:hidden;
  }
  .stage{
    position:absolute;
    top:50%; left:50%;
    width:1820px;
    height:1024px;
    transform-origin:center center;
    background:
      url("O_kompanii_page_images/stage-background.jpg") center center / 100% 100% no-repeat,
      #090705;
    will-change:transform;
  }

  /* ---------------- rise-in animation ---------------- */
  @keyframes riseIn{
    from{ opacity:0; transform:translateY(50px); }
    to{ opacity:1; transform:translateY(0); }
  }
  .rise{
    opacity:0;
    transform:translateY(50px);
    animation:riseIn 0.9s ease forwards;
  }

  /* ---------------- top bar ---------------- */
  .topbar{
    position:absolute;
    top:45px; left:50px; right:70px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    z-index:10;
  }
  .logo-img{ height:56px; display:block; animation-delay:0.15s; }
  .topbar-right{
    display:flex; align-items:center; gap:24px;
    animation-delay:0.3s;
  }
  .topbar-line{
    width:340px; height:1px;
    background:rgba(255,255,255,0.25);
    position:relative;
  }
  .topbar-dot{
    position:absolute; right:-6px; top:50%;
    width:9px; height:9px; border-radius:50%;
    background:#fff; transform:translateY(-50%);
  }
  .about-link{ color:#eee; font-size:16px; letter-spacing:0.3px; white-space:nowrap; position:relative; top:-4px; text-decoration:none; cursor:pointer; transition:color 0.2s ease; }
  .about-link:hover{ color:#FFB2EB; }

  /* ---------------- left text column ---------------- */
  .left-col{
    position:absolute;
    left:50px; top:255px;
    width:440px;
    z-index:10;
  }
  .brand-logo{
    display:block;
    width:600px;
    margin-bottom:40px;
    animation-delay:0.45s;
    position:relative;
    left:165px; /* right edge lands 95px from the center vertical line (stage center 910px - 95px = 815px; 50px + 600px + 165px = 815px) */
  }
  .desc p{
    color:#e7e2dc;
    font-size:25.5px;
    line-height:1.55;
    margin-bottom:18px;
  }
  .desc{ margin-bottom:40px; position:relative; left:340px; }
  .desc p:nth-child(1){ animation-delay:0.65s; }
  .desc p:nth-child(2){ animation-delay:0.75s; }

  .cta-row{
    display:flex;
    align-items:center;
    gap:20px;
    margin-top:0;
    animation-delay:0.85s;
  }
  .cta{
    display:inline-flex;
    align-items:center;
    gap:0;
    padding:4px;
    border-radius:30px;
    border:none;
    cursor:pointer;
    font-size:15px;
    font-weight:700;
    letter-spacing:1px;
    color:#fff;
    background:linear-gradient(90deg,#EB273A,#87041E);
  }
  .cta span.label{ padding:14px 10px 14px 26px; }
  .cta .circle{
    width:46px; height:46px;
    border-radius:50%;
    background:#2a0c1c;
    display:flex; align-items:center; justify-content:center;
  }
  .down-arrow{
    width:22px; height:22px;
    color:#fff;
    opacity:0.9;
  }

  .frame-bg{
    position:absolute;
    top:0; left:0;
    width:100%;
    z-index:4;
    pointer-events:none;
    mix-blend-mode:screen;
    opacity:0.85;
  }

  /* ---------------- product art ---------------- */
  .art{ position:absolute; inset:0; z-index:5; }
  .pack{ position:absolute; }
  .pack img{ width:100%; display:block; }

  @keyframes swayMain{
    0%,100%{ transform:rotate(12deg) translateY(0px); }
    50%{ transform:rotate(12deg) translateY(-16px); }
  }
  @keyframes swaySmall{
    0%,100%{ transform:translateY(0px); }
    50%{ transform:translateY(-12px); }
  }
  .bb-main{
    width:430px; top:145px; left:735px;
    transform-origin:50% 50%;
    animation:swayMain 6.5s ease-in-out infinite;
    filter:drop-shadow(0 35px 35px rgba(0,0,0,0.55));
  }
  .bb-small{
    width:246.5px; top:295px; left:1235px;
    animation:swaySmall 5.3s ease-in-out infinite;
    animation-delay:0.35s;
    filter:drop-shadow(0 30px 30px rgba(0,0,0,0.5));
  }

  /* ---------------- floating decor — sway independently of the packages ---------------- */
  .decor{ position:absolute; }
  .decor img{ width:100%; display:block; }

  @keyframes decorSwayA{
    0%,100%{ transform:rotate(32deg) translateY(0px); }
    50%{ transform:rotate(40deg) translateY(-14px); }
  }
  @keyframes decorSwayB{
    0%,100%{ transform:rotate(18deg) translateY(0px); }
    50%{ transform:rotate(26deg) translateY(-10px); }
  }
  @keyframes decorSwayC{
    0%,100%{ transform:rotate(0deg) translateY(0px); }
    50%{ transform:rotate(8deg) translateY(-12px); }
  }
  @keyframes decorSwayD{
    0%,100%{ transform:rotate(-10deg) translateY(0px); }
    50%{ transform:rotate(2deg) translateY(-9px); }
  }
  @keyframes decorSwayA2{
    0%,100%{ transform:rotate(32deg) translateY(0px); }
    50%{ transform:rotate(40deg) translateY(-14px); }
  }
  .decor-seed-blue-left{
    width:90px; top:400px; left:1195px;
    z-index:-1;
    animation:decorSwayD 4.7s ease-in-out infinite;
    animation-delay:0.5s;
    filter:blur(2px) drop-shadow(0 10px 12px rgba(0,0,0,0.4));
  }
  .decor-salt-right{
    width:110.5px; top:500px; left:1500px;
    filter:drop-shadow(0 6px 8px rgba(0,0,0,0.25));
  }
  .decor-salt-right2{
    width:77.35px; top:580px; left:1500px;
    transform:rotate(45deg);
    filter:drop-shadow(0 6px 8px rgba(0,0,0,0.25));
  }
  .decor-seed-blue-top{
    width:90px; top:255px; left:1490px;
    animation:decorSwayB 4.8s ease-in-out infinite;
    animation-delay:0.4s;
    filter:drop-shadow(0 10px 12px rgba(0,0,0,0.4));
  }
  .decor-seed-right{
    width:100px; top:490px; left:1100px;
    animation:decorSwayC 4.6s ease-in-out infinite;
    animation-delay:0.6s;
    filter:drop-shadow(0 10px 12px rgba(0,0,0,0.4));
  }
  .decor-cracker-top{
    width:103.5px; top:350px; left:725px;
    animation:decorSwayA2 5.2s ease-in-out infinite;
    filter:drop-shadow(0 12px 14px rgba(0,0,0,0.4));
  }
  @keyframes decorSwayA2{
    0%,100%{ transform:rotate(-28deg) translateY(0px); }
    50%{ transform:rotate(-20deg) translateY(-14px); }
  }

  /* ---------------- bottom thumbnail band ---------------- */
  .about-col{
    position:absolute;
    left:calc(50% + 95px);
    top:255px;
    width:500px;
    text-align:left;
    z-index:10;
  }
  .about-col h2{
    color:#fff;
    font-size:26px;
    font-weight:700;
    letter-spacing:0.3px;
    margin-bottom:20px;
    text-transform:uppercase;
  }
  .about-col p{
    color:#e7e2dc;
    font-size:18px;
    line-height:1.55;
    text-align:left;
    margin-bottom:16px;
  }

  .center-line{
    position:absolute;
    top:50%; left:50%;
    width:1px; height:500px;
    background:#fff;
    transform:translate(-50%, -50%);
    z-index:20;
    pointer-events:none;
  }

  .thumb-band{
    position:absolute;
    left:0; right:0; bottom:0;
    height:197px;
    background:#050203;
    border-top:1px solid rgba(255,255,255,0.08);
    z-index:10;
    animation-delay:1s;
  }
  .menu-icon{
    position:absolute;
    top:27.25px;
    height:142.5px;
    display:block;
    cursor:pointer;
    border-radius:10px;
    transition:background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  }
  .menu-icon img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    object-position:center;
  }
  .menu-icon:hover{
    transform:translateY(-4px);
  }

  /* =====================================================================
     MOBILE ADAPTATION
     On narrow screens we drop the fixed 1820x1024 "letterbox" stage
     (which would shrink everything to a tiny unreadable size) and switch
     to a normal, vertically-stacked flow layout instead.
     ===================================================================== */
  @media (max-width: 860px){

    html, body{
      height:auto;
      min-height:100%;
      overflow-x:hidden;
      overflow-y:auto;
    }

    .viewport{
      position:static;
      overflow:visible;
    }

    .stage{
      position:static !important;
      top:auto !important; left:auto !important;
      width:100% !important;
      height:auto !important;
      min-height:100vh;
      transform:none !important;
      background:
        radial-gradient(ellipse 600px 500px at 50% 12%, #3a1d0c 0%, #1b1008 32%, #0d0705 58%, #090705 78%),
        #090705;
    }

    /* ---- top bar ---- */
    .topbar{
      position:static;
      padding:22px 18px 0;
      flex-wrap:wrap;
      row-gap:12px;
    }
    .logo-img{ height:34px; }
    .topbar-right{ gap:10px; }
    .topbar-line{ width:60px; }
    .about-link{ font-size:13px; top:-2px; }

    /* ---- text column ---- */
    .left-col{
      position:static;
      width:100%;
      max-width:520px;
      margin:0 auto;
      padding:26px 20px 0;
      text-align:center;
      display:flex;
      flex-direction:column;
      align-items:center;
    }
    .brand-logo{ width:220px; margin:0 auto 20px; left:0; }
    .desc{ margin-bottom:0; left:0; }
    .desc p{ font-size:15px; line-height:1.5; }

    .frame-bg{ display:none; }

    .center-line{ display:none; }

    /* ---- "about company" block: stacks under the contact info ---- */
    .about-col{
      position:static;
      width:100%;
      max-width:520px;
      margin:26px auto 0;
      padding:0 20px;
      left:auto; top:auto;
    }
    .about-col h2{ font-size:19px; text-align:center; margin-bottom:14px; }
    .about-col p{ font-size:14px; line-height:1.5; text-align:left; margin-bottom:12px; }

    .art{ display:none; }

    /* ---- bottom thumbnail menu: horizontal scroll strip ---- */
    .thumb-band{
      position:static;
      height:auto;
      padding:16px 14px;
      display:flex;
      flex-wrap:nowrap;
      overflow-x:auto;
      gap:14px;
      margin-top:24px;
      -webkit-overflow-scrolling:touch;
      scrollbar-width:thin;
    }
    .menu-icon{
      position:static !important;
      left:auto !important;
      top:auto !important;
      width:68px !important;
      height:68px !important;
      flex:0 0 auto;
    }
  }
