  /* --- CLEANED AND EMBEDDED CSS --- */

      /* General Body Styles */
      body {
        margin: 0;
        line-height: normal;
        background-color: #f5f5f5;
        font-family: NanumSquare, sans-serif;
      }

      /* Main Container */
      .qr-page-container {
        width: 100%;
        position: relative;
        background-color: #fff;
        overflow-x: hidden;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: left;
        font-size: 46.8px;
        color: #fff;
      }

      /* --- HEADER --- */
      .header {
        width: 100%;
        position: fixed; 
        top: 0;
        background-color: transparent; 
        color: white; 
        box-sizing: border-box;
        height: 64px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        z-index: 1000; 
        font-size: 16px;
        transition: background-color 0.3s ease, color 0.3s ease; 
      }
      
      .header.scrolled {
        background-color: white !important;
        color: black !important;
        border-bottom: 1px solid #dcdcdc; 
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); 
      }
      
      .header.scrolled .caption1-nanumsquare1,
      .header.scrolled .div8,
      .header.scrolled .headermenu {
        color: black !important;
      }
      
      .header *,
      .header.scrolled * {
        transition: color 0.3s ease;
      }

      .header-inner {
        width: 100%;
        max-width: 1240px;
        padding: 0 20px;
        box-sizing: border-box;
        height: 64px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
      }
      .group {
        width: 100%;
        height: 64px;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
      }
      .symbol-parent {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 5px;
      }
      .symbol-icon1 {
        width: 26.2px;
        height: 26.2px;
      }
      .logo-bold {
        width: 65.5px;
        height: 22.3px;
      }
      .headermenu-parent {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 16px;
      }

      .headermenu,
      .caption1-nanumsquare1,
      .div8 {
        color: white;
      }
      
      .caption1-nanumsquare1 {
        position: relative;
        line-height: 20px;
      }
      .div8 {
        position: relative;
        line-height: 20px;
        font-weight: 300;
      }

      /* --- HERO SECTION --- */
      .hero-section {
        position: relative; 
        z-index: 1; 
        width: 100%; 
        height: 100vh; /* MODIFIED: Changed from 1080px to fill viewport height */
        font-family: Hanwha, sans-serif;
        /* max-width: 1920px; /* REMOVED: To allow full screen width */
      }
      .image-1852-icon {
        z-index: 0; 
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: top; /* MODIFIED: Aligns the image to the bottom, effectively lowering the visible content */
      }
      .text1 {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
      }
      .div1 {
        position: absolute;
        top: 50%;
        left: 55%;
        transform: translateY(-50%);
        width: 969.2px;
        max-width: 45%;
        height: auto;
      }
      .carousel {
        position: absolute;
        bottom: 7.5%;
        left: 50%;
        transform: translateX(-50%);
        border-radius: 4px;
        background-color: rgba(0, 0, 0, 0.2);
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-end;
        padding: 4px 8px;
        gap: 8px;
      }
      .carousel-dot {
        border-radius: 1000px;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-end;
        gap: 4px;
      }
      .active, .inactive {
        border-radius: 1000px;
        display: flex;
      }
      .item {
        width: 8px;
        position: relative;
        height: 8px;
      }
      
      .item-child {
        border-radius: 8px;
        width: 8px;
        height: 8px;
        transition: background-color 0.3s ease; 
      }
      .active .item-child {
        background-color: #ff6600; 
      }
      .inactive .item-child {
        background-color: #fff; 
      }
      
      /* --- CAROUSEL CONTROLS --- */
      .carousel-controls {
        display: flex;
        align-items: center;
      }
      .carousel-control-btn {
        width: 12px;
        height: 12px;
        cursor: pointer;
        padding: 4px;
        box-sizing: content-box;
      }

      /* Menu link styles */
      .menu-link {
        text-decoration: none;
        color: inherit;
        display: block;
        height: 100%;
        padding: 0 8px;
        display: flex;
        align-items: center;
        transition: background-color 0.2s;
      }
      
      .menu-link:hover {
        background-color: rgba(255, 255, 255, 0.1);
      }
      
      .header.scrolled .menu-link:hover {
        background-color: rgba(0, 0, 0, 0.05);
      }

      /* --- MAIN CONTENT AREA --- */
      .frame-parent {
        position: relative;
        width: 1920px;
        max-width: 100%;
        background-color: #fff;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        font-size: 9px;
        color: #000;
        box-shadow: 0px -4px 30px rgba(0, 0, 0, 0.25);

        margin-top: 0px; /* MODIFIED: Moved down */
        padding-top: 0px;
        box-sizing: border-box; 
        z-index: 2;
      }

      /* DOWNLOAD SECTION */
      .download-qr-googleplay-parent {
        width: 100%;
        max-width: 1240px;
        position: relative;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 20px;
        padding: 50px 20px;
        box-sizing: border-box;
        margin: 0 auto;
      }

      .desktop-download-img {
          width: 124px;
          height: auto;
          display: block;
      }

      .mobile-download-img {
          display: none;
      }
      
      .symbol-icon {
        width: 7.4px;
        position: relative;
        height: 7.3px;
      }

      .logo-38px-bold {
        width: 17.7px;
        position: relative;
        height: 6px;
      }

      .logo {
        position: absolute;
        top: 113.42px;
        left: 24.05px;
        background-color: #fff;
        width: 61.3px;
        height: 11.6px;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 2.3px;
      }

      .kakaotalk-photo-2025-06-18-16-icon {
        position: absolute;
        top: 47px;
        left: -220px;
        width: 177px;
        height: 177px;
        object-fit: cover;
      }

      .logo-parent {
        width: 177px;
        position: absolute;
        margin: 0 !important;
        top: 0px;
        right: 0;
        height: 177px;
        z-index: 3;
      }

      /* Video section */
      .image-1850-parent {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        position: relative;
        padding: 100px 20px;
        box-sizing: border-box;
      }

      .image-1850-icon {
        width: 100%;
        max-width: 1240px;
        height: auto;
        object-fit: cover;
      }

      .video {
        width: 90%;
        max-width: 720px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        border-radius: 15px;
        aspect-ratio: 16 / 9;
        height: auto;
        display: flex;
        align-items: center;
        justify-content: center;
      }

      /* --- SNS ICONS --- */
      .sns-icon {
        width: 100px;
        height: 100px;
        overflow: hidden;
        position: relative;
        transition: transform 0.3s ease;
      }

      .sns-icon:hover {
        transform: scale(1);
      }

      .sns-icon img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transition: opacity 0.3s ease;
        object-fit: cover;
      }

      .sns-icon .normal {
        opacity: 1;
      }

      .sns-icon .hover {
        opacity: 0;
      }

      .sns-icon:hover .normal {
        opacity: 0;
      }

      .sns-icon:hover .hover {
        opacity: 1;
      }

      /* SNS Section */
      .image-1853-icon {
        width: 1920px;
        max-width: 100%;
        height: auto;
        object-fit: cover;
      }

      .mobile-image {
        display: none;
      }
      
      .frame-container {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        font-size: 30px;
        color: #000;
      }

      .title-parent {
        width: 100%;
        max-width: 1024px;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 100px 20px;
        box-sizing: border-box;
        gap: 50px;
      }

      .title {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 20px;
      }

      .icon-computer {
        width: 40px;
        height: 40px;
        object-fit: cover;
      }

      .title-nanumsquare {
        position: relative;
        font-weight: 800;
        text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
      }

      .video1 {
        width: 100%;
        max-width: 720px;
        aspect-ratio: 16 / 9;
        height: auto;
        display: flex;
        align-items: center;
        justify-content: center;
      }

      .frame-wrapper {
        width: 100%;
        background-color: #f9f9f9;
        display: flex;
        justify-content: center;
        padding: 64px 20px;
        box-sizing: border-box;
      }

      .sns-blog-parent {
        width: 100%;
        max-width: 720px;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-around;
        gap: 20px;
      }

      /* --- IMPROVED VIDEO PLAYER STYLES --- */
      .video-player-container {
        position: relative;
        width: 100%;
        height: 100%;
        border-radius: 0px;
        overflow: hidden;
        background: #000;
      }
      
      .video-thumbnail {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 1;
        transition: opacity 0.3s;
      }
      
      .video-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(0deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.3) 100%);
        z-index: 2;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: opacity 0.3s;
      }
      
      .video-play-btn {
        width: 80px;
        height: 80px;
        cursor: pointer;
        z-index: 3;
        transition: transform 0.2s, opacity 0.3s;
      }
      
      .video-play-btn:hover {
        transform: scale(1.1);
      }
      
      .video-player-container.playing .video-thumbnail,
      .video-player-container.playing .video-overlay {
        opacity: 0;
        pointer-events: none;
      }
      
      .video-player-container video {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 0;
      }
      
      .video-controls {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        background: rgba(0,0,0,0.7);
        padding: 10px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        z-index: 4;
        opacity: 0;
        transition: opacity 0.3s;
        transform: translateY(100%);
      }
      
      .video-player-container:hover .video-controls {
        opacity: 1;
        transform: translateY(0);
      }
      
      .control-btn {
        background: none;
        border: none;
        color: white;
        cursor: pointer;
        font-size: 14px;
        padding: 5px;
      }
      
      .progress-container {
        flex-grow: 1;
        height: 4px;
        background: rgba(255,255,255,0.3);
        margin: 0 15px;
        border-radius: 2px;
        position: relative;
        cursor: pointer;
      }
      
      .progress-bar {
        height: 100%;
        background: #ff6600;
        border-radius: 2px;
        width: 0%;
      }
      
      .time-display {
        color: white;
        font-size: 12px;
        font-family: NanumSquare, sans-serif;
        min-width: 80px;
        text-align: center;
      }
      
      .volume-container {
        display: flex;
        align-items: center;
        margin-right: 15px;
      }
      
      .volume-slider {
        width: 80px;
        margin: 0 10px;
      }
      
      .fullscreen-btn {
        margin-left: 10px;
      }
      
      .video-title {
        position: absolute;
        top: 20px;
        left: 20px;
        color: white;
        font-size: 18px;
        font-weight: bold;
        z-index: 2;
        background: rgba(0,0,0,0.5);
        padding: 5px 10px;
        border-radius: 5px;
        max-width: 90%;
      }
      
      .video-player-container.playing .video-title {
        opacity: 0;
        transition: opacity 0.5s;
      }
      
      .video-player-container.playing:hover .video-title {
        opacity: 1;
      }

      /* =========================================================== */
      /* FOOTER SECTION CONTAINER ================================================================================================== */
      /* =========================================================== */
      .site-footer {
          background-color: #fff;
          width: 100%;
          font-size: 13px;
          color: rgba(0, 0, 0, 0.85);
          font-family: NanumSquare, sans-serif;
      }

      .site-footer-inner {
          border-top: 1px solid #dcdcdc;
          box-sizing: border-box;
          display: flex;
          justify-content: center;
      }

      .footer-content-wrapper {
          width: 1240px;
          max-width: 100%;
          display: flex;
          align-items: flex-start;
          justify-content: space-between;
          padding: 50px 20px;
          box-sizing: border-box;
          gap: 21px;
      }

      .footer-left {
          display: flex;
          flex-direction: column;
          gap: 16px;
      }

      .company-info {
          display: flex;
          flex-direction: column;
          gap: 8px;
      }

      .company-info-row {
          display: flex;
          align-items: center;
          flex-wrap: wrap;
      }

      .company-info-row > div {
          padding: 0 16px;
          border-right: 1px solid #b9b9b9;
      }
      .company-info-row > div:first-child {
          padding-left: 0;
      }
      .company-info-row > div:last-child {
          border-right: none;
      }
      
      .address { margin: 0; }

      .contact-info {
          display: flex;
          gap: 24px;
          flex-wrap: wrap;
      }

      .footer-right-links {
          display: flex;
          gap: 24px;
          font-size: 15px;
          color: #222;
          flex-shrink: 0;
      }

      .footer-right-links a {
        text-decoration: none;
        color: #222;
      }
      .footer-right-links a:hover {
        opacity: 0.7;
      }
      .footer-right-links b {
          cursor: pointer;
          transition: opacity 0.2s;
      }
      .footer-right-links b:hover {
          opacity: 0.7;
      }

      /* --- MEDIA QUERIES --- */
      @media (max-width: 1200px) {
        .div1 { display: none; }
        .logo-parent { display: none; }
      }

      @media (max-width: 900px) {
        .footer-content-wrapper {
            flex-direction: column;
            gap: 40px;
            align-items: flex-start;
        }
      }

      @media (max-width: 768px) {
        /* --- HEADER MOBILE STYLES --- */
        .header {
            height: 56px;
            box-shadow: none;
        }
        .header-inner, .group {
            height: 56px;
            padding: 0 16px;
        }
        .symbol-icon1 {
            width: 13.9px;
            height: 13.9px;
        }
        .logo-bold {
            width: 34.8px;
            height: 11.8px;
        }
        .headermenu-parent {
            display: flex;
            gap: 8px; 
        }
        .menu-link {
            padding: 0 4px;
        }
        .caption1-nanumsquare1, .div8 {
            font-size: 8px;
            line-height: 10.62px;
        }
        .div8 {
            font-weight: 300;
        }
        .header.scrolled .caption1-nanumsquare1,
        .header.scrolled .div8 {
            color: black !important;
        }
        
        /* --- HERO SECTION MOBILE: DYNAMIC 'SINKING' EFFECT --- */
        /* Use viewport height (vh) to make the hero section responsive to different screen heights. */
        .hero-section {
            height: 35vh;
            background-color: #000;
        }
        /* Use 'cover' to ensure the image fills the container, providing a seamless background 
           for the content overlap. 'center' helps frame the image well on mobile. */
        .hero-section .image-1852-icon {
            object-fit: cover;
            object-position: center;
        }
        
        /* Reposition carousel to sit just above the main content's 'sunk' position. */
        .carousel {
            padding: 2px 6px;
            gap: 4px;
        }
        .item, .item-child {
            width: 6px;
            height: 6px;
        }
        .carousel-control-btn {
            width: 10px;
            height: 10px;
            padding: 2px;
        }

        /* --- FRAME PARENT & DOWNLOAD SECTION MOBILE STYLES (UPDATED) --- */
        /* A negative margin pulls the main content up over the bottom of the hero section,
           creating the desired 'sinking' visual. This value creates a 50px overlap. */
        .frame-parent {
            margin-top: 0px;
        }
        .download-qr-googleplay-parent {
            flex-direction: row;
            padding: 10px 20px; 
            gap: 8px;
        }
        .image-1850-parent {
            padding: 30px 20px; 
        }
        .download-qr-googleplay-parent a {
            display: flex;
            align-items: center;
        }
        .download-qr-googleplay-parent a:first-child {
            flex: 0 0 110.6px;
        }
        .download-qr-googleplay-parent a:not(:first-child) {
            flex: 1;
            min-width: 0;
        }
        .desktop-download-img {
            display: none;
        }
        .mobile-download-img {
            display: block;
            width: 100%;
            height: auto;
            object-fit: cover;
        }
        .logo-parent {
          display: none;
        }
        
        .video-play-btn {
          width: 60px;
          height: 60px;
        }
        .video-controls {
          flex-wrap: wrap;
          padding: 5px;
        }
        .progress-container {
          order: 3;
          width: 100%;
          margin: 5px 0;
        }
        .volume-container {
          display: none;
        }
        
        /* --- SNS Section Mobile Styles --- */
        .title-parent {
            padding: 60px 20px 40px;
            gap: 30px;
        }
        .title-nanumsquare {
            font-size: 24px;
        }
        .icon-computer {
            width: 32px;
            height: 32px;
        }
        .frame-wrapper {
            padding: 40px 16px; 
        }
        .sns-blog-parent {
            gap: 16px;
            justify-content: center; 
        }
        .sns-icon {
            width: 46px; 
            height: 46px;
        }
        
        /* --- MOBILE VIDEO PLAYER SIZE (NEW) --- */
        .video, .video1 {
          width: 230px;
          height: 130px;
          aspect-ratio: auto;
        }

        .desktop-image {
          display: none;
        }
        .mobile-image {
          display: block;
        }

        /* --- FOOTER RESPONSIVE STYLES --- */
        .site-footer {
            padding: 24px 16px;
            font-size: 10px;
            text-align: center;
        }
        .footer-content-wrapper {
            align-items: center; 
            gap: 24px;
        }
        .footer-left {
            order: 2; 
            align-items: center;
            gap: 8px;
        }
        .footer-right-links {
            order: 1; 
            flex-direction: row; 
            gap: 16px;
            font-size: 13px;
            justify-content: center;
            width: 100%;
            flex-wrap: wrap;
        }
        .company-info {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 8px;
        }
        .company-info-row {
            flex-direction: row;
            align-items: center;
            justify-content: center;
            flex-wrap: wrap;
            gap: 4px 0;
        }
        .company-info-row > div {
            padding: 0 8px; 
            border-right: 1px solid #b9b9b9; 
        }
        .company-info-row > div:last-child {
            border-right: none; 
        }
        .address {
            margin-top: 4px;
        }
        .contact-info {
            flex-direction: row;
            align-items: center;
            justify-content: center;
            flex-wrap: wrap;
            gap: 8px 12px;
        }
      }