/* 승인 B안의 배열·배너 크기. 공통 헤더와 상품 목록의 스타일은 변경하지 않습니다. */
.nyLanding{font-family:var(--bj-font-family);font-size:var(--bj-type-body);line-height:var(--bj-type-body-line);color:var(--bj-ink);background:var(--bj-clean);letter-spacing:var(--bj-type-body-tracking);text-align:left}
.nyLanding div,.nyLanding header,.nyLanding h1,.nyLanding h2,.nyLanding h3,.nyLanding p{text-align:left}
.nyLanding *{box-sizing:border-box}
.nyLanding h1,.nyLanding h2,.nyLanding h3,.nyLanding p,.nyLanding ul,.nyLanding ol{margin:0;padding:0}
.nyLanding p,.nyLanding li{font-size:var(--bj-type-body);line-height:var(--bj-type-body-line);letter-spacing:var(--bj-type-body-tracking)}
.nyLanding span{font-size:inherit}
.nyLanding a{color:inherit;text-decoration:none}
.nyLanding a:focus-visible{outline:2px solid var(--bj-nav-active);outline-offset:5px}
.nyLanding img{display:block;max-width:100%}
.nyLanding__heading>div,.nyLanding__entry>div,.nyLanding__steps li>div,.nyLanding__faq>div{margin:0}
.nyLanding__heading>div{display:grid;gap:var(--bj-space-1);flex:1;min-width:0}
.nyLanding__rail{width:min(var(--bj-content-max),calc(100% - 48px));margin-inline:auto}
.nyLanding .nyLanding__navigation .companionCatalogNewyearLinks{border-bottom:0}
.nyLanding h1{font-size:var(--bj-type-display);font-weight:600;line-height:1.24;letter-spacing:-.02em}
.nyLanding h2{font-size:var(--bj-type-section);font-weight:600;line-height:1.35;letter-spacing:-.01em}
.nyLanding h3{font-size:var(--bj-type-body);font-weight:600;line-height:1.6}
.nyLanding .nyLanding__link{display:inline-flex;align-items:center;gap:5px;min-height:44px;width:max-content;max-width:100%;border-bottom:1px solid currentColor;font-size:var(--bj-type-action);line-height:1.6;white-space:nowrap}
.nyLanding__section{padding-block:64px;scroll-margin-top:132px}
.nyLanding__productsSection:first-of-type{padding-top:32px}
.nyLanding__productsSection+.nyLanding__productsSection{border-top:1px solid var(--bj-line)}
.nyLanding__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px}
.nyLanding__eyebrow{color:var(--bj-muted);margin-bottom:8px!important}
/* 청첩장 메인 신상품 머리말·제목·전체보기의 글줄과 간격을 따릅니다. */
.nyLanding .nyLanding__heading .nyLanding__eyebrow{margin:0!important;font-size:var(--bj-type-body);font-weight:var(--bj-type-body-weight);line-height:var(--bj-type-body-line);letter-spacing:normal}
.nyLanding .nyLanding__heading .nyLanding__link{display:block;min-height:0;font-size:var(--bj-type-body);font-weight:var(--bj-type-body-weight);line-height:var(--bj-type-body-line);letter-spacing:normal}
.nyLanding #newyear{background:#f9f9f8;box-shadow:0 0 0 100vmax #f9f9f8;clip-path:inset(0 -100vmax)}
.nyLanding__products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.nyLanding__products--sets{grid-template-columns:repeat(2,minmax(0,1fr))}
.nyLanding__productMedia{aspect-ratio:232/258;border-radius:8px;overflow:hidden;background:var(--bj-soft-surface);margin-bottom:16px}
.nyLanding__productMedia img{width:100%;height:100%;object-fit:cover}
.nyLanding__products--sets .nyLanding__productMedia{aspect-ratio:488/290}
.nyLanding__product h3{word-break:keep-all;overflow-wrap:anywhere}
.nyLanding__product p{margin-top:8px;color:var(--bj-muted)}
.nyLanding__empty{color:var(--bj-muted);padding:32px 0}
/* 청첩장 메인 renew-new/renew-manifesto와 동일한 배경. 두 영역은 독립적으로 유지합니다. */
.nyLanding__band{background:#f9f9f8}
.nyLanding__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;list-style:none}
.nyLanding__steps li>img{margin-bottom:16px}
.nyLanding__steps h3{display:flex;align-items:baseline;gap:12px;font-size:var(--bj-type-subsection);line-height:1.5}
.nyLanding__steps h3 span{font-weight:400;color:var(--bj-muted)}
.nyLanding__steps p{margin-top:16px;color:var(--bj-muted);word-break:keep-all}
.nyLanding__services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
/* 승인 이미지의 배경·여백·그림자를 잘라내지 않고 그대로 보여줍니다. */
.nyLanding__servicePhoto{position:relative;aspect-ratio:8/5;overflow:hidden;background:#dddbd6;border-radius:8px;margin-bottom:16px}
.nyLanding__servicePhoto img{position:absolute;inset:0;display:block;max-width:none;width:100%;height:100%;object-fit:contain;object-position:center}
.nyLanding__events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.nyLanding__event{display:flex;align-items:center;gap:20px;min-height:248px;padding:24px;border-radius:8px;background:var(--bj-clean)}
.nyLanding__eventCopy{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;align-self:stretch;flex:1;min-width:0}
.nyLanding__eventCopy>div{margin:0;width:100%}
.nyLanding__eventCopy h3{font-size:var(--bj-type-subsection);line-height:1.5;margin-block:12px}
.nyLanding__eventCopy p{color:var(--bj-muted);word-break:keep-all}
.nyLanding .nyLanding__caption{font-size:var(--bj-type-caption);line-height:1.5}
.nyLanding__eventPhoto{flex:0 0 160px;width:160px;height:200px;display:flex;align-items:center}
.nyLanding__eventPhoto img{width:100%;height:100%;object-fit:cover;border-radius:8px}
.nyLanding__eventPhoto--sample{background:#dfd8ce;border-radius:8px;overflow:hidden}
.nyLanding__eventPhoto--sample img{height:auto;aspect-ratio:10/9;border-radius:0;mask-image:linear-gradient(to bottom,transparent,#000 8px,#000 calc(100% - 8px),transparent)}
.nyLanding__faq{display:grid;grid-template-columns:320px minmax(0,1fr);gap:32px}
.nyLanding__faq .nyLanding__link{margin-top:24px}
.nyLanding__faq ul{list-style:none;border-top:1px solid var(--bj-ink)}
.nyLanding__faq li{min-height:69px;padding-block:20px;border-bottom:1px solid var(--bj-line);word-break:keep-all}
@media(max-width:1050px) and (min-width:768px){
 .nyLanding__eventPhoto{flex-basis:120px;width:120px}
 .nyLanding__event{gap:16px;padding:20px}
 .nyLanding__steps h3{font-size:18px}
}
@media(max-width:767px){
 .nyLanding__faq h2 br{display:none}
 .nyLanding__rail{width:calc(100% - 32px)}
 .nyLanding h1{font-size:28px;line-height:36px}
 .nyLanding h2{font-size:24px;line-height:1.35}
 .nyLanding__section{padding-block:40px;scroll-margin-top:120px}
 .nyLanding__productsSection{padding-block:32px}
 .nyLanding__productsSection:first-of-type{padding-top:24px}
 .nyLanding__productsSection+.nyLanding__productsSection{border-top:0}
 .nyLanding__heading{gap:8px}
 .nyLanding__eyebrow{font-size:14px;line-height:21px;margin-bottom:8px!important}
 .nyLanding__products,.nyLanding__services{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}
 .nyLanding__productMedia,.nyLanding__servicePhoto{margin-bottom:12px}
 .nyLanding__product h3,.nyLanding__product p{line-height:24px}
 .nyLanding__steps{grid-template-columns:1fr;gap:24px}
 .nyLanding__steps li{display:flex;align-items:flex-start;gap:16px}
 .nyLanding__steps li>img{flex-shrink:0;margin:3px 0 0}
 .nyLanding__steps h3{font-size:20px}
 .nyLanding__steps p{margin-top:12px}
 .nyLanding__events{grid-template-columns:1fr;gap:16px}
 .nyLanding__event{gap:16px;padding:16px;min-height:228px}
 .nyLanding__eventCopy>div{margin:0;width:100%}
.nyLanding__eventCopy h3{font-size:18px;margin-block:8px;word-break:keep-all}
 .nyLanding__eventCopy .nyLanding__link{font-size:14px}
 .nyLanding__eventPhoto{flex-basis:96px;width:96px;height:120px}
 .nyLanding__faq{grid-template-columns:1fr;gap:24px}
 .nyLanding__faq .nyLanding__link{margin-top:16px}
 .nyLanding__faq li{padding-block:16px;min-height:65px}
}
@media(max-width:374px){
 .nyLanding__event{gap:12px}
 .nyLanding__eventPhoto{flex-basis:84px;width:84px}
 .nyLanding__eventCopy>div{margin:0;width:100%}
.nyLanding__eventCopy h3{font-size:18px}
}

/* 승인된 인쇄 제작형 상단. 공통 버튼과 면 토큰을 사용합니다. */
.nyLanding .nyLandingIntro__identity{padding-top:40px;padding-bottom:20px}
.nyLanding .nyLandingIntro__identity h1{font-size:var(--bj-type-page);font-weight:var(--bj-type-page-weight);line-height:var(--bj-type-page-line);letter-spacing:var(--bj-type-page-tracking)}
.nyLanding .nyLandingIntro__identity p{font-size:16px;line-height:1.6;color:var(--bj-muted);margin-top:10px}
.nyLanding__navigation{padding-block:20px 24px}
.nyLandingIntro__band{background:var(--bj-stone);padding:40px 0 36px}
.nyLandingIntro__hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px}
.nyLandingIntro__copy{margin:0!important}
.nyLanding .nyLandingIntro__kicker{font-size:14px;color:var(--bj-muted);line-height:1.5;margin-bottom:12px}
.nyLanding .nyLandingIntro__copy h2{font-size:34px;line-height:1.32;letter-spacing:-.02em;margin:0 0 18px}
.nyLanding .nyLandingIntro__offer{font-size:16px;color:var(--bj-muted);margin:0 0 18px;line-height:1.6}
/* 인쇄 제작 히어로의 밑줄·클릭 영역을 PC와 모바일에서 동일하게 사용합니다. */
.nyLanding .nyLandingIntro__copy .nyLanding__link{min-height:48px;gap:var(--bj-space-1);border-bottom:0;font-size:var(--bj-type-body);font-weight:var(--bj-type-subsection-weight);line-height:var(--bj-type-body-line);text-decoration:underline;text-underline-offset:4px}
.nyLandingIntro__message{width:100%;margin:0!important}
.nyLandingIntro__actions{width:100%;margin:0!important;display:flex;align-items:center;gap:24px}
.nyLanding .nyLandingIntro__primary{gap:8px;white-space:nowrap}
.nyLandingIntro__primary span{color:inherit}

.nyLandingIntro__photo{height:280px;margin:0!important;border-radius:8px;overflow:hidden;background:var(--bj-product-stage)}
.nyLandingIntro__photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.nyLandingIntro__audience{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px!important}
.nyLandingIntro__audience>a{display:block;border-top:1px solid var(--bj-line);padding-top:16px;min-height:82px}
.nyLanding .nyLandingIntro__audience h3{font-size:18px;line-height:1.5;font-weight:600;display:flex;justify-content:space-between;gap:12px}
.nyLanding .nyLandingIntro__audience p{margin-top:6px;color:var(--bj-muted);font-size:16px;line-height:1.6}
.nyLandingIntro__mobileLabel{display:none}
.nyLanding .nyLandingIntro__band+#newyear{padding-top:48px}
@media(max-width:767px){
 .nyLanding .nyLandingIntro__identity{padding-block:0}
 .nyLanding .nyLandingIntro__identity h1{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .nyLanding .nyLandingIntro__identity p{display:none}
 .nyLanding__navigation{padding-block:16px 0}
 /* 인쇄 제작 모바일 히어로와 같은 글 → 행동 → 4:3 사진, 16/24/48 간격. */
 .nyLandingIntro__band{padding:var(--bj-space-4) 0}
 .nyLandingIntro__band>.nyLanding__rail{width:calc(100% - 28px)}
 .nyLandingIntro__hero{grid-template-columns:minmax(0,1fr);gap:var(--bj-space-3)}
 .nyLandingIntro__copy,.nyLandingIntro__message{display:grid;gap:var(--bj-space-2)}
 .nyLanding .nyLandingIntro__kicker{font-size:var(--bj-type-caption);line-height:var(--bj-type-caption-line);letter-spacing:.06em;margin:0}
 .nyLanding .nyLandingIntro__copy h2{font-size:var(--bj-type-display);line-height:var(--bj-type-display-line);letter-spacing:-.04em;margin:0;white-space:normal;word-break:keep-all}
 .nyLanding .nyLandingIntro__offer{font-size:var(--bj-type-body);line-height:var(--bj-type-body-line);margin:0}
 .nyLandingIntro__actions{flex-wrap:wrap;gap:var(--bj-space-2) var(--bj-space-3);padding-top:var(--bj-space-2)}
 .nyLandingIntro__photo{height:auto;aspect-ratio:4/3;border-radius:var(--bj-catalog-media-radius)}
 .nyLandingIntro__photo img{object-position:center}
 .nyLandingIntro__audience{margin-top:22px!important;gap:20px}
 .nyLandingIntro__audience>a{padding-top:14px;min-height:98px}
 .nyLanding .nyLandingIntro__audience h3{font-size:16px;line-height:24px;gap:4px}
 .nyLanding .nyLandingIntro__audience p{font-size:14px;line-height:22px;word-break:keep-all;margin-top:6px}
 .nyLandingIntro__desktopLabel{display:none}.nyLandingIntro__mobileLabel{display:inline}
 .nyLanding .nyLandingIntro__band+#newyear{padding-top:32px}
}
