
    /* ── HERO ── */
    .hero {
      position: relative; z-index:9;
      height: 100vh;
      background: #000;
      overflow: hidden;
      display: flex; align-items: flex-end; justify-content: center;
    }
	.mov {position:absolute; left:0; top:0; width:100%; height:100%; background:#0A0F22; overflow:hidden;}
    /* 비디오 로딩 전 검은 화면 방지 */
    .mov video {width:100%; height:100%; object-fit:cover; opacity:0; transition: opacity 0.5s;}
    .mov video.loaded {opacity:.6;}
	
    .hero__content {
      position: relative;
      display: flex; flex-direction: column;
      align-items: center; gap: 60px;
      padding-bottom: 150px; width: 100%;
    }
    .hero__title {
      font-size: var(--fs70); font-weight: 700;
      color: #f8f9fa; line-height: 1.2;
      text-align: center;
    }
    .hero__sub {
      display: flex; flex-direction: column;
      align-items: center; gap: 10px;
    }
    .hero__sub-en {
      font-size:var(--fs20); font-weight: 700;
      color: var(--c_base2); white-space: nowrap;
    }
    .hero__sub-ko {
      font-size: var(--fs16); font-weight: 500;
      color: #fff; line-height: 1.6; text-align: center;
    }
    /* Scroll indicator (mouse icon) */
    .hero__scroll {
      width: 24px; height: 40px;
      border: 2px solid rgba(255,255,255,0.3);
      border-radius: 100px;
      display: flex; justify-content: center;
      padding-top: 10px;
    }
    .hero__scroll-dot {
      width: 4px; height: 6px;
      background: #fff; opacity: 0.5;
      border-radius: 100px;
    }

    /* ── SERVICE SECTION (대기분야) ── */
	.service {margin-top:-2px;}
	.service .text-wrap { position: absolute; top: 0; left: 10%; width: 40%; height: 100%; display: flex; align-items: center; z-index: 2;}
    .service .text-item { position: absolute; opacity: 0; transform: translateY(80px); max-width:600px; }
	
    .service .service__bg {
      position: absolute; inset: 0;
      width: 100%; height: 100%;
      object-fit: cover;
      pointer-events: none;
    }
    .service .service__inner {
      position: relative;
      display: flex; flex-direction: column;
      gap: 60px;
    }
    .service .service__top { display: flex; flex-direction: column; gap: 40px; }
    .service .service__label { display: flex; flex-direction: column; gap: 10px; }
    .service .service__num  { font-size: var(--fs32); font-weight: 700; color: #48a396; line-height: 1.4; }
    .service .service__tag  { font-size: var(--fs14); font-weight: 700; color: var(--c_base2); }
    .service .service__title{ font-size: var(--fs50); font-weight: 700; color: #fff; line-height: normal; }
    .service .service__desc {
      font-size: var(--fs17); font-weight: 400;
      color: rgba(255,255,255,0.8); line-height: 1.8;
    }
    .service .service__list { display: flex; flex-direction: column; gap: 16px; }
    .service .service__item { display: flex; align-items: flex-start; gap: 12px; }
    .service .service__item-icon { width: 20px; height: 20px; flex-shrink: 0; margin-top: 2px; }
    .service .service__item-text { display: flex; flex-direction: column; gap: 4px; }
    .service .service__item-name { font-size: var(--fs16); font-weight: 600; color: #fff; line-height: 24px; }
    .service .service__item-sub  { font-size: var(--fs14); font-weight: 400; color: rgba(255,255,255,0.6); line-height: 22.4px; }
    .service .service__btn {
      display: inline-flex; align-items: center; justify-content: center;
      padding: 16px 40px;
      background: var(--c_base1); border-radius: 100px;
      font-size: var(--fs16); font-weight: 500; color: #fff;
      text-decoration: none; white-space: pre; align-self: flex-start;
      cursor: pointer;
    }

    /* Side indicator dots */
    .side-indicator {
      position: absolute;
      left: 100px; top: 50%;
      transform: translateY(-50%);
      display: flex; flex-direction: column;
      align-items: center; gap: 16px;
    }
    .side-indicator__dot {
      width: 36px; height: 36px;
      border: 2px solid rgba(255,255,255,0.2);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
    }
    .side-indicator__dot-inner {
      width: 4px; height: 4px;
      background: #fff; border-radius: 50%;
    }
    .side-indicator__line {
      width: 1px; height: 200px;
      background: rgba(255,255,255,0.2);
    }

    /* ── PROJECTS ── */
    .projects {
      background: #fff;
      padding: 120px 260px;
      display: flex; flex-direction: column; gap: 40px;
    }
    .projects__header {
      display: flex; align-items: flex-end; justify-content: space-between;
    }
    .projects__heading { display: flex; flex-direction: column; gap: 8px; }
    .projects__label { font-size: var(--fs14); font-weight: 700; color: var(--c_base2); }
    .projects__title { font-size: var(--fs50); font-weight: 700; color: #000; line-height: normal; }
    .projects__sub   { font-size: var(--fs16); font-weight: 400; color: #444; }
    .projects__filters { display: flex; gap: 8px; align-items: center; }
    .filter-btn {
      padding: 12px 24px; border-radius: 100px;
      font-size: var(--fs16); font-weight: 600; cursor: pointer;
      border: 1px solid #e5e5e5; background: #fff; color: #000;
      white-space: nowrap;
    }
    .filter-btn.on { background: var(--c_base1); color: #fff; border-color: var(--c_base1); font-weight: 500; }
    .projects__list {
      display: grid; grid-template-columns: repeat(3, 1fr);
      gap: 40px; max-width: 1400px;
    }
    .project-card { display: flex; flex-direction: column; gap: 20px;}
    .project-card__img {
      height: 280px; background: #000;
      overflow: hidden; position: relative;
    }
    .project-card__img img {
      position: absolute; inset: 0;
      width: 100%; height: 100%; transition:all .3s;
      object-fit: cover; opacity: 0.9;
    }
    .project-card__body { display: flex; flex-direction: column; gap: 8px; }
    .project-card__title { font-size: var(--fs20); font-weight: 500; color: #000; line-height: 1.2; }
    .project-card__date  { font-size: var(--fs16); font-weight: 400; color: #444; }
	
	.project-card:hover .project-card__img img {transform:scale(1.05);}

    /* ── CORE VALUES ── */
    .values {
      position: relative;
      background: #000;
      padding: 200px 260px;
      overflow: hidden;
      display: flex; justify-content: center;
    }
    .values__bg {
      position: absolute; inset: 0;
      width: 100%; height: 100%;
      object-fit: cover; opacity: 0.8;
      pointer-events: none;
    }
    .values__inner {
      position: relative;
      display: flex; flex-direction: column;
      align-items: center; gap: 60px;
      width: 100%; max-width: 1400px;
    }
    .values__heading {
      font-size: var(--fs50); font-weight: 400;
      line-height: 1.4; text-align: center;
      letter-spacing: -1.5px; white-space: nowrap;
    }
    .values__heading .line1 { color: #fff; }
    .values__heading .line2 { color: var(--c_base2); }
    .values__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; width: 100%; }
    .value-card { display: flex; flex-direction: column; align-items: center; gap: 18px; }
    .value-card__icon-wrap {
      width: 96px; height: 96px; border-radius: 50%;
      background: rgba(60,126,210,0.3);
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
    }
    .value-card__icon-wrap img { width: 48px; height: 48px; display: block; }
    .value-card__name  { font-size: var(--fs22); font-weight: 700; color: #fff; text-align: center; }
    .value-card__desc  { font-size: var(--fs16); font-weight: 500; color: rgba(255,255,255,0.8); text-align: center; line-height: 1.6; }

    /* ── NEWS ── */
    .news {
      background: #f7f7f7;
      padding: 120px 260px;
      display: flex; flex-direction: column; gap: 40px;
      overflow: hidden;
    }
    .news__header {
      display: flex; align-items: center; justify-content: space-between;
    }
    .news__heading { display: flex; flex-direction: column; gap: 0; }
    .news__label { font-size: var(--fs14); font-weight: 700; color: var(--c_base2); line-height: normal; }
    .news__title { font-size: var(--fs50); font-weight: 700; color: #000; line-height: normal; }
    .news__more  {
      display: flex; align-items: center; gap: 8px;
      text-decoration: none; color: #000;
      font-size: var(--fs15); font-weight: 400;
    }
    .news__more img { width: 20px; height: 20px; }
	.news__more:hover {gap:20px;}
    .news__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 80px; }
    .news-card { display: flex; flex-direction: column; gap: 20px; }
    .news-card__body { display: flex; flex-direction: column; gap: 10px; }
    .news-card__title {
      font-size: var(--fs24); font-weight: 400; color: #000;
      line-height: 1.4; min-height: 68px; transition:all .3s;
      overflow: hidden; text-overflow: ellipsis; display: -webkit-box; white-space: normal; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    }
    .news-card__desc {
      font-size: var(--fs16); font-weight: 400; color: #444;
      line-height: 1.6; overflow: hidden; transition:all .3s;
	  text-overflow: ellipsis; display: -webkit-box; white-space: normal; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    }
    .news-card__meta { display: flex; align-items: center; gap: 20px; }
    .news-card__tag  {
      font-size: var(--fs16); font-weight: 600; color: #48a396;
      text-decoration: underline; text-underline-offset: 3px;
      text-decoration-thickness: 2px;
    }
    .news-card__date { font-size: var(--fs16); font-weight: 400; color: #444; }
	
	.news-card:hover .news-card__title {text-decoration:underline;}
	.news-card:hover .news-card__desc {text-decoration:underline;}
	
    /* ── RESPONSIVE ── */
    @media (max-width: 1199px) {
      body { min-width: 0; }
      /* .header { padding: 30px 40px; } */
      /* .header__nav { gap: 40px; } */
      /* .header__nav a { font-size: 16px; } */
      .hero { height: 700px; }
	  .hero__content {gap:50px;}
      .service { height: auto;}
      .side-indicator { display: none; }
	  
	  .service #pin-master {}
	  .service .text-wrap {width:100%; position:static; display:block;}
	  .service .text-item {padding:70px 50px; opacity:1; transform:none; position:static; width:100%; max-width:100%; background:center /cover no-repeat;}
	  .service .text-item#text1 {background-image:url(/images/main/img_service_01.WEBP);}
	  .service .text-item#text2 {background-image:url(/images/main/img_service_02.WEBP);}
	  .service .text-item#text3 {background-image:url(/images/main/img_service_03.WEBP);}
	  .service .service__inner {}
	  .service .service__top {}
	  .service .service__btn {}
	  
      .projects { padding: 80px 40px; }
      .projects__list { gap: 24px; }
      .values { padding: 120px 40px; }
      .values__heading { white-space: normal; text-align: center; }
      .news { padding: 80px 40px; }
      .news__list { gap: 40px; }
	  .news-card__title {min-height:auto;}
    }

    @media (max-width: 767px) {
      .hero { height: auto; }
      .hero__sub-en {white-space: normal; text-align: center; }
      .hero__content {gap:40px; padding:200px 20px 80px 20px; padding-left: 20px; padding-right: 20px; }
      .service {}
	  .service .text-item {padding:50px 40px; background-position:60% 50%;}
	  /* .service .text-wrap {width:80%;} */
	  .service .service__inner {gap:40px;}
	  .service .service__top {gap:30px;}
	  .service .service__btn {padding:12px 30px;}
      .service__title { }
      .projects { padding: 60px 20px; }
      .projects__header { flex-direction: column; align-items: flex-start; gap: 20px; }
      .projects__filters { flex-wrap: wrap; }
      .projects__list { grid-template-columns: 1fr; gap: 32px; }
      .values { padding: 80px 20px; }
      .values__heading { white-space: normal; }
      .values__cards { grid-template-columns: 1fr; gap: 40px; }
      .news { padding: 60px 20px; }
      .news__list { grid-template-columns: 1fr; gap: 40px; }
	  
    }