* {
  font-family: 
    "Poppins",
    -apple-system,
    BlinkMacSystemFont,
    "Apple SD Gothic Neo",
    "Noto Sans KR",
    sans-serif !important;
}
*{box-sizing:border-box}
:root{
  --bg:#d9d9d7;
  --white:#f2f2ef;
  --text:#111111;
  --header-height:76px;
  --radius:38px;
  --logo-width:126px;
}
body{
  margin:0;
  font-family:"Poppins","Apple SD Gothic Neo","AppleSDGothicNeo","Noto Sans KR",sans-serif;
  color:var(--text);
  background:var(--bg);
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}


.intro-scroll{
  height:620vh;
  position:relative;
}
.intro-scroll{
  position:relative;
  z-index:1;
}
.intro-sticky{
  position:sticky;
  top:0;
  height:100vh;
  overflow:hidden;
}
.hero-video-layer,
.snap-section{
  position:relative;
  width:100%;
  height:100vh;
  min-height:100vh;
  overflow:hidden;
  transform:scale(1.06);
  transform-origin:center center;
  will-change:transform;
}
.last-visual{
  position:relative;
  width:100%;
  height:100vh;
  overflow:hidden;
}

/* 마지막 섹션이 화면을 꽉 채우고 아래에 아무 공간도 남기지 않게 함 */
.last-section {
  position: relative;
  z-index: 3;
  height: 100vh !important;
  min-height: 100vh !important;
  background: #000 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.bg-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  background:#bbb;
}
.intro-next-video-layer{
  position:fixed;
  inset:0;
  z-index:2;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
}

.hero-video-layer{
  z-index:1;
}

.white-panel-shell{
  z-index:4;
}
.hero-video-layer::after,
.snap-section::after,
.last-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.05),rgba(0,0,0,0) 38%,rgba(0,0,0,.06));
  pointer-events:none;
}

.intro-progress{
  position:fixed;
  right:28px;
  top:50%;
  transform:translateY(-50%);
  z-index:50;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  padding:4px 0;
}

.intro-progress::before{
  content:"";
  position:absolute;
  top:8px;
  bottom:8px;
  left:50%;
  width:2px;
  transform:translateX(-50%);
  background:rgba(255,255,255,.35);
  display: none; /* 이 줄을 추가하여 선을 숨깁니다 */
}
.intro-progress{
  pointer-events:none;
}

.intro-progress .dot{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  mix-blend-mode: difference; /* 배경색과 대비되는 색으로 자동 반전 */
  z-index: 51; /* 배경보다 항상 위에 있도록 설정 */
}
.dot{
  position:relative;
  z-index:1;
  width:10px;
  height:10px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.9);
  background: none;
  box-shadow: none;
  opacity:1;
  transition:transform .2s ease, background .2s ease, border-color .2s ease, opacity .2s ease;
}
.dot.is-active{
  background:#ffffff;
  border-color:#ffffff;
  transform:scale(1.35);
}

.white-panel-shell{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  width:100%;
  height:90vh;
  z-index:4;
  transform:translateY(100%);
  will-change:transform;
  overflow:hidden;
  border-radius:0;
}
.panel-track{
  position:absolute;
  inset:0 0 auto 0;
  height:10vh;
  will-change:transform;
  backface-visibility:hidden;
  transform:translateZ(0);
  background:transparent;
}
.panel-screen{
  position:relative;
  width:100%;
  height:100vh;
  margin-bottom:-1px;
}
.panel-screen-copy{
  background:transparent;
}
.cutout-surface{
  position:absolute;
  inset:0;
  background:var(--white);
  pointer-events:none;
}
.copy-caption{
  position:absolute;
  left:50%;
  top:53%;
  transform:translateX(-50%);
  width:1300px;
  text-align:center;
  z-index:2;
}
.copy-caption p{
  margin:0;
  font-family:"Apple SD Gothic Neo","AppleSDGothicNeo","Noto Sans KR",sans-serif;
  font-size:20px;
  line-height:1.65;
  font-weight:600;
  letter-spacing:-0.01em;  /* 글자 간격 */
  color:#000000;
  word-break:keep-all;
}

.copy-caption p span{
  display:block;
  white-space:nowrap;
}

.panel-screen-service{
  background:var(--white);
  display:flex;
  align-items:center;
}
.service-rail{
  width:min(1700px,calc(100% - 36px));
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr minmax(820px,540px) 1fr;
  align-items:center;
}
.side-label{
  font-family:"Poppins",sans-serif;
  font-size:clamp(2.7rem,4.2vw,4.65rem);
  font-weight:500;
  letter-spacing:-.015em;
  line-height:1;
}
.side-label.left{justify-self:start}
.side-label.right{justify-self:end}

.roulette-window{
  position:relative;
  height:560px;
  overflow:hidden;
  perspective:1400px;
  perspective-origin:50% 50%;
  isolation:isolate;
}
.roulette-window::before,.roulette-window::after{
  content:"";
  position:absolute;
  left:0;right:0;
  height:82px;
  z-index:2;
  pointer-events:none;
}

.roulette-window::before{
  top:0;
  background:linear-gradient(to bottom,var(--white),rgba(242,242,239,0));
}
.roulette-window::after{
  bottom:0;
  background:linear-gradient(to top,var(--white),rgba(242,242,239,0));
}
.roulette-track{
  position:absolute;
  inset:0;
  transform-style:preserve-3d;
  will-change:transform;
  pointer-events:none;
}
.roulette-item{
  position:absolute;
  left:50%;
  top:50%;
  width:100%;
  text-align:center;
  transform-origin:50% 50%;
  backface-visibility:hidden;
  will-change:transform, opacity, filter;
  font-family:"Apple SD Gothic Neo","AppleSDGothicNeo","Noto Sans KR",sans-serif;
  font-size:70px;
  line-height:1.16;
  font-weight:700;
  letter-spacing:-.05em;
  color:#d0d0d0;
  opacity:0;
  filter:blur(0px);
}
.roulette-item.is-active{
  color:#111;
}

.snap-section{
  position:relative;
  width:100%;
  height:100vh;
  min-height:100vh;
  overflow:hidden;
  transform:scale(1.06);
  transform-origin:center center;
  will-change:transform;
}
.section-overlay{
  position:absolute;
  inset:0;
  z-index:2;
}
.section-number{
  display:none;
}

.footer-panel{
  position:relative;
  z-index:3;
  background:var(--white);
  min-height:210px;
  padding:28px 24px 18px;
}
/* 수정: 기존 .footer-top을 찾아서 아래와 같이 바꿉니다 */
.footer-top {
  display: none !important; /* START CREATIVE 문구 삭제 */
}
.footer-word{
  font-family:"Poppins",sans-serif;
  font-size:clamp(2.4rem,4.5vw,4.3rem);
  font-weight:700;
  line-height:1;
  letter-spacing:-.06em;
}
/* 푸터 전체 컨테이너 */
.footer-panel {
  display: flex;
  flex-direction: column;
  align-items: center; /* 가로 중앙 정렬 */
  justify-content: center;
  padding: 80px 0 !important; /* 상하 여백 넉넉히 */
  background: #ffffff !important;
  min-height: auto !important;
}

/* 1단: SNS 아이콘 영역 */
.footer-sns {
  display: flex;
  gap: 30px; /* 아이콘 사이 간격 키움 */
  margin-bottom: 20px; /* 아래 카피라이트와의 간격 */
}

.footer-sns a svg {
  width: 32px !important; /* 아이콘 크기 확대 */
  height: 32px !important;
  stroke-width: 1.5; /* 선 굵기 조절 */
  transition: transform 0.3s ease;
}

.footer-sns a:hover svg {
  transform: scale(1.1);
}

/* 2단: 카피라이트 영역 */
.copyright {
  margin: 0 !important;
  font-size: 14px !important; /* 가독성 좋게 살짝 키움 */
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #000;
  text-align: center;
}

/* 기존 불필요한 레이아웃 초기화 */
.footer-bottom {
  display: block !important;
  width: auto !important;
  border: none !important;
  padding: 0 !important;
}

/* 기존 address 등 불필요한 스타일은 무시됨 */
.address { display: none; }
.copyright,.address{
  font-family: 'Poppins', sans-serif;
  font-size: 5px;
  font-weight: 300;
  letter-spacing: 0.08em;
  color: #777;
}
.address{text-align:right}
.social-links{
  display:flex;
  justify-content:center;
  gap:10px;
}
.social-link{
  width:31px;height:31px;border-radius:50%;
  border:1px solid rgba(17,17,17,.18);
  display:inline-flex;align-items:center;justify-content:center;
  color:#9a9a9a;background:rgba(0,0,0,.02);
  transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease;
}
.social-link:hover{
  color:#111;border-color:#111;background:rgba(17,17,17,.06);transform:translateY(-1px);
}
.social-link svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.8}

.blank-page{background:var(--bg)}
.blank-main{min-height:100vh;display:flex;flex-direction:column}
.blank-hero{min-height:calc(100vh - 210px)}
.blank-footer{margin-top:auto}
.force-show{display:block!important}

@media (max-width:1100px){
  .service-rail{
    grid-template-columns:1fr;
    gap:28px;
  }
  .side-label{
    display:none;
  }
}
@media (max-width:900px){
  :root{
    --header-height:68px;
    --radius:32px;
    --logo-width:98px;
  
  }
  .service-rail{width:calc(100% - 26px)}
  .roulette-window{height:208px}
  .roulette-item{font-size:1.34rem}
  .footer-panel{padding-inline:18px}
  .copyright,.address{text-align:center}
}
@media (max-width:640px){
  .gnb{gap:6px}
  .gnb a{font-size:.5rem;padding:6px 8px}
  .intro-progress{right:14px}
  .section-number{right:14px}
  .footer-word{font-size:2rem}
}
.scroll-cue{
  position:absolute;
  left:50%;
  bottom:34px;
  width:64px;
  height:32px;
  transform:translateX(-50%);
  z-index:10;
  animation:scrollCue 1.8s ease-in-out infinite;
  pointer-events:none;
}

.scroll-cue span{
  position:absolute;
  top:0;
  width:32px;
  height:3px;
  background:#fff;
  border-radius:999px;
}

.scroll-cue span:first-child{
  left:0;
  transform:rotate(45deg);
  transform-origin:right center;
}

.scroll-cue span:last-child{
  right:0;
  transform:rotate(-45deg);
  transform-origin:left center;
}

@keyframes scrollCue{
  0%{
    transform:translateX(-50%) translateY(0);
    opacity:.45;
  }
  50%{
    transform:translateX(-50%) translateY(16px);
    opacity:1;
  }
  100%{
    transform:translateX(-50%) translateY(0);
    opacity:.45;
  }
}
.intro-sticky{
  position:sticky;
  top:0;
  height:100vh;
  overflow:hidden;
  isolation:isolate;
}

.intro-next-video-layer{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
  opacity:1;
  transform:scale(1);
}

.hero-video-layer{
  z-index:3;
}

.white-panel-shell{
  z-index:4;
}

.snap-section:first-of-type{
  opacity:0;
}
/* 흰색 배경(on-light)일 때 우측 점들의 색상 */
.intro-progress.on-light .dot {
  border-color: rgba(0, 0, 0, 0.3); /* 얇은 검정 테두리 */
}

/* 흰색 배경에서 활성화된 점의 색상 */
.intro-progress.on-light .dot.is-active {
  background: #000000;             /* 선명한 검정색 */
  border-color: #000000;
}
.detail-header-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(320px, 0.7fr);
    gap: 5px;
    align-items: end;
    margin-bottom: 28px;
}

.detail-header-left h1 {
    font-size: 55px;
    font-weight: 600;
    text-transform: uppercase;
    margin: 0 0 18px 0;
}

.service-name {
    font-size: 22px;
    margin: 0 0 14px 0;
    color: #333;
}

.project-meta {
    font-size: 14px;
    color: #777;
    margin: 0;
    letter-spacing: 0.02em;
}

.detail-header-right {
    display: flex;
    align-items: flex-end;
    min-height: 100%;
}

.desc-en {
    width: 100%;
    line-height: 1.7;
    font-size: 15px;
    word-break: keep-all;
    white-space: pre-line;
    margin: 0;
    color: #777;
    text-align: left;
}

.divider {
    border: 0;
    border-top: 1px solid #ddd;
    margin: 0 0 40px 0;
}

.detail-description {
    display: block;
    margin-bottom: 80px;
}

.desc-ko {
    width: calc((100% - 5px) * 1.65 / 2.35);
    line-height: 1.7;
    font-size: 15px;
    word-break: keep-all;
    white-space: pre-line;
    margin: 0;
}

.project-cta {
  position: absolute;
  left: 50%;
  bottom: 120px;
  transform: translateX(-50%);
  z-index: 6;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  text-align: center;
}

.project-cta-title {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
  color: #ffffff;
  letter-spacing: -0.02em;
}

.project-cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 112px;
  height: 38px;
  padding: 0 20px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.9);
  background: transparent;
  color: #ffffff;
  font-family: "Poppins", sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-decoration: none;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.project-cta-button:hover {
  background: #ffffff;
  color: #111111;
  border-color: #ffffff;
}

@media (max-width: 900px) {
  .project-cta {
    bottom: 34px;
    gap: 8px;
  }

  .project-cta-title {
    font-size: 16px;
  }

  .project-cta-button {
    min-width: 96px;
    height: 34px;
    font-size: 12px;
    padding: 0 16px;
  }
}
.footer-panel {
  background: #ffffff !important;
  padding: 32px 40px 28px !important;
}

.footer-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
}

.footer-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.footer-heading {
  margin: 0 0 14px 0;
  font-family: "Poppins", sans-serif;
  font-size: 28px;
  font-weight: 300;
  letter-spacing: -0.03em;
  color: #111;
}

.footer-info {
  margin: 0 0 4px 0;
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.45;
  color: #111;
}

.footer-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
}

.footer-logo {
  width: 42px;
  height: auto;
  display: block;
}

.footer-sns {
  display: flex;
  align-items: center;
  gap: 14px;
}

.footer-sns a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #111;
  text-decoration: none;
  font-family: "Poppins", sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.footer-copy {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #777;
}

/* 기존 예전 푸터 스타일 영향 차단 */
.footer-panel .footer-content,
.footer-panel .copyright,
.footer-panel .address,
.footer-panel .social-links,
.footer-panel .social-link,
.footer-panel .footer-bottom,
.footer-panel .footer-top,
.footer-panel .footer-word {
  all: unset;
}

@media (max-width: 900px) {
  .footer-panel {
    padding: 24px 20px 22px !important;
  }

  .footer-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 28px;
  }

  .footer-heading {
    font-size: 22px;
    margin-bottom: 10px;
  }

  .footer-info {
    font-size: 14px;
  }

  .footer-logo {
    width: 36px;
  }

  .footer-copy {
    font-size: 10px;
  }
}
/* ===== FOOTER RESET + NEW LAYOUT ===== */
.footer-panel {
  display: block !important;
  width: 100% !important;
  background: #ffffff !important;
  padding: 34px 40px 28px !important;
  min-height: auto !important;
}

.footer-inner {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
}

.footer-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.footer-heading {
  margin: 0 0 14px 0;
  font-family: "Poppins", sans-serif;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: #111;
}

.footer-info {
  margin: 0 0 4px 0;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
  color: #111;
}

.footer-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  text-align: right;
}

.footer-logo {
  width: 38px;
  height: auto;
  display: block;
}

.footer-sns {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
}

.footer-sns a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #111;
  text-decoration: none;
  font-family: "Poppins", sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.footer-copy {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.00em;
  color: #000000;
}

/* 기존 footer 영향 제거 */
.footer-content,
.copyright,
.address,
.footer-bottom,
.footer-top,
.footer-word,
.social-links,
.social-link {
  all: unset;
}

@media (max-width: 900px) {
  .footer-panel {
    padding: 24px 20px 22px !important;
  }

  .footer-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }

  .footer-right {
    align-items: flex-start;
    text-align: left;
  }
}
.detail-youtube-wrap,
.detail-main-image,
.detail-main-empty {
    width: 100%;
    aspect-ratio: 16 / 10;
    display: block;
    background: #000;
}

.detail-youtube-wrap iframe {
    width: 100%;
    height: 100%;
}

.detail-main-image {
    object-fit: cover;
}
.container {
  max-width: 1600px;
  margin: 0 auto;
  padding-left: 60px;
  padding-right: 60px;
}
/* ===== FOOTER FINAL FIX ===== */
.footer-panel {
  display: block !important;
  width: 100% !important;
  background: #ffffff !important;
  padding: 34px 60px 28px !important;
  min-height: auto !important;
}

.footer-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  gap: 40px;
}
.footer-heading {
  font-family: "Poppins", sans-serif;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.03em;
  margin-bottom: 18px;
}
.footer-info {
  font-size: 12px;
  font-weight: 400;
  letter-spacing: -0.02em;
  color: #111;
}
.footer-info .label {
  font-weight: 700;
  margin-right: 6px;
}
.footer-sns {
  display: flex;
  gap: 18px;
}

.footer-sns {
  display: flex;
  gap: 16px;
}




.footer-right {
  position: relative;
}


.footer-panel {
  position: relative !important;
}

.footer-sns {
  position: absolute !important;
  left: 50% !important;
  bottom: 42px !important;
  transform: translateX(-50%) !important;
  z-index: 10;
}
.footer-sns .icon {
  width: 50px;
  height: 50px;
  border: 1px solid #8d8d8d;   /* 얇은 라인 */
  border-radius: 50%;
  background: transparent;  /* 채우기 제거 */
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.footer-sns .icon svg {
  width: 18px;
  height: 18px;
  transform: scale(0.75);   /* 인스타 여백 유지 */
}

/* 유튜브 삼각형만 채우기 */
.footer-sns .icon svg polygon {
  fill: #ffffff;
  stroke: none;
}
.hero-text{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  text-align:center;
  z-index:5;
}

.hero-text h1{
  font-family:"Poppins";
  font-size:120px;
  font-weight:700;
  color:#111; /* 그냥 단색 */
  letter-spacing:-0.02em;
}
/* ===== SERVICE TEXT ONLY ===== */
.panel-screen-service {
  background: #f2f2ef;
  display: flex;
  align-items: center;
  justify-content: center;
}

.service-card-only {
  width: 100%;
  height: 100vh;
  background: #f2f2ef;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.service-card-only h2 {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 46px;
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: -0.04em;
  text-align: center;
  color: #000;
}

.service-divider {
  width: 1px;
  height: 22px;
  background: #d8d8d8;
  margin: 22px 0 18px;
}

.service-current {
  font-family: "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #000;
  text-align: center;
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.service-current.is-changing {
  opacity: 0;
  transform: translateY(10px);
}
.blank-main {
  min-height: 100vh;
}


.intro-blank {
  position: relative;
  width: 100%;
    height: calc(100vh - 130px);
  background: #ffffff;
  overflow: hidden;
}

.main-media-stage {
  position: absolute;
  left: 50%;
  top: 58%;
  max-width: none;
  max-height: none;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.main-media-stage {
  width: 100vw;
  height: 100vh;
  overflow: visible;
}

.main-media-stage video {
  max-width: none !important;
  max-height: none !important;
  width: auto;
  height: auto;
}
body {
  cursor: none;
}

.cursor {
  position: fixed;
  left: 0;
  top: 0;
  pointer-events: none;
  z-index: 999999;
  transform: none;
}

.cursor-circle {
  width: 24px;
  height: 24px;
  border: 2px solid #000;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.cursor-arrow {
  position: absolute;
  left: 0;
  top: 0;
  transform: translate(-50%, -50%);
  font-size: 64px;
  transform: translate(-50%, -50%) scaleX(-1);
  line-height: 1;
  color: #000;
  opacity: 0;
}

.cursor.is-link .cursor-circle {
  opacity: 0;
}

.cursor.is-link .cursor-arrow {
  opacity: 1;
}
html,
body,
a,
button,
[role="button"],
.footer-sns a,
.project-cta-button {
  cursor: none !important;
}
.main-media-stage {
  overflow: hidden !important;
}

.main-media-stage video {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s ease;
  opacity: 1;
}
.media-click-area {
  position: absolute;
  left: 50%;
  top: 60%; /* ← 여기로 위치 조절 */
  transform: translate(-50%, -50%);

  width: 800px;  /* ← 클릭 범위 */
  height: 300px;

  cursor: none;
  z-index: 10;
}
.media-click-area {
  pointer-events: auto;
}

/* =========================================================
   HIGGS NEW HOME INDEX
   ========================================================= */

body.home-index {
  background: #ffffff !important;
  color: #000000;
  overflow-x: hidden;
}

body.home-index .home-page {
  width: 100%;
  background: #ffffff;
}

/* 기존 헤더 유지 + 메인에서만 스크롤 이동 연출 */
body.home-index #siteHeader {
  --home-header-y: 0px;
  transform: translateY(var(--home-header-y));
  transition:
    padding 0.4s ease,
    background-color 0.4s ease;
}

/* 중앙에 떠 있는 동안은 배경/블러/축소 효과 제거 */
body.home-index:not(.home-header-docked) #siteHeader,
body.home-index:not(.home-header-docked) #siteHeader.is-scrolled,
body.home-index:not(.home-header-docked) #siteHeader.on-light {
  background: transparent !important;
  border-bottom: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  padding: 30px 60px !important;
}

/* 중앙에서 상단으로 이동 중일 때는 메뉴 3개 전부 보이게 고정 */
body.home-index:not(.home-header-docked) #siteHeader.is-scrolled .menu-item:not(.is-active) {
  transform: translateY(0) !important;
}

/* 메인페이지 헤더 글자는 항상 검정 */
body.home-index #siteHeader .menu-item a {
  color: #000000 !important;
}



/* 메인페이지는 항상 검정 헤더 텍스트 */
body.home-index #siteHeader .menu-item a {
  color: #000000 !important;
}

/* HERO */
.home-hero {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 760px;
  background: #ffffff;
  overflow: hidden;
    isolation: isolate;
}

.home-hero-media {
  position: fixed;
  left: 50%;
  top: 50%;
width: clamp(50px, 42vw, 1380px);
height: clamp(50px, 42vw, 1380px);
  transform: translate(-50%, -50%) scale(1);
  z-index: 4;
  pointer-events: none;
  will-change: opacity, transform, filter;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
background: transparent !important;
}

.home-hero-video {
  width: 108%;
  height: 108%;
  object-fit: contain;
  object-position: center center;
  display: block;
  mix-blend-mode: screen;
  transform: translateY(-2%);
}

.home-hero-copy {
  position: absolute;
  left: 50%;
  top: 66%;
  transform: translateX(-50%);
  margin: 0;
  width: min(540px, 86vw);
  text-align: center;
  font-family: "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
  font-size: 13px;
  line-height: 1.75;
  font-weight: 500;
  letter-spacing: -0.03em;
  color: #000;
  z-index: 3;
  word-break: keep-all;
}

/* 4 BLACK BOXES */
.home-audience-section {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  width: 100%;
  height: 250px;
  background: #000;
  margin-top: -1px;
}

.home-audience-card {
  position: relative;
  height: 100%;
  background: #000;
  color: #fff;
  border-right: 1px solid rgba(255,255,255,0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: none;
  overflow: hidden;
}

.home-audience-card:last-child {
  border-right: none;
}

.home-audience-card span {
  position: relative;
  z-index: 2;
  font-family: "Poppins", sans-serif;
  font-size: clamp(24px, 2.3vw, 42px);
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: -0.04em;
  text-align: center;
  transition: transform 0.35s ease, opacity 0.35s ease;
}

.home-audience-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.08);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.45s cubic-bezier(0.19, 1, 0.22, 1);
}

.home-audience-card:hover::after {
  transform: scaleX(1);
}

.home-audience-card:hover span {
  transform: scale(0.96);
  opacity: 0.85;
}

/* 마우스 따라오는 텍스트 박스 */
.home-follow-box {
  position: fixed;
  left: 0;
  top: 0;
  width: 280px;
  padding: 20px 22px;
  background: rgba(8, 8, 8, 0.88);
  backdrop-filter: blur(8px);
  color: #ffffff;
  z-index: 999997;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform: translate(22px, 22px);
  box-shadow: 0 12px 40px rgba(0,0,0,0.16);
  transition: opacity 0.18s ease, visibility 0.18s ease;
}

.home-follow-box.is-visible {
  opacity: 1;
  visibility: visible;
}

.home-follow-box strong {
  display: block;
  margin-bottom: 10px;
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  line-height: 1.15;
  font-weight: 500;
  letter-spacing: -0.03em;
}

.home-follow-box p {
  margin: 0;
  font-family: "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
  font-size: 14px;
  line-height: 1.55;
  font-weight: 400;
  letter-spacing: -0.03em;
  word-break: keep-all;
}

/* COPY */
.home-copy-section {
  position: relative;
  z-index: 2;
  height: 340px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
}

.home-copy-section p,
.home-process-copy {
  margin: 0;
  text-align: center;
  font-family: "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
  font-size: 22px;
  line-height: 1.75;
  font-weight: 500;
  letter-spacing: -0.03em;
  color: #000;
  word-break: keep-all;
}

/* PROCESS */
.home-process-section {
  position: relative;
  width: 100%;
  background: #f3f4f2;
  padding: 0 0 180px;
  overflow: hidden;
}

.home-process-copy.top {
  margin-bottom: 120px;
}

.home-process-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: minmax(180px, 25vw);
  gap: 0;
}

.home-process-block {
  position: relative;
  background: #000;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Poppins", sans-serif;
  font-size: clamp(24px, 2.1vw, 42px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.04em;
  text-align: center;
  overflow: hidden;
  cursor: none;
  transition:
    border-radius 0.55s cubic-bezier(0.19, 1, 0.22, 1),
    transform 0.55s cubic-bezier(0.19, 1, 0.22, 1),
    background 0.35s ease;
}

.home-process-block::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 34%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.55);
  transform: translate(-50%, -50%) scale(0);
  opacity: 0;
  transition:
    transform 0.55s cubic-bezier(0.19, 1, 0.22, 1),
    opacity 0.35s ease;
}

.home-process-block:hover {
  border-radius: 999px;
  transform: scale(0.94);
}

.home-process-block:hover::after {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}

/* 7칸 구조: Planning 2칸, Management 2칸, 나머지 1칸 */
.home-process-block.is-planning {
  grid-column: 3 / 5;
  grid-row: 1 / 2;
}

.home-process-block.is-contents {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}

.home-process-block.is-system {
  grid-column: 3 / 4;
  grid-row: 4 / 5;
}

.home-process-block.is-integration {
  grid-column: 1 / 2;
  grid-row: 5 / 6;
}

.home-process-block.is-management {
  grid-column: 2 / 4;
  grid-row: 6 / 7;
}

.home-process-copy.bottom {
  margin-top: 130px;
}

/* FOOTER가 너무 붙지 않게 */
body.home-index .footer-panel {
  margin-top: 0 !important;
}

/* RESPONSIVE */
@media (max-width: 1200px) {
  body.home-index #siteHeader {
    --home-header-y: 120px;
  }

  .home-audience-section {
    height: 220px;
  }

  .home-process-grid {
    grid-auto-rows: minmax(160px, 25vw);
  }
}

@media (max-width: 768px) {
  body.home-index #siteHeader {
    --home-header-y: 96px;
  }

  .home-hero {
    min-height: 640px;
  }

  .home-hero-media {
    top: 34%;
    width: 170px;
    height: 170px;
  }

  .home-hero-copy {
    top: 53%;
    font-size: 12px;
  }

  .home-audience-section {
    grid-template-columns: 1fr 1fr;
    height: auto;
  }

  .home-audience-card {
    height: 190px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.7);
  }

  .home-process-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 180px;
  }

  .home-process-block.is-planning,
  .home-process-block.is-management {
    grid-column: 1 / 3;
  }

  .home-process-block.is-planning { grid-row: 1 / 2; }
  .home-process-block.is-contents { grid-column: 1 / 2; grid-row: 2 / 3; }
  .home-process-block.is-system { grid-column: 2 / 3; grid-row: 3 / 4; }
  .home-process-block.is-integration { grid-column: 1 / 2; grid-row: 4 / 5; }
  .home-process-block.is-management { grid-row: 5 / 6; }

  .home-follow-box {
    display: none;
  }
}
/* ===== HERO GLASS VIDEO BLEND FIX ===== */

.home-hero-media {
  mix-blend-mode: normal !important;
  background: transparent !important;
  overflow: visible !important;
  isolation: isolate;
}

.home-hero-video {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 118%;
  height: 118%;
  object-fit: contain;
  object-position: center center;
  transform: translate(-50%, -52%);
}

/* 검정 배경 제거용 */
.home-hero-video-screen {
  mix-blend-mode: screen;
  opacity: 1;
  filter: brightness(0.78) contrast(1.45) saturate(1.1);
}

/* 형태 보강용 */
.home-hero-video-form {
  mix-blend-mode: normal;
  opacity: 0.18;
  filter: brightness(1.05) contrast(1.25);

  -webkit-mask-image: radial-gradient(
    ellipse 48% 45% at 50% 50%,
    #000 0%,
    #000 58%,
    rgba(0,0,0,0.5) 70%,
    transparent 84%
  );
  mask-image: radial-gradient(
    ellipse 48% 45% at 50% 50%,
    #000 0%,
    #000 58%,
    rgba(0,0,0,0.5) 70%,
    transparent 84%
  );
}
/* ===== HOME HERO VIDEO FINAL RESET ===== */

body.home-index,
body.home-index .home-page,
body.home-index .home-hero {
  background: #ffffff !important;
}

.home-hero-media {
  background: transparent !important;
  mix-blend-mode: normal !important;
  filter: none !important;
  opacity: 1 !important;
  overflow: visible !important;
}

.home-hero-video {
  mix-blend-mode: normal !important;
  filter: none !important;
  opacity: 1 !important;
  background: transparent !important;
}
/* =========================
   HERO ONLY - WORKS EFFECT
   ========================= */

/* 첫 화면에서는 가운데 WORKS를 오브젝트 뒤 연출처럼 */
body.home-index:not(.home-header-docked) #siteHeader .menu-item:nth-child(2) {
  position: relative;
  z-index: 2;
}

body.home-index:not(.home-header-docked) #siteHeader .menu-item:nth-child(2) a {
  display: inline-block;
  color: rgba(0, 0, 0, 0.72) !important;
  filter: blur(8px);
  opacity: 0.78;
  transform: translateY(-18px) scale(1.08) skewX(-6deg);
  letter-spacing: -0.02em;
  transition:
    filter 0.45s ease,
    opacity 0.45s ease,
    transform 0.45s ease,
    color 0.45s ease;
}

/* 오브젝트가 위에 오도록 */
body.home-index .home-hero-media {
  z-index: 4;
}

body.home-index #siteHeader {
  z-index: 3;
}

/* 상단 헤더 위치로 도킹되면 일반 헤더처럼 또렷하게 복귀 */
body.home-index.home-header-docked #siteHeader .menu-item:nth-child(2) a {
  color: #000 !important;
  filter: blur(0);
  opacity: 1;
  transform: translateY(0) scale(1) skewX(0deg);
  letter-spacing: 0;
}
/* ===== HERO COPY POSITION FINAL ===== */

/* ===== HERO COPY POSITION FINAL ===== */

.home-hero-copy {
  position: absolute !important;
  left: 50% !important;
  top: 80% !important;
  transform: translateX(-50%) !important;
  z-index: 20 !important;

  width: min(760px, 80vw) !important;
  margin: 0 !important;

  text-align: center !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
  letter-spacing: -0.03em !important;
  color: #222222 !important;
  word-break: keep-all !important;
}
/* ===== HOME AUDIENCE BOX FINAL ===== */

/* 4개 박스 정사각형 비율 */
.home-audience-section {
  height: auto !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  background: #000 !important;
  z-index: 5 !important;
}

.home-audience-card {
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
}

/* 헤더를 모든 섹션 위로 */
body.home-index #siteHeader {
  position: fixed !important;
  z-index: 10000 !important;
}

/* 모바일에서도 정사각형 유지 */
@media (max-width: 768px) {
  .home-audience-section {
    grid-template-columns: repeat(2, 1fr) !important;
    height: auto !important;
  }

  .home-audience-card {
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
  }
}
/* ===== HOME BACKGROUND WHITE FINAL ===== */

body.home-index {
  --bg: #ffffff;
  --white: #ffffff;
  background: #ffffff !important;
}

body.home-index .home-page,
body.home-index .home-hero,
body.home-index .home-copy-section,
body.home-index .home-process-section {
  background: #ffffff !important;
}
/* ===== AUDIENCE IMAGE FULL COVER FINAL ===== */

.home-audience-card {
  position: relative !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #000 !important;
}

/* 이미지가 정사각 박스를 꽉 채우게 */
.home-audience-card img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  z-index: 1 !important;

  opacity: 1 !important;
  transform: none !important;
}

/* 이미지 위 어두운 막 */
.home-audience-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, 0.35) !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

/* 기존 영어 텍스트를 이미지 위 중앙에 고정 */
.home-audience-card span {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 3 !important;

  width: 100% !important;
  padding: 0 28px !important;
  text-align: center !important;
  color: #ffffff !important;
}

/* hover 때 텍스트 위치 틀어지는 것 방지 */
.home-audience-card:hover span {
  transform: translate(-50%, -50%) !important;
  opacity: 1 !important;
}
/* ===== AUDIENCE HOVER VIDEO FINAL ===== */

.home-audience-card video.audience-video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;

  z-index: 2 !important;
  opacity: 0 !important;
  transition: opacity 0.35s ease !important;
  pointer-events: none !important;
}

/* 마우스 올리면 영상 등장 */
.home-audience-card:hover video.audience-video {
  opacity: 1 !important;
}

/* 마우스 올리면 중앙 영어 사라짐 */
.home-audience-card:hover span {
  opacity: 0 !important;
  transform: translate(-50%, -50%) scale(0.96) !important;
}

/* 이미지 위 어두운 막은 영상 위에도 살짝 유지 */
.home-audience-card::before {
  z-index: 3 !important;
}

/* 텍스트는 기본 상태에서 가장 위 */
.home-audience-card span {
  z-index: 4 !important;
}

/* 영상 hover 시 어두운 막을 조금 약하게 */
.home-audience-card:hover::before {
  background: rgba(0, 0, 0, 0.15) !important;
}
/* ===== HOME PROCESS TEXT POSITION FINAL ===== */

.home-copy-section {
  height: 360px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffffff !important;
}

.home-process-section {
  background: #ffffff !important;
  padding: 0 0 180px !important;
}

.home-process-grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  grid-auto-rows: minmax(180px, 25vw) !important;
  gap: 0 !important;
}

/* Planning: 정사각형 2개 가로 */
.home-process-block.is-planning {
  grid-column: 3 / 5 !important;
  grid-row: 1 / 2 !important;
}

/* Contents */
.home-process-block.is-contents {
  grid-column: 2 / 3 !important;
  grid-row: 2 / 3 !important;
}

/* 중간 문장 위치 */
.home-process-copy.top {
  grid-column: 2 / 4 !important;
  grid-row: 3 / 4 !important;
  align-self: center !important;
  justify-self: center !important;

  margin: 0 !important;
  text-align: center !important;
  font-size: 22px !important;
  line-height: 1.75 !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
  color: #000 !important;
}

/* System */
.home-process-block.is-system {
  grid-column: 3 / 4 !important;
  grid-row: 4 / 5 !important;
}

/* Integration */
.home-process-block.is-integration {
  grid-column: 1 / 2 !important;
  grid-row: 5 / 6 !important;
}

/* Management: 정사각형 2개 가로 */
.home-process-block.is-management {
  grid-column: 2 / 4 !important;
  grid-row: 6 / 7 !important;
}

/* 마지막 문장 */
.home-process-copy.bottom {
  margin-top: 130px !important;
  text-align: center !important;
}
/* ===== TEXT PARAGRAPH ALIGN FIX ===== */

/* 4개 박스 아래 문장 */
.home-copy-section p {
  text-align: right !important;
}

/* Contents / System 사이 문장 */
.home-process-copy.top {
  text-align: left !important;
}
/* ===== HOME COPY ATTACH TO CENTER GRID LINE ===== */

.home-copy-section {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  height: 360px !important;
  background: #ffffff !important;
}

/* 빨간 중앙 그리드 선의 왼쪽에 붙임 */
.home-copy-section p {
  grid-column: 1 / 3 !important;
  justify-self: end !important;
  align-self: center !important;

  width: max-content !important;
  margin: 0 !important;
  padding-right: 0 !important;
}
.home-process-copy.top {
  grid-column: 3 / 5 !important;
  grid-row: 3 / 4 !important;

  justify-self: start !important;
  align-self: center !important;

  width: max-content !important;
  margin: 0 !important;
  padding-left: 0px !important;

  text-align: left !important;
}
/* ===== PROCESS MIDDLE COPY POSITION ===== */

.home-process-copy.middle {
  grid-column: 3 / 4 !important;
  grid-row: 5 / 6 !important;

  justify-self: end !important;
  align-self: center !important;

  width: max-content !important;
  margin: 0 !important;
  padding-right: 0px !important;

  text-align: right !important;

  font-size: 22px !important;
  line-height: 1.75 !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
  color: #000 !important;
}

/* ===== PROCESS VIDEO BOX FINAL ===== */

.home-process-block {
  position: relative !important;
  overflow: hidden !important;
  background: #000 !important;
}

.home-process-video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  z-index: 1 !important;

  filter: brightness(0.65);
  pointer-events: none;
}

.home-process-block span {
  position: relative !important;
  z-index: 3 !important;
  color: #ffffff !important;
}
/* ===== AUDIENCE IMAGE HOVER ZOOM FINAL ===== */

.home-audience-card img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  z-index: 1 !important;

  opacity: 1 !important;
  transform: scale(1) !important;
  transition:
    transform 0.75s cubic-bezier(0.19, 1, 0.22, 1),
    filter 0.45s ease !important;

  filter: brightness(0.68) !important;
}

/* hover 시 영상 재생 대신 이미지 확대 */
.home-audience-card:hover img {
  transform: scale(1.08) !important;
  filter: brightness(0.78) !important;
}

/* 중앙 영어 텍스트 유지 */
.home-audience-card span {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 4 !important;

  opacity: 1 !important;
  color: #ffffff !important;
  text-align: center !important;
}

/* 기존 hover 때 텍스트 사라지는 코드 덮기 */
.home-audience-card:hover span {
  opacity: 1 !important;
  transform: translate(-50%, -50%) !important;
}

/* 영상용 태그가 혹시 남아 있어도 안 보이게 */
.home-audience-card .audience-video {
  display: none !important;
}
/* ===== HOME MIDDLE OBJECT SECTION ===== */

.home-middle-object-section {
  position: relative;
  width: 100%;
  height: 560px;
  background: #ffffff;
  overflow: hidden;
}

.middle-media-stage {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100vw;
  height: 100%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  pointer-events: none;
  z-index: 2;
}

.middle-media-stage video {
  position: absolute;
  left: 50%;
  top: 50%;
  max-width: none !important;
  max-height: none !important;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s ease;
  opacity: 1;
  pointer-events: none;
}
/* ===== MIDDLE OBJECT LAYOUT CLEAN FINAL ===== */

/* 4개 이미지 아래 문장 영역 */
.home-middle-copy-section {
  position: relative !important;
  width: 100% !important;
  height: 180px !important;
  background: #ffffff !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  z-index: 1 !important;
}

.home-middle-copy-section p {
  margin: 0 !important;
  text-align: center !important;

  font-size: 22px !important;
  line-height: 1.75 !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
  color: #000 !important;
}

/* 마우스 이동 오브젝트 전용 영역 */
.home-middle-object-section {
  position: relative !important;
  width: 100% !important;
  height: 420px !important;

  background: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
  isolation: isolate !important;
  z-index: 1 !important;
}

/* 오브젝트가 이 영역 안에서만 보이게 */
.middle-media-stage {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;

  width: 100% !important;
  height: 100% !important;

  transform: translate(-50%, -50%) !important;
  background: #ffffff !important;
  overflow: hidden !important;

  z-index: 2 !important;
}

/* 영상이 위로 튀어나오지 않게 */
.middle-media-stage video {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;

  transform: translate(-50%, -50%) !important;

  max-width: none !important;
  max-height: none !important;

  pointer-events: none !important;
}
/* ===== MIDDLE OBJECT SPACE / BELOW GAP FINAL ===== */

/* 오브젝트 전용 공간은 키움 */
.home-middle-object-section {
  height: 560px !important;
  background: #ffffff !important;
  overflow: hidden !important;
}

/* 오브젝트는 공간 중앙에 유지 */
.middle-media-stage {
  height: 100% !important;
  top: 50% !important;
}

/* 오브젝트 아래 문장 영역은 줄임 */
.home-copy-section {
  height: 100px !important;
  background: #ffffff !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  align-items: start !important;
  padding-top: 10px !important;
}

/* 기존 위치 정렬 유지 */
.home-copy-section p {
  grid-column: 1 / 3 !important;
  justify-self: end !important;
  align-self: start !important;

  width: max-content !important;
  margin: 0 !important;
  padding-right: 0px !important;

  text-align: right !important;
}
/* ===== MIDDLE OBJECT LOWER WITHOUT CUT ===== */

.home-middle-object-section {
  height: 760px !important;   /* 오브젝트가 움직일 공간 확보 */
  overflow: hidden !important;
  background: #ffffff !important;
}

/* stage 전체를 아래로 내림 */
.middle-media-stage {
  top: 88% !important;
}

/* video 자체 top 조절은 다시 50%로 복구 */
.middle-media-stage video {
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
}

/* 오브젝트 아래 여백은 줄임 */
.home-copy-section {
  height: 0px !important;
  padding-top: 0 !important;
}
/* ===== MIDDLE OBJECT FINAL CONTROL ===== */

/* 오브젝트가 잘리지 않을 만큼 공간 확보 */
.home-middle-object-section {
  position: relative !important;
  height: 1500px !important;
  background: #ffffff !important;
  overflow: hidden !important;

  /* 아래 여백은 여기서 제거 */
  margin-bottom: -260px !important;
}

/* 오브젝트 전체 위치 */
.middle-media-stage {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;

  width: 100% !important;
  height: 100% !important;

  transform: translate(-50%, -50%) !important;
  background: #ffffff !important;
  overflow: hidden !important;
}

/* 영상 자체는 중앙 유지 */
.middle-media-stage video {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;

  transform: translate(-50%, -50%) !important;

  max-width: none !important;
  max-height: none !important;
  pointer-events: none !important;
}

/* 아래 문장 영역 */
.home-copy-section {
  position: relative !important;
  z-index: 2 !important;

  height: 250px !important;
  padding-top: 10px !important;
  background: #ffffff !important;
}
/* ===== MIDDLE OBJECT GAP REAL FINAL ===== */

.home-middle-copy-section {
  height: 120px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.home-middle-object-section {
  position: relative !important;
  width: 100% !important;
  height: 1000px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
  overflow: hidden !important;
}

.middle-media-stage {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 100% !important;
  height: 100% !important;
  transform: translate(-50%, -50%) !important;
  background: #ffffff !important;
  overflow: hidden !important;
}

.middle-media-stage video {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  max-width: none !important;
  max-height: none !important;
  pointer-events: none !important;
}

/* 오브젝트 아래 문장 영역 */
.home-copy-section {
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding-top: 90px !important;
  padding-bottom: 80px !important;
  background: #ffffff !important;
}
/* ===== MIDDLE INTRO COPY POSITION DOWN ===== */

.home-middle-copy-section {
  align-items: flex-start !important;
  padding-top: 250px !important;
}
/* ===== MIDDLE COPY LAYER TOP FINAL ===== */

.home-middle-copy-section {
  position: relative !important;
  z-index: 9998 !important;
  overflow: visible !important;
}

.home-middle-copy-section p {
  position: relative !important;
  z-index: 9999 !important;
}

/* 오브젝트는 텍스트보다 아래 */
.home-middle-object-section {
  position: relative !important;
  z-index: 1 !important;
}

.middle-media-stage {
  z-index: 2 !important;
}
/* ===== GLOBAL MOBILE SAFETY FIX ===== */
@media (max-width: 768px) {
  html,
  body {
    width: 100%;
    overflow-x: hidden !important;
  }

  /* 모바일에서는 커스텀 커서 제거 */
  #mouse-canvas,
  #mouse-glass {
    display: none !important;
  }

  html,
  body,
  a,
  button,
  [role="button"] {
    cursor: auto !important;
  }

  /* HOME */
  .home-page {
    overflow-x: hidden;
  }

  .home-hero {
    min-height: 100svh !important;
    padding: 0 20px;
  }

  .home-hero-media {
    width: 220px !important;
    height: 220px !important;
    max-width: 70vw;
    max-height: 70vw;
  }

  .home-hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .home-hero-copy {
    width: calc(100% - 40px);
    left: 50%;
    font-size: 13px !important;
    line-height: 1.65;
    word-break: keep-all;
  }

  .home-audience-section {
    grid-template-columns: 1fr !important;
    height: auto !important;
  }

  .home-audience-card {
    height: 220px !important;
  }

  .home-audience-card span {
    font-size: clamp(28px, 10vw, 46px) !important;
  }

  .home-middle-copy-section,
  .home-copy-section {
    padding: 120px 20px !important;
  }

  .home-middle-copy-section p,
  .home-copy-section p {
    font-size: clamp(24px, 8vw, 42px) !important;
    line-height: 1.25;
    word-break: keep-all;
  }

  .home-middle-object-section {
    min-height: 80svh !important;
    overflow: hidden;
  }

  .middle-media-stage {
    width: 100vw !important;
    height: 80svh !important;
    overflow: hidden;
  }

  .middle-media-stage video,
  .middle-media-stage img {
    max-width: 92vw !important;
    max-height: 70svh !important;
    object-fit: contain !important;
  }

  .home-process-section {
    padding: 100px 20px !important;
  }

  .home-process-grid {
    grid-template-columns: 1fr !important;
    grid-auto-rows: 220px !important;
  }

  .home-process-block,
  .home-process-block.is-planning,
  .home-process-block.is-contents,
  .home-process-block.is-system,
  .home-process-block.is-integration,
  .home-process-block.is-management {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .home-process-copy.bottom {
    margin-top: 70px !important;
  }

  /* FOOTER */
  .footer-panel {
    padding: 34px 20px 90px !important;
  }

  .footer-inner {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 28px !important;
  }

  .footer-right {
    align-items: flex-start !important;
    text-align: left !important;
  }

  .footer-sns {
    position: static !important;
    transform: none !important;
    left: auto !important;
    bottom: auto !important;
    margin-top: 20px !important;
  }

  .footer-info {
    font-size: 12px !important;
    line-height: 1.5;
  }
}
/* ===== HOME MOBILE : KEEP PC LAYOUT, SCALE DOWN ===== */
@media (max-width: 768px) {
  body.home-index,
  body.home-index .home-page {
    overflow-x: hidden !important;
    background: #ffffff !important;
  }

  /* HERO */
  .home-hero {
    min-height: 100svh !important;
    padding: 0 !important;
  }

  .home-hero-media {
    width: 46vw !important;
    height: 46vw !important;
    max-width: 240px !important;
    max-height: 240px !important;
  }

  .home-hero-copy {
    width: 86vw !important;
    font-size: 12px !important;
    line-height: 1.65 !important;
    word-break: keep-all !important;
  }

  /* 4개 카드: PC처럼 4열 유지 */
  .home-audience-section {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    height: auto !important;
  }

  .home-audience-card {
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .home-audience-card span {
    font-size: clamp(11px, 4.4vw, 22px) !important;
    line-height: 0.95 !important;
    letter-spacing: -0.06em !important;
    padding: 0 4px !important;
  }

  .home-follow-box {
    display: none !important;
  }

  /* 중간 카피 */
  .home-middle-copy-section,
  .home-copy-section {
    height: 260px !important;
    min-height: 260px !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
  }

  .home-middle-copy-section p,
  .home-copy-section p {
    font-size: clamp(18px, 5.4vw, 28px) !important;
    line-height: 1.25 !important;
    letter-spacing: -0.05em !important;
    word-break: keep-all !important;
  }

  .home-copy-section p {
    grid-column: 1 / 3 !important;
    justify-self: end !important;
    align-self: center !important;
    width: max-content !important;
  }

  /* MIDDLE OBJECT */
  .home-middle-object-section {
    height: 75svh !important;
    min-height: 75svh !important;
    overflow: hidden !important;
  }

  .middle-media-stage {
    width: 100vw !important;
    height: 75svh !important;
    overflow: hidden !important;
  }

  .middle-media-stage video,
  .middle-media-stage img {
    width: auto !important;
    height: auto !important;
    max-width: 105vw !important;
    max-height: 68svh !important;
    object-fit: contain !important;
  }

  /* PROCESS: PC식 그리드 유지 */
  .home-process-section {
    padding: 80px 0 !important;
    overflow: hidden !important;
  }

  .home-process-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    grid-auto-rows: 25vw !important;
    gap: 0 !important;
  }

  .home-process-block {
    min-height: 0 !important;
  }

  .home-process-block span {
    font-size: clamp(12px, 4.2vw, 22px) !important;
    line-height: 1 !important;
    letter-spacing: -0.04em !important;
  }

  .home-process-copy.top,
  .home-process-copy.middle,
  .home-process-copy.bottom {
    font-size: clamp(12px, 3.6vw, 18px) !important;
    line-height: 1.55 !important;
    width: max-content !important;
    max-width: 46vw !important;
  }

  /* 이전 모바일 1열/2열 강제값 무력화 */
  .home-process-block.is-planning,
  .home-process-block.is-contents,
  .home-process-block.is-system,
  .home-process-block.is-integration,
  .home-process-block.is-management {
    grid-column: auto;
    grid-row: auto;
  }
}
/* ===== PC ONLY SCROLL CUE ARROW ===== */
/* ===== PC ONLY SCROLL CUE : CLEAN SVG CHEVRON ===== */

.pc-scroll-cue {
  display: none;
}

@media (min-width: 769px) {
  .home-hero,
  .contact-hero-section {
    position: relative !important;
  }

.pc-scroll-cue {
  display: block !important;
  position: absolute;
  left: 50%;
  bottom: 54px;
  width: 30px;
  height: 18px;
  transform: translateX(-50%);
  z-index: 30;
  pointer-events: none;
  opacity: 0.72;
  animation: pcScrollChevron 1.8s ease-in-out infinite;
  transition: opacity 0.35s ease, transform 0.35s ease;
  will-change: opacity, transform;
}

  .pc-scroll-cue svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  .pc-scroll-cue path {
    fill: none;
    stroke: rgba(17, 17, 17, 0.82);
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
  }

  .pc-scroll-cue-home {
    bottom: 54px;
  }

  .pc-scroll-cue-contact {
    bottom: 54px;
  }
}

@media (max-width: 768px) {
  .pc-scroll-cue {
    display: none !important;
  }
}

@keyframes pcScrollChevron {
  0% {
    opacity: 0.18;
    transform: translateX(-50%) translateY(0);
  }

  50% {
    opacity: 0.78;
    transform: translateX(-50%) translateY(8px);
  }

  100% {
    opacity: 0.18;
    transform: translateX(-50%) translateY(0);
  }
}
/* ===== SCROLL CUE HIDE AFTER SCROLL - FORCE ===== */
body.is-page-scrolled .pc-scroll-cue {
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateX(-50%) translateY(16px) !important;
  animation: none !important;
}
/* ===== HOME MOBILE FINAL FIX : PC LAYOUT MINI VERSION ===== */
@media (max-width: 768px) {
  body.home-index {
    overflow-x: hidden !important;
    background: #ffffff !important;
  }

  body.home-index .home-page {
    width: 100% !important;
    overflow-x: hidden !important;
    background: #ffffff !important;
  }

  /* HERO */
  body.home-index .home-hero {
    min-height: 100svh !important;
    height: 100svh !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.home-index .home-hero-media {
    width: 46vw !important;
    height: 46vw !important;
    max-width: 220px !important;
    max-height: 220px !important;
    top: 47% !important;
  }

  body.home-index .home-hero-copy {
    width: 86vw !important;
    top: 64% !important;
    font-size: 11px !important;
    line-height: 1.65 !important;
    word-break: keep-all !important;
    text-align: center !important;
  }

  /* 4개 카드: 모바일에서도 4열 유지 */
  body.home-index .home-audience-section {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    height: auto !important;
    width: 100% !important;
  }

  body.home-index .home-audience-card {
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
    border-bottom: 0 !important;
  }

  body.home-index .home-audience-card span {
    font-size: clamp(10px, 3.8vw, 18px) !important;
    line-height: 0.95 !important;
    letter-spacing: -0.06em !important;
    padding: 0 4px !important;
  }

  body.home-index .home-follow-box {
    display: none !important;
  }

  /* 중간 카피 */
  body.home-index .home-middle-copy-section {
    height: 220px !important;
    min-height: 220px !important;
    padding: 0 20px !important;
  }

  body.home-index .home-middle-copy-section p {
    font-size: clamp(17px, 5vw, 24px) !important;
    line-height: 1.35 !important;
    word-break: keep-all !important;
  }

  /* 마우스 오브젝트 영역 */
  body.home-index .home-middle-object-section {
    height: 420px !important;
    min-height: 420px !important;
    overflow: hidden !important;
  }

  body.home-index .middle-media-stage {
    top: 58% !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
  }

  body.home-index .middle-media-stage video {
    max-width: 118vw !important;
    max-height: 78vw !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
  }

  /* 오브젝트 아래 카피 */
  body.home-index .home-copy-section {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    height: 120px !important;
    padding: 0 !important;
  }

  body.home-index .home-copy-section p {
    grid-column: 1 / 3 !important;
    justify-self: end !important;
    align-self: center !important;
    width: max-content !important;
    max-width: 48vw !important;
    font-size: clamp(11px, 3.4vw, 16px) !important;
    line-height: 1.55 !important;
    text-align: right !important;
    word-break: keep-all !important;
  }

  /* PROCESS: PC 배치 유지, 크기만 축소 */
  body.home-index .home-process-section {
    padding: 70px 0 90px !important;
    overflow: hidden !important;
  }

  body.home-index .home-process-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    grid-auto-rows: 25vw !important;
    gap: 0 !important;
  }

  body.home-index .home-process-block {
    height: auto !important;
    min-height: 0 !important;
  }

  body.home-index .home-process-block.is-planning {
    grid-column: 3 / 5 !important;
    grid-row: 1 / 2 !important;
  }

  body.home-index .home-process-block.is-contents {
    grid-column: 2 / 3 !important;
    grid-row: 2 / 3 !important;
  }

  body.home-index .home-process-block.is-system {
    grid-column: 3 / 4 !important;
    grid-row: 4 / 5 !important;
  }

  body.home-index .home-process-block.is-integration {
    grid-column: 1 / 2 !important;
    grid-row: 5 / 6 !important;
  }

  body.home-index .home-process-block.is-management {
    grid-column: 2 / 4 !important;
    grid-row: 6 / 7 !important;
  }

  body.home-index .home-process-block span {
    font-size: clamp(10px, 3.4vw, 18px) !important;
    line-height: 1 !important;
    letter-spacing: -0.04em !important;
  }

  body.home-index .home-process-copy.top {
    grid-column: 3 / 5 !important;
    grid-row: 3 / 4 !important;
    font-size: clamp(10px, 3.2vw, 15px) !important;
    line-height: 1.55 !important;
  }

  body.home-index .home-process-copy.middle {
    grid-column: 3 / 4 !important;
    grid-row: 5 / 6 !important;
    font-size: clamp(10px, 3.2vw, 15px) !important;
    line-height: 1.55 !important;
  }

  body.home-index .home-process-copy.bottom {
    margin-top: 70px !important;
    font-size: clamp(13px, 4vw, 20px) !important;
    line-height: 1.55 !important;
    padding: 0 20px !important;
    word-break: keep-all !important;
  }
}
/* ===== MOBILE HERO OBJECT / COPY POSITION FINAL ===== */
@media (max-width: 768px) {
  body.home-index .home-hero-media {
    width: 108vw !important;
    height: 108vw !important;
    max-width: 650px !important;
    max-height: 650px !important;
    top: 47% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
  }

  body.home-index .home-hero-copy {
    top: 80% !important;
    left: 50% !important;
    width: 82vw !important;
    transform: translateX(-50%) !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
    text-align: center !important;
    word-break: keep-all !important;
  }
}
/* ===== MOBILE AUDIENCE 2x2 + COPY CENTER FIX ===== */
@media (max-width: 768px) {
  body.home-index .home-audience-section {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    width: 100% !important;
    height: auto !important;
  }

  body.home-index .home-audience-card {
    aspect-ratio: 1.35 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
  }

  body.home-index .home-audience-card span {
    font-size: clamp(17px, 5.4vw, 24px) !important;
    line-height: 0.9 !important;
    letter-spacing: -0.055em !important;
    text-align: center !important;
  }

  body.home-index .home-middle-copy-section {
    height: 300px !important;
    min-height: 300px !important;
    padding: 0 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.home-index .home-middle-copy-section p {
    margin: 0 !important;
    width: 100% !important;
    max-width: 280px !important;
    font-size: 15px !important;
    line-height: 1.52 !important;
    letter-spacing: -0.055em !important;
    text-align: center !important;
    word-break: keep-all !important;
  }
}
/* ===== MOBILE AUDIENCE CARD TEXT LINE HEIGHT FIX ===== */
@media (max-width: 768px) {
  body.home-index .home-audience-card span {
    line-height: 1.32 !important;
    letter-spacing: -0.06em !important;
  }
}
/* ===== MOBILE MIDDLE IMAGE SIZE + BELOW TEXT CENTER ===== */
@media (max-width: 768px) {
  /* 컬러 이미지 구간 높이/크기 조정 */
  body.home-index .home-middle-object-section {
    height: 220px !important;
    min-height: 220px !important;
    overflow: hidden !important;
  }

body.home-index .middle-media-stage {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding-top: 20px !important;
  overflow: hidden !important;
}

body.home-index .middle-media-stage video,
body.home-index .middle-media-stage img {
  width: 240% !important;
  max-width: none !important;
  height: auto !important;
  max-height: 460px !important;
  object-fit: contain !important;
}

  /* 아래 텍스트 중앙정렬 */
  body.home-index .home-copy-section {
    height: 170px !important;
    min-height: 170px !important;
    padding: 0 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.home-index .home-copy-section p {
    grid-column: auto !important;
    justify-self: auto !important;
    align-self: auto !important;
    width: 100% !important;
    max-width: 290px !important;
    margin: 0 auto !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    text-align: center !important;
    word-break: keep-all !important;
    transform: translateY(20px) !important;
  }
}
/* ===== MOBILE MIDDLE COPY DOWN ===== */
@media (max-width: 768px) {
  body.home-index .home-middle-copy-section p {
    transform: translateY(36px) !important;
  }
}
/* ===== MOBILE PROCESS SECTION : STACK LAYOUT FINAL ===== */
@media (max-width: 768px) {
  body.home-index .home-process-section {
    padding: 36px 20px 70px !important;
    overflow: hidden !important;
  }

  body.home-index .home-process-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-auto-rows: auto !important;
    gap: 6px !important;
    width: 100% !important;
  }

  /* 모든 프로세스 이미지 박스 공통 */
  body.home-index .home-process-block {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 7.2 !important;
    overflow: hidden !important;
  }

  body.home-index .home-process-block img,
  body.home-index .home-process-block video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  body.home-index .home-process-block span {
    font-size: clamp(18px, 5.2vw, 26px) !important;
    line-height: 0.9 !important;
    letter-spacing: -0.05em !important;
  }

  /* 순서 재배치 */
  body.home-index .home-process-block.is-planning {
    order: 1;
    grid-row: auto !important;
  }

  body.home-index .home-process-block.is-contents {
    order: 2;
    grid-row: auto !important;
  }

  body.home-index .home-process-copy.top {
    order: 3;
    grid-column: 1 / -1 !important;
    margin: 42px 0 38px !important;
    padding: 0 14px !important;
    font-size: 18px !important;
    line-height: 1.45 !important;
    text-align: center !important;
    word-break: keep-all !important;
  }

  body.home-index .home-process-block.is-system {
    order: 4;
    grid-row: auto !important;
    margin-bottom: 34px !important;
  }

  body.home-index .home-process-copy.middle {
    order: 5;
    grid-column: 1 / -1 !important;
    margin: 0 0 40px !important;
    padding: 0 14px !important;
    font-size: 18px !important;
    line-height: 1.5 !important;
    text-align: center !important;
    word-break: keep-all !important;
  }

  body.home-index .home-process-block.is-integration {
    order: 6;
    grid-row: auto !important;
  }

  body.home-index .home-process-block.is-management {
    order: 7;
    grid-row: auto !important;
  }

  body.home-index .home-process-copy.bottom {
    order: 8;
    grid-column: 1 / -1 !important;
    margin: 42px 0 0 !important;
    padding: 0 14px !important;
    font-size: 20px !important;
    line-height: 1.5 !important;
    text-align: center !important;
    word-break: keep-all !important;
  }
}
/* ===== MOBILE PROCESS SECTION : FLEX STACK FINAL OVERRIDE ===== */
@media (max-width: 768px) {
  body.home-index .home-process-section {
    padding: 36px 24px 80px !important;
    background: #ffffff !important;
    overflow: hidden !important;
  }

  body.home-index .home-process-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    width: 100% !important;
  }

  body.home-index .home-process-block,
  body.home-index .home-process-copy {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  body.home-index .home-process-block {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 6.8 !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #000 !important;
  }

  body.home-index .home-process-block video,
  body.home-index .home-process-block img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  body.home-index .home-process-block span {
    font-size: 19px !important;
    line-height: 0.9 !important;
    letter-spacing: -0.045em !important;
  }

  body.home-index .home-process-block.is-planning {
    order: 1 !important;
  }

  body.home-index .home-process-block.is-contents {
    order: 2 !important;
  }

  body.home-index .home-process-copy.top {
    order: 3 !important;
    width: 100% !important;
    margin: 46px 0 46px !important;
    padding: 0 !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    text-align: center !important;
    word-break: keep-all !important;
  }

  body.home-index .home-process-block.is-system {
    order: 4 !important;
  }

  body.home-index .home-process-copy.middle {
    order: 5 !important;
    width: 100% !important;
    margin: 46px 0 46px !important;
    padding: 0 !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    text-align: center !important;
    word-break: keep-all !important;
  }

  body.home-index .home-process-block.is-integration {
    order: 6 !important;
  }

  body.home-index .home-process-block.is-management {
    order: 7 !important;
  }

  body.home-index .home-process-copy.bottom {
    order: 8 !important;
    width: 100% !important;
    margin: 54px 0 0 !important;
    padding: 0 !important;
    font-size: 18px !important;
    line-height: 1.5 !important;
    text-align: center !important;
    word-break: keep-all !important;
  }
}
/* ===== MOBILE PROCESS BOTTOM COPY FINAL ===== */
@media (max-width: 768px) {
  body.home-index .home-process-copy.bottom {
    font-size: 15px !important;
    line-height: 1.55 !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 280px !important;
    margin: 46px auto 0 !important;
    padding: 0 !important;
    word-break: keep-all !important;
  }
}
/* ===== MOBILE COMMON FOOTER LAYOUT ===== */
@media (max-width: 768px) {
  .footer-panel {
    padding: 52px 28px 72px !important;
    background: #ffffff !important;
  }

  .footer-inner {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: start !important;
    width: 100% !important;
    gap: 20px !important;
  }

  .footer-left {
    width: auto !important;
    align-items: flex-start !important;
    text-align: left !important;
  }

  .footer-info {
    margin: 0 0 3px 0 !important;
    font-size: 8.5px !important;
    line-height: 1.45 !important;
    letter-spacing: -0.02em !important;
    text-align: left !important;
    color: #111 !important;
    white-space: nowrap !important;
  }

  .footer-info .label {
    font-size: 8.5px !important;
    font-weight: 700 !important;
  }

  .footer-right {
    width: auto !important;
    align-items: flex-end !important;
    text-align: right !important;
  }

  .footer-logo {
    width: 26px !important;
    height: auto !important;
    display: block !important;
  }

  .footer-copy {
    grid-column: 1 / -1 !important;
    margin: 24px 0 0 !important;
    font-size: 6.5px !important;
    line-height: 1 !important;
    text-align: center !important;
    color: #111 !important;
  }

  .footer-sns {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 28px 0 0 !important;
  }

  .footer-sns a {
    width: 30px !important;
    height: 30px !important;
    border: 1px solid rgba(0,0,0,0.16) !important;
    border-radius: 50% !important;
  }

  .footer-sns svg {
    width: 13px !important;
    height: 13px !important;
  }
}
/* ===== MOBILE FOOTER COPY BELOW SNS ONLY ===== */
@media (max-width: 768px) {
  .footer-panel {
    display: flex !important;
    flex-direction: column !important;
  }

  .footer-inner {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: start !important;
    width: 100% !important;
  }

  .footer-right {
    display: contents !important;
  }

  .footer-logo {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 26px !important;
  }

  .footer-sns {
    order: 2 !important;
    width: 100% !important;
    justify-content: center !important;
    margin: 28px 0 16px !important;
  }

  .footer-copy {
    order: 3 !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
    font-size: 6.5px !important;
  }
}
/* ===== MOBILE FOOTER COPYRIGHT BELOW SNS FORCE ===== */
@media (max-width: 768px) {
  .footer-panel {
    position: relative !important;
    padding: 52px 28px 96px !important;
  }

  .footer-inner {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: start !important;
    width: 100% !important;
  }

  .footer-left {
    text-align: left !important;
    align-items: flex-start !important;
  }

  .footer-info {
    font-size: 8.5px !important;
    line-height: 1.45 !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  .footer-right {
    align-items: flex-end !important;
    text-align: right !important;
  }

  .footer-logo {
    width: 26px !important;
  }

  /* footer-right 안에 있는 빈 SNS 영역 숨김 */
  .footer-right .footer-sns {
    display: none !important;
  }

  /* 실제 아이콘 SNS */
  .footer-panel > .footer-sns {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 18px !important;
    width: 100% !important;
    margin: 74px 0 0 !important;
  }

  .footer-panel > .footer-sns a {
    width: 30px !important;
    height: 30px !important;
    border: 1px solid rgba(0,0,0,0.16) !important;
    border-radius: 50% !important;
  }

  .footer-panel > .footer-sns svg {
    width: 13px !important;
    height: 13px !important;
  }

  /* copyright를 아이콘 아래 중앙으로 강제 이동 */
  .footer-copy {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 48px !important;
    margin: 0 !important;
    text-align: center !important;
    font-size: 6.5px !important;
    line-height: 1 !important;
    color: #111 !important;
  }
}
/* ===== MOBILE FOOTER SNS ICON SIZE UP ===== */
@media (max-width: 768px) {
  .footer-panel > .footer-sns {
    gap: 20px !important;
    margin-top: 74px !important;
  }

  .footer-panel > .footer-sns a {
    width: 55px !important;
    height: 55px !important;
    border: 1px solid rgba(0,0,0,0.2) !important;
    border-radius: 50% !important;
  }

  .footer-panel > .footer-sns svg {
    width: 33px !important;
    height: 33px !important;
  }

  .footer-copy {
    bottom: 42px !important;
    font-size: 7px !important;
  }
}
/* ===== MOBILE FOOTER BLOCK ORDER SWAP ===== */
@media (max-width: 768px) {
  .footer-panel {
    display: flex !important;
    flex-direction: column !important;
    padding: 52px 28px 72px !important;
    position: relative !important;
  }

  /* 1. SNS를 맨 위 블록으로 */
  .footer-panel > .footer-sns {
    order: 1 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 20px !important;
    width: 100% !important;
    margin: 0 0 34px !important;
  }

  .footer-panel > .footer-sns a {
    width: 38px !important;
    height: 38px !important;
    border: 1px solid rgba(0,0,0,0.2) !important;
    border-radius: 50% !important;
  }

  .footer-panel > .footer-sns svg {
    width: 17px !important;
    height: 17px !important;
  }

  /* 2. 연락처 + 로고 블록을 그 아래로 */
  .footer-inner {
    order: 2 !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: start !important;
    width: 100% !important;
    gap: 20px !important;
    margin: 0 !important;
  }

  .footer-left {
    align-items: flex-start !important;
    text-align: left !important;
  }

  .footer-info {
    margin: 0 0 3px 0 !important;
    font-size: 8.5px !important;
    line-height: 1.45 !important;
    letter-spacing: -0.02em !important;
    text-align: left !important;
    color: #111 !important;
  }

  .footer-right {
    align-items: flex-end !important;
    text-align: right !important;
  }

  .footer-logo {
    width: 26px !important;
    height: auto !important;
    display: block !important;
  }

  /* 3. copyright는 맨 아래 */
  .footer-copy {
    order: 3 !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    margin: 24px 0 0 !important;
    text-align: center !important;
    font-size: 6.5px !important;
    line-height: 1 !important;
    color: #111 !important;
  }
}
/* ===== MOBILE FOOTER SNS ICON FINAL SIZE ===== */
@media (max-width: 768px) {
  .footer-panel > .footer-sns a {
    width: 64px !important;
    height: 64px !important;
  }

  .footer-panel > .footer-sns svg {
    width: 44px !important;
    height: 44px !important;
  }

  .footer-panel > .footer-sns {
    gap: 22px !important;
  }
}
/* ===== MOBILE SCROLL CUE SHOW + HIDE ON SCROLL ===== */
@media (max-width: 768px) {
  .home-hero,
  .contact-hero-section {
    position: relative !important;
  }

  .pc-scroll-cue {
    display: block !important;
    position: absolute !important;
    left: 50% !important;
    bottom: 28px !important;
    width: 34px !important;
    height: 22px !important;
    transform: translateX(-50%) !important;
    z-index: 40 !important;
    pointer-events: none !important;
    animation: pcScrollChevron 1.8s ease-in-out infinite !important;
    transition: opacity 0.35s ease, transform 0.35s ease, visibility 0.35s ease !important;
  }

  .pc-scroll-cue svg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  .pc-scroll-cue path {
    fill: none !important;
    stroke: #000000 !important;
    stroke-width: 2.4 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    vector-effect: non-scaling-stroke;
  }

  body.is-page-scrolled .pc-scroll-cue {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateX(-50%) translateY(14px) !important;
    animation: none !important;
  }
}
/* ===== MOBILE SCROLL CUE STRONG BLINK ===== */
@media (max-width: 768px) {
  .pc-scroll-cue {
    animation: mobileScrollCueBlink 1.25s ease-in-out infinite !important;
  }
}

@keyframes mobileScrollCueBlink {
  0% {
    opacity: 0.15;
    transform: translateX(-50%) translateY(0);
  }

  45% {
    opacity: 1;
    transform: translateX(-50%) translateY(7px);
  }

  100% {
    opacity: 0.15;
    transform: translateX(-50%) translateY(0);
  }
}
/* ===== MOBILE CONTACT SCROLL CUE POSITION FIX ===== */
@media (max-width: 768px) {
  .pc-scroll-cue-contact {
    bottom: -74px !important;
  }
}
/* ===== MOBILE SCROLL CUE BLINK FINAL ===== */
@media (max-width: 768px) {
  .pc-scroll-cue {
    animation: mobileScrollCueBlink 1.05s ease-in-out infinite !important;
  }

  body.is-page-scrolled .pc-scroll-cue {
    opacity: 0 !important;
    visibility: hidden !important;
    animation: none !important;
  }
}

@keyframes mobileScrollCueBlink {
  0% {
    opacity: 0.15;
    transform: translateX(-50%) translateY(0);
  }

  50% {
    opacity: 1;
    transform: translateX(-50%) translateY(8px);
  }

  100% {
    opacity: 0.15;
    transform: translateX(-50%) translateY(0);
  }
}
/* ===== MIDDLE SINGLE LOOP VIDEO FINAL ===== */

.middle-loop-video {
  width: min(100vw, 1920px) !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;

  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;

  object-fit: contain !important;
  object-position: center center !important;

  pointer-events: none !important;
  display: block !important;
}
/* ===== MOBILE LANDSCAPE : MIDDLE GAP FIX ===== */
@media (max-width: 1024px) and (max-height: 500px) and (orientation: landscape),
       (orientation: landscape) and (hover: none) and (pointer: coarse) and (max-width: 950px) {
  body.home-index .home-middle-copy-section {
    height: 190px !important;
    padding: 0 20px !important;
    align-items: center !important;
  }

  body.home-index .home-middle-copy-section p {
    transform: none !important;
    font-size: 18px !important;
    line-height: 1.35 !important;
  }

  body.home-index .home-middle-object-section {
    height: 560px !important;
    min-height: 360px !important;
    margin-bottom: -80px !important;
  }

  body.home-index .middle-media-stage {
    height: 360px !important;
    top: 50% !important;
  }



  body.home-index .home-copy-section {
    height: auto !important;
    min-height: 0 !important;
    padding: 20px 24px 40px !important;
    margin: 0 !important;

    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
  }

  body.home-index .home-copy-section p {
    transform: none !important;
    max-width: 420px !important;
    width: 100% !important;
    margin: 0 auto !important;

    font-size: 17px !important;
    line-height: 1.45 !important;
    text-align: center !important;
  }
}
/* ===== MOBILE LANDSCAPE : PROCESS COPY MATCH HOME COPY ===== */
@media (max-width: 1024px) and (max-height: 500px) and (orientation: landscape),
       (orientation: landscape) and (hover: none) and (pointer: coarse) and (max-width: 950px) {
  body.home-index .home-copy-section p,
  body.home-index .home-process-copy,
  body.home-index .home-process-copy.top,
  body.home-index .home-process-copy.middle,
  body.home-index .home-process-copy.bottom {
    width: 100% !important;
    max-width: 560px !important;
    margin-left: auto !important;
    margin-right: auto !important;

    text-align: center !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
    font-weight: 600 !important;
    letter-spacing: -0.04em !important;
    color: #000 !important;
    word-break: keep-all !important;
  }

  body.home-index .home-process-copy.top,
  body.home-index .home-process-copy.middle,
  body.home-index .home-process-copy.bottom {
    display: block !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}
/* ===== MOBILE LANDSCAPE : PROCESS TEXT CENTER FIX ===== */
@media (max-width: 1024px) and (max-height: 500px) and (orientation: landscape),
       (orientation: landscape) and (hover: none) and (pointer: coarse) and (max-width: 950px) {
  body.home-index .home-process-copy.top,
  body.home-index .home-process-copy.middle {
    grid-column: 1 / -1 !important;

    justify-self: center !important;
    align-self: center !important;

    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;

    text-align: center !important;
  }
}
/* ===== MOBILE LANDSCAPE : COMMON FOOTER CONTACT TEXT SIZE ===== */
@media (max-width: 1024px) and (max-height: 500px) and (orientation: landscape),
       (orientation: landscape) and (hover: none) and (pointer: coarse) and (max-width: 950px) {
  .footer-panel .footer-info {
    font-size: 10px !important;
    line-height: 1.35 !important;
    letter-spacing: -0.03em !important;
  }

  .footer-panel .footer-info .label {
    font-size: 10px !important;
    margin-right: 5px !important;
  }
}
/* ===== COMMON FOOTER : MOBILE LANDSCAPE FIX ===== */
@media (max-width: 1024px) and (max-height: 500px) and (orientation: landscape),
       (orientation: landscape) and (hover: none) and (pointer: coarse) and (max-width: 950px) {
  .footer-panel {
    min-height: 120px !important;
    padding: 18px 44px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  .footer-inner {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    align-items: center !important;
    gap: 0 !important;
  }

  .footer-left {
    grid-column: 1 / 2 !important;
    align-items: flex-start !important;
  }

  .footer-info {
    font-size: 9px !important;
    line-height: 1.35 !important;
    margin: 0 0 3px 0 !important;
    letter-spacing: -0.03em !important;
    white-space: nowrap !important;
  }

  .footer-info .label {
    font-size: 9px !important;
    margin-right: 5px !important;
  }

  .footer-sns {
    position: static !important;
    grid-column: 2 / 3 !important;
    transform: none !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
  }

  .footer-sns .icon {
    width: 34px !important;
    height: 34px !important;
  }

  .footer-sns .icon svg {
    width: 14px !important;
    height: 14px !important;
  }

  .footer-right {
    grid-column: 3 / 4 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: center !important;
    gap: 6px !important;
    text-align: right !important;
  }

  .footer-logo {
    width: 28px !important;
    height: auto !important;
  }

  .footer-copy {
    font-size: 8px !important;
    line-height: 1 !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }
}
/* ===== HOME TABLET LANDSCAPE : COPY TEXT SIZE + CENTER FIX ===== */
@media (min-width: 768px) and (max-width: 1366px) and (min-height: 600px) and (orientation: landscape) {

  /* 1. 첫 화면 히어로 하단 설명 */
  body.home-index .home-hero-copy {
    width: min(520px, 70vw) !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
    font-weight: 500 !important;
    letter-spacing: -0.035em !important;
    text-align: center !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }

  /* 2. 미들 카피 */
  body.home-index .home-middle-copy-section p,
  body.home-index .home-copy-section p,
  body.home-index .home-process-copy,
  body.home-index .home-process-copy.top,
  body.home-index .home-process-copy.middle,
  body.home-index .home-process-copy.bottom {
    width: 100% !important;
    max-width: 620px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 32px !important;
    padding-right: 32px !important;

    font-size: 18px !important;
    line-height: 1.65 !important;
    font-weight: 600 !important;
    letter-spacing: -0.04em !important;
    text-align: center !important;
    word-break: keep-all !important;
  }

  /* 기존 grid 위치값 때문에 오른쪽/왼쪽으로 밀리는 것 방지 */
  body.home-index .home-process-copy.top,
  body.home-index .home-process-copy.middle,
  body.home-index .home-process-copy.bottom {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
    align-self: center !important;
  }
}
/* ===== HOME TABLET LANDSCAPE : MIDDLE COPY POSITION FIX ===== */
@media (min-width: 768px) and (max-width: 1366px) and (min-height: 600px) and (orientation: landscape) {

  /* 미들 루프 영상 섹션 아래 여백 압축 */
  body.home-index .home-middle-object-section {
    height: 720px !important;
    min-height: 520px !important;
    margin-bottom: -0px !important;
  }

  body.home-index .middle-media-stage {
    height: 520px !important;
  }

  /* '기획부터 구축...' 텍스트 섹션 */
  body.home-index .home-copy-section {
    height: auto !important;
    min-height: 0 !important;
    padding: 40px 40px 90px !important;
    margin: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  body.home-index .home-copy-section p {
    width: 100% !important;
    max-width: 620px !important;
    margin: 0 auto !important;
    padding: 0 !important;

    transform: none !important;
    text-align: center !important;
    font-size: 18px !important;
    line-height: 1.6 !important;
    font-weight: 600 !important;
    letter-spacing: -0.04em !important;
    word-break: keep-all !important;
  }
}
/* ===== HOME TABLET : REMOVE MIDDLE SECTION LINE ===== */
@media (min-width: 768px) and (max-width: 1366px) and (min-height: 600px) and (orientation: landscape) {
  body.home-index .home-middle-copy-section,
  body.home-index .home-middle-object-section,
  body.home-index .home-copy-section {
    border: none !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    outline: none !important;
  }

  body.home-index .home-middle-copy-section::before,
  body.home-index .home-middle-copy-section::after,
  body.home-index .home-middle-object-section::before,
  body.home-index .home-middle-object-section::after,
  body.home-index .home-copy-section::before,
  body.home-index .home-copy-section::after {
    display: none !important;
    content: none !important;
  }
}
/* ===== IPAD LANDSCAPE : HIDE MIDDLE LOOP VIDEO EDGE LINE ===== */
@media (min-width: 768px) and (max-width: 1366px) and (min-height: 600px) and (orientation: landscape) {
  body.home-index .home-middle-object-section {
    background: #ffffff !important;
    overflow: hidden !important;
  }

  body.home-index .middle-media-stage {
    background: #ffffff !important;
    overflow: hidden !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.home-index .middle-loop-video,
  body.home-index .middle-media-stage video {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: #ffffff !important;

    /* 영상 가장자리 1px 잘라서 경계선 제거 */
    clip-path: inset(3px 0 3px 0) !important;

    /* 잘라낸 만큼 아주 살짝 키움 */
    transform: translate(-50%, -50%) scale(1.01) !important;
  }
}
/* ===== IPAD LANDSCAPE : COVER MIDDLE LOOP TOP EDGE ===== */
@media (min-width: 768px) and (max-width: 1366px) and (min-height: 600px) and (orientation: landscape) {
  body.home-index .home-middle-object-section {
    position: relative !important;
    background: #ffffff !important;
    overflow: hidden !important;
  }

  body.home-index .home-middle-object-section::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 80px !important;
    background: #ffffff !important;
    z-index: 50 !important;
    pointer-events: none !important;
  }

  body.home-index .middle-media-stage {
    z-index: 2 !important;
  }
}
/* ===== IPAD LANDSCAPE : COVER MIDDLE COPY TOP HAIRLINE ===== */
@media (min-width: 768px) and (max-width: 1366px) and (min-height: 600px) and (orientation: landscape) {
  body.home-index .home-middle-copy-section {
    position: relative !important;
    background: #ffffff !important;
    overflow: visible !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.home-index .home-middle-copy-section::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: -8px !important;
    width: 100% !important;
    height: 16px !important;
    background: #ffffff !important;
    z-index: 99999 !important;
    pointer-events: none !important;
  }

  body.home-index .home-middle-copy-section p {
    position: relative !important;
    z-index: 100000 !important;
  }
}
/* ===== IPAD LANDSCAPE : MIDDLE COPY / LOOP HARD RESET ===== */
@media (min-width: 768px) and (max-width: 1366px) and (min-height: 600px) and (orientation: landscape) {

  body.home-index .home-middle-copy-section {
    position: relative !important;
    z-index: 1 !important;

    height: 260px !important;
    min-height: 260px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #ffffff !important;
    overflow: hidden !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: none !important;
    outline: none !important;
    box-shadow: none !important;
  }

  body.home-index .home-middle-copy-section::before,
  body.home-index .home-middle-copy-section::after {
    display: none !important;
    content: none !important;
  }

  body.home-index .home-middle-copy-section p {
    position: relative !important;
    z-index: 2 !important;

    margin: 0 auto !important;
    padding: 0 !important;

    width: 100% !important;
    max-width: 560px !important;

    text-align: center !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
    font-weight: 600 !important;
    letter-spacing: -0.04em !important;
  }

  body.home-index .home-middle-object-section {
    position: relative !important;
    z-index: 1 !important;

    height: 620px !important;
    min-height: 620px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #ffffff !important;
    overflow: hidden !important;

    border: none !important;
    outline: none !important;
    box-shadow: none !important;
  }

  body.home-index .middle-media-stage {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;

    width: 100% !important;
    height: 100% !important;

    transform: translate(-50%, -50%) !important;
    background: #ffffff !important;
    overflow: hidden !important;

    border: none !important;
    outline: none !important;
    box-shadow: none !important;
  }

  body.home-index .middle-loop-video,
  body.home-index .middle-media-stage video {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
  }
}
/* ===== HOME TABLET PORTRAIT : KEEP 4 COLUMN LAYOUT ===== */
@media (min-width: 768px) and (max-width: 1024px) and (min-height: 900px) and (orientation: portrait) {

  /* HERO */
  body.home-index .home-hero {
    height: 100vh !important;
    min-height: 900px !important;
    background: #ffffff !important;
    overflow: hidden !important;
  }

  body.home-index .home-hero-media {
    position: absolute !important;
    left: 50% !important;
    top: 43% !important;
    width: clamp(360px, 50vw, 500px) !important;
    height: clamp(360px, 50vw, 500px) !important;
    transform: translate(-50%, -50%) scale(1) !important;
    opacity: 1 !important;
  }

  body.home-index .home-hero-copy {
    top: 66% !important;
    width: min(560px, 78vw) !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    text-align: center !important;
  }

  body.home-index .pc-scroll-cue-home {
    display: none !important;
  }

  /* 4 BLACK BOXES - 4열 유지 */
  body.home-index .home-audience-section {
    grid-template-columns: repeat(4, 1fr) !important;
    height: 180px !important;
  }

  body.home-index .home-audience-card {
    height: 180px !important;
  }

  body.home-index .home-audience-card span {
    font-size: clamp(18px, 2.7vw, 28px) !important;
    line-height: 1.05 !important;
  }

  body.home-index .home-follow-box {
    display: none !important;
  }

  /* MIDDLE COPY */
  body.home-index .home-middle-copy-section {
    height: 240px !important;
    min-height: 240px !important;
    padding: 0 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ffffff !important;
  }

  body.home-index .home-middle-copy-section p,
  body.home-index .home-copy-section p,
  body.home-index .home-process-copy {
    max-width: 620px !important;
    margin: 0 auto !important;
    font-size: 18px !important;
    line-height: 1.6 !important;
    font-weight: 600 !important;
    letter-spacing: -0.04em !important;
    text-align: center !important;
    word-break: keep-all !important;
  }

  /* MIDDLE LOOP */
  body.home-index .home-middle-object-section {
    height: 580px !important;
    min-height: 580px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    overflow: hidden !important;
  }

  body.home-index .middle-media-stage {
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
  }

  body.home-index .middle-loop-video,
  body.home-index .middle-media-stage video {
    width: 120vw !important;
    max-width: none !important;
    height: auto !important;
    object-fit: contain !important;
  }

  /* 기획부터 구축 텍스트 */
  body.home-index .home-copy-section {
    height: auto !important;
    min-height: 0 !important;
    padding: 50px 44px 90px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ffffff !important;
  }

  /* PROCESS - 기존 4열 구조 유지 */
  body.home-index .home-process-section {
    padding-bottom: 140px !important;
  }

  body.home-index .home-process-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    grid-auto-rows: minmax(150px, 22vw) !important;
  }

  body.home-index .home-process-block {
    font-size: clamp(20px, 3vw, 34px) !important;
  }

  /* 기존 PC 배치 유지 */
  body.home-index .home-process-block.is-planning {
    grid-column: 3 / 5 !important;
    grid-row: 1 / 2 !important;
  }

  body.home-index .home-process-block.is-contents {
    grid-column: 2 / 3 !important;
    grid-row: 2 / 3 !important;
  }

  body.home-index .home-process-block.is-system {
    grid-column: 3 / 4 !important;
    grid-row: 4 / 5 !important;
  }

  body.home-index .home-process-block.is-integration {
    grid-column: 1 / 2 !important;
    grid-row: 5 / 6 !important;
  }

  body.home-index .home-process-block.is-management {
    grid-column: 2 / 4 !important;
    grid-row: 6 / 7 !important;
  }

  body.home-index .home-process-copy.top,
  body.home-index .home-process-copy.middle,
  body.home-index .home-process-copy.bottom {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
    align-self: center !important;
    padding: 46px 44px !important;
    text-align: center !important;
  }

  body.home-index .home-process-copy.top {
    margin-bottom: 60px !important;
  }

  body.home-index .home-process-copy.bottom {
    margin-top: 80px !important;
  }
}
/* ===== HOME IPAD PORTRAIT : HERO FIRST SCREEN FIX ===== */
@media (min-width: 768px) and (max-width: 1024px) and (min-height: 900px) and (orientation: portrait) {

  /* 1) 헤더: 시작부터 선명하게 */
  body.home-index #siteHeader,
  body.home-index #siteHeader.site-header,
  body.home-index #siteHeader.site-header.is-scrolled {
    transform: translateY(0) !important;
    transition: none !important;
    padding: 24px 44px !important;
    background: transparent !important;
    border-bottom: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body.home-index #siteHeader .oma-header {
    grid-template-columns: 1fr 1fr 1fr !important;
    align-items: center !important;
    width: 100% !important;
  }

  body.home-index #siteHeader .menu-item,
  body.home-index #siteHeader .menu-item.is-active,
  body.home-index #siteHeader .menu-item:not(.is-active) {
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    text-shadow: none !important;
    transform: none !important;
    transition: none !important;

    font-size: clamp(34px, 5.2vw, 48px) !important;
    line-height: 0.95 !important;
    letter-spacing: -0.055em !important;
    white-space: nowrap !important;
  }

  body.home-index #siteHeader .menu-item a {
    color: #000 !important;
  }

  /* 2) 중앙 오브젝트 더 크게 */
  body.home-index .home-hero-media {
    position: absolute !important;
    left: 50% !important;
    top: 47% !important;
    width: clamp(630px, 58vw, 620px) !important;
    height: clamp(630px, 58vw, 620px) !important;
    transform: translate(-50%, -50%) scale(1) !important;
    opacity: 1 !important;
    z-index: 2 !important;
  }

  body.home-index .home-hero-video {
    width: 115% !important;
    height: 115% !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  /* 3) 하단 본문 더 아래로 */
  body.home-index .home-hero-copy {
    top: 76% !important;
    bottom: auto !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: min(600px, 80vw) !important;

    font-size: 14px !important;
    line-height: 1.7 !important;
    text-align: center !important;
    letter-spacing: -0.03em !important;
  }

  body.home-index .pc-scroll-cue-home {
    display: none !important;
  }
}
/* ===== HOME TABLET PORTRAIT : REMOVE WORKS HERO EFFECT ONLY ===== */
@media (min-width: 768px) and (max-width: 1024px) and (min-height: 900px) and (orientation: portrait) {

  body.home-index:not(.home-header-docked) #siteHeader .menu-item:nth-child(2),
  body.home-index:not(.home-header-docked) #siteHeader .menu-item:nth-child(2) a,
  body.home-index #siteHeader .menu-item:nth-child(2),
  body.home-index #siteHeader .menu-item:nth-child(2) a {
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    transform: none !important;
    color: #000000 !important;
    text-shadow: none !important;
  }
}
/* ===== HOME TABLET PORTRAIT : SCROLL CUE ===== */
@media (min-width: 768px) and (max-width: 1024px) and (min-height: 900px) and (orientation: portrait) {

  body.home-index .pc-scroll-cue-home {
    display: flex !important;
    position: absolute !important;
    left: 50% !important;
    bottom: 46px !important;
    transform: translateX(-50%) !important;

    width: 36px !important;
    height: 24px !important;
    z-index: 20 !important;
    pointer-events: none !important;

    opacity: 1 !important;
    animation: tabletScrollCueBlink 1.4s ease-in-out infinite !important;
  }

  body.home-index .pc-scroll-cue-home svg {
    width: 36px !important;
    height: 24px !important;
    display: block !important;
  }

  body.home-index .pc-scroll-cue-home path {
    fill: none !important;
    stroke: #000000 !important;
    stroke-width: 3 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  body.home-index.is-page-scrolled .pc-scroll-cue-home {
    opacity: 0 !important;
    visibility: hidden !important;
  }
}

@keyframes tabletScrollCueBlink {
  0% {
    opacity: 0.25;
    transform: translateX(-50%) translateY(0);
  }
  50% {
    opacity: 1;
    transform: translateX(-50%) translateY(8px);
  }
  100% {
    opacity: 0.25;
    transform: translateX(-50%) translateY(0);
  }
}
/* ===== HOME TABLET PORTRAIT : AUDIENCE 2x2 ONLY ===== */
@media (min-width: 768px) and (max-width: 1024px) and (min-height: 900px) and (orientation: portrait) {

  body.home-index .home-audience-section {
    grid-template-columns: repeat(2, 1fr) !important;
    height: auto !important;
  }

  body.home-index .home-audience-card {
    height: 220px !important;
    border-right: 1px solid rgba(255,255,255,0.7) !important;
    border-bottom: 1px solid rgba(255,255,255,0.7) !important;
  }

  body.home-index .home-audience-card:nth-child(2),
  body.home-index .home-audience-card:nth-child(4) {
    border-right: none !important;
  }

  body.home-index .home-audience-card:nth-child(3),
  body.home-index .home-audience-card:nth-child(4) {
    border-bottom: none !important;
  }

  body.home-index .home-audience-card span {
    font-size: clamp(28px, 4.4vw, 40px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.045em !important;
  }
}
/* ===== HOME TABLET PORTRAIT : AUDIENCE 2x2 CLEAN FIX ===== */
@media (min-width: 768px) and (max-width: 1024px) and (min-height: 900px) and (orientation: portrait) {

  body.home-index .home-audience-section {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    height: auto !important;
    background: #000 !important;
    margin: 0 !important;
  }

  body.home-index .home-audience-card {
    position: relative !important;
    width: 100% !important;
    height: 220px !important;
    min-width: 0 !important;
    overflow: hidden !important;
    background: #000 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;
    margin: 0 !important;
  }

  body.home-index .home-audience-card img {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    right: auto !important;
    bottom: auto !important;

    width: 100% !important;
    height: 100% !important;

    min-width: 100% !important;
    min-height: 100% !important;

    object-fit: cover !important;
    object-position: center center !important;

    display: block !important;
    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;
    opacity: 0.72 !important;
    filter: grayscale(1) brightness(0.72) !important;
  }

  body.home-index .home-audience-card span {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;

    z-index: 2 !important;
    width: 100% !important;
    padding: 0 20px !important;

    text-align: center !important;
    color: #fff !important;

    font-size: clamp(26px, 4.2vw, 38px) !important;
    line-height: 1.02 !important;
    font-weight: 700 !important;
    letter-spacing: -0.045em !important;
  }

  body.home-index .home-audience-card:nth-child(2),
  body.home-index .home-audience-card:nth-child(4) {
    border-right: none !important;
  }

  body.home-index .home-audience-card:nth-child(3),
  body.home-index .home-audience-card:nth-child(4) {
    border-bottom: none !important;
  }
}
/* ===== HOME TABLET PORTRAIT : AUDIENCE BRIGHTNESS / TEXT FIX ===== */
@media (min-width: 768px) and (max-width: 1024px) and (min-height: 900px) and (orientation: portrait) {

  body.home-index .home-audience-card::after,
  body.home-index .home-audience-card::before {
    display: none !important;
    content: none !important;
  }

  body.home-index .home-audience-card img {
    opacity: 1 !important;
    filter: grayscale(1) brightness(0.58) contrast(1.15) !important;
  }

  body.home-index .home-audience-card span {
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.75) !important;
  }

  body.home-index .home-audience-card:hover span {
    transform: translate(-50%, -50%) !important;
    opacity: 1 !important;
  }
}
/* ===== HOME MOBILE PORTRAIT : MIDDLE LOOP VIDEO NO CROP ===== */
@media (max-width: 767px) and (orientation: portrait) {
  body.home-index .home-middle-object-section {
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #ffffff !important;
    overflow: visible !important;
  }

  body.home-index .middle-media-stage {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;

    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;

    overflow: hidden !important;
    background: #ffffff !important;
  }

  body.home-index .middle-loop-video,
  body.home-index .middle-media-stage video {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;

    width: 100% !important;
    height: 100% !important;

    max-width: none !important;
    max-height: none !important;

    transform: translate(-50%, -50%) !important;
    object-fit: contain !important;
    object-position: center center !important;

    background: #ffffff !important;
  }
}