    * { margin: 0; padding: 0; box-sizing: border-box; }
    body {
      font-family: "Noto Sans KR", '맑은 고딕', sans-serif;
      color: #000;
      font-size:16px;
    }

    /* 헤더 */
    header {
      background: #fff;
      border-bottom: 1px solid #00abe5;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 10px 20px;
      position: relative;
      z-index: 10;
    }

    .logo {
      display: flex;
      align-items: center;
    }
    .logo img {
      height: 60px;
      margin-right: 10px;
    }

    nav {
      display: flex;
    }
    nav ul {
      display: flex;
      list-style: none;
    }
    nav li {
      position: relative;
    }
    nav > ul > li {
      margin: 0 12px;
    }
    nav a {
      text-decoration: none;
      color: #333;
      padding: 12px 5px;
      display: block;
      font-size: 16px;
    }
    nav li:hover > ul {
      display: block;
    }

    /* 드롭다운 */
    nav li ul {
      display: none;
      position: absolute;
      top: 100%;
      left: 0;
      background: #fff;
      border: 1px solid #ccc;
      min-width: 180px;
      z-index: 100;
    }
    nav li ul li {
      margin: 0;
    }
    nav li ul a {
      padding: 10px;
      white-space: nowrap;
    }

    /* foot 및 하단 */
    .footer-banner {
      background: linear-gradient(to right, #ffffff, #fffcf7);
      padding: 3rem 1rem;
    }

    .footer-banner img.ribbon {
      max-width: 200px;
    }

    .footer-black {
      background-color: #1a1a1a;
      color: white;
      padding: 32px 10px;
    }

    .footer-black .footer-link a {
      color: #fff;
      text-decoration: none;
      margin: 0 10px;
      font-size:14px;
    }

    .footer-black .footer-link a:hover {
      text-decoration: underline;
    }

    .footer-logo {
      max-width: 400px;
    }

    .footer-bottom {
      font-size: 0.85rem;
    }

    /* 모바일 메뉴 버튼 */
    .hamburger {
      display: none;
      font-size: 24px;
      cursor: pointer;
    }

    @media (max-width: 768px) {
      nav {
        display: none;
        flex-direction: column;
        background: #fffcf3;
        position: absolute;
        top: 60px;
        left: 0;
        width: 100%;
        border-top: 1px solid #00abe5;
      }
      nav.open {
        display: flex;
      }
      nav ul {
        flex-direction: column;
      }
      nav li ul {
        position: static;
        border: none;
      }
      nav li:hover ul {
        display: block;
      }
      .hamburger {
        display: block;
      }

      /* footer */
      .footer-banner {
        text-align: center;
      }

      .footer-banner img.ribbon {
        margin-bottom: 1rem;
      }

      .footer-link a {
        font-size: 12x;
      }
    }