 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
     font-family: 'Poppins', sans-serif;
 }

 :root {
     --bg-color: #0f172a;
     --card-bg: #1e293b;
     --text-color: #f8fafc;
     --main-color: #8b5cf6;
     --accent-color: #ec4899;
 }

 body {
     background: var(--bg-color);
     color: var(--text-color);
     overflow-x: hidden;
     min-height: 100vh;
 }

 /* Prevent body scrolling when modal is open */
 body.modal-open {
     overflow: hidden;
 }

 /* Back Home Button */
 .back-home {
     position: fixed;
     top: 1.5rem;
     left: 1.5rem;
     background: rgba(16, 185, 129, 0.2);
     color: var(--main-color);
     padding: 0.8rem 1.5rem;
     border-radius: 3rem;
     text-decoration: none;
     font-weight: 600;
     font-size: 1rem;
     transition: all 0.3s ease;
     display: flex;
     align-items: center;
     gap: 0.5rem;
     z-index: 1000;
     backdrop-filter: blur(10px);
     border: 1px solid rgba(16, 185, 129, 0.3);
 }

 .back-home:hover {
     transform: translateY(-2px);
     background: rgba(16, 185, 129, 0.3);
     box-shadow: 0 0 1rem var(--main-color);
 }

 /* Page Header */
 .page-header {
     text-align: center;
     padding: 8rem 1rem 4rem;
     position: relative;
     overflow: hidden;
 }

 .page-header h1 {
     font-size: 3.5rem;
     margin-bottom: 1rem;
     background: linear-gradient(45deg, var(--main-color), var(--accent-color));
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
     line-height: 1.2;
 }

 .page-subtitle {
     font-size: 1.2rem;
     max-width: 500px;
     margin: 0 auto 2rem;
     opacity: 0.8;
     color: #94a3b8;
     line-height: 1.6;
     padding: 0 1rem;
 }

 /* Design Categories */
 .design-categories {
     display: flex;
     justify-content: center;
     flex-wrap: wrap;
     gap: 1rem;
     margin-top: 2rem;
     padding: 0 1rem;
 }

 .category-tag {
     background: rgba(16, 185, 129, 0.1);
     padding: 0.6rem 1.2rem;
     border-radius: 2rem;
     font-size: 0.9rem;
     color: var(--main-color);
     border: 1px solid rgba(16, 185, 129, 0.3);
     transition: all 0.3s ease;
     display: flex;
     align-items: center;
     gap: 0.5rem;
     white-space: nowrap;
 }

 .category-tag:hover {
     background: rgba(16, 185, 129, 0.2);
     transform: translateY(-2px);
 }

 /* Portfolio Grid - IMAGE ONLY VERSION */
 .portfolio-grid {
     max-width: 1000px;
     margin: 2rem auto;
     padding: 0 1rem;
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
     gap: 1.5rem;
 }

 .portfolio-item {
     position: relative;
     border-radius: 1.5rem;
     overflow: hidden;
     height: 200px;
     transition: all 0.4s ease;
     background: var(--card-bg);
     border: 1px solid rgba(255, 255, 255, 0.1);
 }

 .portfolio-item:hover {
     transform: translateY(-8px);
     border-color: var(--main-color);
     box-shadow: 0 1rem 2rem rgba(16, 185, 129, 0.2);
 }

 /* Image Container - CLICK ONLY ON IMAGE */
 .portfolio-image-container {
     width: 100%;
     height: 100%;
     position: relative;
     overflow: hidden;
     cursor: pointer;
 }

 .portfolio-image-container img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.6s ease;
 }

 .portfolio-item:hover .portfolio-image-container img {
     transform: scale(1.1);
 }

 /* ====== Portfolio Info Styles ====== */
 .portfolio-info {
     padding: 1rem;
     background: rgba(0, 0, 0, 0.7);
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     transform: translateY(100%);
     transition: transform 0.4s ease;
     backdrop-filter: blur(10px);
     border-top: 1px solid rgba(255, 255, 255, 0.1);
 }

 .portfolio-item:hover .portfolio-info {
     transform: translateY(0);
 }

 .portfolio-title {
     font-size: 1.1rem;
     margin-bottom: 0.5rem;
     color: var(--main-color);
     font-weight: 600;
     line-height: 1.3;
 }

 .portfolio-description {
     font-size: 0.85rem;
     line-height: 1.4;
     opacity: 0.9;
     color: #e2e8f0;
 }

 /* Image Modal Styles - IMAGE ONLY MODAL */
 .modal-overlay {
     display: none;
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background-color: rgba(0, 0, 0, 0.95);
     z-index: 2000;
     justify-content: center;
     align-items: center;
     opacity: 0;
     transition: opacity 0.3s ease;
 }

 .modal-overlay.active {
     display: flex;
     opacity: 1;
 }

 .modal-content {
     position: relative;
     max-width: 90%;
     max-height: 90%;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .modal-image {
     max-width: 100%;
     max-height: 90vh;
     object-fit: contain;
     border-radius: 0.5rem;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
     animation: zoomIn 0.3s ease forwards;
 }

 @keyframes zoomIn {
     from {
         transform: scale(0.8);
         opacity: 0;
     }

     to {
         transform: scale(1);
         opacity: 1;
     }
 }

 .modal-close {
     position: absolute;
     top: 20px;
     right: 20px;
     background: rgba(16, 185, 129, 0.2);
     color: white;
     width: 40px;
     height: 40px;
     border-radius: 50%;
     border: 1px solid rgba(16, 185, 129, 0.3);
     font-size: 1.5rem;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     transition: all 0.3s ease;
     z-index: 2001;
 }

 .modal-close:hover {
     background: var(--main-color);
     transform: rotate(90deg);
 }

 .modal-nav {
     position: absolute;
     top: 50%;
     transform: translateY(-50%);
     background: rgba(16, 185, 129, 0.2);
     color: white;
     width: 50px;
     height: 50px;
     border-radius: 50%;
     border: 1px solid rgba(16, 185, 129, 0.3);
     font-size: 1.5rem;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     transition: all 0.3s ease;
     z-index: 2001;
     backdrop-filter: blur(10px);
 }

 .modal-nav:hover {
     background: var(--main-color);
 }

 .modal-prev {
     left: 20px;
 }

 .modal-next {
     right: 20px;
 }

 /* Show More/Less Button - CENTERED */
 .show-more-container {
     text-align: center;
     margin: 2rem auto;
     max-width: 1000px;
     padding: 0 1rem;
     display: flex;
     justify-content: center;
     align-items: center;
 }

 .show-more-btn {
     background: rgba(16, 185, 129, 0.1);
     color: var(--main-color);
     border: 1px solid rgba(16, 185, 129, 0.3);
     padding: 0.8rem 2.5rem;
     border-radius: 3rem;
     font-size: 1rem;
     font-weight: 600;
     cursor: pointer;
     transition: all 0.3s ease;
     display: inline-flex;
     align-items: center;
     gap: 0.5rem;
 }

 .show-more-btn:hover {
     background: rgba(16, 185, 129, 0.2);
     transform: translateY(-2px);
     box-shadow: 0 0 1rem rgba(16, 185, 129, 0.2);
 }

 /* Design Process Section */
 .design-process {
     max-width: 1000px;
     margin: 4rem auto;
     padding: 3rem 1rem;
     background: var(--card-bg);
     border-radius: 1.5rem;
 }

 .process-title {
     text-align: center;
     font-size: 2rem;
     margin-bottom: 3rem;
     color: var(--main-color);
     line-height: 1.3;
 }

 .process-steps {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
     gap: 2rem;
 }

 .process-step {
     text-align: center;
     padding: 2rem;
     background: rgba(0, 0, 0, 0.2);
     border-radius: 1rem;
     transition: all 0.3s ease;
     border: 1px solid rgba(255, 255, 255, 0.1);
 }

 .process-step:hover {
     border-color: var(--main-color);
     transform: translateY(-5px);
 }

 .step-icon {
     width: 60px;
     height: 60px;
     background: rgba(16, 185, 129, 0.1);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     margin: 0 auto 1.5rem;
     font-size: 2rem;
     color: var(--main-color);
     border: 1px solid rgba(16, 185, 129, 0.3);
 }

 .step-title {
     font-size: 1.3rem;
     margin-bottom: 1rem;
     color: var(--text-color);
     line-height: 1.3;
 }

 .step-description {
     font-size: 0.95rem;
     line-height: 1.6;
     opacity: 0.8;
     color: #cbd5e1;
 }

 /* CTA Section */
 .cta-section {
     text-align: center;
     padding: 4rem 1rem;
     background: linear-gradient(135deg, var(--card-bg) 0%, #253148 100%);
     margin-top: 4rem;
 }

 .cta-title {
     font-size: 2.5rem;
     margin-bottom: 1.5rem;
     line-height: 1.2;
 }

 .cta-title span {
     background: linear-gradient(45deg, var(--main-color), var(--accent-color));
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
 }

 .cta-description {
     font-size: 1.1rem;
     max-width: 500px;
     margin: 0 auto 2rem;
     line-height: 1.6;
     opacity: 0.9;
     color: #cbd5e1;
 }

 .cta-buttons {
     display: flex;
     gap: 1rem;
     justify-content: center;
     flex-wrap: wrap;
 }

 .cta-btn {
     padding: 0.8rem 2rem;
     border-radius: 3rem;
     font-size: 1rem;
     font-weight: 600;
     text-decoration: none;
     transition: all 0.3s ease;
     display: inline-flex;
     align-items: center;
     gap: 0.8rem;
     white-space: nowrap;
 }

 .cta-btn.primary {
     background: var(--main-color);
     color: white;
 }

 .cta-btn.secondary {
     background: transparent;
     color: var(--text-color);
     border: 1px solid var(--main-color);
 }

 .cta-btn:hover {
     transform: translateY(-3px);
     box-shadow: 0 0 1rem var(--main-color);
 }

 /* Enhanced Mobile Responsive Fixes */
 @media (max-width: 768px) {
     .back-home {
         position: fixed;
         top: 1rem;
         left: 1rem;
         padding: 0.6rem 1.2rem;
         font-size: 0.9rem;
         z-index: 1000;
     }

     .page-header {
         padding: 6rem 0.5rem 2.5rem;
         width: 100%;
     }

     .page-header h1 {
         font-size: 2.2rem;
         padding: 0 0.5rem;
         margin-bottom: 1.2rem;
     }

     .page-subtitle {
         font-size: 1rem;
         padding: 0 1rem;
         margin-bottom: 1.8rem;
     }

     .design-categories {
         gap: 0.5rem;
         padding: 0 0.5rem;
         margin-top: 1.5rem;
         justify-content: center;
     }

     .category-tag {
         padding: 0.5rem 1rem;
         font-size: 0.8rem;
         flex: 0 0 auto;
     }

     .portfolio-grid {
         grid-template-columns: 1fr;
         gap: 1.2rem;
         margin: 1.5rem auto;
         padding: 0 0.8rem;
         width: 100%;
     }

     /* Fix portfolio info visibility on mobile */
     .portfolio-info {
         transform: translateY(0) !important;
         opacity: 1 !important;
         display: block !important;
         position: relative;
         background: rgba(15, 23, 42, 0.95);
         padding: 0.8rem;
         border-top: 1px solid rgba(139, 92, 246, 0.3);
     }

     .portfolio-item {
         height: auto !important;
         min-height: 220px;
     }

     .portfolio-image-container {
         height: 180px;
     }

     .portfolio-image-container img {
         height: 180px;
         object-fit: cover;
     }

     /* Hide extra portfolio items on mobile (only show first 2) */
     .portfolio-item:nth-child(n+3) {
         display: none;
     }

     .portfolio-item.mobile-visible {
         display: block !important;
     }

     /* Show More Container - CENTERED on mobile */
     .show-more-container {
         display: flex !important;
         justify-content: center;
         align-items: center;
         margin: 1.5rem auto;
         text-align: center;
     }

     .show-more-btn {
         padding: 0.7rem 2rem;
         font-size: 0.95rem;
     }

     /* Modal Mobile Styles */
     .modal-content {
         max-width: 95%;
     }

     .modal-close {
         top: 10px;
         right: 10px;
         width: 35px;
         height: 35px;
         font-size: 1.2rem;
         background: rgba(0, 0, 0, 0.7);
     }

     .modal-nav {
         width: 40px;
         height: 40px;
         font-size: 1.2rem;
         background: rgba(0, 0, 0, 0.7);
     }

     .modal-prev {
         left: 10px;
     }

     .modal-next {
         right: 10px;
     }

     .design-process {
         margin: 3rem auto;
         padding: 2rem 0.8rem;
         width: calc(100% - 1rem);
     }

     .process-title {
         font-size: 1.8rem;
         margin-bottom: 2rem;
         padding: 0 0.5rem;
     }

     .process-steps {
         grid-template-columns: 1fr;
         gap: 1.2rem;
     }

     .process-step {
         padding: 1.5rem 1rem;
         width: 100%;
     }

     .step-icon {
         width: 50px;
         height: 50px;
         font-size: 1.5rem;
         margin-bottom: 1rem;
     }

     .step-title {
         font-size: 1.1rem;
         margin-bottom: 0.8rem;
     }

     .step-description {
         font-size: 0.9rem;
         line-height: 1.5;
     }

     .cta-section {
         padding: 3rem 0.8rem;
         margin-top: 3rem;
         width: 100%;
     }

     .cta-title {
         font-size: 1.8rem;
         margin-bottom: 1.2rem;
         padding: 0 0.5rem;
     }

     .cta-description {
         font-size: 1rem;
         padding: 0 1rem;
         margin-bottom: 1.8rem;
     }

     .cta-buttons {
         flex-direction: column;
         align-items: center;
         gap: 0.8rem;
         width: 100%;
     }

     .cta-btn {
         width: 90%;
         max-width: 280px;
         justify-content: center;
         padding: 0.8rem 1.5rem;
         font-size: 0.95rem;
     }
 }

 /* Small Mobile Devices (up to 480px) */
 @media (max-width: 480px) {
     .back-home {
         top: 0.8rem;
         left: 0.8rem;
         padding: 0.5rem 1rem;
         font-size: 0.85rem;
     }

     .page-header h1 {
         font-size: 1.8rem;
         margin-top: 0.5rem;
     }

     .page-subtitle {
         font-size: 0.95rem;
     }

     .category-tag {
         font-size: 0.75rem;
         padding: 0.4rem 0.8rem;
     }

     .portfolio-item {
         min-height: 200px;
     }

     .portfolio-image-container {
         height: 160px;
     }

     .portfolio-image-container img {
         height: 160px;
     }

     .modal-image {
         max-height: 80vh;
     }

     .modal-nav {
         width: 35px;
         height: 35px;
         font-size: 1rem;
     }

     .show-more-btn {
         padding: 0.6rem 1.8rem;
         font-size: 0.9rem;
     }

     .process-title {
         font-size: 1.5rem;
     }

     .step-title {
         font-size: 1rem;
     }

     .cta-title {
         font-size: 1.5rem;
     }

     .cta-description {
         font-size: 0.95rem;
     }

     .cta-btn {
         width: 100%;
         max-width: 250px;
     }
 }

 /* Tablet Devices (769px to 1024px) */
 @media (min-width: 769px) and (max-width: 1024px) {
     .portfolio-grid {
         grid-template-columns: repeat(2, 1fr);
         padding: 0 1.5rem;
     }

     .process-steps {
         grid-template-columns: repeat(2, 1fr);
     }

     .cta-buttons {
         flex-direction: row;
     }

     .cta-btn {
         width: auto;
     }
 }

 /* Desktop - Hide Show More Button */
 @media (min-width: 769px) {
     .show-more-container {
         display: none;
     }
 }
