 :root {
     --primary-color: #158a85;
     --soft-black: #232b2b;
     --soft-white: #E3EFF0;
 }

 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 body {
     background: var(--soft-white);
     font-family: "Nunito", sans-serif;
     overflow-x: hidden;
 }

 nav {
     align-content: center;
 }



 /* ===== HERO BANNER ===== */
 .hero-banner {
     position: relative;
     width: 100%;
     height: 80vh;
     min-height: 550px;
     overflow: hidden;
     margin-top: 74px;
     background: var(--soft-black);
 }

 .hero-banner img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     object-position: top center;
 }

 .hero-overlay {
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     background: linear-gradient(to top, var(--soft-black) 0%, rgba(35, 43, 43, 0.8) 50%, transparent 100%);
     padding: 60px 50px 40px;
 }

 .project-badge {
     display: inline-block;
     padding: 5px 15px;
     background: var(--primary-color);
     color: var(--soft-black);
     border-radius: 6px;
     font-size: 0.75rem;
     font-weight: 700;
     letter-spacing: 0.5px;
     margin-bottom: 20px;
     text-transform: uppercase;
     font-family: "Nunito", sans-serif;
 }

 .hero-title {
     font-size: 3.5rem;
     font-weight: 700;
     color: var(--soft-white);
     line-height: 1.2;
     max-width: 800px;
     margin-bottom: 15px;
     font-family: "Nunito", sans-serif;
 }

 .hero-subtitle {
     font-size: 1rem;
     color: rgba(227, 239, 240, 0.7);
     max-width: 600px;
     line-height: 1.6;
     font-family: "Nunito", sans-serif;
 }

 /* ===== MAIN CONTENT ===== */
 .main-content {
     max-width: 1400px;
     margin: 0 auto;
     padding: 70px 50px;
 }

 /* Project Overview Grid */
 .overview-grid {
     display: grid;
     grid-template-columns: 1fr 0.8fr;
     gap: 60px;
     margin-bottom: 80px;
 }

 /* Left Column */
 .overview-left h2 {
     font-size: 2rem;
     font-weight: 700;
     color: var(--soft-black);
     margin-bottom: 25px;
     position: relative;
     display: inline-block;
     font-family: "Nunito", sans-serif;
 }

 .overview-left h2::after {
     content: '';
     position: absolute;
     bottom: -8px;
     left: 0;
     width: 50px;
     height: 2px;
     background: var(--primary-color);
 }

 .project-description {
     font-size: 1rem;
     line-height: 1.7;
     color: var(--soft-black);
     opacity: 0.8;
     margin: 25px 0 35px;
     font-family: "Nunito", sans-serif;
 }

 /* Tech Stack */
 .tech-section {
     margin-bottom: 35px;
 }

 .tech-section h3 {
     font-size: 1.1rem;
     font-weight: 700;
     margin-bottom: 15px;
     color: var(--soft-black);
     font-family: "Nunito", sans-serif;
 }

 .tech-stack {
     display: flex;
     flex-wrap: wrap;
     gap: 10px;
 }

 .tech-item {
     padding: 6px 16px;
     background: rgba(21, 138, 133, 0.1);
     color: var(--primary-color);
     border-radius: 6px;
     font-size: 0.8rem;
     font-weight: 600;
     transition: all 0.3s;
     font-family: "Nunito", sans-serif;
 }

 .tech-item:hover {
     background: var(--primary-color);
     color: var(--soft-white);
 }

 /* Features */
 .features-section h3 {
     font-size: 1.1rem;
     font-weight: 700;
     margin-bottom: 20px;
     color: var(--soft-black);
     font-family: "Nunito", sans-serif;
 }

 .features-grid {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 12px;
 }

 .feature-item {
     display: flex;
     align-items: center;
     gap: 10px;
     padding: 8px 0;
 }

 .feature-item i {
     color: var(--primary-color);
     font-size: 0.9rem;
     width: 18px;
 }

 .feature-item span {
     font-size: 0.9rem;
     color: var(--soft-black);
     opacity: 0.8;
     font-family: "Nunito", sans-serif;
 }

 /* Right Column - Info Card */
 .info-card {
     background: var(--soft-white);
     border-radius: 12px;
     padding: 30px;
     border: 1px solid rgba(35, 43, 43, 0.1);
     position: sticky;
     top: 100px;
 }

 .info-card h3 {
     font-size: 1.2rem;
     font-weight: 700;
     margin-bottom: 25px;
     color: var(--soft-black);
     border-left: 3px solid var(--primary-color);
     padding-left: 15px;
     font-family: "Nunito", sans-serif;
 }

 .info-row {
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding: 12px 0;
     border-bottom: 1px solid rgba(35, 43, 43, 0.08);
 }

 .info-row:last-child {
     border-bottom: none;
 }

 .info-label {
     font-weight: 600;
     color: var(--soft-black);
     opacity: 0.6;
     font-size: 0.85rem;
     font-family: "Nunito", sans-serif;
 }

 .info-value {
     font-weight: 500;
     color: var(--soft-black);
     font-size: 0.9rem;
     font-family: "Nunito", sans-serif;
 }

 .live-demo-btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 8px;
     width: 100%;
     background: var(--soft-black);
     color: var(--soft-white);
     padding: 12px 24px;
     border-radius: 6px;
     text-decoration: none;
     font-weight: 600;
     font-size: 0.9rem;
     margin-top: 25px;
     transition: all 0.3s;
     border: none;
     cursor: pointer;
     font-family: "Nunito", sans-serif;
 }

 .live-demo-btn:hover {
     background: var(--primary-color);
     color: var(--soft-black);
     transform: translateY(-2px);
 }

 /* ===== PROJECT HIGHLIGHTS ===== */
 .highlights-section {
     margin: 80px 0;
 }

 .section-title {
     text-align: center;
     margin-bottom: 50px;
 }

 .section-title h2 {
     font-size: 2rem;
     font-weight: 700;
     color: var(--soft-black);
     font-family: "Nunito", sans-serif;
 }

 .section-title h2 span {
     color: var(--primary-color);
 }

 .section-title p {
     color: var(--soft-black);
     opacity: 0.6;
     margin-top: 10px;
     font-size: 0.95rem;
     font-family: "Nunito", sans-serif;
 }

 .highlights-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 30px;
 }

 .highlight-card {
     background: var(--soft-white);
     border-radius: 12px;
     overflow: hidden;
     transition: all 0.3s;
     border: 1px solid rgba(35, 43, 43, 0.08);
 }

 .highlight-card:hover {
     transform: translateY(-5px);
     border-color: var(--primary-color);
 }

 .highlight-image {
     width: 100%;
     height: 220px;
     overflow: hidden;
     background: var(--soft-black);
 }

 .highlight-image img {
     width: 100%;
     height: 100%;
     object-fit: contain;
     transition: transform 0.4s;
 }

 .highlight-card:hover .highlight-image img {
     transform: scale(1.05);
 }

 .highlight-content {
     padding: 20px;
 }

 .highlight-content h3 {
     font-size: 1.1rem;
     font-weight: 700;
     margin-bottom: 10px;
     color: var(--soft-black);
     font-family: "Nunito", sans-serif;
 }

 .highlight-content p {
     font-size: 0.85rem;
     color: var(--soft-black);
     opacity: 0.7;
     line-height: 1.5;
     font-family: "Nunito", sans-serif;
 }



 /* ===== CTA SECTION ===== */
 .cta-section {
     text-align: center;
     background: var(--soft-black);
     border-radius: 12px;
     padding: 60px 50px;
     margin-top: 60px;
 }

 .cta-section h2 {
     font-size: 1.8rem;
     color: var(--soft-white);
     margin-bottom: 15px;
     font-family: "Nunito", sans-serif;
 }

 .cta-section p {
     color: rgba(227, 239, 240, 0.7);
     margin-bottom: 30px;
     font-size: 1rem;
     font-family: "Nunito", sans-serif;
 }

 .cta-buttons {
     display: flex;
     gap: 20px;
     justify-content: center;
     flex-wrap: wrap;
 }

 .btn-primary {
     background: var(--primary-color);
     color: var(--soft-black);
     padding: 12px 32px;
     border-radius: 6px;
     text-decoration: none;
     font-weight: 700;
     transition: all 0.3s;
     font-family: "Nunito", sans-serif;
 }

 .btn-secondary {
     background: transparent;
     color: var(--soft-white);
     padding: 12px 32px;
     border-radius: 6px;
     text-decoration: none;
     font-weight: 700;
     border: 1px solid var(--soft-white);
     transition: all 0.3s;
     font-family: "Nunito", sans-serif;
 }

 .btn-primary:hover,
 .btn-secondary:hover {
     transform: translateY(-2px);
 }

 .btn-primary:hover {
     background: #1aa39c;
 }

 .btn-secondary:hover {
     background: rgba(255, 255, 255, 0.05);
 }

 /* ===== FOOTER ===== */
 .preview-footer {
     background: var(--soft-black);
     color: var(--soft-white);
     text-align: center;
     padding: 30px;
     margin-top: 80px;
     border-top: 1px solid rgba(227, 239, 240, 0.1);
     font-size: 0.85rem;
     opacity: 0.7;
     font-family: "Nunito", sans-serif;
 }

 /* ===== CLIENT FEEDBACK ===== */
 .client-feedback {
     margin: 60px 0;
     max-width: 800px;
     margin-left: auto;
     margin-right: auto;
 }

 .testimonial-card {
     background: var(--soft-white);
     border-radius: 16px;
     padding: 30px;
     border: 1px solid rgba(35, 43, 43, 0.1);
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
     transition: transform 0.3s;
 }

 .testimonial-card:hover {
     transform: translateY(-5px);
     border-color: var(--primary-color);
 }

 .card-header {
     display: flex;
     align-items: start;
     gap: 15px;
     margin-bottom: 20px;
 }

 .client-img {
     width: 60px;
     height: 60px;
     border-radius: 50%;
     overflow: hidden;
     background: var(--soft-black);
 }

 .client-img img {
     width: 100%;
     height: 100%;
     object-fit: cover;
 }

 .author-info h4 {
     font-size: 1.1rem;
     font-weight: 700;
     color: var(--soft-black);
     margin-bottom: 4px;
 }

 .author-info h4 span {
     font-size: 0.85rem;
     font-weight: 400;
     opacity: 0.6;
 }

 .author-info span:last-child {
     font-size: 0.8rem;
     opacity: 0.6;
     display: block;
 }

 .card-title {
     font-size: 1.1rem;
     font-weight: 600;
     margin-bottom: 15px;
     padding-bottom: 10px;
     border-bottom: 2px solid rgba(21, 138, 133, 0.2);
     color: var(--primary-color);
 }

 .card-quote {
     font-size: 0.95rem;
     line-height: 1.6;
     color: var(--soft-black);
     opacity: 0.85;
 }

 .card-quote strong {
     color: var(--primary-color);
     font-weight: 700;
 }

 /* ===== RESPONSIVE ===== */
 @media (max-width: 1200px) {
     .hero-title {
         font-size: 2.8rem;
     }
 }

 @media (max-width: 992px) {
     .preview-header {
         padding: 15px 30px;
     }

     .overview-grid {
         grid-template-columns: 1fr;
         gap: 40px;
     }

     .info-card {
         position: relative;
         top: 0;
     }

     .highlights-grid {
         grid-template-columns: repeat(2, 1fr);
     }

 }

 @media (max-width: 768px) {
     .preview-header {
         padding: 12px 20px;
     }

     .preview-nav {
         gap: 25px;
     }

     .hero-banner {
         height: 60vh;
         margin-top: 65px;
     }

     .hero-overlay {
         padding: 30px 20px;
     }

     .hero-title {
         font-size: 1.8rem;
     }

     .hero-subtitle {
         font-size: 0.85rem;
     }

     .main-content {
         padding: 40px 20px;
     }

     .features-grid {
         grid-template-columns: 1fr;
     }

     .highlights-grid {
         grid-template-columns: 1fr;
     }



     .cta-section {
         padding: 40px 25px;
     }

     .cta-section h2 {
         font-size: 1.4rem;
     }

     .client-feedback {
         margin: 40px 0;
     }

     .testimonial-card {
         padding: 20px;
     }

     .client-img {
         width: 50px;
         height: 50px;
     }

     .author-info h4 {
         font-size: 1rem;
     }

     .card-quote {
         font-size: 0.85rem;
     }
 }

 @media (max-width: 480px) {
     .preview-nav {
         gap: 18px;
     }

     .preview-nav a {
         font-size: 0.85rem;
     }

     .hero-title {
         font-size: 1.4rem;
     }

     .overview-left h2 {
         font-size: 1.5rem;
     }

     .info-card {
         padding: 20px;
     }

     .cta-buttons {
         flex-direction: column;
         align-items: center;
     }

     .btn-primary,
     .btn-secondary {
         width: 100%;
         text-align: center;
     }

     .card-header {
         flex-direction: column;
         text-align: center;
     }

     .author-info {
         text-align: center;
     }
 }