/* ================= BLOCK: HERO HOME ================= */
.c-hero-home {
  position: relative;
  width: 100%;
  padding: var(--pto-d) var(--pro-d) var(--pbo-d) var(--plo-d);
}

.c-hero-home * {
  box-sizing: border-box;
}

.c-hero-home__bg-panel {
  position: relative;
  background-color: var(--bg-val);
  border-radius: var(--rad-tl-d) var(--rad-tr-d) var(--rad-br-d) var(--rad-bl-d);
  width: 100%;
  display: flex;
  flex-direction: column;
  overflow: visible; 
}

/* Constrained Container (1650px) */
.c-hero-home__max-width {
  max-width: var(--max-w);
  margin: 0 auto;
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* ================= LEFT IMAGE MASK ================= */
.c-hero-home__mask {
  position: absolute;
  inset: 0;
  overflow: hidden; 
  border-radius: inherit;
  pointer-events: none; 
  z-index: 1;
}

/* Inner Container (Anchored to Max-Width) */
.c-hero-home__mask-inner {
  position: relative;
  max-width: var(--max-w);
  margin: 0 auto;
  width: 100%;
  height: 100%;
}

.c-hero-home__img-left {
  position: absolute;
  top: var(--il-t-d);
  left: var(--il-l-d);
  width: var(--il-w-d);
  height: var(--il-h-d);
  object-fit: var(--il-fit);
  border-radius: var(--il-r-d);
  opacity: var(--il-o-d); 
  transform-origin: var(--il-orig); 
  transform: rotate(var(--il-rot)); 
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.c-hero-home__img-left.is-hovered {
  transform: rotate(0deg);
}

/* ================= CONTENT ================= */
.c-hero-home__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: var(--gap-main-d);
  
  padding-top: calc(var(--pti-d) + var(--is-first-offset));
  padding-right: var(--pri-d);
  padding-bottom: var(--pbi-d);
  padding-left: var(--pli-d);
}

.c-hero-home__head {
  display: flex;
  flex-direction: column;
  gap: var(--gap-head-d);
  text-align: var(--al-txt-d);
  padding: var(--pad-head-d);
  margin: 0 auto;
  cursor: default; 
}

.c-hero-home__tag-wrap {
  display: flex;
  align-items: flex-start;
  justify-content: var(--al-txt-d);
  gap: 8px;
}
.c-hero-home__tag-dot {
  width: 8px;
  height: 8px;
  border-radius: 800px;
  background-color: var(--c-tagdot);
}
.c-hero-home__tag {
  font-family: var(--ff-tag-d);
  font-size: var(--fs-tag-d);
  font-weight: var(--fw-tag-d);
  line-height: var(--lh-tag-d);
  color: var(--c-tag);
  letter-spacing: 2px;
  text-transform: uppercase;
}

.c-hero-home__title {
  font-family: var(--ff-tit-d);
  font-size: var(--fs-tit-d);
  font-weight: var(--fw-tit-d);
  line-height: var(--lh-tit-d);
  color: var(--c-tit);
  letter-spacing: -3px;
  margin: 0;
}
.c-hero-home__title em {
  font-family: var(--font-secondary);
  font-weight: 400;
  font-style: italic;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
}

.c-hero-home__subtitle {
  font-family: var(--ff-sub-d);
  font-size: var(--fs-sub-d);
  font-weight: var(--fw-sub-d);
  line-height: var(--lh-sub-d);
  color: var(--c-sub);
  margin: 0;
}

.c-hero-home__info {
  display: flex;
  flex-direction: column;
  gap: var(--gap-head-d);
  max-width: 50%; 
}

.c-hero-home__desc {
  font-family: var(--ff-des-d);
  font-size: var(--fs-des-d);
  font-weight: var(--fw-des-d);
  line-height: var(--lh-des-d);
  color: var(--c-desc);
}
.c-hero-home__desc p { margin: 0 0 8px 0; }
.c-hero-home__desc p:last-child { margin: 0; }

.c-hero-home__buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex-direction: var(--al-b-dir-d);
  justify-content: var(--al-b-jus-d);
  gap: var(--gap-btn-d);
}

.c-hero-home__btn1, .c-hero-home__btn2 {
  width: var(--al-b-w-d);
  justify-content: center;
  font-family: var(--ff-btn-d);
  font-size: var(--fs-btn-d);
  font-weight: var(--fw-btn-d);
  line-height: var(--lh-btn-d);
  padding: 16px 24px;
  border-radius: 800px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.c-hero-home__btn1 { background-color: var(--c-b1bg); color: var(--c-b1tx); border: 1px solid var(--c-b1bo); }
.c-hero-home__btn1:hover { background-color: var(--c-b1bgh); color: var(--c-b1txh); border-color: var(--c-b1boh); }
.c-hero-home__btn1:focus, .c-hero-home__btn1:active { background-color: var(--c-b1bgf); color: var(--c-b1txf); border-color: var(--c-b1bof); outline: none; }

.c-hero-home__btn2 { background-color: var(--c-b2bg); color: var(--c-b2tx); border: 1px solid var(--c-b2bo); }
.c-hero-home__btn2:hover { background-color: var(--c-b2bgh); color: var(--c-b2txh); border-color: var(--c-b2boh); }
.c-hero-home__btn2:focus, .c-hero-home__btn2:active { background-color: var(--c-b2bgf); color: var(--c-b2txf); border-color: var(--c-b2bof); outline: none; }

/* ================= SCROLL DOWN INDICATOR ================= */
.c-hero-home__scroll {
  display: var(--scr-d);
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: var(--c-scr);
  cursor: pointer;
  z-index: 10;
  transition: color 0.3s ease; 
}
.c-hero-home__scroll:hover { color: #FFFFFF; }

.c-hero-home__scroll-txt {
  font-family: var(--ff-scr-d);
  font-size: var(--fs-scr-d);
  font-weight: var(--fw-scr-d);
  line-height: var(--lh-scr-d);
  letter-spacing: 2px;
  text-transform: uppercase;
  display: block;
  transition: transform 0.3s ease;
}
.c-hero-home__scroll:hover .c-hero-home__scroll-txt { transform: translateY(4px); }

/* ================= U-SHAPE ================= */
.c-hero-home__shape-wrap {
  display: var(--sh-show-d);
  position: absolute;
  top: var(--sh-t-d);
  right: var(--sh-r-d);
  bottom: var(--sh-b-d);
  left: var(--sh-l-d);
  width: var(--sh-w-d);
  height: var(--sh-h-d);
  opacity: var(--sh-o-d);
  z-index: 3; 
  pointer-events: none;
}
.c-hero-home__shape {
  width: 100%;
  height: 100%;
  object-fit: contain;
  animation: hh-spin var(--sh-s-d) linear infinite;
}

@keyframes hh-spin { 100% { transform: rotate(360deg); } }

/* ================= PLAY BUTTON ================= */
.c-hero-home__play-btn {
  display: var(--sh-p-d);
  position: absolute;
  bottom: 24px;
  right: 24px;
  width: 48px;
  height: 48px;
  border-radius: 800px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background-color: var(--c-pbg);
  color: var(--c-ptx);
  border: 1px solid var(--c-pbo);
  z-index: 11;
  transition: all 0.3s ease;
}
.c-hero-home__play-btn:hover { background-color: var(--c-pbgh); color: var(--c-ptxh); border-color: var(--c-pboh); }
.c-hero-home__play-btn:focus, .c-hero-home__play-btn:active { background-color: var(--c-pbgf); color: var(--c-ptxf); border-color: var(--c-pbof); outline: none; }

/* ================= TABLET (<= 1024px) ================= */
@media (max-width: 1024px) {
  .c-hero-home { padding: var(--pto-t) var(--pro-t) var(--pbo-t) var(--plo-t); }
  .c-hero-home__bg-panel { border-radius: var(--rad-tl-t) var(--rad-tr-t) var(--rad-br-t) var(--rad-bl-t); }
  
  .c-hero-home__content {
    gap: var(--gap-main-t); 
    padding-top: calc(var(--pti-t) + var(--is-first-offset-t));
    padding-right: var(--pri-t);
    padding-bottom: var(--pbi-t);
    padding-left: var(--pli-t);
  }
  
  .c-hero-home__img-left {
    top: var(--il-t-t); left: var(--il-l-t); width: var(--il-w-t); height: var(--il-h-t);
    border-radius: var(--il-r-t); opacity: var(--il-o-t);
  }

  .c-hero-home__head { gap: var(--gap-head-t); text-align: var(--al-txt-t); padding: var(--pad-head-t); }
  .c-hero-home__tag-wrap { justify-content: var(--al-txt-t); }
  .c-hero-home__tag { font-family: var(--ff-tag-t); font-size: var(--fs-tag-t); font-weight: var(--fw-tag-t); line-height: var(--lh-tag-t); }
  .c-hero-home__title { font-family: var(--ff-tit-t); font-size: var(--fs-tit-t); font-weight: var(--fw-tit-t); line-height: var(--lh-tit-t); }
  .c-hero-home__subtitle { font-family: var(--ff-sub-t); font-size: var(--fs-sub-t); font-weight: var(--fw-sub-t); line-height: var(--lh-sub-t); }
  .c-hero-home__desc { font-family: var(--ff-des-t); font-size: var(--fs-des-t); font-weight: var(--fw-des-t); line-height: var(--lh-des-t); }
  
  .c-hero-home__buttons { flex-direction: var(--al-b-dir-t); justify-content: var(--al-b-jus-t); gap: var(--gap-btn-t); }
  .c-hero-home__btn1, .c-hero-home__btn2 { width: var(--al-b-w-t); font-family: var(--ff-btn-t); font-size: var(--fs-btn-t); font-weight: var(--fw-btn-t); line-height: var(--lh-btn-t); }
  
  .c-hero-home__info { max-width: 100%; gap: var(--gap-head-t); }

  .c-hero-home__shape-wrap {
    display: var(--sh-show-t);
    top: var(--sh-t-t); right: var(--sh-r-t); bottom: var(--sh-b-t); left: var(--sh-l-t);
    width: var(--sh-w-t); height: var(--sh-h-t); opacity: var(--sh-o-t);
  }
  .c-hero-home__shape { animation-duration: var(--sh-s-t); }
  .c-hero-home__play-btn { display: var(--sh-p-t); }
  
  .c-hero-home__scroll { display: var(--scr-t); }
  .c-hero-home__scroll-txt { font-family: var(--ff-scr-t); font-size: var(--fs-scr-t); font-weight: var(--fw-scr-t); line-height: var(--lh-scr-t); }
}

/* ================= MOBILE (<= 768px) ================= */
@media (max-width: 768px) {
  .c-hero-home { padding: var(--pto-m) var(--pro-m) var(--pbo-m) var(--plo-m); }
  .c-hero-home__bg-panel { border-radius: var(--rad-tl-m) var(--rad-tr-m) var(--rad-br-m) var(--rad-bl-m); }

  .c-hero-home__mask {
    position: relative;
    inset: auto;
    overflow: visible;
    display: flex;
    justify-content: center;
    padding-top: calc(var(--pti-m) + var(--is-first-offset-m));
    z-index: 2;
    width: 100%;
  }

  .c-hero-home__mask-inner {
    display: flex;
    justify-content: center;
    height: auto;
  }

  .c-hero-home__img-left {
    position: relative;
    top: var(--il-ym);
    left: var(--il-l-m);
    width: var(--il-w-m);
    height: var(--il-h-m);
    border-radius: var(--il-r-m);
    opacity: var(--il-o-m);
  }

  .c-hero-home__content { 
    gap: var(--gap-main-m); 
    padding-top: 0;
    padding-right: var(--pri-m);
    padding-bottom: var(--pbi-m);
    padding-left: var(--pli-m);
  }

  .c-hero-home__head { gap: var(--gap-head-m); text-align: var(--al-txt-m); padding: var(--pad-head-m); }
  .c-hero-home__tag-wrap { justify-content: var(--al-txt-m); }
  .c-hero-home__tag { font-family: var(--ff-tag-m); font-size: var(--fs-tag-m); font-weight: var(--fw-tag-m); line-height: var(--lh-tag-m); }
  .c-hero-home__title { font-family: var(--ff-tit-m); font-size: var(--fs-tit-m); font-weight: var(--fw-tit-m); line-height: var(--lh-tit-m); }
  .c-hero-home__subtitle { font-family: var(--ff-sub-m); font-size: var(--fs-sub-m); font-weight: var(--fw-sub-m); line-height: var(--lh-sub-m); }
  .c-hero-home__desc { font-family: var(--ff-des-m); font-size: var(--fs-des-m); font-weight: var(--fw-des-m); line-height: var(--lh-des-m); }
  
  .c-hero-home__buttons { flex-direction: var(--al-b-dir-m); justify-content: var(--al-b-jus-m); gap: var(--gap-btn-m); }
  .c-hero-home__btn1, .c-hero-home__btn2 { width: var(--al-b-w-m); font-family: var(--ff-btn-m); font-size: var(--fs-btn-m); font-weight: var(--fw-btn-m); line-height: var(--lh-btn-m); }

  .c-hero-home__info { gap: var(--gap-head-m); }

  .c-hero-home__shape-wrap {
    display: var(--sh-show-m);
    top: var(--sh-t-m); right: var(--sh-r-m); bottom: var(--sh-b-m); left: var(--sh-l-m);
    width: var(--sh-w-m); height: var(--sh-h-m); opacity: var(--sh-o-m);
  }
  .c-hero-home__shape { animation-duration: var(--sh-s-m); }
  .c-hero-home__play-btn { display: var(--sh-p-m); }
  
  .c-hero-home__scroll { display: var(--scr-m); }
  .c-hero-home__scroll-txt {font-family: var(--ff-scr-m); font-size: var(--fs-scr-m); font-weight: var(--fw-scr-m); line-height: var(--lh-scr-m); }
}