.elementor-4837 .elementor-element.elementor-element-d36fe26{--display:flex;--min-height:164px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-4837 .elementor-element.elementor-element-d36fe26:not(.elementor-motion-effects-element-type-background), .elementor-4837 .elementor-element.elementor-element-d36fe26 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0E0E42;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-4837 .elementor-element.elementor-element-73d3970.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:1;}.elementor-4837 .elementor-element.elementor-element-73d3970{text-align:center;font-family:"Roboto", Sans-serif;font-size:46px;font-weight:600;color:#FFFFFF;}.elementor-4837 .elementor-element.elementor-element-bc4bbd4{--display:flex;--min-height:513px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-4837 .elementor-element.elementor-element-bc4bbd4:not(.elementor-motion-effects-element-type-background), .elementor-4837 .elementor-element.elementor-element-bc4bbd4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0E0E42;}.elementor-4837 .elementor-element.elementor-element-2a372a1.elementor-element{--align-self:center;}/* Start custom CSS for html, class: .elementor-element-2a372a1 */:root {
      --primary: #c9a96e;
      --dark: #0a0a0a;
    }

    body {
      margin: 0;
      padding: 0;
      background: var(--dark);
      font-family: 'Tahoma', sans-serif;
    }

    .portfolio {
      max-width: 1480px;
      margin: 0 auto;
      padding: 40px 20px;
    }

    /* Filter Bar */
    .filter-bar {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 12px;
      padding: 15px 20px;
      background: rgba(0,0,0,0.65);
      backdrop-filter: blur(12px);
      border-radius: 50px;
      position: sticky;
      top: 20px;
      z-index: 100;
      margin: 0 auto 40px;
      width: fit-content;
      max-width: 95%;
      box-shadow: 0 8px 32px rgba(0,0,0,0.4);
    }

    .filter-btn {
      padding: 10px 22px;
      border-radius: 30px;
      background: rgba(255,255,255,0.08);
      color: white;
      border: 1px solid rgba(255,255,255,0.15);
      font-size: 14.5px;
      cursor: pointer;
      transition: all 0.3s ease;
      white-space: nowrap;
    }

    .filter-btn:hover {
      background: rgba(201, 169, 110, 0.25);
    }

    .filter-btn.active {
      background: var(--primary);
      color: black;
      font-weight: 600;
    }

    /* Masonry Grid */
    .grid {
      column-count: 3;
      column-gap: 18px;
      padding: 10px;
      --fade: 0%;
      -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black var(--fade), black 100%);
      mask-image: linear-gradient(to bottom, transparent 0%, black var(--fade), black 100%);
    }

    .item {
      display: none;
      break-inside: avoid;
      margin-bottom: 18px;
      border-radius: 16px;
      overflow: hidden;
      background: #111;
      position: relative;
      cursor: pointer;
      transition: all 0.4s ease;
      opacity: 0;
      transform: translateY(20px);
    }

    .item.show {
      display: block;
      opacity: 1;
      transform: translateY(0);
    }

    .item img,
    .item video {
      width: 100%;
      height: auto;
      display: block;
      border-radius: 16px;
      transition: transform 0.4s ease;
    }

    .item:hover img,
    .item:hover video {
      transform: scale(1.04);
    }

    .item h4 {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      background: linear-gradient(transparent, rgba(0,0,0,0.9));
      color: white;
      padding: 28px 15px 15px;
      text-align: center;
      font-size: 14.5px;
      opacity: 0;
      transition: 0.4s;
    }

    .item:hover h4 {
      opacity: 1;
    }

    /* Portrait & Landscape */
    .item.portrait {
      max-width: 380px;
    }

    /* Modal */
    .modal {
      display: none;
      position: fixed;
      top: 0; left: 0;
      width: 100%; height: 100%;
      background: rgba(0,0,0,0.97);
      z-index: 2000;
      align-items: center;
      justify-content: center;
      padding: 20px;
    }

    .modal-content {
      max-width: 1100px;
      width: 100%;
      position: relative;
    }

    .modal video {
      width: 100%;
      max-height: 88vh;
      border-radius: 16px;
      background: #000;
    }

    .modal-close {
      position: absolute;
      top: -15px;
      right: -15px;
      background: #000;
      color: white;
      width: 50px;
      height: 50px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 28px;
      cursor: pointer;
      z-index: 10;
      box-shadow: 0 4px 15px rgba(0,0,0,0.6);
    }

    /* Responsive */
    @media (max-width: 1024px) {
      .grid { column-count: 3; column-gap: 15px; }
    }

    @media (max-width: 768px) {
      .grid { column-count: 2; column-gap: 14px; }
    }

    @media (max-width: 480px) {
      .grid { column-count: 1; }
    }

    /* Load More */
    .load-more-wrap {
      text-align: center;
      margin: 50px 0 40px;
    }

    .load-more-btn {
      padding: 14px 38px;
      border-radius: 50px;
      background: rgba(201, 169, 110, 0.1);
      color: white;
      border: 1px solid rgba(201, 169, 110, 0.5);
      font-size: 15px;
      cursor: pointer;
      transition: all 0.3s ease;
    }

    .load-more-btn:hover {
      background: var(--primary);
      color: black;
      transform: translateY(-3px);
    }
    
    .portrait{
        width: 100%;
        max-width: 200px;
        position: relative;
        overflow: hidden;
        border-radius: 12px;
        background: #000;
    }
    
    .portrait video{
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        aspect-ratio: 9 / 16;
    }/* End custom CSS */