.premium-v2 {
  position: relative !important;
  height: 100vh !important;
  min-height: 100vh !important;
  overflow: hidden;
  background: #eeeae4 !important;
  color: #211813 !important;
}

.premium-v2-visuals,
.premium-v2-visuals figure {
  position: absolute;
  inset: 0;
}

.premium-v2-visuals figure {
  opacity: 0;
  transform: scale(1.07);
  transition: opacity 1s ease, transform 6.5s cubic-bezier(.2,.65,.3,1);
}

.premium-v2-visuals figure.is-active {
  opacity: 1;
  transform: scale(1);
}

.premium-v2-visuals img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.7) contrast(.86) brightness(1.16);
}

.premium-v2-shade {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(250,248,245,.98) 0%, rgba(250,248,245,.92) 25%, rgba(250,248,245,.63) 44%, rgba(250,248,245,.12) 75%),
    linear-gradient(0deg, rgba(240,235,228,.72), transparent 48%) !important;
}

.premium-v2-heading {
  top: 31% !important;
  left: 4.7vw !important;
  width: min(560px, 39vw);
  color: #211813;
}

.premium-v2-heading > p {
  color: #66564b !important;
  font: 700 10px/1.2 Arial, sans-serif !important;
  letter-spacing: .28em !important;
}

.premium-v2-heading h2 {
  margin-top: 24px !important;
  color: #211813 !important;
  font: 500 clamp(38px, 4.1vw, 68px)/1.18 "Noto Sans KR", sans-serif !important;
  letter-spacing: -.065em !important;
}

.premium-v2-heading h2 em {
  display: inline-block;
  margin-top: 7px;
  color: #263241 !important;
  font: 600 .96em/1.15 "Noto Sans KR", sans-serif !important;
}

.premium-v2-copy {
  top: 50% !important;
  right: 7.5vw;
  left: auto !important;
  width: min(405px, 31.7vw) !important;
  height: min(610px, 77vh) !important;
  transform: translateY(-50%) !important;
  filter: drop-shadow(0 26px 48px rgba(34,26,20,.18));
}

.premium-v2-copy article {
  box-sizing: border-box;
  padding: min(43vh, 338px) 34px 26px !important;
  overflow: hidden;
  background: rgba(255,255,255,.97);
  color: #211813;
  text-align: center;
  opacity: 0;
  transform: translateX(42px) rotate(.45deg) !important;
  transition: opacity .65s ease, transform .9s cubic-bezier(.2,.72,.2,1) !important;
}

.premium-v2-copy article::before {
  position: absolute;
  top: 20px;
  right: 20px;
  left: 20px;
  height: min(37vh, 292px);
  background: var(--card-image) center/cover no-repeat;
  content: "";
}

.premium-v2-copy article::after {
  position: absolute;
  top: min(39.5vh, 312px);
  left: 50%;
  width: 34px;
  height: 1px;
  background: #aa927d;
  content: "";
  transform: translateX(-50%);
}

.premium-v2-copy article.is-active {
  opacity: 1;
  transform: none !important;
}

.premium-v2-copy span {
  color: #766153 !important;
  font: 700 9px/1.2 Arial, sans-serif !important;
  letter-spacing: .24em !important;
}

.premium-v2-copy h3 {
  margin: 17px 0 0 !important;
  color: #1c1511;
  font-size: clamp(23px, 2vw, 31px) !important;
  font-weight: 650 !important;
  line-height: 1.34 !important;
  letter-spacing: -.065em !important;
}

.premium-v2-copy p {
  max-width: 310px !important;
  margin: 15px auto 0 !important;
  color: #746d67 !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
}

.premium-v2-controls {
  left: 4.7vw !important;
  bottom: 7vh !important;
  color: #271b16 !important;
}

.premium-v2-controls > i {
  background: rgba(39,27,22,.22) !important;
}

.premium-v2-controls > i span {
  background: #263241 !important;
}

.premium-v2-controls > em {
  color: rgba(39,27,22,.56) !important;
}

.premium-v2-controls button {
  border-color: rgba(39,27,22,.4) !important;
  background: rgba(255,255,255,.58) !important;
  color: #271b16 !important;
}

.premium-v2-controls button:hover {
  border-color: #263241 !important;
  background: #263241 !important;
  color: #fff !important;
}

.premium-v2-caption {
  color: rgba(39,27,22,.5) !important;
}

.manifesto-section {
  position: relative;
  height: 100vh;
  min-height: 100vh;
  overflow: hidden;
  background: #182632;
  color: #fff;
}

.manifesto-backdrop {
  position: absolute;
  inset: 8vh 8vw;
  overflow: hidden;
  border-radius: 80px 80px 230px 80px;
  clip-path: inset(10% 17% 10% 17% round 130px);
  transform: scale(.86);
  transition:
    inset 1.25s cubic-bezier(.16,.8,.2,1),
    clip-path 1.25s cubic-bezier(.16,.8,.2,1),
    border-radius 1.25s cubic-bezier(.16,.8,.2,1),
    transform 1.4s cubic-bezier(.16,.8,.2,1);
}

.manifesto-backdrop img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.13);
  transition: transform 2.2s cubic-bezier(.16,.8,.2,1);
}

.manifesto-section.is-inview .manifesto-backdrop {
  inset: 0;
  border-radius: 0;
  clip-path: inset(0 round 0);
  transform: scale(1);
}

.manifesto-section.is-inview .manifesto-backdrop img {
  transform: scale(1.02);
}

.manifesto-shade {
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(13,29,42,.68), rgba(13,29,42,.18) 55%, rgba(13,29,42,.42)),
    linear-gradient(0deg, rgba(9,22,31,.6), transparent 58%);
  opacity: 0;
  transition: opacity 1.1s .35s ease;
}

.manifesto-section.is-inview .manifesto-shade {
  opacity: 1;
}

.manifesto-copy {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  width: min(900px, 78vw);
  text-align: center;
  opacity: 0;
  transform: translate(-50%, -36%) scale(.96);
  transition: opacity .9s .55s ease, transform 1.1s .55s cubic-bezier(.16,.8,.2,1);
}

.manifesto-section.is-inview .manifesto-copy {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.manifesto-copy span {
  display: block;
  margin-bottom: 25px;
  color: rgba(255,255,255,.7);
  font: 700 10px/1.2 Arial, sans-serif;
  letter-spacing: .34em;
}

.manifesto-copy h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(48px, 5.6vw, 90px);
  font-weight: 500;
  line-height: 1.16;
  letter-spacing: -.075em;
  text-shadow: 0 4px 28px rgba(0,0,0,.22);
}

.manifesto-copy p {
  margin: 30px 0 0;
  color: rgba(255,255,255,.76);
  font-size: 14px;
  line-height: 1.85;
}

.manifesto-corners i {
  position: absolute;
  z-index: 2;
  width: 34px;
  height: 34px;
  opacity: 0;
  transition: opacity .7s 1s ease;
}

.manifesto-section.is-inview .manifesto-corners i { opacity: .75; }
.manifesto-corners i:nth-child(1) { top: 11vh; left: 6vw; border-top: 1px solid #fff; border-left: 1px solid #fff; }
.manifesto-corners i:nth-child(2) { top: 11vh; right: 6vw; border-top: 1px solid #fff; border-right: 1px solid #fff; }
.manifesto-corners i:nth-child(3) { right: 6vw; bottom: 9vh; border-right: 1px solid #fff; border-bottom: 1px solid #fff; }
.manifesto-corners i:nth-child(4) { bottom: 9vh; left: 6vw; border-bottom: 1px solid #fff; border-left: 1px solid #fff; }

@media (min-width: 881px) {
  html { scroll-snap-type: y mandatory !important; }
  .snap-section { height: 100vh !important; min-height: 100vh !important; scroll-snap-align: start !important; scroll-snap-stop: normal !important; }
}

@media (max-width: 880px) {
  .premium-v2-heading {
    top: 10% !important;
    right: 22px;
    left: 22px !important;
    width: auto;
  }

  .premium-v2-heading h2 {
    margin-top: 12px !important;
    font-size: 34px !important;
  }

  .premium-v2-copy {
    top: 57% !important;
    right: 22px !important;
    left: 22px !important;
    width: auto !important;
    height: 55vh !important;
  }

  .premium-v2-copy article {
    padding: 29vh 22px 18px !important;
  }

  .premium-v2-copy article::before {
    top: 14px;
    right: 14px;
    left: 14px;
    height: 25vh;
  }

  .premium-v2-copy article::after { top: calc(25vh + 26px); }
  .premium-v2-copy h3 { margin-top: 12px !important; font-size: 23px !important; }
  .premium-v2-copy p { margin-top: 9px !important; font-size: 10px !important; }
  .premium-v2-controls { right: 22px; bottom: 3.6vh !important; left: 22px !important; }
  .premium-v2-caption { display: none; }

  .manifesto-backdrop {
    inset: 7vh 6vw;
    border-radius: 45px 45px 120px 45px;
    clip-path: inset(8% 10% round 70px);
  }

  .manifesto-copy { width: calc(100% - 40px); }
  .manifesto-copy span { margin-bottom: 18px; font-size: 8px; }
  .manifesto-copy h2 { font-size: 42px; line-height: 1.2; }
  .manifesto-copy p { margin-top: 21px; font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) {
  .premium-v2-visuals figure,
  .premium-v2-copy article,
  .manifesto-backdrop,
  .manifesto-backdrop img,
  .manifesto-shade,
  .manifesto-copy {
    transition: none !important;
  }
}
