@charset "utf-8";

html:has(.b2c2-page),
body.ss-site:has(.b2c2-page) {
    overflow-x: clip;
    max-width: 100%;
    width: 100%;
    min-width: 0;
}
body.ss-site:has(.b2c2-page) #hd,
body.ss-site:has(.b2c2-page) .ss-header,
body.ss-site:has(.b2c2-page) #wrapper,
body.ss-site:has(.b2c2-page) #container_wr,
body.ss-site:has(.b2c2-page) #container,
body.ss-site:has(.b2c2-page) #container.ss-page,
body.ss-site:has(.b2c2-page) #ft {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    background: #f6f6f6 !important;
}
body.ss-site:has(.b2c2-page) #container_title {
    display: none !important;
}

.b2c2-page {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    padding: 0 18px 72px;
    background: #f6f6f6;
    color: #2a2a2a;
    box-sizing: border-box;
    font-family: "Noto Sans KR", "Apple SD Gothic Neo", sans-serif;
}
.b2c2-page *,
.b2c2-page *::before,
.b2c2-page *::after {
    box-sizing: border-box;
}
.b2c2-page img {
    max-width: 100%;
    height: auto;
}
.b2c2-page h1,
.b2c2-page h2,
.b2c2-page p {
    word-break: keep-all;
}
.b2c2-admin {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 16px 0 24px;
}
.b2c2-admin a {
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 0 12px;
    border: 1px solid #e4dfd4;
    border-radius: 6px;
    font-size: 12px;
    color: #6d6860;
}

.b2c2-hero,
.b2c2-copy,
.b2c2-atelier,
.b2c2-diff,
.b2c2-pack,
.b2c2-lineup,
.b2c2-use-case,
.b2c2-label,
.b2c2-offer,
.b2c2-ship,
.b2c2-faq {
    margin: 0 0 36px;
}
.b2c2-page > section:nth-of-type(odd) {
    background-color: #f0eee8;
}
.b2c2-page > section:nth-of-type(even) {
    background-color: #f9f8f5;
}
.b2c2-diff,
.b2c2-pack,
.b2c2-lineup,
.b2c2-label,
.b2c2-offer,
.b2c2-ship,
.b2c2-faq,
.b2c2-use,
.b2c2-care-sec,
.b2c2-notice {
    margin-left: -18px;
    margin-right: -18px;
    padding-left: 18px;
    padding-right: 18px;
}
.b2c2-diff {
    padding-top: 36px;
    padding-bottom: 12px;
}
.b2c2-page figure {
    margin: 0 0 14px;
}
.b2c2-page figure img {
    display: block;
    width: 100%;
    height: auto !important;
}
.b2c2-hero-stage {
    position: relative;
    width: calc(100% + 36px);
    margin: 0 -18px 24px;
    aspect-ratio: 728 / 1024;
    background-color: #eaebe6;
    background-image: url("../../../img/b2c2-hero-bg.png");
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 100% auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 7% 20px 0;
    overflow: hidden;
}
.b2c2-ornament {
    margin: 0 0 18px;
    text-align: center;
    color: #d4cdc4;
    font-size: 28px;
    line-height: 1;
}
.b2c2-ornament img {
    display: block;
    width: 42px;
    height: auto;
    margin: 0 auto;
    opacity: 0.55;
}
.b2c2-kicker {
    margin: 0;
    text-align: center;
    font-family: "Cormorant Garamond", "Noto Serif KR", serif;
    font-size: clamp(22px, 6.4vw, 34px);
    font-weight: 500;
    letter-spacing: 0.18em;
    color: #9a9a9a;
    line-height: 1.2;
}
.b2c2-sub {
    margin: 8px 0 0;
    text-align: center;
    font-family: "Cormorant Garamond", "Noto Serif KR", serif;
    font-style: italic;
    font-size: clamp(16px, 4.6vw, 24px);
    font-weight: 400;
    letter-spacing: 0.04em;
    color: #a8a8a8;
}
.b2c2-hero h1,
.b2c2-diff h2,
.b2c2-pack h2,
.b2c2-lineup h2,
.b2c2-label h2,
.b2c2-offer h2,
.b2c2-ship h2,
.b2c2-faq h2,
.b2c2-use h2,
.b2c2-notice h2 {
    margin: 0 0 12px;
    font-family: "Noto Serif KR", "Nanum Myeongjo", serif;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -0.05em;
    text-align: center;
    line-height: 1.45;
}
.b2c2-lead,
.b2c2-atelier p,
.b2c2-label p,
.b2c2-offer p,
.b2c2-ship p {
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.75;
    letter-spacing: -0.03em;
    color: #555;
    text-align: center;
}

.b2c2-copy {
    text-align: center;
    background: transparent;
    margin: 0 -18px 36px;
    padding: 48px 28px 56px;
}
.b2c2-mark {
    margin: 0 0 22px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.7;
    letter-spacing: -0.04em;
}
.b2c2-mark span {
    background: #e7efd8;
    box-decoration-break: clone;
    padding: 0 4px;
}
.b2c2-copy blockquote {
    margin: 0 0 22px;
    font-family: "Noto Serif KR", serif;
    font-size: 18px;
    line-height: 1.6;
}
.b2c2-copy p b {
    background: #e7efd8;
    font-weight: 600;
}

.b2c2-q {
    text-align: center;
    font-family: "Noto Serif KR", "Nanum Myeongjo", serif;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 1.45;
    color: #5a6748;
    margin: 0 0 28px !important;
}
.b2c2-diff ol,
.b2c2-use ol,
.b2c2-notice ol {
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
}
.b2c2-notice {
    text-align: center;
    background-color: #FEFEFE;
    padding: 40px 18px;
    margin-bottom: 0;
}
.b2c2-page > section.b2c2-notice {
    background-color: #FEFEFE;
    margin-bottom: 0;
}
.b2c2-notice .b2c2-badge {
    margin: 0 auto 22px;
    padding: 10px 22px;
    border-radius: 50%;
    font-family: "Cormorant Garamond", "Noto Serif KR", serif;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.08em;
    color: #2a2a2a;
    background: #fff;
}
.b2c2-notice > ol > li {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 12px;
    align-items: start;
    margin: 0 0 28px;
    padding: 0;
    background: none;
    border-radius: 0;
    text-align: left;
}
.b2c2-notice-ico {
    margin: 0;
    width: 56px;
    line-height: 0;
}
.b2c2-page .b2c2-notice-ico img {
    display: block;
    width: 100%;
    height: auto !important;
}
.b2c2-diff > ol > li {
    margin: 0 0 36px;
    padding: 8px 0 0;
    background: none;
    border-radius: 0;
}
.b2c2-diff > ol > li > p {
    position: relative;
    z-index: 1;
    display: inline-block;
    margin: 0;
    padding: 7px 14px;
    background: #dce8c8;
    color: #5d6b3f;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-align: left;
}
.b2c2-diff-row,
.b2c2-diff-vs {
    display: grid;
    grid-template-columns: 0.5fr 1.5fr;
    gap: 8px;
    align-items: start;
}
.b2c2-diff > ol > li .b2c2-diff-row {
    margin-top: -14px;
    padding: 28px 8px 18px;
    border-top: 1px solid #d2cdc4;
    align-items: center;
    background: #fff;
}
.b2c2-diff > ol > li .b2c2-diff-vs {
    padding: 18px 8px;
    align-items: center;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}
.b2c2-diff-brand {
    padding-top: 4px;
    font-family: "Cormorant Garamond", "Noto Serif KR", serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: #3a3a3a;
}
.b2c2-diff .b2c2-diff-ours strong {
    display: inline;
    margin: 0;
    padding: 0 4px;
    background: #dce8c8;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: -0.04em;
    color: #3a3a3a;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}
.b2c2-diff-ours span {
    display: block;
    margin-top: 8px;
    font-size: 10px;
    line-height: 1.7;
    color: #555;
    text-align: left;
}
.b2c2-certs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 18px 0 4px;
}
.b2c2-certs figure {
    margin: 0;
    background: #fff;
    border: 1px solid #ece8e2;
}
.b2c2-certs img {
    display: block;
    width: 100%;
    height: auto;
}
.b2c2-diff > ol > li.is-cert .b2c2-diff-row {
    align-items: start;
    padding-bottom: 8px;
}
.b2c2-diff > ol > li.is-cert .b2c2-diff-brand {
    padding-top: 8px;
}
.b2c2-diff > ol > li.is-cert .b2c2-diff-vs {
    padding-top: 12px;
}
.b2c2-diff > ol > li .b2c2-diff-main {
    margin-top: -14px;
    padding: 28px 8px 18px;
    background: #fff;
    border-top: 1px solid #d2cdc4;
}
.b2c2-diff > ol > li .b2c2-diff-main .b2c2-diff-row {
    margin-top: 0;
    padding: 0 0 16px;
    background: none;
    border-top: 0;
}
.b2c2-process {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.b2c2-diff .b2c2-process > li {
    margin: 0;
    padding: 0;
    background: none;
}
.b2c2-process figure {
    margin: 0;
}
.b2c2-process img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}
.b2c2-process figcaption {
    margin-top: 8px;
    font-size: 11px;
    letter-spacing: -0.03em;
    color: #8a8a8a;
    text-align: center;
}
.b2c2-diff > ol > li.is-process .b2c2-diff-vs,
.b2c2-diff > ol > li.is-stories .b2c2-diff-vs {
    padding-top: 16px;
}
.b2c2-stories {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}
.b2c2-diff .b2c2-stories > li {
    margin: 0;
    padding: 0;
    background: none;
    overflow: hidden;
}
.b2c2-stories img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}
.b2c2-diff-vs {
    padding-top: 4px;
}
.b2c2-diff-other-label {
    padding-top: 2px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: -0.04em;
    color: #555;
}
.b2c2-diff-other b {
    display: block;
    margin: 0 0 4px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: -0.04em;
    color: #2a2a2a;
}
.b2c2-diff-other span {
    display: block;
    font-size: 10px;
    line-height: 1.65;
    color: #666;
    text-align: left;
}
.b2c2-diff strong,
.b2c2-notice strong,
.b2c2-use strong {
    display: block;
    margin: 0 0 4px;
    font-size: 14px;
}
.b2c2-notice p,
.b2c2-use li,
.b2c2-use p {
    font-size: 13px;
    line-height: 1.65;
    color: #555;
    text-align: left;
}
.b2c2-pack ul {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 12px;
    text-align: center;
}

.b2c2-line {
    text-align: center;
    font-family: "Cormorant Garamond", serif;
    letter-spacing: 0.16em;
    color: #b0aaa3;
    font-size: 13px;
}
.b2c2-badge {
    display: table;
    margin: 12px auto;
    padding: 4px 14px;
    border: 1px solid #cfc8bf;
    border-radius: 999px;
    font-size: 12px;
}
.b2c2-cursive {
    text-align: center;
    font-family: "Great Vibes", cursive;
    font-size: 22px;
    color: #cfc8bf;
}

.b2c2-page > section.b2c2-label,
.b2c2-label {
    padding: 70px 20px;
}
.b2c2-label h2 {
    margin: 0 0 24px;
}
.b2c2-label-hero {
    margin: 0 0 20px;
}
.b2c2-label-copy {
    margin: 0 0 28px;
    text-align: center;
}
.b2c2-label-copy p {
    margin: 0 0 16px;
}
.b2c2-label-highlight {
    margin: 8px 0 16px;
}
.b2c2-label-highlight span {
    display: inline-block;
    padding: 10px 16px;
    background: #eee8de;
    border-radius: 8px;
    font-weight: 600;
    color: #2a2a2a;
    line-height: 1.7;
}
.b2c2-label-copy .b2c2-note {
    margin: 0;
    font-size: 12px;
    color: #8a8a8a;
}
.b2c2-label-tabnav {
    display: none;
}
.b2c2-label h3 {
    margin: 60px 0 22px;
    text-align: center;
    font-family: "Noto Serif KR", serif;
    font-size: 20px;
}
.b2c2-note {
    font-size: 12px;
    color: #8a8a8a;
}
.b2c2-ship {
    text-align: center;
    background-color: #fff;
    padding: 40px 18px;
}
.b2c2-page > section.b2c2-ship {
    background-color: #fff;
}
.b2c2-ship h2 {
    margin: 0 0 8px;
}
.b2c2-ship p.b2c2-ship-lead {
    margin: 0 0 22px;
    font-size: 14px;
    color: #2a2a2a;
}
.b2c2-cal {
    margin: 0 0 16px;
}
.b2c2-cal-head,
.b2c2-cal-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    margin: 0;
    padding: 0;
    list-style: none;
}
.b2c2-cal-head {
    margin-bottom: 12px;
}
.b2c2-cal-head li {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.04em;
    color: #9a9590;
    text-align: center;
}
.b2c2-cal-grid {
    row-gap: 18px;
}
.b2c2-cal-grid li {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-height: 44px;
    font-size: 12px;
    color: #2a2a2a;
}
.b2c2-cal-grid li > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #e8eedf;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    color: #3a3a3a;
}
.b2c2-cal-grid .is-start span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #2a2a2a;
    color: #fff;
    font-size: 9px;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: -0.04em;
    text-align: center;
}
.b2c2-cal-grid .is-mark {
    position: relative;
    min-height: 56px;
}
.b2c2-cal-grid .is-mark b {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #c5d4a8;
    font-size: 13px;
    font-weight: 600;
    color: #2a2a2a;
}
.b2c2-cal-grid .is-mark em {
    display: block;
    margin-top: 4px;
    font-style: normal;
    font-size: 9px;
    line-height: 1.3;
    letter-spacing: -0.05em;
    color: #6a655c;
    text-align: center;
    white-space: nowrap;
}
.b2c2-cal-grid .is-more {
    color: #c0bbb4;
    letter-spacing: 1px;
    min-height: 34px;
    justify-content: center;
    font-size: 14px;
}
.b2c2-ship p.b2c2-note {
    margin: 0 0 18px;
    font-size: 11px;
    text-align: right;
    color: #8a8a8a;
}
.b2c2-ship-table {
    margin: 0 0 28px;
    border-top: 1px solid #d5d0c8;
    text-align: left;
}
.b2c2-ship-table div {
    display: grid;
    grid-template-columns: 108px 1fr;
    gap: 10px;
    align-items: center;
    padding: 14px 4px;
    border-bottom: 1px solid #d5d0c8;
    font-size: 12px;
    line-height: 1.65;
    color: #2a2a2a;
}
.b2c2-ship-table dt {
    font-weight: 700;
    text-align: center;
    letter-spacing: -0.04em;
}
.b2c2-ship-table dd {
    margin: 0;
    letter-spacing: -0.03em;
}
.b2c2-ship-table dd b {
    font-weight: 700;
}
.b2c2-ship-contact {
    display: flex;
    flex-direction: row;
    gap: 8px;
    margin: 0 0 18px;
}
.b2c2-ship-contact a {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 0;
    min-height: 46px;
    padding: 8px 10px;
    border: 1px solid #e4dfd4;
    border-radius: 23px;
    background: #fff;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: -0.04em;
    color: #2a2a2a;
    white-space: nowrap;
}
.b2c2-ship-contact .material-symbols-outlined {
    font-size: 18px;
}
.b2c2-ship .b2c2-ship-contact + p.b2c2-note {
    text-align: center;
    font-size: 12px;
    line-height: 1.75;
    color: #8a8a8a;
}

.b2c2-faq {
    text-align: center;
}
.b2c2-faq .b2c2-badge {
    margin: 0 auto 22px;
    padding: 10px 22px;
    border-radius: 50%;
    font-family: "Cormorant Garamond", "Noto Serif KR", serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.04em;
    color: #2a2a2a;
    background: #fff;
}
.b2c2-faq h2 {
    margin: 0 0 28px;
}
.b2c2-faq-list {
    margin: 0;
    text-align: left;
}
.b2c2-faq-list > div {
    margin: 0 0 28px;
    padding: 0;
    border: 0;
}
.b2c2-faq dt {
    margin: 0 0 10px;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: -0.04em;
    color: #2a2a2a;
}
.b2c2-faq dd {
    margin: 0;
    padding-left: 18px;
    font-size: 13px;
    line-height: 1.8;
    letter-spacing: -0.03em;
    color: #555;
}

.b2c2-notice .b2c2-warn {
    margin: 0 0 32px;
    padding: 0;
    background: none;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: -0.03em;
    line-height: 1.7;
    color: #2a2a2a;
    text-align: center;
}
.b2c2-notice > ol > li strong {
    display: block;
    margin: 0 0 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #000;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.04em;
    color: #2a2a2a;
}
.b2c2-notice > ol > li p {
    margin: 0 0 8px;
    font-size: 13px;
    line-height: 1.75;
    letter-spacing: -0.03em;
    color: #555;
    text-align: left;
}
.b2c2-notice > ol ul {
    margin: 8px 0 10px;
    padding: 0;
    list-style: none;
}
.b2c2-page .b2c2-notice > ol ul li {
    position: relative;
    margin: 0 0 6px;
    padding: 0 0 0 18px;
    font-size: 13px;
    line-height: 1.7;
    letter-spacing: -0.03em;
    color: #555;
    text-align: left;
}
.b2c2-notice > ol ul li::before {
    content: "→";
    position: absolute;
    left: 0;
}
.b2c2-notice > ol ul.is-check li::before {
    content: "✓";
}
.b2c2-notice > ol ul.is-dash li {
    padding-left: 14px;
}
.b2c2-notice > ol ul.is-dash li::before {
    content: "-";
}
.b2c2-notice > ol ul.is-gap {
    margin-top: 18px;
}

.b2c2-quotes {
    display: flex;
    flex-direction: column;
    gap: 28px;
    margin: 28px 0 32px;
    padding: 4px 2px;
    list-style: none;
}
.b2c2-quotes li {
    position: relative;
    display: block;
    width: fit-content;
    max-width: 86%;
    margin: 0;
    padding: 16px 20px 18px;
    background: #fff;
    font-family: "Gaegu", "Noto Sans KR", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.85;
    letter-spacing: -0.03em;
    color: #3a3a3a;
    box-shadow: 0 2px 10px rgba(40, 36, 30, 0.05);
}
.b2c2-quotes li.is-left {
    align-self: flex-start;
    border-radius: 28px 28px 28px 10px;
}
.b2c2-quotes li.is-right {
    align-self: flex-end;
    border-radius: 28px 28px 10px 28px;
}
.b2c2-quotes li::after {
    content: "";
    position: absolute;
    bottom: -7px;
    width: 14px;
    height: 12px;
    background: #fff;
}
.b2c2-quotes li.is-left::after {
    left: 18px;
    clip-path: polygon(0 0, 100% 0, 18% 100%);
}
.b2c2-quotes li.is-right::after {
    right: 18px;
    clip-path: polygon(0 0, 100% 0, 82% 100%);
}
.b2c2-quotes mark {
    background: #dce8c8;
    color: inherit;
    font-style: normal;
    padding: 0 3px;
    border-radius: 2px;
}
.b2c2-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 0 0 14px;
}
.b2c2-hero .b2c2-pair {
    gap: 0;
    width: calc(100% + 36px);
    margin: 0 -18px 14px;
}
.b2c2-pair figure {
    margin: 0;
}
.b2c2-hero .b2c2-pair img {
    display: block;
    width: 100%;
    height: auto;
}
.b2c2-page figcaption {
    margin-top: 8px;
    font-size: 11px;
    font-weight: 600;
    text-align: center;
    color: #4a4a4a;
}
.b2c2-atelier {
    margin: 0 -18px 36px;
}
.b2c2-atelier-stage {
    position: relative;
    padding: 48px 28px 36px;
    text-align: center;
    background-color: #f4f1ec;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.86)),
        url("../../../img/b2c2-atelier-poster.png");
    background-position: center 18%;
    background-size: cover;
    background-repeat: no-repeat;
}
.b2c2-atelier-badge {
    display: inline-block;
    margin: 0 0 22px;
    padding: 8px 22px 7px;
    border: 1px solid #7a7a7a;
    border-radius: 999px;
    font-family: "Cormorant Garamond", "Noto Serif KR", serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.16em;
    color: #4a4a4a;
}
.b2c2-atelier-stage h2 {
    margin: 0 0 28px;
    font-family: "Noto Serif KR", "Nanum Myeongjo", serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: -0.04em;
    color: #2a2a2a;
}
.b2c2-atelier-stage h2 em {
    font-style: normal;
    font-weight: 700;
}
.b2c2-atelier-stage p {
    margin: 0 0 22px;
    font-size: 13px;
    line-height: 1.9;
    letter-spacing: -0.03em;
    color: #555;
    text-align: center;
}
.b2c2-atelier-bottles {
    position: relative;
    margin: 12px auto 0;
    max-width: 100%;
}
.b2c2-atelier-bottles picture,
.b2c2-atelier-bottles img {
    display: block;
    width: 100%;
    height: auto;
}
.b2c2-atelier-bottles figcaption {
    position: absolute;
    left: 0;
    top: 50%;
    width: 42%;
    margin: 0;
    transform: translateY(-50%);
    font-family: "Cormorant Garamond", "Noto Serif KR", serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0.02em;
    color: #8f8f8f;
    text-align: center;
}
.b2c2-atelier-photos {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    margin: 0;
}
.b2c2-atelier-photos figure {
    margin: 0;
    overflow: hidden;
}
.b2c2-atelier-photos .is-wide {
    grid-column: 1 / -1;
}
.b2c2-atelier-photos img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}
.b2c2-atelier-photos figure:not(.is-wide) img {
    aspect-ratio: 1 / 1;
}
.b2c2-atelier-note {
    margin: 20px 18px 0;
    padding: 28px 24px 24px;
    background: #fff;
    border: 1px solid #d8d8d8;
    text-align: left;
}
.b2c2-atelier-note p {
    margin: 0 0 22px;
    font-size: 12px;
    line-height: 1.8;
    letter-spacing: -0.03em;
    color: #444;
    text-align: left;
}
.b2c2-atelier-note p:last-of-type {
    margin-bottom: 18px;
}
.b2c2-atelier-note cite {
    display: block;
    margin: 0;
    font-style: normal;
    font-size: 13px;
    letter-spacing: 0.02em;
    color: #555;
    text-align: right;
}
.b2c2-diff h3,
.b2c2-offer h3,
.b2c2-use h3 {
    margin: 18px 0 10px;
    text-align: center;
    font-family: "Noto Serif KR", serif;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.04em;
}
.b2c2-types,
.b2c2-base,
.b2c2-checks,
.b2c2-spec,
.b2c2-note-list {
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
}
.b2c2-types {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
.b2c2-types li,
.b2c2-kits li {
    padding: 14px 12px;
    background: #fff;
    border-radius: 12px;
    text-align: center;
}
.b2c2-types strong,
.b2c2-kits strong {
    display: block;
    font-size: 14px;
}
.b2c2-types span,
.b2c2-kits span {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: #7a756e;
}
.b2c2-base {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    font-size: 12px;
    color: #6a655c;
}
.b2c2-base li {
    padding: 8px 10px;
    background: #fff;
    border-radius: 999px;
}
.b2c2-compose {
    margin: 8px -18px 0;
    padding: 8px 18px 40px;
    background: #fff;
}
.b2c2-compose h3 {
    margin: 30px 0;
}
.b2c2-compose-kicker {
    margin: 0 0 22px;
    text-align: center;
}
.b2c2-compose-kicker span {
    display: inline-block;
    padding: 6px 12px;
    background: #dce8c8;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.04em;
    color: #3a3a3a;
}
.b2c2-compose-row {
    display: flex;
    flex-direction: column;
}
.b2c2-compose-side {
    display: contents;
}
.b2c2-compose-head {
    display: grid;
    grid-template-columns: 1fr 1fr;
    order: 1;
    margin: 0;
    border-top: 1px solid #222;
    border-bottom: 1px solid #222;
}
.b2c2-compose-head span {
    padding: 10px 0;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: -0.04em;
    text-align: center;
    color: #2a2a2a;
}
.b2c2-compose-head span:first-child {
    border-right: 1px solid #222;
}
.b2c2-compose-stage {
    order: 2;
    margin: 0 0 28px;
    padding: 0;
}
.b2c2-compose-stage img {
    display: block;
    width: 100%;
    height: auto;
}
.b2c2-compose-bases {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 0;
    order: 3;
    margin: 0;
    padding: 16px 10px 14px;
    border-top: 1px solid #c8c4bc;
    border-bottom: 1px solid #c8c4bc;
}
.b2c2-compose-pair {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 4px;
    align-items: start;
}
.b2c2-compose-pair:first-child {
    padding-right: 8px;
    border-right: 1px solid #c8c4bc;
}
.b2c2-compose-pair:last-child {
    padding-left: 8px;
}
.b2c2-compose-pair figure {
    margin: 0;
    text-align: center;
}
.b2c2-compose-pair img {
    display: block;
    width: 64%;
    max-width: 56px;
    margin: 0 auto 8px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}
.b2c2-compose-pair span {
    padding-top: 22px;
    font-size: 16px;
    font-weight: 400;
    color: #b0aaa2;
    line-height: 1;
}
.b2c2-page .b2c2-compose-pair figcaption {
    margin: 0;
    font-size: 9px;
    font-weight: 500;
    line-height: 1.45;
    color: #6a655c;
}
.b2c2-series-intro {
    margin: 0 0 8px;
    padding: 8px 0 24px;
    text-align: center;
}
.b2c2-series-intro .b2c2-fleur {
    display: block;
    margin: 0 auto 28px;
    line-height: 0;
    color: transparent;
    font-size: 0;
}
.b2c2-series-intro .b2c2-fleur img {
    display: block;
    width: 132px;
    max-width: 42%;
    height: auto;
    margin: 0 auto;
}
.b2c2-series-intro .b2c2-line {
    margin: 0 0 28px;
    font-family: "Cormorant Garamond", "Noto Serif KR", serif;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.14em;
    line-height: 1.45;
    color: #c5bdb4;
    text-transform: none;
}
.b2c2-series-intro .b2c2-badge,
.b2c2-series-head .b2c2-badge,
.b2c2-label .b2c2-badge {
    display: table;
    margin: 0 auto 28px;
    padding: 11px 26px;
    border: 1px solid #cfc8bf;
    border-radius: 50%;
    font-family: "Cormorant Garamond", "Noto Serif KR", serif;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.04em;
    color: #8a8580;
    background: transparent;
}
.b2c2-series-intro .b2c2-cursive,
.b2c2-series-head .b2c2-cursive {
    margin: 0;
    font-family: "Cormorant Garamond", "Noto Serif KR", serif;
    font-style: normal;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.06em;
    line-height: 1.5;
    color: #b8b2aa;
}
.b2c2-series-head {
    margin: 80px 0 28px;
    text-align: center;
}
.b2c2-scent {
    margin-bottom: 12px;
    padding: 16px 18px;
    background: #FDFDFC;
}
.b2c2-scent-top {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: end;
    column-gap: 6px;
    margin: 0 0 14px;
}
.b2c2-scent h3 {
    flex: 0 0 auto;
    margin: 0;
    padding: 0 3px 2px;
    font-family: "Cormorant Garamond", "Noto Serif KR", serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.15;
    color: #2a2a2a;
    background-image: linear-gradient(#ead6c6, #ead6c6);
    background-repeat: no-repeat;
    background-size: 100% 0.42em;
    background-position: 0 88%;
}
.b2c2-scent-top .b2c2-scent-tags {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0 0 4px;
    font-size: 9px;
    line-height: 1.3;
    color: #9a948c;
    letter-spacing: -0.02em;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.b2c2-scent-tags span + span {
    margin-left: 6px;
}
.b2c2-scent-type {
    flex: 0 0 auto;
    margin: 0;
    text-align: right;
}
.b2c2-scent-type > span {
    display: block;
    margin: 0 0 4px;
    font-size: 9px;
    letter-spacing: 0.04em;
    color: #9a948c;
}
.b2c2-scent .b2c2-scent-type p {
    margin: 0;
    padding: 5px 9px 4px;
    border: 1px solid #c4beb6;
    font-size: 10px;
    letter-spacing: -0.03em;
    line-height: 1.3;
    color: #6a6560;
    text-align: center;
    white-space: nowrap;
}
.b2c2-scent-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    align-items: center;
}
.b2c2-scent figure {
    position: relative;
    margin: 0;
    overflow: hidden;
    border-radius: 10px;
    background: #f3eee6;
    aspect-ratio: 1 / 1;
}
.b2c2-page .b2c2-scent figure img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
}
.b2c2-scent blockquote {
    margin: 0;
    padding: 0 4px;
}
.b2c2-scent blockquote p {
    margin: 0;
    font-family: "Noto Serif KR", "Nanum Myeongjo", serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: -0.04em;
    color: #5a5a5a;
    text-align: center;
}
.b2c2-checks li {
    position: relative;
    padding: 8px 0 8px 22px;
    font-size: 13px;
    line-height: 1.55;
    color: #4a4a4a;
}
.b2c2-checks li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #6d7f45;
    font-weight: 700;
}
.b2c2-use-case {
    margin: 0 -18px 36px;
    padding: 28px 18px 8px;
    background: transparent;
}
.b2c2-use-title {
    margin: 0 0 20px;
    font-family: "Noto Serif KR", "Nanum Myeongjo", serif;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 1.55;
    text-align: center;
    color: #2a2a2a;
}
.b2c2-use-case .b2c2-checks {
    width: fit-content;
    max-width: 100%;
    margin: 0 auto 22px;
    text-align: left;
}
.b2c2-use-case .b2c2-checks li {
    padding: 5px 0 5px 20px;
    font-size: 12px;
    color: #555;
}
.b2c2-use-case .b2c2-checks li b {
    margin-right: 6px;
    font-weight: 600;
    color: #2a2a2a;
}
.b2c2-use-case .b2c2-checks li::before {
    color: #8a8a8a;
    font-weight: 400;
}
.b2c2-use-case .b2c2-pair {
    gap: 10px;
    margin: 0 0 22px;
}
.b2c2-use-case .b2c2-pair figure {
    position: relative;
    margin: 0;
    overflow: hidden;
    border-radius: 8px;
    background: #f3eee6;
    aspect-ratio: 1 / 1;
}
.b2c2-page .b2c2-use-case .b2c2-pair img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100% !important;
    object-fit: cover;
}
.b2c2-use-case .b2c2-mark {
    margin: 0 0 28px;
    font-family: "Noto Serif KR", "Nanum Myeongjo", serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -0.03em;
    line-height: 1.65;
    text-align: center;
}
.b2c2-use-case .b2c2-mark span {
    padding: 0 2px;
    background: transparent;
    background-image: linear-gradient(#ead6c6, #ead6c6);
    background-repeat: no-repeat;
    background-size: 100% 0.42em;
    background-position: 0 88%;
    box-decoration-break: clone;
}
.b2c2-reviews {
    margin: 0;
    padding: 0;
    list-style: none;
}
.b2c2-use-case .b2c2-reviews li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 92px;
    gap: 12px;
    align-items: start;
    margin: 0 0 16px;
    padding: 14px;
    background: #fff;
}
.b2c2-review-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 8px;
    gap: 8px;
}
.b2c2-stars {
    color: #2a2a2a;
    font-size: 12px;
    letter-spacing: 1px;
    line-height: 1;
}
.b2c2-review-head cite {
    font-style: normal;
    font-size: 12px;
    color: #6a6560;
    white-space: nowrap;
}
.b2c2-use-case .b2c2-reviews p {
    margin: 0;
    font-size: 13px;
    line-height: 1.7;
    letter-spacing: -0.03em;
    color: #555;
    text-align: left;
}
.b2c2-use-case .b2c2-reviews p span {
    font-weight: 700;
    color: #2a2a2a;
    background: #c9d9b0;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}
.b2c2-use-case .b2c2-reviews li > figure {
    position: relative;
    margin: 0;
    overflow: hidden;
    border-radius: 8px;
    aspect-ratio: 1 / 1;
    background: #eee8e2;
}
.b2c2-page .b2c2-reviews li > figure img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
}
.b2c2-offer-kicker {
    margin: 0 0 14px;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.04em;
    color: #3d4a2c;
}
.b2c2-label-list {
    margin: 0 0 20px;
    padding: 0;
    list-style: none;
}
.b2c2-label-list li {
    display: grid;
    grid-template-columns: 38% 1fr;
    gap: 14px;
    margin: 0 0 12px;
    padding: 14px;
    background: #fcfcfc;
    border-radius: 12px;
    align-items: start;
}
.b2c2-label-list figure {
    position: relative;
    margin: 0;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #f7f5f2;
}
.b2c2-page .b2c2-label-list img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
}
.b2c2-label-list strong {
    display: block;
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: -0.03em;
    color: #2a2a2a;
    text-align: left;
}
.b2c2-label-list p {
    margin: 0 0 6px !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
    text-align: left !important;
    color: #6a655c !important;
}
.b2c2-label-list b {
    display: block;
    margin-top: 10px;
    font-size: 15px;
    font-weight: 600;
    color: #222;
    text-align: right;
}
.b2c2-copy-design {
    margin: 8px 0 28px;
    text-align: center;
}
.b2c2-copy-design h3 {
    font-size: 22px;
}
.b2c2-copy-row {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.b2c2-copy-guide {
    margin: 0 0 18px;
}
.b2c2-copy-guide span {
    display: inline-block;
    padding: 10px 16px;
    background: #eee8de;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.7;
    letter-spacing: -0.03em;
    color: #2a2a2a;
}
.b2c2-sample,
.b2c2-fonts-title {
    text-align: center;
    font-size: 13px;
    color: #555;
}
.b2c2-copy-left {
    width: 100%;
}
.b2c2-sample {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0 auto 22px;
    padding: 10px 12px;
    background: #fff;
    font-size: 13px;
    line-height: 1.7;
    word-break: keep-all;
}
.b2c2-copy-right {
    width: 100%;
    overflow: hidden;
    background: #fcfbfa;
    border: 1px solid #e4e0d8;
}
.b2c2-fonts-title {
    margin: 0;
    padding: 16px 12px;
    border-bottom: 1px solid #e4e0d8;
    font-size: 15px;
    font-weight: 600;
    color: #2a2a2a;
}
.b2c2-fonts {
    margin: 0;
    padding: 16px 12px 20px;
}
.b2c2-page .b2c2-fonts img {
    display: block;
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
    height: auto !important;
}
.b2c2-mail-note {
    margin: 28px 0 40px;
    padding: 18px 16px;
    border-radius: 12px;
    background: #fdfdfd;
    text-align: center;
}
.b2c2-label .b2c2-mail-note p {
    margin: 0 0 8px;
    font-size: 14px;
    line-height: 1.7;
    color: #2a2a2a;
}
.b2c2-mail {
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
}
.b2c2-mail a {
    font-size: 15px;
    font-weight: 500;
    color: #2a2a2a;
    text-decoration: none;
}
.b2c2-label-place {
    margin: 0 40px;
    text-align: center;
}
.b2c2-label-place h3 {
    margin: 0 0 28px;
}
.b2c2-place-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 12px;
    justify-items: center;
    margin: 0 0 22px;
}
.b2c2-label-place .b2c2-place-pair figure {
    width: 100%;
    max-width: 140px;
    margin: 0;
    overflow: hidden;
    border-radius: 50%;
    aspect-ratio: 1 / 1;
    background: #fff;
}
.b2c2-page .b2c2-place-pair img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
    border-radius: 0;
    background: #fff;
}
.b2c2-place-pair figure:first-child img {
    transform: scale(1.1);
}
.b2c2-place-pair figure:nth-child(2) img {
    transform: scale(1.4);
}
.b2c2-place-pair figcaption {
    margin-top: 10px;
    font-size: 13px;
    font-weight: 400;
    color: #2a2a2a;
}
.b2c2-label .b2c2-place-key {
    margin: 0 0 16px;
    font-size: 13px;
    line-height: 1.7;
    letter-spacing: -0.03em;
    color: #2a2a2a;
}
.b2c2-label .b2c2-label-place .b2c2-note {
    margin: 0;
    padding: 18px 16px;
    border-radius: 12px;
    background: #fdfdfd;
    font-size: 13px;
    line-height: 1.75;
    color: #6a655c;
}
.b2c2-spec-block {
    margin: 60px -20px 40px;
    padding: 32px 20px 40px;
    background: #eeeae3;
    text-align: center;
}
.b2c2-spec-block h3 {
    margin: 0 0 22px;
}
.b2c2-spec-block figure,
.b2c2-spec-photo {
    position: relative;
    margin: 0 auto 36px;
    max-width: 100%;
}
.b2c2-spec-h {
    position: absolute;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 6px;
    pointer-events: none;
    color: #333;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 1;
    white-space: nowrap;
}
.b2c2-spec-h em,
.b2c2-spec-h i {
    font-style: normal;
    font-weight: 500;
}
.b2c2-spec-h i {
    position: relative;
    flex: 0 0 auto;
    width: 1px;
    align-self: stretch;
    background: #2a2a2a;
}
.b2c2-spec-h i::before,
.b2c2-spec-h i::after {
    content: "";
    position: absolute;
    left: 50%;
    width: 8px;
    height: 1px;
    background: #2a2a2a;
    transform: translateX(-50%);
}
.b2c2-spec-h i::before {
    top: 0;
}
.b2c2-spec-h i::after {
    bottom: 0;
}
.b2c2-spec-h-l {
    top: 17.3%;
    height: 61.7%;
    left: 1%;
    width: 17.5%;
    justify-content: flex-end;
}
.b2c2-spec-h-r {
    top: 14.4%;
    height: 64.6%;
    left: 79%;
    width: 20%;
    justify-content: flex-start;
}
.b2c2-spec-notes {
    margin: 0 0 40px;
    text-align: center;
}
.b2c2-spec-notes h3 {
    margin: 0 0 22px;
}
.b2c2-spec-notes .b2c2-spec {
    display: inline-block;
    margin: 0;
    text-align: left;
}
.b2c2-spec-notes .b2c2-spec li {
    padding: 3px 0 3px 12px;
    font-size: 13px;
    line-height: 1.7;
    letter-spacing: -0.03em;
    color: #2a2a2a;
}
.b2c2-spec li,
.b2c2-note-list li {
    position: relative;
    padding: 4px 0 4px 12px;
    font-size: 12px;
    line-height: 1.6;
    color: #6a655c;
}
.b2c2-spec li::before,
.b2c2-note-list li::before {
    content: "·";
    position: absolute;
    left: 0;
}
.b2c2-gift-hero {
    margin: 8px 0 28px;
    text-align: center;
}
.b2c2-gift-kicker {
    margin: 0 0 14px;
}
.b2c2-gift-kicker span {
    display: inline-block;
    padding: 6px 16px 5px;
    background: #e7eddf;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -0.03em;
    color: #2a2a2a;
}
.b2c2-offer .b2c2-gift-hero h2 {
    margin: 0 0 10px;
    font-size: 22px;
    line-height: 1.4;
}
.b2c2-offer .b2c2-gift-hero .b2c2-gift-sub {
    margin: 0 0 22px;
    font-size: 14px;
    line-height: 1.6;
    color: #2a2a2a;
}
.b2c2-gift-hero figure {
    margin: 0;
}
.b2c2-page .b2c2-gift-hero img {
    display: block;
    width: 100%;
}
.b2c2-offer-copy {
    margin: 24px 0 60px;
    padding: 20px 16px;
    border-radius: 12px;
    background: #fdfdfd;
    text-align: center;
}
.b2c2-offer .b2c2-offer-copy p {
    margin: 0 0 18px;
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: -0.03em;
    color: #2a2a2a;
}
.b2c2-offer .b2c2-offer-copy .b2c2-note {
    margin: 4px 0 0;
    font-size: 12px;
    line-height: 1.7;
    color: #8a8a8a;
}
.b2c2-program-intro {
    margin: 8px 0 36px;
    text-align: center;
}
.b2c2-offer .b2c2-program-intro h2 {
    margin: 0 0 10px;
    font-size: 22px;
    line-height: 1.4;
}
.b2c2-offer .b2c2-program-intro .b2c2-gift-sub {
    margin: 0 0 18px;
    font-size: 14px;
    line-height: 1.6;
    color: #2a2a2a;
}
.b2c2-offer .b2c2-program-intro .b2c2-program-lead {
    margin: 0 0 22px;
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: -0.03em;
    color: #2a2a2a;
}
.b2c2-program-intro .b2c2-checks {
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
    padding: 14px 22px 14px 18px;
    border: 1px solid #000;
    text-align: left;
}
.b2c2-program-intro .b2c2-checks li {
    padding: 4px 0 4px 20px;
    font-size: 14px;
    line-height: 1.7;
    color: #2a2a2a;
}
.b2c2-program-intro .b2c2-checks li::before {
    color: #2a2a2a;
    font-weight: 400;
}
.b2c2-program {
    margin: 0 0 20px;
    padding: 24px 16px 28px;
    background: #fff;
    border-radius: 12px;
    text-align: center;
}
.b2c2-offer .b2c2-program h3 {
    margin: 0 0 22px;
}
.b2c2-program figure {
    margin: 0 0 22px;
}
.b2c2-offer .b2c2-program p {
    margin: 0 0 16px;
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: -0.03em;
    color: #2a2a2a;
}
.b2c2-offer .b2c2-program .b2c2-note {
    margin: 0;
    font-size: 13px;
    line-height: 1.75;
    color: #6a655c;
}
.b2c2-offer .b2c2-program h3:has(+ .b2c2-note) {
    margin-bottom: 8px;
}
.b2c2-offer .b2c2-program h3 + .b2c2-note {
    margin: 0 0 20px;
    color: #2a2a2a;
}
.b2c2-offer > .b2c2-note-list {
    width: 100%;
    max-width: 100%;
    margin: 8px 0 28px;
    padding: 16px 4px;
    border-top: 1px solid #2a2a2a;
    border-bottom: 1px solid #2a2a2a;
    text-align: left;
}
.b2c2-offer > .b2c2-note-list li {
    padding: 3px 0 3px 16px;
    font-size: 12px;
    line-height: 1.7;
    color: #8a8a8a;
}
.b2c2-offer > .b2c2-note-list li::before {
    content: "※";
}
.b2c2-trial {
    margin: 70px 0 36px;
    padding: 28px 18px 32px;
    background: #FFFEFE;
    text-align: center;
    box-sizing: border-box;
}
.b2c2-offer .b2c2-trial h3 {
    margin: 0 0 20px;
}
.b2c2-trial .b2c2-gift-kicker {
    margin: 0 0 28px;
}
.b2c2-offer .b2c2-trial .b2c2-badge {
    margin: 0 auto 24px;
    padding: 10px 22px;
    border-radius: 50%;
    font-family: "Noto Serif KR", "Nanum Myeongjo", serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: -0.02em;
    color: #2a2a2a;
    background: #fff;
}
.b2c2-offer .b2c2-trial p {
    margin: 0 0 16px;
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: -0.03em;
    color: #2a2a2a;
}
.b2c2-trial .b2c2-kits figure {
    margin: 0 0 16px;
}
.b2c2-trial .b2c2-kits img {
    display: block;
    width: 100%;
    height: auto !important;
}
.b2c2-trial .b2c2-kits {
    gap: 12px 16px;
    margin: 0 0 22px;
}
.b2c2-trial .b2c2-kits li {
    padding: 0;
    background: none;
    border-radius: 0;
}
.b2c2-trial .b2c2-kits strong {
    font-size: 14px;
    font-weight: 600;
    color: #2a2a2a;
}
.b2c2-trial .b2c2-kits span {
    margin-top: 4px;
    font-size: 13px;
    color: #2a2a2a;
}
.b2c2-trial .b2c2-kits b {
    margin-top: 10px;
    font-size: 16px;
    font-weight: 600;
    color: #2a2a2a;
}
.b2c2-offer .b2c2-trial .b2c2-note {
    margin: 0;
    font-size: 12px;
    line-height: 1.7;
    color: #8a8a8a;
}
.b2c2-kits {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
.b2c2-kits b {
    display: block;
    margin-top: 8px;
    font-size: 18px;
}
.b2c2-apply {
    margin: 8px 0 70px;
    text-align: center;
}
.b2c2-cta-mini {
    margin: 0 0 18px;
    text-align: center;
}
.b2c2-cta-mini a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 280px;
    margin: 0 auto;
    height: 48px;
    border-radius: 24px;
    background: #2a2a2a;
    color: #fff !important;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.03em;
}
.b2c2-offer .b2c2-apply .b2c2-note {
    margin: 0;
    font-size: 12px;
    line-height: 1.75;
    color: #8a8a8a;
}
.b2c2-tips {
    margin: 8px 0 40px;
    padding: 20px;
    background: #fff;
    text-align: center;
    box-sizing: border-box;
}
.b2c2-offer .b2c2-tips .b2c2-badge {
    margin: 0 auto 28px;
    padding: 10px 22px;
    border-radius: 50%;
    font-family: "Cormorant Garamond", "Noto Serif KR", serif;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.04em;
    color: #2a2a2a;
    background: #fff;
}
.b2c2-tip {
    margin: 0 0 32px;
}
.b2c2-offer .b2c2-tip h3 {
    margin: 0 0 18px;
    font-family: "Noto Sans KR", "Apple SD Gothic Neo", sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 1.65;
    color: #2a2a2a;
}
.b2c2-tip h3 span {
    display: inline-block;
    padding: 3px 8px 2px;
    background: #e7eddf;
    border-radius: 3px;
}
.b2c2-tip-body {
    display: grid;
    grid-template-columns: 38% 1fr;
    gap: 12px;
    align-items: center;
    text-align: left;
}
.b2c2-tip-body figure {
    position: relative;
    margin: 0;
    overflow: hidden;
    aspect-ratio: 1 / 1;
}
.b2c2-page .b2c2-tip-body img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
}
.b2c2-offer .b2c2-tip-body p {
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 1.7;
    letter-spacing: -0.03em;
    color: #2a2a2a;
    text-align: left;
}
.b2c2-tip-body ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.b2c2-tip-body li {
    position: relative;
    padding: 0 0 8px 12px;
    font-size: 12px;
    line-height: 1.7;
    letter-spacing: -0.03em;
    color: #555;
}
.b2c2-tip-body li::before {
    content: "-";
    position: absolute;
    left: 0;
}
.b2c2-tip-body li b {
    font-weight: 600;
    color: #2a2a2a;
}
.b2c2-offer .b2c2-tips > .b2c2-note {
    margin: 0;
    font-size: 12px;
    line-height: 1.7;
    color: #8a8a8a;
}
.b2c2-duo {
    margin: 8px 0 8px;
    text-align: center;
}
.b2c2-offer .b2c2-duo .b2c2-badge {
    margin: 0 auto 24px;
    padding: 10px 22px;
    border-radius: 50%;
    font-family: "Cormorant Garamond", "Noto Serif KR", serif;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.06em;
    color: #2a2a2a;
    background: #fff;
}
.b2c2-offer .b2c2-duo h2 {
    display: block;
    width: 100%;
    margin: 0 0 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid #2a2a2a;
    font-size: 24px;
}
.b2c2-offer .b2c2-duo .b2c2-duo-lead {
    margin: 0 0 22px;
    font-size: 14px;
    color: #2a2a2a;
}
.b2c2-duo-hero {
    position: relative;
    margin: 0;
}
.b2c2-duo-hero figure {
    margin: 0;
}
.b2c2-price {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 1;
    margin: 0;
    text-align: left;
}
.b2c2-duo-hero .b2c2-price p {
    text-align: left;
}
.b2c2-price-old {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    margin: 0 0 10px;
    font-size: 12px;
    color: #8a8a8a;
}
.b2c2-price-old s {
    position: relative;
    display: inline-block;
    padding-right: 16px;
    text-decoration: none;
    color: #8a8a8a;
}
.b2c2-price-old s::after {
    content: "";
    position: absolute;
    left: -6px;
    right: 4px;
    top: 50%;
    height: 1px;
    background: #8a8a8a;
}
.b2c2-price-old s::before {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 5px;
    height: 5px;
    border-top: 1px solid #8a8a8a;
    border-right: 1px solid #8a8a8a;
    transform: translateY(-60%) rotate(45deg);
}
.b2c2-offer .b2c2-price-label {
    margin: 0 0 4px;
    font-family: "Noto Serif KR", "Nanum Myeongjo", serif;
    font-size: 14px;
    font-style: italic;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: #2a2a2a;
}
.b2c2-offer .b2c2-price-now {
    margin: 0 0 6px;
    font-family: "Noto Serif KR", "Nanum Myeongjo", serif;
    font-size: 28px;
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 1.2;
    color: #2a2a2a;
    text-align: left;
}
.b2c2-offer .b2c2-duo .b2c2-note {
    margin: 0;
    font-size: 11px;
    color: #8a8a8a;
    text-align: left;
}
.b2c2-duo figure {
    margin: 0;
}
.b2c2-days {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
}
.b2c2-days li {
    padding: 14px 8px;
    background: #fff;
    border-radius: 12px;
    text-align: center;
}
.b2c2-days b {
    display: block;
    font-size: 22px;
    color: #6d7f45;
}
.b2c2-days span {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    color: #6a655c;
}
.b2c2-faq-list {
    display: block;
}
.b2c2-use {
    text-align: center;
    background-color: #fff;
    padding: 40px 18px;
    margin-bottom: 0;
}
.b2c2-page > section.b2c2-use {
    background-color: #fff;
    margin-bottom: 0;
}
.b2c2-use .b2c2-badge {
    margin: 0 auto 22px;
    padding: 10px 22px;
    border-radius: 50%;
    font-family: "Cormorant Garamond", "Noto Serif KR", serif;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.06em;
    color: #2a2a2a;
    background: #fff;
}
.b2c2-use h2 {
    margin: 0 0 32px;
}
.b2c2-use ol {
    display: flex;
    flex-direction: column;
    gap: 28px;
    margin: 0 0 36px;
    text-align: left;
}
.b2c2-use ol > li {
    display: grid;
    grid-template-columns: 88px 1fr;
    gap: 14px;
    align-items: start;
    padding: 0;
    background: none;
    border-radius: 0;
}
.b2c2-use-ico {
    flex: none;
    width: 88px;
    height: auto;
    margin: 0;
    color: inherit;
    display: block;
}
.b2c2-page .b2c2-use-ico img {
    display: block;
    width: 100%;
    height: auto !important;
}
.b2c2-use ol strong {
    margin: 0 0 8px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1.5;
    color: #2a2a2a;
}
.b2c2-use ol p {
    margin: 0;
    font-size: 13px;
    line-height: 1.75;
    letter-spacing: -0.03em;
    color: #555;
}
.b2c2-care {
    display: flex;
    flex-direction: column;
    gap: 32px;
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: left;
}
.b2c2-care-sec {
    background-color: #F8F8F8;
    padding: 40px 18px;
    margin-bottom: 0;
}
.b2c2-page > section.b2c2-care-sec {
    background-color: #F8F8F8;
    margin-bottom: 0;
}
.b2c2-care > li {
    display: grid;
    grid-template-columns: 88px 1fr;
    gap: 14px;
    align-items: start;
}
.b2c2-care strong {
    display: block;
    margin: 0 0 10px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.04em;
    color: #2a2a2a;
}
.b2c2-care p {
    margin: 0 0 8px;
    font-size: 13px;
    line-height: 1.75;
    letter-spacing: -0.03em;
    color: #555;
}
.b2c2-care p:last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .b2c2-page {
        max-width: 480px;
    }
}
