/* style.css */

/* Reset and Basic Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  
  body {
    font-family: 'Share Tech Mono', monospace; /* Retro, tech-y font */
    background-color: #080808; /* Darker gray */
    color: #f2f2f2;
    line-height: 1.6;
  }
  
  .container {
    width: 90%;
    max-width: 1400px;
    margin: 0 auto;
    overflow: hidden;  /*  for scanlines */
    position: relative;
  }
  /* Header and Navigation */
  header {
    padding: 1rem 0;
    position: sticky;
    top: 0;
    z-index: 100;
    background-color: rgba(8, 8, 8, 0.9);
    backdrop-filter: blur(12px);
     border-bottom: 1px solid #333;
  }
  nav {
      display: flex;
      justify-content: space-between;
      align-items: center;
  }
  
  .logo h1 {
      font-size: 2.4rem;  /* Slightly larger */
      font-weight: 700;
        font-family: 'VT323', monospace; /* Pixelated font */
      letter-spacing: 1.5px;
  }
  
  .logo p {
    color: #bbb;
      font-size: 1rem;
      font-style: italic;
       font-family: 'Share Tech Mono', monospace;
  
  }
  
  .nav-links {
      list-style: none;
      display: flex;
  }
  .nav-links li {
      margin-left: 1.8rem;
  }
  
  .nav-links a {
      color: #ddd;
      text-decoration: none;
      transition: color 0.3s ease, transform 0.2s ease;
      font-weight: 600;
      padding: 0.5rem;
      border-radius: 4px;
       font-family: 'Share Tech Mono', monospace;
      position: relative;
  }
  .nav-links a::after {
      content: '';
      position: absolute;
      left: 0;
      bottom: 0;
      width: 0;
      height: 2px;
      background-color: #f0f0f0;
      transition: width 0.3s ease;
  }
  
  .nav-links a:hover {
      color: #fff;
      transform: translateY(-2px);
  }
  .nav-links a:hover::after {
    width: 100%;
  }
  
  /* Scanlines */
  .scanlines {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
       background: repeating-linear-gradient(
          0deg,
          rgba(255, 255, 255, 0.05),
          rgba(255, 255, 255, 0.05) 1px,
          transparent 1px,
          transparent 2px
      );
      pointer-events: none; /* Make scanlines non-interactive */
      z-index: 99; /* Place above content, but below sticky header */
  }
  
  /* Scroll Indicator */
  .scroll-indicator {
    position: absolute;
    top: 50%;
    left: 1rem;
    transform: translateY(-50%) rotate(90deg);
    color: #666;
    font-size: 0.8rem;
    letter-spacing: 2px;
    writing-mode: vertical-rl;
    opacity: 0.7;
    font-family: 'Share Tech Mono', monospace;
  }
  
  /* Hero Section */
  #hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6rem 0;
    min-height: 70vh;
      border-bottom: 1px solid #333;
  }
  
  .hero-content {
    flex: 1;
    margin-right: 4rem;
  }
  
  .hero-title {
    font-size: 4rem; /* Larger */
    margin-bottom: 1.5rem;
    line-height: 1.2;
      font-family: 'VT323', monospace;
    display: flex;
    flex-wrap: wrap;
  }
  .title-part {
      margin-right: 0.5rem;
      color: #f0f0f0;
  }
  
  .title-outline {
    color: transparent;
      -webkit-text-stroke: 1px #f0f0f0;
      text-stroke: 1px #f0f0f0;
  }
  .hero-description{
     font-size: 1.5rem;
      margin-bottom: 2.5rem;
      color: #bbb;
      font-family: 'Share Tech Mono', monospace;
  
  }
  
  .cta-button {
    background-color: transparent;
    color: #f0f0f0;
    padding: 1.2rem 2.5rem;
     border: 2px solid #f0f0f0; /* White border */
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
    display: inline-block;
    transition: background-color 0.3s ease, color 0.3s ease, transform 0.2s ease;
    font-family: 'Share Tech Mono', monospace;
    position: relative; /*  for the 'glitch' effect */
      overflow: hidden;
  }
  
  .cta-button::before,
  .cta-button::after { /*  Glitch Effect */
      content: attr(data-text); /* Use the button's text as content */
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      color: #f0f0f0;
       clip: rect(0, 0, 0, 0);  /* Initially hide the pseudo-elements */
  
  }
  
  .cta-button::before {
      left: 2px;
      text-shadow: -1px 0 #00ffff;  /* Cyan shadow */
      animation: glitch-anim-before 2s infinite linear alternate-reverse;
  }
  
  .cta-button::after {
      left: -2px;
       text-shadow: 2px 0 #ff0000; /*  Red Shadow*/
  
      animation: glitch-anim-after 2s infinite linear alternate-reverse;
  }
  .cta-button span {
    position: relative; /*  Bring the span to front*/
    z-index: 2;
  }
  
  
  .cta-button:hover {
      background-color: rgba(255,255,255, 0.1);
      color: #fff;
    transform: translateY(-3px);
  
  }
  @keyframes glitch-anim-before {
    0% {
      clip: rect(44px, 9999px, 9px, 0);
    }
    25% {
      clip: rect(30px, 9999px, 99px, 0);
    }
    50% {
      clip: rect(50px, 9999px, 102px, 0);
    }
    75% {
      clip: rect(1px, 9999px, 70px, 0);
    }
    100% {
      clip: rect(83px, 9999px, 47px, 0);
    }
  }
  
  @keyframes glitch-anim-after {
    0% {
      clip: rect(59px, 9999px, 77px, 0);
    }
    25% {
      clip: rect(38px, 9999px, 60px, 0);
    }
    50% {
      clip: rect(69px, 9999px, 86px, 0);
    }
    75% {
      clip: rect(74px, 9999px, 74px, 0);
    }
    100% {
      clip: rect(98px, 9999px, 16px, 0);
    }
  }
  
  /* Hero Icons */
  .hero-icons {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 1.5rem;
  }
  
  .hero-icon {
      width: 45px; /* Larger */
      height: 45px;
      border-radius: 50%;
      border: 2px solid #f0f0f0; /* Thicker border */
      display: flex;
      justify-content: center;
      align-items: center;
      color: #f0f0f0;
       font-size: 1.4rem; /*  Larger */
        transition: transform 0.2s ease, box-shadow 0.2s ease;  /*  for the glitch */
       position: relative;
       overflow: hidden;
  }
   .hero-icon::before,
   .hero-icon::after {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background-color: rgba(255, 255, 255, 0.1);
          opacity: 0;  /*  hidden by default */
          transition: opacity 0.3s ease;  /* Smooth transition */
  }
  /* Icon Hover - Subtle Glitch and Glow*/
  .hero-icon:hover::before {
    left: 3px;
     background-color: rgba(0, 255, 255, 0.4);
      opacity: 1; /* Show on hover */
       transform: skewX(-15deg);
        z-index: -1;
  }
  
  .hero-icon:hover::after {
      left: -3px;
       background-color: rgba(255, 0, 0, 0.4);
        opacity: 1; /* Show on hover */
          transform: skewX(15deg);
        z-index: -1;
  
  }
  
  /* Sections (General Styling) */
  section {
      padding: 5rem 0;
      position: relative;
  }
  
  section:not(#hero) {
      border-bottom: 1px solid #333;
  }
  
  section:last-child {
    border-bottom: none;
  }
  section h2 {
    font-size: 3rem;
    margin-bottom: 1rem;
    color: #eee;
    text-align: center;
     font-family: 'VT323', monospace;
    position: relative;
    padding-bottom: 0.7rem;
  }
  section h2::after {
      content: '';
      position: absolute;
      left: 50%;
      bottom: 0;
      transform: translateX(-50%);
      width: 70px;
      height: 2px;
      background-color: #f0f0f0;
  }
  
  section p {
     margin-bottom: 1.5rem;
      color: #bbb;
      text-align: justify;
       font-family: 'Share Tech Mono', monospace;
  }
  
  /* Grid Lines */
  .grid-lines {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: -1;
    /*  more pronounced grid */
     background: repeating-linear-gradient(
          to right,
          rgba(51, 51, 51, 0.5),
          rgba(51, 51, 51, 0.5) 1px,
          transparent 1px,
          transparent 120px /* Spacing between vertical lines */
      ),
      repeating-linear-gradient(
          to bottom,
          rgba(51, 51, 51, 0.5),
          rgba(51, 51, 51, 0.5) 1px,
          transparent 1px,
          transparent 60px /* Spacing between horizontal lines */
      );
  }
  
  .section-description{
    text-align: center;
    font-style: italic;
    margin-bottom: 1.5em;
     color: #999;
  }
  
  /* Audit Cards */
  .audit-cards {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 2rem;
    padding: 1.5rem 0;
    margin-top: 1.5rem;
    -webkit-overflow-scrolling: touch; /* for smoother scrolling */
  }
  
  .audit-card {
    background-color: rgba(26, 26, 26, 0.8);
     border: 1px solid #444;
    border-radius: 8px;
    padding: 1.5rem;
      min-width: 280px; /* Minimum width */
      max-width: 350px; /* Maximum width */
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.5);
     transition: transform 0.2s ease, box-shadow 0.3s ease;
      flex: 0 0 auto;
    position: relative; /* for numbering and absolute positioning */
  }
  
  .audit-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(255, 255, 255, 0.15);  /*  White glow */
  }
  .card-header{
    display: flex;
      align-items: center;  /* Vertically align items */
      gap: 1rem;           /* Space between number and title */
      margin-bottom: 1rem;   /* Space below the header */
  
  }
  
  .audit-card .card-number {
    /*   position: absolute;
      top: 1rem;
      right: 1rem; */
    color: #666;
    font-size: 1rem;
    font-weight: 600;
     font-family: 'Source Code Pro', monospace;
  }
  
   .card-title-container{
   /* border-bottom: 1px solid #444; */
      padding-bottom: 0.4em;
      margin-bottom: 0.5em;
  }
  
  .audit-card h3 {
    font-size: 1.4rem; /* Slightly larger */
    margin-bottom: 0.5rem;
      font-family: 'VT323', monospace;
    color: #eee;
  }
  .audit-card .card-date {
      color: #999;
      font-size: 0.9rem;
      margin-bottom: 0.5rem;
       font-family: 'Share Tech Mono', monospace;
  }
  .audit-card .card-excerpt {
       color: #bbb;
      margin-bottom: 1rem;
      font-family: 'Share Tech Mono', monospace;
  }
  
  /* Section Specific */
  .contest-note {
      font-style: italic;
      margin-bottom: 1rem;
      text-align: center;
      color: #aaa;
  }
  .about-description{
     color: #bbb;
    margin-bottom: 1rem;
    line-height: 1.7; /*  line height for readability */
    font-family: 'Share Tech Mono', monospace;
  }
  
  /*Card CTA Button*/
  
  .cta-button-card {
      position: relative;
      display: inline-block;
      padding: 0.5rem 1rem;
      background-color: transparent;
      color: #fff;
        border: 2px solid #f0f0f0; /*  border */
      border-radius: 4px;
      text-decoration: none;
      font-size: 1rem; /* Match body font size */
      font-family: 'Share Tech Mono', monospace; /*  font */
      overflow: hidden;
        z-index: 1;
      transition:  transform 0.3s ease, box-shadow 0.3s ease ; /*  Transitions */
  
  }
  .cta-button-card:hover{
     transform: translateY(-3px);
        box-shadow: 0 2px 6px rgba(255,255,255, 0.3); /* More subtle glow */
  }
  /* Glitch Hover Effect (Optional) */
  
  .cta-button-card::before,
  .cta-button-card::after{
        content: '';
      position: absolute;
       top: 0;
      width: 55%; /* Adjusted width */
      height: 100%;
       background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.3) 50%, rgba(255,255,255,0) 100%);
        transform: skewX(-45deg);
  
  }
  .cta-button-card::before {
      left: -50%;  /* Start off-screen to the left */
       transition: left 0.5s ease;
  
  }
  
  .cta-button-card:hover::before{
       left: 100%; /*  Move it off-screen to right*/
  
  }
  .cta-button-card::after{
     /*  background-color: rgba(0, 0, 0, 0.4); */
    width: 0%; /*   the bar at width zero.  */
        transition: width 0.4s ease, box-shadow 0.3s ease;  /*  width instead of background-color */
    right: 0;
  
  }
  
  .cta-button-card:hover::after {
       width: 100%;   /*  to full width */
  
       background-color: rgba(255, 255, 255, 0.2);
  }
  .cta-button-card i{
    margin-left: 0.5rem; /* Increased margin */
  
  }
/* Lists */
/* List Styles (Postmortems, Repos, Guidelines) */
.postmortems-list, .repo-list, .guidelines-list {
    margin-top: 1rem;
    display: flex;
    flex-direction: column; /* Stack links vertically */
     padding-left: 1.2em;
}

.postmortems-list a, .repo-list a , .guidelines-list a{
    color: #f8f8f8; /* White */
    text-decoration: none;
    margin-bottom: 0.5rem;
    transition:  background-color 0.3s ease, box-shadow 0.2s ease;
    display: block;
    padding: 0.4em;
}

.postmortems-list a:hover , .repo-list a:hover, .guidelines-list a:hover {
    text-decoration: underline;
     background-color: #333; /* Darker background on hover */
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.3); /* White glow */
      border-radius: 4px;
}

.repo-list a {
  display: flex; /* Use flexbox to align icon and text */
  align-items: center; /* Vertically center items */
  gap: 0.5rem; /* Add some space between icon and text */

}
.repo-list a i{
  font-size: 1.2em;
}

/* Blog Section */
.blog-posts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.blog-post {
    background-color: rgba(38, 38, 38, 0.8);
    padding: 1.5rem;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
    transition: transform 0.3s ease, box-shadow 0.2s ease;
    border: 1px solid #444;
}

.blog-post:hover {
    transform: translateY(-5px);
    box-shadow: 0 0 8px rgba(255, 255, 255, 0.3);
}

.blog-post h3 {
    font-size: 1.5rem;
    margin-bottom: 0.8rem;
    color: #eee;
    font-family: 'VT323', monospace;
}

.post-excerpt {
    font-size: 1rem;
    color: #bbb;
    margin-bottom: 1rem;
    font-family: 'Share Tech Mono', monospace;
}

.blog-post a {
    color: #f8f8f8;
    text-decoration: none;
    font-weight: bold;
    transition: box-shadow 0.2s ease;
    display: inline-block;
    margin-top: 0.5rem;
    padding: 0.4rem 0.8rem;
    border: 1px solid #f0f0f0;
    border-radius: 4px;
}
.blog-post a:hover {
  text-decoration: none; /* Remove underline */
  box-shadow: 0 0 8px rgba(255, 255, 255, 0.2); /* White glow*/
  background-color: rgba(255, 255, 255, 0.1);

}

.blog-post a i {
  margin-left: 0.4rem; /* add space */
}

/* Contact Section */
.contact-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.8rem;
    margin-top: 2.5rem;
}

.contact-link {
    color: #fff;
    text-decoration: none;
    font-size: 1.3rem;
    display: flex;
    align-items: center;
    padding: 0.7rem 1.4rem;
    border-radius: 4px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border: 1px solid #444;
    position: relative;
    overflow: hidden;
}

.contact-links a i {
    margin-right: 0.8rem;
    font-size: 1.8rem;
}

/* Contact link Hover */
.contact-link::before { /*  glitch effect*/
    content: '';
    position: absolute;
    top: 0;
     width: 55%; /* Adjusted width */
    height: 100%;
     background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.3) 50%, rgba(255,255,255,0) 100%);
      transform: skewX(-45deg);

        left: -150%;
    transition: left 0.6s ease;/* Slower for visibility */

}
 .contact-link:hover::before {
      left: 150%;/* Slide all the way*/

  }
.contact-link::after {
    content: '';
     background-color: rgba(255, 255, 255, 0.2); /* glass */
     width: 0%;
     height: 100%;
      position: absolute;
       top: 0;
    right: 0;
    transition: width 0.5s ease; /* Animate width */
}

.contact-link:hover::after {
   width: 100%; /* fully visible. */
}
.contact-link:hover {
    transform: translateY(-3px);
    /* box-shadow: 0 0 8px rgba(255, 255, 255, 0.3); */ /* remove the box-shadow */
}

/* Footer */
footer {
    text-align: center;
    padding: 2rem 0;
    margin-top: 4rem;
    color: #888;
    border-top: 1px solid #333;
}

/* Animations */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Responsive */
@media (max-width: 768px) {
    .container {
        width: 95%;
    }
    .nav-links {
      flex-direction: column; /* Stack */
        align-items: flex-start;
        width: 100%;

    }

    .nav-links li {
       margin: 0.5rem 0;
        margin-left: 0;
        width: 100%;
    }
      .nav-links a{
      display: block;
      width: 100%;
    }

    #hero {
        flex-direction: column;
        text-align: center;
    }

    .hero-content {
        margin-right: 0;
        margin-bottom: 2rem;
    }

    .hero-icons {
        flex-direction: row; /* Horizontal */
    }
     .audit-cards {
        overflow-x: auto;  /* horizontal scrolling */
        -webkit-overflow-scrolling: touch; /* smooth scrolling on iOS */
    }
    .audit-card {
       min-width: 250px;
       margin-bottom: 1rem;
    }

    .scroll-indicator {
        display: none;
    }

      .blog-posts {
    grid-template-columns: 1fr; /* Single column */
    }
     .contact-links {
        flex-direction: column;
        align-items: center;
    }

}

@media (max-width: 480px) {
   .audit-card{
    min-width: 220px;  /* Make cards bit smaller */

  }
    .hero-title {
        font-size: 3rem;
    }

    .hero-description {
      font-size: 1.3rem;
    }
    section h2 {
      font-size: 2.5rem;
    }
}