:root{
    --ink:#0a0a2a;
    --text:#fff;
    --muted:#6b7280;
    --note:#fff;
    --beige:#f7eddc;
    --cream:#f9f3ea;
    --orange:#f59e0b;
    --orange-deep:#ef6c00;
    --violet:#7c3aed;
    --cyan:#00d9ff;
    --cyan-dark:#0099cc;
    --dark-bg:#0a0e27;
    --dark-panel:#1a1f3a;
    --radius:18px;
    --shadow:0 12px 28px rgba(0,0,0,.08);
    --glow:0 0 20px rgba(0, 217, 255, 0.5);
    --maxw:1200px;
  }

  @font-face {
    font-family: 'BPG ExtraSquare';
    src: url('../fonts/BPGExtraSquare.woff2') format('woff2'),
         url('../fonts/bpg_extrasquare_2009.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }
  
  html,body{
    font-family: 'BPG ExtraSquare', system-ui, sans-serif;
    color: rgba(240, 247, 255, 0.86);
    background: transparent;
    cursor: crosshair;
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }
  
  p, li, .lead {
    color: rgba(232, 238, 255, 0.9);
  }
  
  h1, h2, h3, h4, h5 {
    color: #eaf2ff;
  }
  
  img{max-width:100%; display:block; height:auto}
  .container-max{max-width:var(--maxw); margin:0 auto; padding:0 1rem;}
  
  /* Page frame with background image */
  .page{
    position: relative;
    min-height: 100dvh;
    border: 6px solid var(--violet);
    overflow: hidden;
    background: transparent;
  }
  
  .page::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background: url("../../img/background.jpg") center/cover no-repeat;
    filter: brightness(1.6) saturate(1.5);
    transform: translateZ(0);
  }
  
  .page::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: radial-gradient(1000px 600px at 50% -100px, rgba(0, 217, 255, 0.08), transparent 55%),
                radial-gradient(800px 500px at 90% 110%, rgba(124, 58, 237, 0.08), transparent 60%),
                linear-gradient(180deg, rgba(10, 14, 39, 0.85), rgba(10, 14, 39, 0.92));
    pointer-events: none;
  }
  
  /* Top header */
  .topbar{padding:.6rem 0; border-bottom:1px solid #e5e7eb}
  .brand-dot{width:34px; height:34px; border-radius:50%; background:linear-gradient(135deg,#65d3ff,#7c3aed); display:inline-flex; align-items:center; justify-content:center; color:#fff; font-weight:800}
  
  /* Navigation - Desktop */
  .nav-right {
    display: flex;
    gap: 1rem;
    align-items: center;
  }
  
  .nav-link{color:var(--text)!important; font-size:.95rem}
  
  /* Mobile Menu Toggle Button */
  .mobile-menu-toggle {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    z-index: 1001;
  }

  .mobile-menu-toggle span {
    display: block;
    width: 28px;
    height: 3px;
    background: var(--cyan);
    border-radius: 3px;
    transition: all 0.3s ease;
  }

  
.social-link {
    color: #89d053;
    opacity: 0.75;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.social-link:hover {
    opacity: 1;
    transform: translateY(-2px);
}
.social-link svg {
  width: 32px;
  height: 32px;
}

  /* Hamburger animation when active */
  .mobile-menu-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(8px, 8px);
  }

  .mobile-menu-toggle.active span:nth-child(2) {
    opacity: 0;
  }

  .mobile-menu-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -7px);
  }
  
  /* Section titles */
  h1,h2{font-weight:800}
  h1{font-size:clamp(28px,4vw,42px); line-height:1.15}
  h2{font-size:clamp(22px,3vw,32px)}
  
  /* Notes / sticky labels */
  .note{background:var(--note); padding:14px 16px; border-radius:12px; box-shadow:var(--shadow); position:relative}
  .note::after{content:""; position:absolute; left:16px; top:-8px; width:48px; height:12px; border-radius:3px; background:repeating-linear-gradient(90deg,rgba(0,0,0,.18),rgba(0,0,0,.18) 9px,transparent 9px,transparent 17px)}
  .skew{transform:rotate(-2.2deg)}
  .skew2{transform:rotate(1.6deg)}
  
  /* Dark feature panel */
  .panel-dark{background:var(--ink); color:#fff; border-radius:var(--radius); box-shadow:var(--shadow)}
  
  /* Cards grid over beige */
  .beige{background:var(--beige)}
  .c-card{border:1px solid #e8e8e8; border-radius:16px; background:#fff; box-shadow:0 8px 20px rgba(0,0,0,.04)}
  
  /* Contact on photo */
  .contact-bg{border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow)}
  .contact-form{background:linear-gradient(180deg,var(--orange),var(--orange-deep)); border-radius:18px; padding:22px; box-shadow:0 12px 30px rgba(239,108,0,.28)}
  .contact-form label{font-weight:600; color:#3a2c17}
  .contact-form .form-control{border-radius:12px; border:0; box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
  
  /* Footer */
  footer{border-top:2px solid rgba(0, 217, 255, 0.3)}
  
  /* Decorative arrows */
  .arrow{position:absolute; width:46px; height:46px;}
  .arrow svg{width:100%; height:100%}
  .arrow-red path{stroke:#ef4444}
  .arrow-blue path{stroke:#3b82f6}
  
  /* Speed Banner - Centered Style */
  .speed-banner-centered{
    padding: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    box-sizing: border-box;
    min-height: 140px;
  }
  
  .speed-chip-centered{
    background: linear-gradient(135deg, var(--cyan) 0%, var(--cyan-dark) 100%);
    padding: 16px 40px;
    border-radius: 50px;
    border: 2px solid rgba(0, 217, 255, 0.5);
    color: white;
    font-weight: 700;
    font-size: 18px;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
    box-shadow: 0 0 20px rgba(0, 217, 255, 0.4), inset 0 0 10px rgba(0, 217, 255, 0.1);
    text-transform: uppercase;
    letter-spacing: 1px;
  }
  
  .speed-chip-centered:hover{
    background: linear-gradient(135deg, #00ffff 0%, #00ccff 100%);
    box-shadow: 0 0 30px rgba(0, 217, 255, 0.6), inset 0 0 15px rgba(0, 217, 255, 0.2);
    transform: translateY(-2px);
  }
  
  .speed-chip-centered:active{
    transform: scale(0.98);
  }
  
  .chip-text{
    display: block;
  }
  
  /* VIDEO (clean) */
  .video-stage {
    width: 100%;
    margin: 1.5rem auto;
    display: flex;
    justify-content: center;
  }
  .video-frame {
    width: min(100%, 1000px);
    position: relative;
    background: #000;
    border-radius: 16px;
    overflow: hidden;
  }
  /* Maintain 16:9 via padding-top for broad browser support */
  .video-frame::before {
    content: "";
    display: block;
    padding-top: 56.25%;
  }
  .video-frame iframe.yt {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
  }
  @media (max-width: 600px) {
    .video-frame {
      width: calc(100% - 32px);
    }
  }
  
    
  /* Desktop overrides for main video width */
  @media (min-width: 992px) {
    #mainVideo.video-stage {
      display: flex;
      justify-content: center;
    }
    #mainVideo .video-frame {
      width: 1000px !important;
    }
  }
  @media (min-width: 601px) and (max-width: 991.98px) {
    #mainVideo .video-frame {
      width: min(100%, 1000px) !important;
    }
  }

  /* Explicit size for projects video */
  @media (min-width: 992px) {
    #projectsVideo .video-frame {
      width: 1094px !important;
      height: 751px !important;
    }
    #projectsVideo .video-frame::before {
      padding-top: 0 !important;
    }
  }
  @media (max-width: 991.98px) {
    #projectsVideo .video-frame {
      width: min(100%, 1094px) !important;
    }
    #projectsVideo .video-frame::before {
      padding-top: 68.67% !important; /* 751 / 1094 */
    }
  }

  /* Paper sticker effect */
  .paper-sticker{
    position:absolute;
    top:20px;
    right:20px;
    width:180px;
    height:140px;
    transform:rotate(3deg) scale(0);
    opacity:0;
    transition:transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1),
                opacity 0.8s ease;
    z-index:10;
    overflow:hidden;
  }
  
  .paper-sticker.show{
    transform:rotate(3deg) scale(1);
    opacity:1;
  }
  
  .paper-sticker img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:6px;
  }
  
  /* Horizontal Tab Accordion Styles - EQUAL WIDTH TABS */
  .horizontal-accordion {
    display: flex;
    flex-wrap: wrap;
    border-radius: 0;
    padding-left: 0;
    width: 100%;
  }
  
  .accordion-panel {
    background: #182e5e;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
    cursor: pointer;
    overflow: visible;
    border-bottom: none;
    border-radius: 8px 8px 0 0;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 0;
    min-width: 0;

    margin-bottom: -2px;
    text-align: center;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.7);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 -2px 4px rgba(0, 0, 0, 0.3), -5px 0 15px rgba(0,0,0,0.2);
  }
  
  .accordion-panel:last-child {
    margin-right: 0;
  }

  .according-tittle {
    font-size: 2.8rem;
    font-weight: 800;
    color: #ffffff;
    text-align: center;
    margin-bottom: 2rem;
    width: 100%;
  }
  
  .accordion-panel.active {
    background: #182e5e;
    border: 2px solid rgba(0, 217, 255, 0.4);
    border-bottom: none;
    color: var(--cyan);
    font-weight: 700;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 -4px 8px rgba(0, 217, 255, 0.2);
    z-index: 10;
    transform: translateY(-1px);
    margin-bottom: -2px;
  }
  
  .panel-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0;
    z-index: 2;
    width: 100%;
    min-height: 50px;
  }
  
  .panel-number {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.8rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.3;
    width: 100%;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
  }
  
  .accordion-panel.active .panel-number {
    color: var(--cyan);
  }
  
  .panel-content {
    padding: 0;
    display: none;
  }
  
  .accordion-panel.active .panel-content {
    padding: 0;
    display: none;
  }
  
  .panel-title {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.95rem;
    font-weight: 600;
    margin: 0;
    writing-mode: horizontal-tb;
    text-orientation: initial;
    transform: none;
    height: fit-content;
    white-space: nowrap;
    overflow-wrap: normal;
    flex: 0;
  }
  
  .accordion-panel.active .panel-title {
    font-size: 0.95rem;
    color: var(--cyan);
    font-weight: 700;
  }
  
  .panel-expanded {
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    max-width: 100%;
    display: none;
  }
  
  .accordion-panel.active .panel-expanded {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.1s;
    display: none;
  }
  
  /* Content area below tabs */
  .accordion-content-area {
    background: #182e5e;
    border: 2px solid rgba(0, 217, 255, 0.3);
    border-top: none;
    border-radius: 0 0 16px 16px;
    padding: 2rem;
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .accordion-content-area.hidden {
    display: none;
  }
  
  .panel-description {
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.95rem;
    line-height: 1.7;
    margin: 0;
    text-align: left;
  }
  
  /* Final Footer Styles */
  .final-footer {
    color: white;
    margin-top: 0;
  }
  
  .footer-title {
    font-size: 2rem;
    font-weight: 800;
    color: white;
    line-height: 1.2;
  }
  
  .footer-description {
    font-size: 1.1rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
  }
  
  .contact-info {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  
  .contact-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
  }
  
  .contact-item svg {
    color: #00b2e3;
    flex-shrink: 0;
  }
  
  .contact-link {
    color: white;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
  }
  
  .contact-link:hover {
    color: #00b2e3;
  }
  
  .contact-text {
    color: rgba(255, 255, 255, 0.9);
    font-weight: 500;
  }
  
  .footer-divider {
    border-color: rgba(255, 255, 255, 0.1);
    margin: 3rem 0 2rem 0;
  }
  
  .footer-brand {
    font-weight: 700;
    color: white;
  }
  
  .footer-year {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.9rem;
  }
  
  /* FAQ Section Styles */
  .faq-wrapper {
    background: linear-gradient(135deg, #0a0e2700 0%, #0d153500 100%);
    border: 2px solid var(--cyan);
    border-radius: 20px;
    padding: 3rem;
    position: relative;
    min-height: 600px;
    box-shadow: 0 0 50px rgba(0, 217, 255, 0.25), inset 0 0 40px rgba(0, 217, 255, 0.08);
  }

  .faq-content {
    display: flex;
    gap: 3rem;
    align-items: flex-start;
  }

  .faq-title-section {
    margin-bottom: 2rem;
  }

  /* Left side - Image */
  .faq-image-container {
    flex: 1;
    max-width: 400px;
  }
  
  .faq-image-frame {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
  }
  
  .faq-image {
    width: 100%;
    height: auto;
    aspect-ratio: 4/5;
    object-fit: cover;
  }
  
  .faq-smiley {
    position: absolute;
    bottom: 20px;
    left: 20px;
    background: white;
    border-radius: 50%;
    padding: 5px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  }
  
  /* Right side - FAQ Accordion */
  .faq-accordion {
    flex: 1;
    max-width: 600px;
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
  
  .faq-item {
    width: 100%;
  }
  
  .faq-question {
    width: 100%;
    background: rgba(138, 43, 226, 0.5);
    border: 3px solid #00d9ff;
    border-radius: 50px;
    padding: 18px 30px;
    color: white;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background 0.3s ease;
    text-align: left;
  }
  
  .faq-question:hover {
    background: rgba(138, 43, 226, 0.6);
  }
  
  .faq-question:active {
    background: rgba(138, 43, 226, 0.7);
  }
  
  .faq-icon {
    color: #00d9ff;
    font-size: 28px;
    font-weight: 300;
    transition: transform 0.3s ease;
    flex-shrink: 0;
    margin-left: 15px;
    line-height: 1;
  }
  
  .faq-item.active .faq-icon {
    transform: rotate(45deg);
  }
  
  .faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.4s ease, margin 0.4s ease;
    background: rgba(106, 17, 203, 0.1);
    border-radius: 20px;
    margin-top: 0;
  }
  
  .faq-item.active .faq-answer {
    max-height: 1500px;
    padding: 20px 30px;
    margin-top: 10px;
    border: 1px solid rgba(0, 217, 255, 0.3);
  }
  
  .faq-answer p {
    color: #e0e0e0;
    line-height: 1.6;
    font-size: 15px;
  }
  
  /* Gallery Section Styles */
  .gallery-section {
    width: 100%;
    padding: 2rem 1rem;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  
  .gallery-title {
    font-size: 2.8rem;
    font-weight: 800;
    color: #ffffff;
    text-align: center;
    margin-bottom: 1rem;
    width: 100%;
  }
  
  .gallery-wrapper {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    width: 100%;
  }
  
  .gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 180px);
    gap: 8.5rem;
    padding: 0;
    justify-content: center;
    margin-bottom: 2rem;
  }
  
  .gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    cursor: pointer;
    display: block;
    aspect-ratio: 1;
    width: 280px;
    height: 280px;
  }
  
  /* Stagger items vertically */
  .gallery-item:nth-child(1) { transform: translateY(0px); }
  .gallery-item:nth-child(2) { transform: translateY(20px); }
  .gallery-item:nth-child(3) { transform: translateY(-15px); }
  .gallery-item:nth-child(4) { transform: translateY(10px); }
  .gallery-item:nth-child(5) { transform: translateY(-10px); }
  .gallery-item:nth-child(6) { transform: translateY(25px); }
  .gallery-item:nth-child(7) { transform: translateY(-5px); }
  .gallery-item:nth-child(8) { transform: translateY(15px); }
  
  .gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
  }
  
  .gallery-item:hover {
    box-shadow: 0 12px 30px rgba(0, 217, 255, 0.4);
  }
  
  .gallery-item:hover img {
    transform: scale(1.1);
  }

  .video-item-wrapper {
    display: flex;
    flex-direction: column;
  }

  .video-title {
    color: #eaf2ff;
    font-weight: 600;
    font-size: 1.1rem;
    text-align: center;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .short-title {
    color: #eaf2ff;
    font-weight: 500;
    font-size: 0.9rem;
    text-align: center;
    margin-top: 0.75rem;
  }

  /* VIDEO SECTION STYLES */
  .video-content-wrapper {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    align-items: center;
    justify-content: center;
  }

  /* Shorts Container */
  .shorts-container {
    width: 100%;
  }

  .shorts-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4.5rem;
    justify-content: center;
  }

  .short-item {
    position: relative;
    width: 100%;
    aspect-ratio: 9/16;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0, 217, 255, 0.25);
    border: 2px solid rgba(0, 217, 255, 0.3);
    background: #000;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

  .short-item:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 35px rgba(0, 217, 255, 0.4);
    border-color: rgba(0, 217, 255, 0.5);
  }

  .short-item iframe {
    width: 100%;
    height: 100%;
    border: none;
  }
  
    
  /* Smooth sectional scrolling */
  html{scroll-behavior:smooth}
  body{scroll-snap-type:y mandatory; overscroll-behavior-y:contain}
  
  .snap{
    display:flex; 
    align-items:center; 
    position: relative;
    border-top: 2px solid rgba(0, 217, 255, 0.3);
  }
  
  .snap > .container{width:100%}

  .snap.in{
    opacity:1; 
    transform:translateY(0) scale(1);
  }
  
  /* Progressive reveal for child elements */
  .snap .container > *{
    opacity:0;
    transform: translateY(20px);
    transition: opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
              transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition-delay:0.2s;
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
  
  .snap.in .container > *{
    opacity:1;
    transform:translateY(0);
  }
  
  /* Staggered animation for cards */
  .snap .row > .col{
    opacity:0;
    transform:translateY(60px) scale(0.9);
    transition: opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
              transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  
  .snap.in .row > .col:nth-child(1){transition-delay:0.4s}
  .snap.in .row > .col:nth-child(2){transition-delay:0.5s}
  .snap.in .row > .col:nth-child(3){transition-delay:0.6s}
  .snap.in .row > .col:nth-child(4){transition-delay:0.7s}
  .snap.in .row > .col{
    opacity:1;
    transform:translateY(0) scale(1);
  }

  .no-border {
    border: none !important;
  }

  #about {
    padding: 0 !important;
    margin: 0 !important;
  }
  
  #projects {
    padding: 0 !important; 
    margin: 0 !important;
  }
  
  #text-section {
    padding: 0 !important;
    margin: 0 !important;
  }
  
  .py-5 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Specifically target the container spacing in early sections */
  .snap:nth-child(-n+4) {
    min-height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Go to Top Button */
  .go-top-btn {
    position: fixed;
    bottom: 25px;
    right: 25px;
    z-index: 1000;
    width: 50px;
    height: 50px;
    background: var(--violet);
    color: white;
    border: 2px solid rgba(255,255,255,0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  }
  
  .go-top-btn.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .text-content {
    box-shadow: 0 0 10px rgba(0, 217, 255, 0.5);
    border: 2px solid rgba(0, 217, 255, 0.5);
    border-radius: 20px;
    padding: 2rem;
    margin: 25px;
    display: grid;
    align-content: center;
    justify-content: center;
    align-items: baseline;
    justify-items: stretch;
  }



  /* ========================================
     MOBILE RESPONSIVE STYLES
     ======================================== */

  /* Navigation - Mobile */
  @media (max-width: 767px) {
    .mobile-menu-toggle {
      display: flex;
    }

    .nav-right {
      position: fixed;
      top: 0;
      right: -100%;
      width: 280px;
      height: 100vh;
      background: linear-gradient(135deg, var(--dark-panel) 0%, rgba(26, 31, 58, 0.98) 100%);
      flex-direction: column;
      justify-content: flex-start;
      align-items: flex-start;
      padding: 80px 30px 30px;
      gap: 0;
      box-shadow: -5px 0 25px rgba(0, 0, 0, 0.5);
      transition: right 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      z-index: 1000;
      backdrop-filter: blur(10px);
      border-left: 2px solid rgba(0, 217, 255, 0.3);
    }

    .nav-right.active {
      right: 0;
    }

    .nav-right .nav-link {
      width: 100%;
      padding: 16px 0;
      font-size: 1.1rem;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
      transition: all 0.3s ease;
    }

    .nav-right .nav-link:hover {
      color: var(--cyan) !important;
      padding-left: 10px;
    }

    .nav-right .nav-link:last-child {
      border-bottom: none;
    }

    /* Overlay when menu is open */
    body.menu-open::before {
      content: '';
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(0, 0, 0, 0.7);
      z-index: 999;
      animation: fadeIn 0.3s ease;
    }

    @keyframes fadeIn {
      from { opacity: 0; }
      to { opacity: 1; }
    }

    /* Prevent scrolling when menu is open */
    body.menu-open {
      overflow: hidden;
    }
  }

  /* Tablet and below - Accordion vertical stacking */
  @media (max-width: 600px) {
    .container-max {
      padding: 0 0.75rem;
    }

    /* Accordion - Vertical Stack with Dropdown Text */
    .horizontal-accordion {
      display: flex;
      flex-direction: column;
      height: auto;
      gap: 0;
      padding-left: 0;
    }

    .according-tittle {
      font-size: 2rem;
    }

    .accordion-panel {
      width: 100%;
      min-height: auto;
      margin-right: 0;
      margin-bottom: 6px;
      padding: 16px 20px;
      position: relative;
      order: initial;
      display: block;
      border-radius: 12px;
      border: 2px solid rgba(0, 217, 255, 0.3);
    }

    .accordion-panel.active {
      border: 2px solid rgba(0, 217, 255, 0.6);
      background: rgba(24, 46, 94, 0.8);
      order: initial;
      margin-bottom: 12px;
      transform: none;
    }

    .panel-header {
      position: static;
      padding: 0;
      z-index: 3;
      display: flex;
      justify-content: space-between;
      align-items: center;
      width: 100%;
    }

    .panel-content {
      position: static;
      padding: 0;
      background: none;
      margin-top: 0;
      display: block;
    }

    .accordion-panel.active .panel-content {
      padding: 0;
      display: block;
    }

    .panel-title {
      writing-mode: horizontal-tb;
      text-orientation: initial;
      transform: none;
      font-size: 1rem;
      margin: 0;
      color: rgba(255, 255, 255, 0.9);
      font-weight: 600;
      height: auto;
      white-space: normal;
    }

    .accordion-panel.active .panel-title {
      font-size: 1.1rem;
      color: var(--cyan);
      font-weight: 700;
    }

    .panel-number {
      font-size: 0.9rem;
      color: rgba(255, 255, 255, 0.9);
    }

    .accordion-panel.active .panel-number {
      color: var(--cyan);
    }

    /* FIXED: Show description text when clicked (like FAQ) */
    .panel-expanded {
      opacity: 0;
      max-height: 0;
      overflow: hidden;
      transition: opacity 0.4s ease, max-height 0.4s ease;
      display: block !important;
    }

    .accordion-panel.active .panel-expanded {
      opacity: 1;
      max-height: 800px;
      margin-top: 12px;
    }

    .panel-description {
      color: rgba(255, 255, 255, 0.85);
      font-size: 0.9rem;
      line-height: 1.6;
      margin: 0;
      padding-top: 8px;
    }

    .accordion-content-area {
      display: none;
    }

    /* Video frames on mobile (cleaned; handled above) */

    .paper-sticker {
      width: 120px;
      height: 90px;
      top: 15px;
      right: 15px;
    }

    /* FIXED: Video title always visible on mobile */
    .video-title {
      display: block !important;
      color: #eaf2ff;
      font-weight: 600;
      font-size: 1.1rem;
      text-align: center;
      margin-bottom: 3rem;
      margin-top: 0;
    }

    .video-item-wrapper {
      display: flex;
      flex-direction: column;
      width: 100%;
    }

    /* Shorts - Single Column */
    .shorts-grid {
      grid-template-columns: 1fr !important;
      gap: 2rem;
      max-width: 400px;
      margin: 0 auto;
    }

    .short-item {
      aspect-ratio: 9/16;
      max-height: 600px;
    }

    /* FAQ Mobile */
    .faq-wrapper {
      padding: 2rem 1.5rem;
    }
  
    .faq-content {
      flex-direction: column;
      gap: 2rem;
    }
  
    /* FIXED: Center FAQ image on mobile */
    .faq-image-container {
      max-width: none;
      margin: 0 auto;
      text-align: center;
    }

    .faq-image-frame {
      display: inline-block;
      max-width: 350px;
      margin: 0 auto;
    }
  
    .faq-accordion {
      max-width: none;
    }
  
    .faq-main-title {
      font-size: 2rem;
    }

    /* Footer Mobile */
    .footer-title {
      font-size: 1.5rem;
    }
  
    .contact-info {
      margin-top: 2rem;
    }

    /* Gallery Mobile */
    .gallery-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 1rem;
    }

    .gallery-item {
      width: 100%;
      height: auto;
    }

    .gallery-title {
      font-size: 2rem;
    }
  }

  /* Small mobile */
  @media (max-width: 480px) {
    .speed-chip-centered {
      padding: 12px 24px;
      font-size: 14px;
    }

    .shorts-grid {
      grid-template-columns: 1fr;
      gap: 2rem;
      max-width: 100%;
    }

    .short-item {
      max-height: 650px;
    }

    .gallery-grid {
      grid-template-columns: 1fr;
      gap: 1.5rem;
    }

    .according-tittle {
      font-size: 1.5rem;
    }

    .gallery-title {
      font-size: 1.8rem;
    }

    .faq-main-title {
      font-size: 1.5rem;
    }
  }

.custom-tooltip {
  position: fixed;
  background:#182e5e;
  color: #fff;
  padding: 10px 14px;
  font-size: 15px;
  border-radius: 6px;
  pointer-events: none;
  opacity: 0;
  transform: translateY(-6px);
  transition: opacity 0.18s ease, transform 0.18s ease;
  z-index: 9999;
}

.custom-tooltip.show {
  opacity: 1;
  transform: translateY(0);
}

.custom-tooltip::after {
  content: "";
  position: absolute;
  bottom: -7px;
  left: 20px;
  border-width: 7px 7px 0 7px;
  border-style: solid;
  border-color: #182e5e transparent transparent transparent;
}
/* ===================== MAIN VIDEO (morph player) ===================== */
/* Включается, когда у #mainVideoMorph есть класс .coming-soon */
#mainVideoMorph.coming-soon {
  position: relative;
  overflow: hidden;
  background: #020015;
  pointer-events: none; /* нельзя кликнуть по плееру */
}

/* Прячем реальные кадры и iframes */
#mainVideoMorph.coming-soon .video-frame,
#mainVideoMorph.coming-soon iframe {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Шумовой слой */
#mainVideoMorph.coming-soon::before {
  content: "";
  position: absolute;
  inset: -20%;
  background-image:
    repeating-linear-gradient(0deg,
      rgba(255,255,255,0.20) 0px,
      rgba(255,255,255,0.20) 1px,
      transparent 1px,
      transparent 3px),
    repeating-linear-gradient(90deg,
      rgba(255,255,255,0.10) 0px,
      rgba(255,255,255,0.10) 1px,
      transparent 1px,
      transparent 4px);
  mix-blend-mode: screen;
  opacity: 0.55;
  animation: tvStatic 0.25s steps(4) infinite;
  pointer-events: none;
  z-index: 1;
}

/* Диагональный текст поверх */
#mainVideoMorph.coming-soon::after {
  content: "მალე იქნება";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-16deg);
  font-size: 38px;
  font-weight: 800;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 0 0 12px rgba(0, 0, 0, 0.7);
  opacity: 0.85;
  pointer-events: none;
  z-index: 2;
}
#mainVideoMorph.coming-soon {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
  min-height: 300px;     /* safety on smaller screens */
  max-height: 600px;     /* optional, can remove */
}

/* ===================== SHORTS (правый столбец) ===================== */
/* Оборачивающий блок с iframe: <div class="short-item coming-soon"> */
.short-item.coming-soon {
  position: relative;
  overflow: hidden;
  background: #020015;
  pointer-events: none; /* клики отключены */
}

/* Прячем реальное видео */
.short-item.coming-soon iframe {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Шум */
.short-item.coming-soon::before {
  content: "";
  position: absolute;
  inset: -20%;
  background-image:
    repeating-linear-gradient(0deg,
      rgba(255,255,255,0.20) 0px,
      rgba(255,255,255,0.20) 1px,
      transparent 1px,
      transparent 3px),
    repeating-linear-gradient(90deg,
      rgba(255,255,255,0.10) 0px,
      rgba(255,255,255,0.10) 1px,
      transparent 1px,
      transparent 4px);
  mix-blend-mode: screen;
  opacity: 0.55;
  animation: tvStatic 0.25s steps(4) infinite;
  pointer-events: none;
  z-index: 1;
}

/* Текст поменьше для шортов */
.short-item.coming-soon::after {
  content: "მალე იქნება";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-16deg);
  font-size: 26px;
  font-weight: 800;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 0 0 12px rgba(0, 0, 0, 0.7);
  opacity: 0.85;
  pointer-events: none;
  z-index: 2;
}


/* ===================== GALLERY ITEMS ===================== */
/* <a class="gallery-item coming-soon"><img ...></a> */
.gallery-item.coming-soon {
  position: relative;
  overflow: hidden;
  background: #020015;
  pointer-events: none; /* ссылка не кликается */
}

/* Прячем настоящую картинку */
.gallery-item.coming-soon img {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* noice */
.gallery-item.coming-soon::before {
  content: "";
  position: absolute;
  inset: -20%;
  background-image:
    repeating-linear-gradient(0deg,
      rgba(255,255,255,0.20) 0px,
      rgba(255,255,255,0.20) 1px,
      transparent 1px,
      transparent 3px),
    repeating-linear-gradient(90deg,
      rgba(255,255,255,0.10) 0px,
      rgba(255,255,255,0.10) 1px,
      transparent 1px,
      transparent 4px);
  mix-blend-mode: screen;
  opacity: 0.55;
  animation: tvStatic 0.25s steps(4) infinite;
  pointer-events: none;
  z-index: 1;
}


.gallery-item.coming-soon::after {
  content: "კონტენტი გზაშია";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-16deg);
  font-size: 24px;
  font-weight: 800;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
  opacity: 0.85;
  pointer-events: none;
  z-index: 2;
}


/* ===================== SHARED TV STATIC ANIMATION ===================== */

@keyframes tvStatic {
  0%   { transform: translate(0, 0); }
  25%  { transform: translate(-10px, 5px); }
  50%  { transform: translate(6px, -8px); }
  75%  { transform: translate(-4px, 10px); }
  100% { transform: translate(0, 0); }
}


 /* Fix text-content for small mobile devices */
 @media (max-width: 480px) {
     .text-content {
         padding: 15px;
         margin: 15px 10px;
         border-radius: 15px;
     }

     .text-content h1 {
         font-size: 1.5rem;
     }

     .text-content h2 {
         font-size: 1.3rem;
     }

     .text-content p {
         font-size: 0.9rem;
         line-height: 1.5;
     }
 }

 /* Extra small devices like iPhone SE */
 @media (max-width: 375px) and (min-width: 321px) {
  .text-content { padding: 12px; margin: 10px 5px; border-radius: 12px; }
  .text-content h1 { font-size: 1.3rem; line-height: 1.3; }
  .text-content h2 { font-size: 1.1rem; line-height: 1.3; }
  .text-content p  { font-size: 0.85rem; line-height: 1.4; }
 }

  /* Ultra small devices (360px width phones) */
  @media (max-width: 360px) {
      .text-content {
          padding-left: 12px;
          padding-right: 10px;
      }

      .text-content .lead {
          font-size: 0.95rem;
          /* меньше, чтобы не распирало */
          line-height: 1.4;
      }

      /* chip тоже уменьшить */
      .speed-chip-centered {
          padding: 8px 12px !important;
          gap: 8px !important;
          border-radius: 999px;
          max-width: 310px;
      }

      .speed-chip-centered svg {
          width: 18px;
          height: 18px;
      }
  }

    /* Ultra small devices (360px width phones) */
  @media (max-width: 414px) {
      .text-content {
          padding-left: 12px;
          padding-right: 10px;
      }

      .text-content .lead {
          font-size: 0.95rem;
          /* меньше, чтобы не распирало */
          line-height: 1.4;
      }

      /* chip тоже уменьшить */
      .speed-chip-centered {
          padding: 8px 12px !important;
          gap: 8px !important;
          border-radius: 999px;
          max-width: 350px;
      }

      .speed-chip-centered svg {
          width: 18px;
          height: 18px;
      }
  }

 /* Ultra small devices (320px width phones) */
@media (max-width: 320px) {
    .text-content {
        padding-left: 10px;
        padding-right: 10px;
    }

    .text-content .lead {
        font-size: 0.95rem;
        /* меньше, чтобы не распирало */
        line-height: 1.4;
    }

    /* chip тоже уменьшить */
    .speed-chip-centered {
        padding: 8px 12px !important;
        gap: 8px !important;
        border-radius: 999px;
        max-width: 250px;
    }

    .speed-chip-centered svg {
        width: 18px;
        height: 18px;
    }
}
