 /* ========== VARIABLES ========== */
    :root{
      --bg:#0f1724; /* dark blue-gray */
      --accent:#06b6d4; /* teal */
      --muted:#94a3b8;
      --card:#0b1220;
      --glass: rgba(255,255,255,0.04);
      --radius:12px;
      --ease:cubic-bezier(.2,.9,.3,1);
    }
    *{box-sizing:border-box}
    html,body{height:100%;}
    body{
      margin:0;
      font-family:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
      
      color:#e6eef6;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
      line-height:1.35;
    }
  

    /* ========== NAV CONTAINER ========== */
    .site-header{
      position:sticky; top:0; z-index:1000;
      backdrop-filter: blur(6px);
      background-color: white;
      border-bottom:1px solid rgba(255,255,255,0.03);
      padding:12px 20px;
    }
    .nav-row{
      max-width:1180px; margin:0 auto; display:flex; align-items:center; gap:20px; height:126px;
    }

    /* BRAND */
    .brand{
      display:flex; align-items:center; gap:12px; text-decoration:none; color:inherit;
    }
    .brand .logo img{
      width:64px; height:60px; border-radius:10px;
      display:grid; place-items:center; font-weight:700; color:#001;
      box-shadow: 0 6px 18px rgba(6,11,22,0.6);
    }
    .brand h1{font-size:16px; margin:0}
    .brand p{font-size:12px; margin:0; color:var(--muted)}

    /* MAIN NAV */
    nav{flex:1}
    .nav-list{
      display:flex; gap:6px; align-items:center; justify-content:flex-end; list-style:none; margin:0; padding:0;
    }
    .nav-item{position:relative}
    .nav-link{
      display:flex; gap:8px; align-items:center; padding:10px 14px; border-radius:10px; text-decoration:none; color:#091F40;
      transition:transform 220ms var(--ease), background 220ms var(--ease);
      font-weight:600; font-size:16px;
    }
    .nav-link:hover{background:var(--glass); transform:translateY(-3px)}

    /* DROPDOWN (desktop: show on hover) */
    .submenu{
      --menu-w:260px;
      position:absolute; top:100%; /* fixed: no gap so hover won't break */ right:0; min-width:var(--menu-w);
     background-color: #0f1724;
      border-radius:10px; padding:10px; box-shadow:0 12px 30px rgba(2,6,23,0.6);
      opacity:0; transform:translateY(-8px) scale(.98); pointer-events:none; transition:all 240ms var(--ease);
      border:1px solid rgba(255,255,255,0.03);
    }
    /* inner items */
    .submenu .sub-item{padding:8px; border-radius:8px; font-size:14px; color:white; text-decoration:none; display:block}
    .submenu .sub-item:hover{
background:rgba(255,255,255,0.04);
color:#D31E43;
transition:background 0.35s ease, color 0.35s ease; font-weight: bold;
}

    /* show submenu on hover for non-touch (desktop) */
    @media (hover: hover) and (pointer: fine){
      .nav-item:hover > .submenu{opacity:1; transform:translateY(0) scale(1); pointer-events:auto}
    }

    /* ========== MOBILE (burger) ========== */
    .burger{
      display:none; width:48px; height:48px; align-items:center; justify-content:center; border-radius:10px; cursor:pointer;
      background:transparent; border:1px solid rgba(255,255,255,0.03);
    }

    /* MOBILE MENU panel */
    .mobile-panel{
      display:none; position:fixed; inset:72px 12px auto 12px; /* below header */
      background:linear-gradient(180deg, rgba(2,6,17,0.98), rgba(2,6,17,0.95));
      border-radius:14px; padding:12px; box-shadow:0 18px 40px rgba(0,0,0,0.6); max-height:70vh; overflow:auto; z-index:1200; width:calc(100% - 24px);
      border:1px solid rgba(255,255,255,0.03);
    }
    .mobile-list{list-style:none; padding:0; margin:0}
    .mobile-item{display:flex; align-items:start; justify-content:space-between; gap:12px; padding:10px 8px; border-radius:10px}
    .mobile-item button.toggle{background:transparent;border:0;color:var(--muted); font-weight:700; font-size:18px; cursor:pointer}
    .mobile-sub{padding-left:12px; display:none; flex-direction:column; gap:6px; margin-top:8px}
    .mobile-sub a{font-size:14px; text-decoration:none; color:var(--muted); padding:8px; border-radius:8px}

    /* Active states */
    .is-open{display:flex !important}

    /* small screens */
    @media (max-width:880px){
      .nav-list{display:none}
      .burger{display:flex}
      .nav-row{height: 50px;}
    }

    /* small polish */
    .cta{background:linear-gradient(90deg,var(--accent),#60a5fa); color:#001}

    /* utilities */
    .sr-only{position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0}

.background-image {
 width: 100%;
  aspect-ratio: 16/9; /* პროპორციის დაცვა */
  min-height: 300px; /* მობილურზე მინიმალური სიმაღლე */
  background-image: url('../img/cover.jpg'); /* თქვენი სურათი */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.glass-box {
  background: rgba(211, 30, 66, 0.555); /* #D31E43 გამჭვირვალე */
  border: 1px solid rgba(211, 30, 67, 0.4); /* მსუბუქი ჩარჩო იმავე ფერით */
  border-radius: 15px;
  padding: 40px 30px;
  text-align: center;
  max-width: 800px;
  
  width: 100%;
  color: #fff;
  box-sizing: border-box;
  /* blur-effect წავშალე */
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.glass-box button {
  padding: 10px 20px;
  background:white;
  border: none;
  border-radius: 8px;
  color: black;
  cursor: pointer;
  font-weight: bold;
  transition: 0.3s;
}

.glass-box button:hover {
  background: rgba(211, 30, 67, 0.5);
}


/* რესპონსივი */
@media (max-width: 992px) {
  .glass-box {
    padding: 35px 25px;
    max-width: 500px;
  }
  .glass-box h2 {
    font-size: 24px;
  }
  .glass-box p {
    font-size: 15px;
  }
}

@media (max-width: 768px) {
  .glass-box {
    padding: 30px 20px;
    max-width: 90%;
  }
  .glass-box h2 {
    font-size: 22px;
  }
  .glass-box p {
    font-size: 14px;
  }
  .glass-box button {
    padding: 8px 16px;
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .glass-box {
    padding: 25px 15px;
  }
  .glass-box h2 {
    font-size: 20px;
  }
  .glass-box p {
    font-size: 13px;
  }
}
/* მთავარი Wrapper — ფონიანი სექცია */
.background-image2 {
  width: 100%;
  height: 100vh;
  background-image: url('../img/cover2.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 20px;
}

/* შავი ნახევრად გამჭვირვალე ბლოკი */
.overlay-box {
  background: rgba(0, 0, 0, 0.55);
  padding: 50px 80px;
  border-radius: 14px;
  backdrop-filter: blur(2px);
  text-align: center;
  max-width: 900px;
}

/* მთავარი სათაური */
.overlay-box h1 {
  font-size: 70px;
  font-weight: 800;
  color: white;
  margin-bottom: 15px;
  letter-spacing: 2px;
  text-transform: uppercase;
}

/* ქვესათაური */
.overlay-box h3 {
  font-size: 28px;
  font-weight: 400;
  color: #f5f5f5;
  margin-bottom: 20px;
}

/* პარაგრაფი */
.overlay-box p {
  font-size: 18px;
  color: #eaeaea;
  line-height: 1.6;
  max-width: 700px;
  margin: 0 auto 25px;
}

/* CTA Button */
.event-btn {
  display: inline-block;
  padding: 14px 32px;
  background: #D31E43;
  color: white;
  font-size: 18px;
  border-radius: 10px;
  text-decoration: none;
  transition: 0.3s;
}

.event-btn:hover {
  background: #a51233;
}

/* ===== RESPONSIVE ===== */

@media (max-width: 1024px) {
  .background-image2 {
    height: 70vh;
  }
  .overlay-box h1 {
    font-size: 55px;
  }
  .overlay-box p {
    font-size: 16px;
  }
}

@media (max-width: 768px) {
  .background-image2 {
    height: 60vh;
  }
  .overlay-box {
    padding: 30px 40px;
  }
  .overlay-box h1 {
    font-size: 40px;
  }
  .overlay-box h3 {
    font-size: 20px;
  }
  .overlay-box p {
    font-size: 15px;
  }
  .event-btn {
    padding: 12px 26px;
    font-size: 16px;
  }
}

@media (max-width: 480px) {
  .background-image2 {
    height: 55vh;
  }
  .overlay-box {
    padding: 20px 25px;
  }
  .overlay-box h1 {
    font-size: 28px;
  }
  .overlay-box h3 {
    font-size: 16px;
  }
  .overlay-box p {
    font-size: 14px;
  }
  .event-btn {
    font-size: 14px;
    padding: 10px 22px;
  }
}


/* footer */
/* Footer ძირითადი სტილი */
/* ===== GENERAL FOOTER AREA ===== */

.site-footer {
  background: #ffffff;
  padding: 60px 40px 40px;
  border-top: 2px solid rgba(211,30,67,0.3);
  font-family: sans-serif;
}

/* ===== TOP AREA: LOGO + CONTENT ===== */

.footer-top {
  max-width: 1600px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 50px;
}

/* ===== LOGO SECTION ===== */

.footer-logo {
  text-align: center;
}

.footer-logo img {
  width: 130px;
  height: auto;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,0.15));
}

.footer-logo .tagline {
  margin-top: 12px;
  font-size: 14px;
  letter-spacing: 1px;
  color: #D31E43;
  opacity: 0.9;
  text-transform: uppercase;
}

/* ===== MAIN 3-COLUMN LAYOUT ===== */

.footer-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 90px;
  width: 100%;
}

/* Single column */
.footer-column {
  flex: 0 1 260px;
  text-align: center;
}

/* Titles */
.footer-column h3 {
  margin-bottom: 15px;
  font-size: 19px;
  font-weight: bold;
  color: #D31E43;
}

/* Text */
.footer-column p,
.footer-column a {
  margin: 5px 0;
  font-size: 15px;
  font-weight: 600;
  color: #333;
  text-decoration: none;
  transition: color .3s;
}

.footer-column a:hover {
  color: #D31E43;
}

/* ===== SOCIAL ICONS ===== */

.footer-column.social-icons .icons {
  display: flex;
  justify-content: center;
  gap: 28px;
  margin-top: 12px;
}

.footer-column.social-icons a {
  font-size: 22px;
  color: #333;
  transition: 0.3s ease;
}

.footer-column.social-icons a:hover {
  color: #D31E43;
  transform: translateY(-4px) scale(1.15);
}

/* ===== BOTTOM COPYRIGHT BAR ===== */

.footer-bottom {
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid rgba(0,0,0,0.1);
  text-align: center;
}

.footer-bottom p {
  font-size: 14px;
  color: #444;
}

/* ===== RESPONSIVE ===== */

@media (max-width: 900px) {
  .footer-container {
    gap: 40px;
  }
}

@media (max-width: 650px) {
  .footer-container {
    flex-direction: column;
    align-items: center;
  }
}



/* services */
/* --- SERVICES SECTION --- */
/* ====================== */
/* Services Section       */
/* ====================== */
.services {
  padding: 60px 20px;
  background: #f8f8f8; /* initial white */
  color: #333;
  text-align: center;
  position: relative;
  transition: background-color 0.5s ease;
}

.services.active {
  background: #091F40; /* dark when scrolled */
}

/* Title */
.services h1, .services h2 {
  font-size: 28px;
  margin-bottom: 40px;
  color: #D31E43;
}

.service-span {
  font-size: 28px;
  font-weight: bold;
  color: #fff;
}

.service-card p {
  font-size: 15px;
  color: #fff;
}

/* ====================== */
/* Wrapper for arrows     */
/* ====================== */
.services-wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
  display: flex;
  justify-content: center;  /* center cards */
  padding: 0 60px;          /* space for arrows */
}

/* ====================== */
/* Carousel Container     */
/* ====================== */
.services-container {
  display: flex;
  gap: 30px;
  justify-content: flex-start;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none; /* Firefox */
  padding-bottom: 10px;
}

.services-container::-webkit-scrollbar {
  display: none; /* Chrome/Safari */
}

/* ====================== */
/* Service Cards          */
/* ====================== */
.service-card {
  border: solid rgb(106, 107, 107) 2px;
  flex: 0 0 auto;  /* auto width for responsiveness */
  width: 100%;      /* fill wrapper on small screens */
  max-width: 400px; /* max width for larger screens */
  padding: 40px 30px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  transition: transform 0.3s, box-shadow 0.3s, background-color 0.3s;
  background: rgba(255,255,255,0.05);
}

.service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.12);
  background: #091F40;
}

.service-card i {
  font-size: 40px;
  color: #D31E43;
  margin-bottom: 15px;
}

/* ====================== */
/* Carousel Arrow Buttons */
/* ====================== */
.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #D31E43;
  border: none;
  color: #fff;
  font-size: 22px;
  padding: 14px 18px;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  transition: 0.3s;
}

.carousel-btn:hover {
  background: #b01839;
}

.carousel-btn.left {
  left: 20px;
}

.carousel-btn.right {
  right: 20px;
}

/* ====================== */
/* Responsive             */
/* ====================== */
@media (max-width: 1024px) {
  .services-wrapper {
    padding: 0 40px;
  }
  
  .service-card {
    max-width: 350px;
    padding: 35px 25px;
  }
}

@media (max-width: 768px) {
  .services-wrapper {
    padding: 0 20px;
  }

  .carousel-btn {
    top: 60%;
    padding: 10px 13px;
  }

  .service-card {
    max-width: 300px;
    padding: 30px 20px;
  }
}

@media (max-width: 480px) {
  .service-card {
    max-width: 90%;  /* always fits inside viewport */
    padding: 25px 15px;
  }

  .service-span {
    font-size: 20px;
  }

  .service-card p {
    font-size: 13px;
  }

  .carousel-btn.left {
    left: 10px;
  }

  .carousel-btn.right {
    right: 10px;
  }
}

  /* projects */
  /* --- Projects section --- */
.projects {
  padding: 80px 20px;
  text-align: center;
  background: #f9f9f9;
  transition: background-color 0.6s ease;
}

.projects.active {
  background: #131313; /* სქროლზე მუქი ხდება */
}

.projects h2 {
  font-size: 32px;
  margin-bottom: 40px;
  color: #D31E43;
  font-weight: bold;
  letter-spacing: 1px;
}

/* Wrapper */
.projects-wrapper {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Track */
.projects-track {
  display: flex;
  gap: 30px;
  overflow-x: hidden;
  scroll-behavior: smooth;
  padding: 20px 0;
}

/* Project Card */
.project-card {
  min-width: 300px;
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(8px);
  border: 2px solid rgba(255,255,255,0.15);
  border-radius: 18px;
  padding: 20px;
  text-align: left;
  transition: 0.35s ease;
  cursor: grab;
}

.projects.active .project-card {
  border-color: rgba(255,255,255,0.25);
}

.project-card:hover {
  transform: translateY(-8px);
  border-color: #D31E43;
}

.project-card img {
  width: 100%;
  border-radius: 12px;
  margin-bottom: 15px;
  object-fit: cover;
  height: 30vh;
}

.project-card h3 {
  font-size: 20px;
  color: #fff;
  margin-bottom: 8px;
}

.project-card p {
  font-size: 14px;
  color: #ddd;
}

/* Arrows */
.proj-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #D31E43;
  color: #fff;
  border: none;
  padding: 14px 16px;
  font-size: 26px;
  border-radius: 50%;
  cursor: pointer;
  transition: 0.3s;
  z-index: 10;
}

.proj-arrow:hover {
  background: #b01836;
}

.proj-arrow.left { left: -10px; }
.proj-arrow.right { right: -10px; }

/* Responsive */
@media (max-width: 768px) {
  .proj-arrow {
    padding: 10px 11px;
    font-size: 20px;
  }
}



/* partners */
/* PARTNERS SECTION */
.partners {
  padding: 80px 20px;
  background: #f8f8f8; /* საწყისი თეთრი */
  text-align: center;
  transition: background-color 0.5s ease;
}

.partners.active {
  background: #1a1a1a; /* სქროლის დროს მუქი */
}

.partners h2 {
  font-size: 32px;
  margin-bottom: 50px;
  color: #D31E43;
}

/* GRID OF PARTNERS */
.partners-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 40px;
  justify-items: center;
  align-items: center;
}

.partner-card {
  padding: 20px;
  border: 2px solid rgba(211,30,67,0.5);
  border-radius: 12px;
  background: rgba(211,30,67,0.05); /* very light */
  transition: transform 0.3s, box-shadow 0.3s;
}

.partner-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}

.partner-card img {
  max-width: 100%;
  max-height: 80px;
  object-fit: contain;
}

/* MOBILE */
@media (max-width: 768px) {
  .partners-grid {
    gap: 20px;
  }

  .partner-card img {
    max-height: 60px;
  }
}
