
    /* Content Container */
    .content-container {
        max-width: 1500px;
        margin: 0 auto;
        padding: 20px;
    }

    /* Hero Section */
    .hero-main {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 50px 50px;
        background-color: #ffffff;
        gap: 50px;
    }
    .hero-content { max-width: 600px; }
    .hero-subtitle {
        color: #D32F2F;
        font-size: 2.5rem;
        font-weight: 600;
        margin-bottom: 15px;
    }
    .hero-content h1 {
        font-size: 3rem;
        margin-bottom: 20px;
        color: #161616;
    }
    .hero-content p {
        font-size: 1.2rem;
        margin-bottom: 30px;
        color: #555555;
    }
    .hero-image img {
        width: 550px;
        max-width: 100%;
        height: auto;
        border-radius: 10px;
    }

    /* Responsive Hero */
    @media (max-width: 1024px) {
        .hero-main {
            flex-direction: column-reverse;
            text-align: center;
            padding: 80px 30px;
        }
        .hero-image img {
            width: 100%;
            max-width: 400px;
        }
    }
  
  
  
  
  
  
  
  
  
  
  
  
  
  /* --- NEW STYLES: Enhanced Service Section --- */

    .service-section-title {
        font-size: 1.8rem;
        font-weight: 700;
        color: #161616;
        border-bottom: 2px solid #f2f2f2;
        padding-bottom: 10px;
        margin: 40px 0 30px;
    }

    .feature-grid {
        display: grid;
        /* 큰 화면: 3열 */
        grid-template-columns: repeat(3, 1fr); 
        gap: 30px;
        padding: 20px 0;
    }

    .feature-card {
        background-color: #f7f7f7;
        padding: 30px;
        border-radius: 16px;
        transition: transform 0.3s, box-shadow 0.3s;
        border: 1px solid #eee;
    }

    .feature-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
    }

    .feature-icon {
        font-size: 2.5rem;
        margin-bottom: 15px;
        color: #D32F2F; /* Accent Color */
        display: inline-block;
    }

    .feature-card h3 {
        font-size: 1.35rem;
        font-weight: 700;
        margin-bottom: 10px;
        color: #161616;
    }

    .feature-card p {
        font-size: 1rem;
        color: #555;
        line-height: 1.5;
        margin-top: 5px;
    }

    /* PlanUML Section Style */
    .service-image-area {
        margin: 60px 0;
        padding: 40px;
        background-color: #f0f0f0;
        border-radius: 16px;
        border: 1px solid #ddd;
    }
    .service-image-area img {
        display: block;
        margin: 0 auto;
    }

    /* Responsive Grid */
    @media (max-width: 1200px) {
        .feature-grid {
            grid-template-columns: repeat(2, 1fr); /* 중간 화면: 2열 */
        }
    }
    @media (max-width: 768px) {
        .feature-grid {
            grid-template-columns: 1fr; /* 모바일: 1열 */
        }
    }
    /* --- END NEW STYLES --- */
