.elementor-2692 .elementor-element.elementor-element-a04e489{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:6%;--padding-bottom:4%;--padding-left:3%;--padding-right:3%;}.elementor-2692 .elementor-element.elementor-element-45de1e6{text-align:center;}.elementor-2692 .elementor-element.elementor-element-45de1e6 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:65px;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:0px;word-spacing:0em;color:#1C244B;}.elementor-2692 .elementor-element.elementor-element-7df2d41b{text-align:center;font-family:"Poppins", Sans-serif;font-size:16px;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;word-spacing:0em;color:#324A6D;}.elementor-2692 .elementor-element.elementor-element-28a9867{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2692 .elementor-element.elementor-element-9805ad1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2692 .elementor-element.elementor-element-119cba06{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:8%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:1%;--padding-bottom:1%;--padding-left:3%;--padding-right:3%;}.elementor-2692 .elementor-element.elementor-element-15a570c{--display:flex;}.elementor-2692 .elementor-element.elementor-element-73327a8 .elementor-cta__content-item{transition-duration:1000ms;}.elementor-2692 .elementor-element.elementor-element-73327a8.elementor-cta--sequenced-animation .elementor-cta__content-item:nth-child(2){transition-delay:calc( 1000ms / 3 );}.elementor-2692 .elementor-element.elementor-element-73327a8.elementor-cta--sequenced-animation .elementor-cta__content-item:nth-child(3){transition-delay:calc( ( 1000ms / 3 ) * 2 );}.elementor-2692 .elementor-element.elementor-element-73327a8.elementor-cta--sequenced-animation .elementor-cta__content-item:nth-child(4){transition-delay:calc( ( 1000ms / 3 ) * 3 );}.elementor-2692 .elementor-element.elementor-element-73327a8 .elementor-cta .elementor-cta__bg, .elementor-2692 .elementor-element.elementor-element-73327a8 .elementor-cta .elementor-cta__bg-overlay{transition-duration:1500ms;}.elementor-2692 .elementor-element.elementor-element-73327a8.elementor-element{--flex-grow:1;--flex-shrink:1;}.elementor-2692 .elementor-element.elementor-element-73327a8{border-radius:50px 50px 50px 50px;}.elementor-2692 .elementor-element.elementor-element-73327a8 .elementor-cta__content{min-height:1000px;text-align:center;}.elementor-2692 .elementor-element.elementor-element-73327a8 .elementor-cta__button{color:var( --e-global-color-text );border-color:var( --e-global-color-accent );border-radius:12px;}@media(min-width:768px){.elementor-2692 .elementor-element.elementor-element-a04e489{--content-width:920px;}}@media(max-width:1024px){.elementor-2692 .elementor-element.elementor-element-a04e489{--padding-top:8%;--padding-bottom:8%;--padding-left:5%;--padding-right:5%;}.elementor-2692 .elementor-element.elementor-element-45de1e6 .elementor-heading-title{font-size:45px;}.elementor-2692 .elementor-element.elementor-element-7df2d41b{font-size:14px;}.elementor-2692 .elementor-element.elementor-element-119cba06{--margin-top:12%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:2%;--padding-bottom:2%;--padding-left:5%;--padding-right:5%;}}@media(max-width:767px){.elementor-2692 .elementor-element.elementor-element-a04e489{--padding-top:15%;--padding-bottom:10%;--padding-left:5%;--padding-right:5%;}.elementor-2692 .elementor-element.elementor-element-45de1e6 .elementor-heading-title{font-size:28px;line-height:1.1em;}.elementor-2692 .elementor-element.elementor-element-7df2d41b{padding:0px 0px 0px 0px;}.elementor-2692 .elementor-element.elementor-element-119cba06{--margin-top:25%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:8%;--padding-bottom:8%;--padding-left:5%;--padding-right:5%;}}/* Start custom CSS for heading, class: .elementor-element-45de1e6 *//* Heading 위젯(앨범명)에 CSS Classes: album-title */
.elementor-2692 .elementor-element.elementor-element-45de1e6 .elementor-heading-title{
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.1;
  letter-spacing: -0.01em;
  font-weight: 800;
  margin: 0 0 8px;
}
.elementor-2692 .elementor-element.elementor-element-45de1e6 .elementor-heading-title a{
  color: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: baseline;
  gap: .35em;
  position: relative;
  outline: none;
}
.elementor-2692 .elementor-element.elementor-element-45de1e6 .elementor-heading-title a::after{
  content: "↗";
  font-size: .85em;
  opacity: .6;
  transform: translateY(-.05em);
  transition: transform .15s ease, opacity .15s ease;
}
.elementor-2692 .elementor-element.elementor-element-45de1e6 .elementor-heading-title a:hover{
  text-decoration: underline;
  text-underline-offset: .15em;
}
.elementor-2692 .elementor-element.elementor-element-45de1e6 .elementor-heading-title a:hover::after{
  opacity: 1;
  transform: translate(2px, -.05em);
}
/* 키보드 포커스 접근성 */
.elementor-2692 .elementor-element.elementor-element-45de1e6 .elementor-heading-title a:focus-visible{
  outline: 2px solid currentColor;
  outline-offset: 3px;
  border-radius: 6px;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-7df2d41b *//* 이 코드는 "해당 위젯"에만 적용됨 */


/* 위젯 컨테이너의 최대 너비 제한 + 가운데 정렬 */
.elementor-2692 .elementor-element.elementor-element-7df2d41b .elementor-widget-container {
  max-width: var(--desc-max);
  margin-left: auto;
  margin-right: auto;
}

/* 본문 텍스트 */
.elementor-2692 .elementor-element.elementor-element-7df2d41b .elementor-text-editor,
.elementor-2692 .elementor-element.elementor-element-7df2d41b .elementor-text-editor p {
  margin: 0 0 14px 0;
  font-size: clamp(14px, 1.6vw, 16px);
  line-height: 1.7;
  color: var(--desc-color);
}

/* 강조/링크 */
.elementor-2692 .elementor-element.elementor-element-7df2d41b .elementor-text-editor em,
.elementor-2692 .elementor-element.elementor-element-7df2d41b .elementor-text-editor strong { font-weight: 600; }

.elementor-2692 .elementor-element.elementor-element-7df2d41b .elementor-text-editor a {
  text-decoration: underline;
}

/* 강조 노트(선택): <span class="note">내용</span> */
.elementor-2692 .elementor-element.elementor-element-7df2d41b .elementor-text-editor .note {
  display: inline-block;
  background: rgba(0,0,0,.05);
  border-left: 4px solid rgba(0,0,0,.2);
  padding: .5rem .75rem;
  border-radius: 8px;
}

/* 다크 모드 대비 */
@media (prefers-color-scheme: dark) {
  .elementor-2692 .elementor-element.elementor-element-7df2d41b { --desc-color: #ddd; }
  .elementor-2692 .elementor-element.elementor-element-7df2d41b .elementor-text-editor .note {
    background: rgba(255,255,255,.06);
    border-left-color: rgba(255,255,255,.4);
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-28a9867 *//* ====== 원하는 열 수(템플릿 전역) ====== */
.elementor-2692 .elementor-element.elementor-element-28a9867 {
  --cols-desktop: 4;   /* 데스크톱 열 수 */
  --cols-tablet: 3;    /* 태블릿 열 수  */
  --cols-mobile: 2;    /* 모바일 열 수  */
  --gap: 16px;         /* 타일 간격     */
}

/* 그리드화: 플러그인 마크업이 무엇이든 넓게 대응 */
.elementor-2692 .elementor-element.elementor-element-28a9867 :where(.sgp-grid, .sgp-container, .sgp-list, .items, ul){
  display: grid !important;
  grid-template-columns: repeat(var(--cols-desktop), minmax(0, 1fr)) !important;
  gap: var(--gap) !important;
  align-items: start; /* 서로 다른 높이일 때 상단 정렬 */
}

/* 반응형 열 수 */
@media (max-width: 1024px){
  .elementor-2692 .elementor-element.elementor-element-28a9867 :where(.sgp-grid, .sgp-container, .sgp-list, .items, ul){
    grid-template-columns: repeat(var(--cols-tablet), minmax(0,1fr)) !important;
  }
}
@media (max-width: 640px){
  .elementor-2692 .elementor-element.elementor-element-28a9867 :where(.sgp-grid, .sgp-container, .sgp-list, .items, ul){
    grid-template-columns: repeat(var(--cols-mobile), minmax(0,1fr)) !important;
  }
}

/* ====== 정사각형 타일(썸네일은 중앙 크롭) ====== */
.elementor-2692 .elementor-element.elementor-element-28a9867 a,
.elementor-2692 .elementor-element.elementor-element-28a9867 .tile,
.elementor-2692 .elementor-element.elementor-element-28a9867 li {               /* 플러그인 구조를 넓게 커버 */
  display: block;
  aspect-ratio: 1 / 1;      /* 정사각형 박스 */
  border-radius: 14px;
  overflow: hidden;
  position: relative;
}

/* 이미지가 정사각형 박스를 꽉 채우도록 */
.elementor-2692 .elementor-element.elementor-element-28a9867 img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;  /* 중앙 크롭 */
  display: block;
}

/* ====== 호버 효과 ====== */
.elementor-2692 .elementor-element.elementor-element-28a9867 a{
  transition: transform .18s ease, box-shadow .18s ease;
}
.elementor-2692 .elementor-element.elementor-element-28a9867 a:hover{
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0,0,0,.14);
}

/* ====== 등장 애니메이션 기본 상태 ====== */
@media (prefers-reduced-motion: no-preference){
  .elementor-2692 .elementor-element.elementor-element-28a9867 :where(li, a, figure, .sgp-item, .item){
    opacity: 0;
    transform: translateY(14px);
  }
  .elementor-2692 .elementor-element.elementor-element-28a9867 :where(li, a, figure, .sgp-item, .item).is-in{
    opacity: 1;
    transform: translateY(0);
    transition: opacity .48s ease, transform .48s ease;
    will-change: transform, opacity;
  }
}

/* ====== 렌더링 최적화(큰 리스트에 유용) ====== */
.elementor-2692 .elementor-element.elementor-element-28a9867 :where(li, a, figure, .sgp-item, .item){
  content-visibility: auto;
  contain-intrinsic-size: 320px; /* 자리 미리 확보(대략값) */
}

/* ====== (선택) 플로팅 CTA 버튼 스타일 ======
   → 버튼 위젯에 CSS 클래스 'album-cta'를 부여하고 사용 */
.album-cta{
  position: fixed; right: 20px; bottom: 20px; z-index: 999;
}
.album-cta .elementor-button{
  border-radius: 999px;
  padding: 10px 16px;
  background: rgba(20,20,20,.85);
  color: #fff;
  backdrop-filter: blur(8px);
  box-shadow: 0 10px 24px rgba(0,0,0,.2);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.album-cta .elementor-button:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(0,0,0,.28);
  background: rgba(20,20,20,.95);
}

/* ====== (디버깅용) 구조보기 - 필요 시 잠깐만 켜고 지워도 됨 ====== */
/* .elementor-2692 .elementor-element.elementor-element-28a9867 * { outline: 1px dashed rgba(0,0,0,.2); } *//* End custom CSS */