/* Aura Beauty promotion modal + /promotion page. Tokens follow the managed blog (site.css) and the owner's posters. */
.ap-root, .ap-page, .ap-sample, .au-promotion {
  --ap-paper: #FBF8F6;
  --ap-porcelain: #F5EFEC;
  --ap-ink: #2B1D18;
  --ap-ink-2: #4B3B35;
  --ap-muted: #75655E;
  --ap-rule: #DCD0CA;
  --ap-rose: #A8475A;
  --ap-rose-soft: #F3DEDF;
  --ap-rose-line: rgba(168, 71, 90, .32);
  --ap-gold: #A9844C;
  --ap-kakao: #FEE500;
  --ap-display: "Newsreader", "Noto Serif KR", Georgia, "Times New Roman", serif;
  --ap-body: "Instrument Sans", "Pretendard Variable", Pretendard, -apple-system, "Apple SD Gothic Neo", system-ui, sans-serif;
  --ap-ease: cubic-bezier(.22, .8, .24, 1);
}
.ap-root[lang="ko"], .ap-page[lang="ko"], :lang(ko) .ap-page { --ap-display: "Noto Serif KR", "Newsreader", Georgia, serif; --ap-body: "Pretendard Variable", Pretendard, "Instrument Sans", -apple-system, system-ui, sans-serif; }
.ap-root { font-family: var(--ap-body); color: var(--ap-ink); word-break: keep-all; overflow-wrap: break-word; }
.ap-root *, .ap-root *::before, .ap-root *::after { box-sizing: border-box; }
html.ap-lock { overflow: hidden; }

/* ---------- entry pill (left; the sites keep their contact buttons on the right) ---------- */
.ap-pill {
  position: fixed; left: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 60;
  display: inline-flex; align-items: center; gap: 10px; min-height: 48px; max-width: calc(100vw - 104px);
  padding: 0 20px 0 16px; border: 0; border-radius: 999px; background: var(--ap-ink); color: var(--ap-paper);
  font: 600 15px/1.2 var(--ap-body); letter-spacing: .01em; cursor: pointer;
  box-shadow: 0 10px 28px rgba(43, 29, 24, .22);
  opacity: 0; transform: translateY(12px); pointer-events: none;
  transition: opacity .35s var(--ap-ease), transform .35s var(--ap-ease), background-color .2s;
}
.ap-root.is-in .ap-pill { opacity: 1; transform: none; pointer-events: auto; }
.ap-root.is-open .ap-pill { opacity: 0; pointer-events: none; }
.ap-pill:hover { background: #45302A; }
.ap-pill:focus-visible { outline: 2px solid var(--ap-rose); outline-offset: 3px; }
.ap-pill-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--ap-rose-soft); box-shadow: 0 0 0 4px rgba(243, 222, 223, .25); flex: none; }

/* ---------- dialog shell ---------- */
.ap-dialog {
  padding: 0; border: 0; margin: auto; background: transparent; color: var(--ap-ink);
  width: min(560px, calc(100vw - 32px)); max-width: none; max-height: min(880px, calc(100dvh - 48px)); overflow: visible;
}
.ap-dialog::backdrop { background: rgba(27, 20, 17, .52); backdrop-filter: blur(2px); }
.ap-panel {
  position: relative; max-height: inherit; overflow-y: auto; overscroll-behavior: contain;
  border-radius: 22px; background:
    radial-gradient(120% 60% at 100% 0%, rgba(243, 222, 223, .7), transparent 60%),
    radial-gradient(90% 50% at 0% 100%, rgba(243, 222, 223, .55), transparent 65%), var(--ap-paper);
  box-shadow: 0 30px 80px rgba(27, 20, 17, .35);
  padding: 28px 32px 0;
}
.ap-dialog[open] .ap-panel { animation: ap-in .42s var(--ap-ease); }
@keyframes ap-in { from { opacity: 0; transform: translateY(18px) scale(.985); } }
.ap-bar { position: sticky; top: 28px; z-index: 4; display: flex; justify-content: flex-end; height: 0; margin: 0 -18px; }
.ap-bar::before { content: ""; position: absolute; inset: -28px 0 auto; height: 76px; background: linear-gradient(var(--ap-paper) 62%, rgba(251, 248, 246, 0)); opacity: 0; transition: opacity .2s; pointer-events: none; }
.ap-panel.is-scrolled .ap-bar::before { opacity: 1; }
.ap-close {
  position: relative; top: -14px; flex: none;
  width: 44px; height: 44px; border: 1px solid var(--ap-rule); border-radius: 50%; background: rgba(251, 248, 246, .94);
  color: var(--ap-ink); font: 400 26px/1 var(--ap-body); cursor: pointer; display: grid; place-items: center;
}
.ap-close:hover { background: #fff; }
.ap-close:focus-visible, .ap-btn:focus-visible, .ap-more:focus-visible { outline: 2px solid var(--ap-rose); outline-offset: 3px; }

/* ---------- shared pieces ---------- */
.ap-head { text-align: center; margin: 0 0 18px; }
.ap-logo { display: block; width: 108px; height: auto; margin: 0 auto 10px; }
.ap-kicker { margin: 0 0 10px; font: 600 11px/1.4 var(--ap-body); letter-spacing: .22em; text-transform: uppercase; color: var(--ap-muted); }
.ap-title { margin: 0; font: 500 clamp(44px, 9vw, 64px)/.95 var(--ap-display); letter-spacing: -.01em; text-transform: uppercase; color: var(--ap-rose); }
.ap-root[lang="ko"] .ap-title { letter-spacing: 0; font-weight: 700; }
.ap-sub { display: flex; align-items: center; gap: 14px; margin: 14px 0 0; font: 600 12px/1.3 var(--ap-body); letter-spacing: .28em; text-transform: uppercase; color: var(--ap-ink-2); }
.ap-sub::before, .ap-sub::after { content: ""; flex: 1; height: 1px; background: var(--ap-ink-2); opacity: .45; }
.ap-root[lang="ko"] .ap-sub, .ap-root[lang="ko"] .ap-kicker { letter-spacing: .08em; }

.ap-list, .ap-packs { list-style: none; margin: 0; padding: 0; }
.ap-row { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 11px 0; border-bottom: 1px solid var(--ap-rule); }
.ap-row:last-child { border-bottom: 0; }
.ap-ico { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--ap-rose-soft); color: var(--ap-ink); }
.ap-svg { width: 26px; height: 26px; }
.ap-name { display: grid; gap: 3px; min-width: 0; }
.ap-label { font: 500 21px/1.15 var(--ap-display); color: var(--ap-ink); }
.ap-detail { font: 400 13.5px/1.35 var(--ap-body); color: var(--ap-ink-2); }
.ap-session { font: 600 10.5px/1.3 var(--ap-body); letter-spacing: .2em; text-transform: uppercase; color: var(--ap-muted); }
.ap-price { font: 600 34px/1 var(--ap-display); color: var(--ap-rose); letter-spacing: -.02em; white-space: nowrap; font-variant-numeric: lining-nums; }
.ap-cur { font-size: .58em; vertical-align: .5em; margin-right: 1px; }

.ap-packs-label { display: flex; justify-content: center; margin: 18px 0 10px; }
.ap-packs-label span { padding: 6px 16px; border-radius: 999px; background: var(--ap-rose); color: #fff; font: 600 11px/1.3 var(--ap-body); letter-spacing: .22em; text-transform: uppercase; }
.ap-root[lang="ko"] .ap-packs-label span { letter-spacing: .08em; font-size: 12px; }
.ap-packs { display: grid; gap: 10px; }
.ap-pack { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 14px 18px 14px 14px; border: 1px solid var(--ap-rose-line); border-radius: 16px; background: linear-gradient(135deg, rgba(243, 222, 223, .95), rgba(250, 235, 236, .7)); }
.ap-ico-lg { width: 56px; height: 56px; background: rgba(255, 255, 255, .7); }
.ap-ico-lg .ap-svg { width: 30px; height: 30px; }
.ap-pack-body { display: grid; gap: 3px; min-width: 0; }
.ap-pack-name { font: 700 23px/1.05 var(--ap-display); text-transform: uppercase; letter-spacing: -.005em; }
.ap-root[lang="ko"] .ap-pack-name { text-transform: none; }
.ap-pack-inc { font: 500 14.5px/1.35 var(--ap-display); color: var(--ap-ink-2); }
.ap-pack .ap-price { font-size: 42px; }

.ap-actions {
  position: sticky; bottom: 0; z-index: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px;
  margin: 18px -32px 0; padding: 16px 32px calc(16px + env(safe-area-inset-bottom));
  background: linear-gradient(to bottom, rgba(251, 248, 246, 0), var(--ap-paper) 26%);
}
.ap-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; border-radius: 999px; font: 600 14px/1.2 var(--ap-body); letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.ap-root[lang="ko"] .ap-btn { letter-spacing: 0; text-transform: none; font-size: 15px; }
.ap-btn-ink { background: var(--ap-ink); color: var(--ap-paper); }
.ap-btn-ink:hover { background: #45302A; }
.ap-btn-kakao { background: var(--ap-kakao); color: #191600; }
.ap-more { margin-left: auto; color: var(--ap-ink); font: 500 14px/1.3 var(--ap-body); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--ap-rose-line); }
.ap-note { margin: 4px 0 0; font: 400 12.5px/1.5 var(--ap-body); color: var(--ap-muted); }
.ap-need { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 10px 0 18px; padding: 0; }
.ap-need li { padding: 4px 9px; border-radius: 6px; background: #FFF1B8; color: #5A4300; font: 600 11.5px/1.35 "Pretendard Variable", Pretendard, system-ui, sans-serif; }
.ap-panel > .ap-need, .ap-side > .ap-need { padding-bottom: 18px; margin-bottom: 0; }

/* ---------- A · poster menu ---------- */
.ap-v-a .ap-dialog { width: min(560px, calc(100vw - 32px)); }

/* ---------- B · portrait split ---------- */
.ap-v-b .ap-dialog { width: min(940px, calc(100vw - 32px)); }
.ap-v-b .ap-panel { padding: 0; overflow: hidden; display: flex; }
.ap-v-b .ap-bar { position: absolute; top: 14px; right: 14px; height: auto; margin: 0; }
.ap-v-b .ap-bar::before { display: none; }
.ap-v-b .ap-close { top: 0; }
.ap-v-b .ap-side { padding-top: 64px; -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 58px); mask-image: linear-gradient(to bottom, transparent 0, #000 58px); }
.ap-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); width: 100%; max-height: inherit; }
.ap-photo { position: relative; margin: 0; min-height: 100%; background: #CFC6C0; }
.ap-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; }
.ap-photo figcaption { position: absolute; inset: auto 0 0 0; display: grid; gap: 6px; padding: 80px 26px 24px; background: linear-gradient(to top, rgba(27, 20, 17, .72), rgba(27, 20, 17, 0)); color: #FBF8F6; }
.ap-tagline { font: italic 400 32px/1.05 "Newsreader", Georgia, serif; }
.ap-cap { font: 600 11px/1.3 var(--ap-body); letter-spacing: .2em; text-transform: uppercase; opacity: .85; }
.ap-side { overflow-y: auto; overscroll-behavior: contain; padding: 26px 30px 0; max-height: min(880px, calc(100dvh - 48px)); }
.ap-v-b .ap-head { text-align: left; margin-bottom: 8px; }
.ap-v-b .ap-title { font-size: 46px; }
.ap-v-b .ap-sub::before { display: none; }
.ap-v-b .ap-row { grid-template-columns: 38px minmax(0, 1fr) auto; gap: 12px; padding: 8px 0; }
.ap-v-b .ap-ico { width: 38px; height: 38px; }
.ap-v-b .ap-svg { width: 22px; height: 22px; }
.ap-v-b .ap-label { font-size: 18px; }
.ap-v-b .ap-price { font-size: 27px; }
.ap-v-b .ap-packs-label { justify-content: flex-start; margin-top: 14px; }
.ap-v-b .ap-packs { grid-template-columns: 1fr 1fr; }
.ap-v-b .ap-pack { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 14px; align-content: start; }
.ap-v-b .ap-pack .ap-ico-lg { display: none; }
.ap-v-b .ap-pack-name { font-size: 19px; }
.ap-v-b .ap-pack-inc { font-size: 13.5px; }
.ap-v-b .ap-pack .ap-price { font-size: 34px; }
.ap-v-b .ap-actions { margin: 14px -30px 0; padding-left: 30px; padding-right: 30px; }

/* ---------- C · packages first, grouped singles ---------- */
.ap-v-c .ap-dialog { width: min(800px, calc(100vw - 32px)); }
.ap-v-c .ap-head { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 4px 20px; text-align: left; padding-right: 40px; }
.ap-v-c .ap-kicker { grid-column: 1 / -1; }
.ap-v-c .ap-title { color: var(--ap-ink); font-size: clamp(40px, 6vw, 54px); }
.ap-v-c .ap-sub { margin: 0 0 6px; letter-spacing: .18em; }
.ap-v-c .ap-sub::before, .ap-v-c .ap-sub::after { display: none; }
.ap-v-c .ap-packs-label { justify-content: flex-start; margin: 16px 0 10px; }
.ap-v-c .ap-singles-label span { background: transparent; color: var(--ap-rose); border: 1px solid var(--ap-rose-line); }
.ap-v-c .ap-packs { grid-template-columns: 1fr 1fr; gap: 12px; }
.ap-v-c .ap-pack { position: relative; grid-template-columns: minmax(0, 1fr); align-items: start; padding: 18px 18px 16px; }
.ap-v-c .ap-pack-name { padding-right: 120px; min-height: 46px; }
.ap-v-c .ap-pack .ap-detail { order: 3; }
.ap-v-c .ap-chips { order: 2; }
.ap-v-c .ap-pack .ap-session { order: 4; }
.ap-v-c .ap-pack .ap-ico-lg { display: none; }
.ap-v-c .ap-pack-body { gap: 6px; }
.ap-v-c .ap-pack .ap-price { position: absolute; top: 14px; right: 18px; font-size: 46px; }
.ap-v-c .ap-pack-inc { display: none; }
.ap-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 6px 0 2px; }
.ap-chips i { font: 400 16px/1 var(--ap-body); color: var(--ap-rose); font-style: normal; }
.ap-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px 4px 4px; border-radius: 999px; background: rgba(255, 255, 255, .8); font: 600 12.5px/1.2 var(--ap-body); color: var(--ap-ink); }
.ap-chip .ap-svg { width: 26px; height: 26px; padding: 3px; border-radius: 50%; background: var(--ap-rose-soft); }
.ap-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 22px; }
.ap-group h3 { margin: 0 0 2px; padding-bottom: 8px; border-bottom: 1px solid var(--ap-ink-2); font: 600 11px/1.3 var(--ap-body); letter-spacing: .2em; text-transform: uppercase; color: var(--ap-ink-2); }
.ap-root[lang="ko"] .ap-group h3 { letter-spacing: .06em; font-size: 12.5px; }
.ap-v-c .ap-group .ap-row { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; padding: 10px 0; }
.ap-v-c .ap-group .ap-label { font-size: 18px; }
.ap-v-c .ap-group .ap-price { font-size: 26px; }

/* ---------- phones: bottom sheet ---------- */
@media (max-width: 719px) {
  .ap-dialog, .ap-v-a .ap-dialog, .ap-v-b .ap-dialog, .ap-v-c .ap-dialog { width: 100%; max-height: 92dvh; margin: auto 0 0; }
  .ap-panel { border-radius: 22px 22px 0 0; padding: 22px 20px 0; max-height: 92dvh; }
  .ap-dialog[open] .ap-panel { animation: ap-up .42s var(--ap-ease); }
  .ap-bar { margin: 0 -10px; top: 22px; }
  .ap-bar::before { inset: -22px 0 auto; height: 70px; }
  .ap-title { font-size: 46px; }
  .ap-row { grid-template-columns: 40px minmax(0, 1fr) auto; gap: 12px; padding: 9px 0; }
  .ap-ico { width: 40px; height: 40px; }
  .ap-svg { width: 23px; height: 23px; }
  .ap-label { font-size: 18.5px; }
  .ap-price { font-size: 28px; }
  .ap-pack { grid-template-columns: 44px minmax(0, 1fr) auto; gap: 12px; padding: 12px 14px 12px 10px; }
  .ap-ico-lg { width: 44px; height: 44px; }
  .ap-pack-name { font-size: 19px; }
  .ap-pack-inc { font-size: 13.5px; }
  .ap-pack .ap-price { font-size: 34px; }
  .ap-actions { margin: 14px -20px 0; padding: 14px 20px calc(14px + env(safe-area-inset-bottom)); }
  .ap-btn { flex: 1 1 140px; }
  .ap-more { margin: 0 auto; }
  .ap-v-b .ap-panel { display: flex; flex-direction: column; overflow: hidden; padding: 0; }
  .ap-v-b .ap-split { display: flex; flex-direction: column; flex: 1; min-height: 0; max-height: none; }
  .ap-v-b .ap-photo { flex: none; height: 170px; min-height: 0; }
  .ap-v-b .ap-photo img { object-position: 50% 18%; }
  .ap-v-b .ap-photo figcaption { padding: 50px 20px 14px; }
  .ap-v-b .ap-tagline { font-size: 25px; }
  .ap-v-b .ap-side { flex: 1; min-height: 0; max-height: none; overflow-y: auto; padding: 18px 20px 0; -webkit-mask-image: none; mask-image: none; }
  .ap-v-b .ap-title { font-size: 40px; }
  .ap-v-b .ap-actions { margin: 14px -20px 0; padding-left: 20px; padding-right: 20px; }
  .ap-v-b .ap-packs { grid-template-columns: 1fr; }
  .ap-v-c .ap-head { grid-template-columns: 1fr; padding-right: 48px; }
  .ap-v-c .ap-sub { margin: 4px 0 0; }
  .ap-v-c .ap-packs { grid-template-columns: 1fr; }
  .ap-v-c .ap-pack .ap-price { font-size: 36px; top: 12px; right: 14px; }
  .ap-v-c .ap-pack-name { padding-right: 100px; min-height: 38px; }
  .ap-v-c .ap-groups { grid-template-columns: 1fr; gap: 14px; }
}
@keyframes ap-up { from { transform: translateY(40px); opacity: .4; } }
@media (prefers-reduced-motion: reduce) {
  .ap-dialog[open] .ap-panel { animation: none; }
  .ap-pill { transition: none; }
  .au-sticker, .au-price-champagne .au-plan-amount { animation: none; }
}

/* ---------- /promotion page (inside the blog's article layout) ---------- */
.ap-page .ap-kicker { margin-bottom: 14px; }
.ap-page .prose .ap-list, .ap-page .prose .ap-packs { list-style: none; margin: 8px 0 28px; padding: 0; }
.ap-page .prose .ap-row, .ap-page .prose .ap-pack { margin: 0; }
.ap-page .prose .ap-row::before, .ap-page .prose .ap-pack::before { content: none; }
.ap-page .ap-label { font-size: 21px; }
@media (max-width: 719px) { .ap-page .ap-price { font-size: 28px; } .ap-page .ap-pack .ap-price { font-size: 32px; } }

/* ---------- staging only ---------- */
.ap-sample { position: fixed; top: 86px; right: 12px; z-index: 65; display: flex; align-items: center; gap: 4px; padding: 5px 6px 5px 12px; border-radius: 999px; background: rgba(43, 29, 24, .9); color: #FBF8F6; font: 600 12px/1 "Pretendard Variable", Pretendard, system-ui, sans-serif; box-shadow: 0 6px 18px rgba(0, 0, 0, .18); }
.ap-sample span { margin-right: 6px; opacity: .8; }
.ap-sample a { display: grid; place-items: center; min-width: 30px; height: 30px; padding: 0 8px; border-radius: 999px; color: #FBF8F6; text-decoration: none; }
.ap-sample a[aria-current] { background: #FBF8F6; color: var(--ap-ink); }
.ap-sample .ap-sample-open { border: 1px solid rgba(251, 248, 246, .4); margin-left: 4px; }
@media (max-width: 719px) { .ap-sample { top: 72px; right: 8px; } }
.ap-page .prose .ap-need { padding: 0; margin: 4px 0 26px; }
.ap-page .prose .ap-need li { list-style: none; margin: 0; padding: 4px 9px; }
.ap-page .prose .ap-need li::before, .ap-page .prose .ap-need li::marker { content: none; }

/* ---------- package cards (chosen variant C, 2026-10-10): poster-style "icon + icon + icon" formula ---------- */
.ap-packs-c { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ap-pack-c {
  --tone: var(--ap-rose); --tone-line: rgba(168, 71, 90, .28); --tone-soft: #FFF6F6;
  position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "top cost" "formula formula" "zones zones" "cta cta"; grid-template-rows: auto auto 1fr auto;
  align-items: start; gap: 16px 12px; padding: 18px 18px 18px 20px; border: 1px solid var(--tone-line); border-radius: 20px;
  background: linear-gradient(155deg, #FCEFF0 0%, #F4DCDF 100%); box-shadow: 0 10px 26px rgba(120, 50, 62, .08);
}
.ap-pack-c.ap-tone-champagne { --tone: #8A6534; --tone-line: rgba(169, 132, 76, .38); --tone-soft: #FFFBF4; background: linear-gradient(155deg, #FBF5EC 0%, #EFE1CD 100%); box-shadow: 0 10px 26px rgba(110, 80, 40, .09); }
.ap-pack-mark { position: absolute; right: -20px; bottom: -26px; width: 132px; height: 132px; color: var(--tone); opacity: .07; pointer-events: none; }
.ap-pack-mark .ap-svg { width: 100%; height: 100%; }
.ap-pack-top { grid-area: top; display: grid; justify-items: start; gap: 10px; min-width: 0; }
.ap-badge { padding: 5px 11px; border-radius: 999px; background: var(--tone); color: #fff; font: 600 10.5px/1.2 var(--ap-body); letter-spacing: .2em; text-transform: uppercase; }
.ap-pack-title { margin: 0; font: 700 27px/1 var(--ap-display); letter-spacing: -.005em; text-transform: uppercase; color: var(--ap-ink); }
.ap-root[lang="ko"] .ap-pack-title, :lang(ko) .ap-page .ap-pack-title { text-transform: none; font-size: 25px; }
.ap-pack-cost { grid-area: cost; display: grid; justify-items: end; gap: 4px; }
.ap-pack-cost .ap-price { font-size: 50px; color: var(--ap-rose); }
.ap-pack-cost small { font: 600 10.5px/1.2 var(--ap-body); letter-spacing: .2em; text-transform: uppercase; color: var(--ap-muted); }
.ap-root[lang="ko"] .ap-pack-cost small, .ap-root[lang="ko"] .ap-zones-label { letter-spacing: .04em; }
.ap-formula { grid-area: formula; position: relative; display: flex; align-items: flex-start; list-style: none; margin: 0; padding: 14px 8px 12px; border-radius: 16px; background: rgba(255, 255, 255, .66); }
.ap-tile { flex: 1 1 0; min-width: 0; display: grid; justify-items: center; gap: 7px; text-align: center; margin: 0; padding: 0; }
.ap-tile-ico { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: var(--tone-soft); border: 1px solid var(--tone-line); color: var(--ap-ink); box-shadow: 0 4px 10px rgba(43, 29, 24, .06); }
.ap-tile-ico .ap-svg { width: 29px; height: 29px; }
.ap-tile-name { font: 600 13px/1.25 var(--ap-body); color: var(--ap-ink); }
.ap-tile small { margin-top: -4px; font: 500 11.5px/1.2 var(--ap-body); color: var(--ap-muted); }
.ap-plus { flex: none; align-self: flex-start; margin: 15px 0 0; padding: 0; list-style: none; font: 300 24px/1 var(--ap-body); color: var(--tone); }
.ap-zones { grid-area: zones; display: grid; gap: 8px; margin-top: -4px; }
.ap-zones-label { font: 600 10.5px/1.2 var(--ap-body); letter-spacing: .18em; text-transform: uppercase; color: var(--tone); }
.ap-zone-list { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }
.ap-zone-list li { margin: 0; padding: 6px 12px; border: 1px solid var(--tone-line); border-radius: 999px; background: rgba(255, 255, 255, .72); font: 600 12.5px/1.2 var(--ap-body); color: var(--ap-ink); }
.ap-v-c .ap-packs-label { margin-top: 18px; }
@media (max-width: 719px) {
  .ap-packs-c { grid-template-columns: 1fr; gap: 12px; }
  .ap-pack-c { padding: 16px 14px 16px 16px; gap: 14px 10px; }
  .ap-pack-title { font-size: 23px; }
  .ap-pack-cost .ap-price { font-size: 42px; }
  .ap-tile-ico { width: 48px; height: 48px; }
  .ap-tile-ico .ap-svg { width: 26px; height: 26px; }
  .ap-plus { margin-top: 12px; font-size: 22px; }
}
/* page: lists inside .prose must not inherit the article's bullets */
.ap-page .prose .ap-packs-c, .ap-page .prose .ap-formula, .ap-page .prose .ap-zone-list { padding-left: 0; }
.ap-page .prose .ap-packs-c { margin: 10px 0 30px; }
.ap-page .prose .ap-pack-c::before, .ap-page .prose .ap-tile::before, .ap-page .prose .ap-plus::before, .ap-page .prose .ap-zone-list li::before { content: none; }
.ap-page .prose .ap-pack-title { margin: 0; }
.ap-page .ap-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 24px; margin: 6px 0 30px; }
.ap-page .ap-group .ap-row { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; padding: 10px 0; }
.ap-page .ap-group .ap-label { font-size: 18px; }
.ap-page .ap-group .ap-price { font-size: 26px; }
.ap-page .prose .ap-group h3 { margin: 0 0 2px; }
@media (max-width: 719px) { .ap-page .ap-groups { grid-template-columns: 1fr; gap: 14px; } }
.ap-pack-cta { grid-area: cta; justify-self: start; position: relative; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; border: 1px solid var(--tone-line); border-radius: 999px; background: rgba(255, 255, 255, .78); color: var(--ap-ink); font: 600 13.5px/1.2 var(--ap-body); text-decoration: none; }
.ap-pack-cta span { color: var(--tone); transition: transform .2s var(--ap-ease); }
.ap-pack-cta:hover { background: #fff; }
.ap-pack-cta:hover span { transform: translateX(3px); }
.ap-pack-cta:focus-visible { outline: 2px solid var(--ap-rose); outline-offset: 3px; }
.ap-v-c .ap-pack-title { font-size: 24px; }
.ap-page .prose .ap-packs-c li, .ap-page .prose .ap-formula li, .ap-page .prose .ap-zone-list li { list-style: none; }
.ap-page .prose .ap-pack-cta { text-decoration: none; }

/* ---------- chosen promotion modal (C) · home design system · compacted 2026-10-11 (Fable) ---------- */
.ap-v-c{--au-bg:#faf7f2;--au-ink:#2c2418;--au-muted:#5c5345;--au-rule:#2c241822;--au-serif:'DM Serif Display','Noto Sans KR',serif;--au-sans:'Noto Sans KR',Outfit,sans-serif;--ap-paper:var(--au-bg);--ap-ink:var(--au-ink);--ap-muted:var(--au-muted);--ap-display:var(--au-serif);--ap-body:var(--au-sans);font:400 16px/1.625 var(--au-sans)}
.ap-v-c[lang=ko]{--ap-display:var(--au-serif);--ap-body:var(--au-sans)}
.ap-v-c .ap-dialog{width:min(880px,calc(100vw - 40px));max-height:calc(100dvh - 40px);color:var(--au-ink)}
.ap-v-c .ap-panel{padding:26px 32px 22px;border:1px solid var(--au-rule);border-radius:8px;background:var(--au-bg)}
.ap-panel:focus{outline:none}
.ap-v-c .ap-bar{top:18px;margin:0}
.ap-v-c .ap-close{top:-12px;width:40px;height:40px;font-size:22px}
.ap-v-c .ap-bar::before{inset:-26px -4px auto;height:64px;background:linear-gradient(var(--au-bg) 60%,#faf7f200)}
.ap-pricing-head{padding-right:52px;margin-bottom:20px}
.ap-pricing-head h2,.ap-v-c[lang=ko] .ap-pricing-head h2{margin:0;font:400 32px/1.2 var(--au-serif);letter-spacing:-.015em;color:var(--au-ink)}
.ap-pricing-sub{margin:6px 0 0;font:400 14px/1.6 var(--au-sans);color:var(--au-muted)}
.ap-v-c .au-pricing-grid{gap:20px}
.ap-v-c .au-price-card{padding:22px 24px 20px}
.ap-v-c .au-plan-head{min-height:60px;margin-bottom:12px}
.ap-v-c .au-plan-title{font-size:26px}
.ap-v-c .au-plan-amount{font-size:48px}
.ap-v-c .au-plan-each{margin-top:8px}
.ap-v-c .au-sticker{width:84px;height:84px}
.ap-v-c .au-plan-includes{margin:16px 0}
.ap-v-c .au-included{min-height:42px;padding:6px 0;font-size:13.5px}
.ap-v-c .au-plan-cta{min-height:44px}
.ap-single-details{margin-top:22px;border-top:1px solid var(--au-rule);border-bottom:1px solid var(--au-rule)}
.ap-single-details summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;min-height:56px;padding:8px 0;list-style:none;color:var(--au-ink)}
.ap-single-details summary::-webkit-details-marker{display:none}
.ap-summary-text{display:grid;gap:1px;font:400 14px/1.5 var(--au-sans)}
.ap-summary-text small{font-size:12px;color:var(--au-muted)}
.ap-summary-mark{flex:none;font:300 26px/1 var(--au-sans);color:var(--au-muted);transition:transform 150ms cubic-bezier(.4,0,.2,1)}
.ap-single-details[open] .ap-summary-mark{transform:rotate(45deg)}
.ap-single-details summary:focus-visible,.ap-pricing-links a:focus-visible{outline:2px solid #985019;outline-offset:3px}
.ap-single-details .ap-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;padding:6px 0 22px}
.ap-single-details .ap-group h3{margin:12px 0 0;padding-bottom:8px;border-bottom:1px solid var(--au-rule);font:400 20px/1.3 var(--au-serif);letter-spacing:-.01em;color:var(--au-ink)}
.ap-v-c .ap-group .ap-row-action{display:block;padding:0}
.ap-single-details .ap-service-link{min-height:60px;padding:10px 0;gap:12px;grid-template-columns:minmax(0,1fr) auto 18px}
.ap-single-details .ap-service-link .ap-label{font-size:15px}
.ap-single-details .ap-service-link .ap-price{font-size:24px}
.ap-single-details .ap-service-arrow{font-size:16px}
.ap-pricing-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 24px;margin-top:10px}
.ap-pricing-foot .ap-note{flex:1 1 320px;margin:0;font:400 12px/1.6 var(--au-sans);color:var(--au-muted)}
.ap-pricing-links{display:flex;flex:none;align-items:center;gap:22px}
.ap-pricing-links a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--au-ink);font:400 13px/1.5 var(--au-sans);text-decoration:none}
.ap-pricing-links a>span{font-size:16px;color:var(--au-muted);transition:color 150ms cubic-bezier(.4,0,.2,1)}
@media(hover:hover) and (pointer:fine){.ap-pricing-links a:hover>span{color:var(--au-ink)}}
@media(max-width:719px){
  .ap-v-c .ap-dialog{width:100%;max-height:calc(100dvh - 24px);margin:auto 0 0}
  .ap-v-c .ap-panel{max-height:calc(100dvh - 24px);padding:18px 16px calc(14px + env(safe-area-inset-bottom));border-radius:8px 8px 0 0;border-bottom:0}
  .ap-v-c .ap-bar{top:10px}.ap-v-c .ap-close{top:-4px;width:36px;height:36px;font-size:20px}
  .ap-v-c .ap-bar::before{inset:-18px -4px auto;height:52px}
  .ap-pricing-head{margin-bottom:14px;padding-right:44px}
  .ap-pricing-head h2,.ap-v-c[lang=ko] .ap-pricing-head h2{font-size:24px;line-height:1.25}
  .ap-pricing-sub{font-size:12px;margin-top:4px}
  .ap-v-c .au-pricing-grid{gap:10px}
  .ap-v-c .au-price-card{padding:13px 11px 11px}
  .ap-v-c .au-plan-head{min-height:0;margin-bottom:6px}
  .ap-v-c .au-plan-title{font-size:18px}
  .ap-v-c .au-plan-amount{font-size:36px}
  .ap-v-c .au-plan-meta{margin-top:4px}
  .ap-v-c .au-plan-includes{margin:9px 0 10px}
  .ap-v-c .au-included{min-height:34px;padding:4px 0;font-size:12px}
  .ap-v-c .au-plan-cta{min-height:38px}
  .ap-v-c .au-sticker{top:64%;width:46px;height:46px}
  .ap-single-details{margin-top:10px}
  .ap-single-details summary{min-height:48px;padding:6px 0}
  .ap-pricing-foot .ap-note{flex:none}
  .ap-single-details .ap-groups{grid-template-columns:1fr;gap:2px;padding:0 0 14px}
  .ap-single-details .ap-group h3{font-size:19px}
  .ap-pricing-foot{flex-direction:column;align-items:stretch;gap:0;margin-top:6px}
  .ap-pricing-links{justify-content:space-between;gap:16px}
}
@media(max-width:359px){
  .ap-pricing-head h2,.ap-v-c[lang=ko] .ap-pricing-head h2{font-size:22px}
  .ap-v-c .au-price-card{padding:16px 14px 14px}
  .ap-v-c .au-plan-title{font-size:21px}.ap-v-c .au-plan-amount{font-size:40px}
  .ap-v-c .au-sticker{top:-9px;right:-9px;width:62px;height:62px}
  .ap-pricing-links a{font-size:12px}
}

/* Shared package cards and single-service rows for /promotion and the promo modal (Fable redesign, 2026-10-11).
   Tokens come from aurabeauty-site/src/home-design-system.css, bundled into promo.css. Every fact is from data.json. */
.au-pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
/* tile: one uniform 1px border (no one-sided accent bars, 준 2026-10-11) and a warm gradient rising from the bottom edge */
.au-price-card{box-sizing:border-box;--plan-tint:var(--aura-surface);--plan-glow:#c9a35726;--plan-accent:var(--aura-gold-dim);position:relative;display:flex;flex-direction:column;min-width:0;padding:28px 28px 24px;border:1px solid var(--aura-border);border-radius:var(--aura-radius);background:linear-gradient(180deg,#fffefb00 0%,#fffefb00 36%,var(--plan-glow) 100%) var(--aura-card);color:var(--aura-foreground)}
.au-price-card :where(p,h2,h3,ul){margin:0}
.au-price-rose{--plan-tint:#c4773b26;--plan-glow:#c4773b21}
.au-price-champagne{--plan-tint:#c9a3573d;--plan-glow:#c9a35738}
/* name */
.au-plan-head{min-height:66px;margin-bottom:16px}
.au-plan-label{display:block;font:400 11px/1.5 var(--aura-body);letter-spacing:var(--aura-tracking-label);color:var(--aura-gold-dim)}
.au-plan-title{font:400 30px/1.2 var(--aura-display);letter-spacing:var(--aura-tracking-title);margin-top:6px;word-break:keep-all}
/* Price: clear type without a shadow or glow (owner review request, 2026-10-11). */
.au-plan-price{display:block}
.au-plan-amount{position:relative;isolation:isolate;font:400 60px/1 var(--aura-display);letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap;word-break:normal}
.au-plan-cur{display:inline-block;font-size:.42em;vertical-align:top;margin:7px 3px 0 0;letter-spacing:0}
.au-plan-each{margin-top:10px;font-size:12px;line-height:1.5;color:var(--aura-muted);word-break:normal}
/* "limited time" seal: scalloped die-cut sticker, real SVG text, one per tile; corner on wide cards, beside the price on phones */
.au-sticker{--stk-rot:-8deg;--stk-y:0px;position:absolute;top:-10px;right:-10px;width:96px;height:96px;z-index:2;transform:translateY(var(--stk-y)) rotate(var(--stk-rot));filter:drop-shadow(0 5px 9px #2c241833);pointer-events:none;animation:au-stick .55s cubic-bezier(.2,.8,.3,1) .12s both}
.au-price-champagne .au-sticker{--stk-rot:6deg}
.au-sticker svg{display:block;width:100%;height:100%;overflow:visible}
.au-sticker-ring{font:500 6.4px Outfit,"Noto Sans KR",sans-serif;letter-spacing:.95px;text-transform:uppercase;fill:#2c2418}
.au-sticker-main{font:500 15px "Noto Sans KR",sans-serif;fill:#2c2418;letter-spacing:-.01em}
.au-sticker-en .au-sticker-main{font:400 14.5px "DM Serif Display",serif;letter-spacing:0}
@keyframes au-stick{0%{opacity:0;transform:translateY(var(--stk-y)) rotate(var(--stk-rot)) scale(1.22)}70%{opacity:1;transform:translateY(var(--stk-y)) rotate(var(--stk-rot)) scale(.965)}100%{opacity:1;transform:translateY(var(--stk-y)) rotate(var(--stk-rot)) scale(1)}}
/* included services: rows share the same order in both cards; the third row is the difference */
.au-plan-includes{list-style:none;padding:0;margin:20px 0;border-top:1px solid var(--aura-border)}
.au-included{display:flex;align-items:center;gap:12px;min-height:46px;padding:8px 0;font-size:14px;line-height:1.5;border-bottom:1px solid var(--aura-border)}
.au-included:last-child{border-bottom:0}
.au-included-name{display:grid;gap:1px;min-width:0}
.au-included-name small{font-size:11px;line-height:1.5;font-weight:400;color:var(--aura-muted);word-break:normal}
.au-service-icon{display:flex;flex:none;width:22px;height:22px;color:var(--aura-gold-dim)}.au-service-icon svg{width:22px;height:22px}
.au-check{margin-left:auto;flex:none;color:var(--plan-accent);font-size:12px}
.au-difference{margin-top:8px;padding:9px 12px;border-radius:4px;background:var(--plan-tint);font-weight:500}
/* action: opens a text draft with the package name; it does not book */
.au-plan-cta{display:flex;justify-content:center;align-items:center;gap:10px;min-height:48px;margin-top:auto;padding:10px 16px;border-radius:var(--aura-pill);background:var(--aura-foreground);color:var(--aura-background);font:400 12px/1.5 var(--aura-body);letter-spacing:var(--aura-tracking-nav);text-transform:uppercase;text-align:center;text-decoration:none;touch-action:manipulation;transition:background var(--aura-duration) var(--aura-ease),transform var(--aura-duration) var(--aura-ease)}
.au-plan-cta>span{font-size:16px}
.au-plan-cta:focus-visible{outline:2px solid var(--aura-accent-text);outline-offset:4px}
.au-plan-cta:active{transform:scale(.985)}

/* single-service rows (page menu and the modal disclosure) */
.ap-row.ap-row-action{display:block;padding:0}
.ap-service-link{display:grid;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:20px;min-height:74px;padding:16px 0;color:var(--aura-foreground);text-decoration:none;transition:background var(--aura-duration) var(--aura-ease)}
.ap-service-link .ap-name{display:grid;gap:3px;min-width:0}
.ap-service-link .ap-label{font:400 17px/1.45 var(--aura-body)}
.ap-service-link .ap-detail,.ap-service-link .ap-in{font:400 12px/1.5 var(--aura-body);color:var(--aura-muted)}
.ap-service-link .ap-price{font:400 30px/1 var(--aura-display);color:inherit;letter-spacing:-.01em;white-space:nowrap;font-variant-numeric:tabular-nums;word-break:normal}
.ap-service-link .ap-cur{display:inline-block;font-size:.55em;vertical-align:top;margin:3px 2px 0 0}
.ap-service-arrow{font:400 18px/1 var(--aura-body);color:var(--aura-muted);text-align:right;transition:transform var(--aura-duration) var(--aura-ease),color var(--aura-duration) var(--aura-ease)}
.ap-service-link:focus-visible{outline:2px solid var(--aura-accent-text);outline-offset:4px;border-radius:3px}
.ap-service-link:active{background:#2c241808}
@media(hover:hover) and (pointer:fine){
  .au-plan-cta:hover{background:var(--aura-accent-dim)}
  .ap-service-link:hover .ap-service-arrow{transform:translate(2px,-2px);color:var(--aura-foreground)}
}

/* phones: both cards stay side by side for comparison, so every piece shrinks together */
@media(max-width:640px){
  .au-pricing-grid{gap:10px}
  .au-price-card{padding:16px 12px 14px}
  .au-plan-head{min-height:0;margin-bottom:10px}
  .au-plan-label{font-size:9.5px;letter-spacing:.1em}
  .au-plan-title{font-size:20px;margin-top:3px}
  .au-plan-price{position:relative}
  .au-plan-amount{font-size:42px}
  .au-plan-cur{margin-top:5px}
  .au-plan-each{font-size:10.5px;line-height:1.45;margin-top:6px}
  .au-sticker{--stk-y:-50%;top:60%;right:-4px;width:50px;height:50px}
  .au-plan-includes{margin:12px 0 14px}
  .au-included{min-height:38px;padding:6px 0;gap:8px;font-size:12px;line-height:1.4}
  .au-included-name small{font-size:10px}
  .au-service-icon,.au-service-icon svg{width:18px;height:18px}
  .au-check{font-size:11px}
  .au-difference{margin-top:6px;padding:8px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:8px;row-gap:3px}
  .au-difference .au-included-name{display:contents}
  .au-difference .au-included-name>small{grid-column:1 / -1}
  .au-difference .au-check{grid-row:1;grid-column:3}
  .au-plan-cta{min-height:42px;padding:8px;gap:6px;font-size:11px;letter-spacing:.04em}
  .au-plan-cta>span{font-size:14px}
  .ap-service-link{min-height:64px;padding:12px 0;gap:12px;grid-template-columns:minmax(0,1fr) auto 20px}
  .ap-service-link .ap-label{font-size:16px}
  .ap-service-link .ap-price{font-size:28px}
}
/* narrow foldable covers: one card per row rather than clipped prices */
@media(max-width:359px){
  .au-pricing-grid{grid-template-columns:1fr;gap:12px}
  .au-price-card{padding:18px 16px 16px}
  .au-plan-title{font-size:22px}
  .au-plan-amount{font-size:44px}
  .au-plan-price{position:static}
  .au-sticker{--stk-y:0px;top:-9px;right:-9px;width:66px;height:66px}
  .au-included{font-size:13px}
  .ap-service-link{gap:10px}
  .ap-service-link .ap-label{font-size:15px}
  .ap-service-link .ap-price{font-size:26px}
}
@media(prefers-reduced-motion:reduce){.au-plan-cta,.ap-service-link,.ap-service-arrow{transition:none}.au-sticker{animation:none}}

/* Brand guide B (blog · editorial): the live blog's values (site/assets/site.css :root and computed styles,
   measured 2026-10-11), published under the shared --aura-* names so the promotion cards and modal can wear it.
   Record: ~/mik-sites-ops/content/clients/brand/aura-beauty.md. The original home system stays in home-design-system.css. */
:root {
  --aura-background: #F5EFEC;
  --aura-surface: #EDE4E0;
  --aura-card: #FBF8F6;
  --aura-foreground: #2B1D18;
  --aura-ink-2: #4B3B35;
  --aura-muted: #75655E;
  --aura-border: #DCD0CA;
  --aura-border-strong: #2B1D1833;
  --aura-gold: #C9A357;
  --aura-gold-dim: #72564A;
  --aura-accent: #B4545E;
  --aura-accent-dim: #933F48;
  --aura-accent-text: #A8475A;
  --aura-rose-soft: #F3DEDF;
  --aura-night: #1B1918;
  --aura-night-ink: #EFE8E4;
  --aura-night-muted: #B9ADA7;
  --aura-kakao: #FEE500;
  --aura-display: "Newsreader", "Noto Serif KR", Georgia, "Times New Roman", serif;
  --aura-body: "Instrument Sans", "Pretendard Variable", Pretendard, -apple-system, "Apple SD Gothic Neo", system-ui, sans-serif;
  --aura-heading: var(--aura-body);
  --aura-title-size: clamp(2rem, 1.3rem + 2.4vw, 3.2rem);
  --aura-title-weight: 400;
  --aura-title-leading: 1.12;
  --aura-title-tracking: -.015em;
  --aura-italic: "Newsreader", Georgia, serif;
  --aura-container: 1280px;
  --aura-gutter: clamp(20px, 4.4vw, 72px);
  --aura-header: 68px;
  --aura-section: 96px;
  --aura-nav-gap: 28px;
  --aura-radius: 4px;
  --aura-pill: 2px;
  --aura-tracking-label: .16em;
  --aura-tracking-nav: .01em;
  --aura-tracking-title: -.02em;
  --aura-leading-body: 1.65;
  --aura-ease: cubic-bezier(.25, .8, .25, 1);
  --aura-duration: 150ms;
}
:lang(ko) {
  --aura-display: "Noto Serif KR", "Newsreader", Georgia, serif;
  --aura-body: "Pretendard Variable", Pretendard, "Instrument Sans", -apple-system, "Apple SD Gothic Neo", system-ui, sans-serif;
  --aura-tracking-label: .06em;
  --aura-title-weight: 500;
  --aura-title-leading: 1.3;
  --aura-title-tracking: -.02em;
}
@media (max-width: 640px) {
  :root { --aura-section: 72px; --aura-gutter: 16px; }
}

/* Brand guide B (blog · editorial) on the promotion page and modal (준 2026-10-11: "브랜딩 가이드 적용해서 샘플 스테이징해봐").
   Tokens: aurabeauty-site/src/blog-design-tokens.css (same --aura-* names as the home system). The page sits inside the blog's own
   header, breadcrumbs, footer and floating contact (tools/build.py in_blog_shell), so only the promotion content is styled here.
   Layout, card gradients and the sticker are the Fable design; this file changes type, colour and shape only. */
.au-promotion, .ap-root, .ap-v-c, .ap-v-c[lang=ko] {
  --au-bg: var(--aura-background); --au-ink: var(--aura-foreground); --au-muted: var(--aura-muted);
  --au-gold: var(--aura-gold); --au-rule: var(--aura-border); --au-serif: var(--aura-display); --au-sans: var(--aura-body);
  --ap-paper: var(--aura-card); --ap-porcelain: var(--aura-surface); --ap-ink: var(--aura-foreground);
  --ap-ink-2: var(--aura-ink-2); --ap-muted: var(--aura-muted); --ap-rule: var(--aura-border);
  --ap-rose: var(--aura-accent-text); --ap-rose-soft: var(--aura-rose-soft); --ap-rose-line: var(--aura-border-strong);
  --ap-gold: var(--aura-gold); --ap-display: var(--aura-display); --ap-body: var(--aura-body); --ap-ease: var(--aura-ease);
}
html:has(.au-brand-blog) { background: var(--aura-background); scroll-padding-top: 84px; }
main.au-brand-blog { display: block; font: 400 1.0625rem/var(--aura-leading-body) var(--aura-body); color: var(--aura-foreground); }
.au-brand-blog .au-wrap { padding-inline: var(--aura-gutter); }
.au-brand-blog .au-wrap.au-pricing, .au-brand-blog .au-wrap.au-services { max-width: calc(996px + 2 * var(--aura-gutter)); }
.au-brand-blog > .crumbs { max-width: calc(996px + 2 * var(--aura-gutter)); }

/* labels: the blog's .label (600, small caps, taupe text) */
.au-brand-blog .au-eyebrow, .au-plan-label, .ap-v-c .ap-kicker {
  font: 600 12px/1.2 var(--aura-body); letter-spacing: var(--aura-tracking-label); text-transform: uppercase; color: var(--aura-gold-dim);
}
:lang(ko) .au-brand-blog .au-eyebrow { font-size: 13px; }
.au-plan-label { font-size: 11px; }
.au-brand-blog .au-eyebrow { display: flex; align-items: center; gap: 10px; }
.au-brand-blog .au-eyebrow .tuft { flex: none; }

/* headings: Noto Serif KR / Newsreader at the blog's weight */
html .au-brand-blog .au-pricing-heading h1 { font-weight: 500; letter-spacing: -.02em; }
html[lang] .au-brand-blog .au-story .au-hero h2, html .au-brand-blog .au-section-head h2, html .au-brand-blog .au-before h2,
html .au-brand-blog .au-booking h2, html .au-brand-blog .au-service h3, .au-plan-title, .ap-v-c .ap-head h2 { font-weight: 500; }
.au-plan-amount, .ap-service-link .ap-price { font-weight: 500; }
.au-brand-blog .au-hero h2 em { font-family: var(--aura-italic); color: var(--aura-accent-text); }
html[lang=ko] .au-brand-blog .au-hero h2 em { font-family: inherit; font-style: normal; }

/* buttons: the blog's .btn (ink, 2px corners, 600, sentence case) */
.au-plan-cta, .au-brand-blog .au-button, .ap-btn {
  border-radius: var(--aura-pill); font: 600 14px/1.2 var(--aura-body); letter-spacing: var(--aura-tracking-nav); text-transform: none;
}
.ap-root[lang=ko] .ap-btn { font-size: 14px; }
.au-brand-blog .au-section-nav a { border-radius: var(--aura-pill); font: 600 13px/1.2 var(--aura-body); letter-spacing: var(--aura-tracking-nav); text-transform: none; }
.au-brand-blog .au-button:hover { background: #43302A; }
@media (hover:hover) and (pointer:fine) { .au-plan-cta:hover, .ap-btn-ink:hover { background: #43302A; } }
.au-brand-blog .au-text-link > span:first-child { text-decoration-color: var(--aura-accent); text-decoration-thickness: 1px; }

/* package tiles: Super Pack takes the blog's rose; the Aura package keeps the logo's champagne gold */
.au-price-rose { --plan-tint: #B4545E1f; --plan-glow: #B4545E1a; }
.au-sticker-ring { font-family: "Instrument Sans", "Pretendard Variable", Pretendard, sans-serif; font-weight: 600; }
.au-sticker-main { font-family: "Pretendard Variable", Pretendard, sans-serif; font-weight: 700; }
.au-sticker-en .au-sticker-main { font-family: "Newsreader", Georgia, serif; font-weight: 500; }

/* story and booking: the blog's porcelain and night surfaces */
.au-brand-blog .au-story { background: var(--aura-surface); }
.au-brand-blog .au-booking { background: var(--aura-night); color: var(--aura-night-ink); }
.au-brand-blog .au-booking .au-eyebrow { color: var(--aura-night-muted); }
.au-brand-blog .au-booking-copy > p:not(.au-eyebrow) { color: var(--aura-night-ink); }
.au-brand-blog .au-booking-copy p.au-booking-note { color: var(--aura-night-muted); }
.au-brand-blog .au-booking .au-button { background: var(--aura-card); color: var(--aura-foreground); border-color: var(--aura-card); }
.au-brand-blog .au-booking .au-outline { background: transparent; color: var(--aura-night-ink); border-color: #EFE8E46b; }

@media (max-width: 640px) {
  .au-plan-label { font-size: 9.5px; letter-spacing: .1em; }
  .au-plan-cta { font-size: 12.5px; letter-spacing: 0; }
  .au-brand-blog .au-section-nav a { font-size: 12.5px; letter-spacing: 0; }
}
@media (max-width: 359px) { .au-brand-blog .au-section-nav a { font-size: 11.5px; } }

/* Owner poster campaign · Fable direction / Codex implementation · 2026-10-11.
   Scoped to promotion surfaces. Prices, photo and the page remain separate, accessible content. */
.au-promotion,.ap-v-c{
  --campaign-ivory:#f7f2ec;--campaign-ink:#1a1618;--campaign-muted:#64545a;
  --campaign-rose:#9e3e4b;--campaign-deep:#7f2f3b;--campaign-blush:#efd4d5;--campaign-line:#d9b3b6;
  --aura-foreground:var(--campaign-ink);--aura-muted:var(--campaign-muted);--aura-border:var(--campaign-line);
  --aura-accent-text:var(--campaign-rose);--aura-gold-dim:var(--campaign-muted);
  --au-bg:var(--campaign-ivory);--au-ink:var(--campaign-ink);--au-muted:var(--campaign-muted);
  --au-rule:var(--campaign-line);--ap-ink:var(--campaign-ink);--ap-rose:var(--campaign-rose);
  --ap-rose-soft:var(--campaign-blush);--ap-paper:var(--campaign-ivory);
}
.au-poster-stage{position:relative;isolation:isolate;background:var(--campaign-ivory);border-bottom:1px solid var(--campaign-line)}
.au-campaign-photo{display:block;position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.au-campaign-photo img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:30% 40%}
.au-poster-stage::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,transparent 32%,#f7f2ec38 42%,#f7f2eced 65%,#f7f2ecf5 100%)}
html .au-brand-blog .au-wrap.au-pricing,.au-poster-stage .au-pricing{position:relative;z-index:1;max-width:1440px;min-height:800px;display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:32px;padding:48px 96px 54px 48px}
.au-poster-stage>.au-campaign-photo img{position:relative;left:-4%}
.au-campaign-content{grid-column:2;min-width:0}
.au-pricing-heading{margin-bottom:22px}
.au-brand-blog .au-pricing-heading .au-eyebrow{color:var(--campaign-ink);font-size:11px;letter-spacing:.18em}
.au-pricing-heading .tuft{display:none}
html .au-brand-blog .au-pricing-heading h1,.au-pricing-heading h1,html[lang=ko] .au-pricing-heading h1{margin:18px 0 18px;font:500 clamp(52px,5.2vw,76px)/.98 "Newsreader",Georgia,serif;letter-spacing:-.04em;color:var(--campaign-rose)}
.au-pricing-heading h1>span{display:block;font-size:.66em;letter-spacing:-.025em;font-style:italic;margin-top:4px}
html[lang=ko] .au-brand-blog .au-pricing-heading h1{font:500 clamp(40px,4.2vw,58px)/1.2 "Noto Serif KR",serif;letter-spacing:-.05em}
html[lang=ko] .au-pricing-heading h1>span{display:inline;font-size:inherit;letter-spacing:inherit;font-style:normal}
.au-pricing-heading>p:last-child{font-size:14px;color:var(--campaign-muted)}
.au-section-nav{margin-bottom:24px;gap:8px}
.au-brand-blog .au-section-nav a{font-size:12px;border-color:var(--campaign-line);background:#f7f2eccf;border-radius:999px;padding:8px 18px}
.au-section-nav a[aria-current]{background:var(--campaign-rose);border-color:var(--campaign-rose);color:white}
.au-campaign-credit{position:relative;margin:0;font:400 11px/1.55 var(--aura-body);color:var(--campaign-muted);word-break:keep-all;overflow-wrap:break-word}
.au-poster-stage>.au-campaign-credit{position:absolute;z-index:1;left:24px;bottom:20px;width:calc(36% - 24px);padding:8px 10px;background:#f7f2eced;border:1px solid #fff8;border-radius:4px}

/* Shared package trays: poster medallions, burgundy ink, one border, no price effects. */
.au-promotion .au-pricing-grid,.ap-v-c .au-pricing-grid{gap:16px}
.au-promotion .au-price-card,.ap-v-c .au-price-card{--plan-tint:#e9cfcf66;--plan-accent:var(--campaign-rose);padding:22px 22px 20px;border:1px solid var(--campaign-line);border-radius:8px;background:linear-gradient(145deg,#fffaf6 8%,#f9e8e6 100%);color:var(--campaign-ink);box-shadow:none}
.au-promotion .au-price-champagne,.ap-v-c .au-price-champagne{--plan-tint:#e4b8bf4d;border-color:#b97782;background:linear-gradient(145deg,#fff8f4 6%,#f0d4d7 100%)}
.au-plan-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}
.au-plan-symbol{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:50%;background:var(--campaign-blush);color:var(--campaign-ink)}
.au-plan-symbol svg{width:28px;height:28px}
.au-value-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border-radius:999px;background:var(--campaign-rose);color:#fff;font:500 9px/1.25 var(--aura-body);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.au-promotion .au-plan-head,.ap-v-c .au-plan-head{min-height:0;margin:0 0 14px}
.au-promotion .au-plan-label,.ap-v-c .au-plan-label{font-size:9px;line-height:1.4;font-weight:500;letter-spacing:.14em;color:var(--campaign-muted)}
.au-promotion .au-plan-title,.ap-v-c .au-plan-title{font-size:26px;line-height:1.25;letter-spacing:-.035em;margin-top:5px;font-weight:500}
.au-promotion .au-plan-amount,.ap-v-c .au-plan-amount{font:500 66px/.95 "Newsreader",Georgia,serif;letter-spacing:-.05em;color:var(--campaign-rose);text-shadow:none;box-shadow:none;filter:none;animation:none}
.au-plan-amount::before{content:none}
.au-promotion .au-plan-cur,.ap-v-c .au-plan-cur{font-size:.55em;vertical-align:baseline;margin:0 2px 0 0;letter-spacing:-.04em}
.au-promotion .au-plan-each,.ap-v-c .au-plan-each{font-size:11px;line-height:1.5;margin-top:8px;color:var(--campaign-muted)}
.au-promotion .au-plan-includes,.ap-v-c .au-plan-includes{margin:18px 0 20px;border-top:1px solid var(--campaign-line)}
.au-promotion .au-included,.ap-v-c .au-included{min-height:48px;gap:9px;padding:8px 0;border-color:var(--campaign-line);font-size:13px;font-weight:400;line-height:1.4}
.au-promotion .au-service-icon,.ap-v-c .au-service-icon{width:30px;height:30px;display:grid;place-items:center;background:#e9c3c680;color:var(--campaign-ink);border-radius:50%}
.au-promotion .au-service-icon svg,.ap-v-c .au-service-icon svg{width:21px;height:21px}
.au-promotion .au-included-name small,.ap-v-c .au-included-name small{font-size:10px;line-height:1.5;color:var(--campaign-muted)}
.au-promotion .au-difference,.ap-v-c .au-difference{padding:9px 8px;margin-top:8px;border-radius:5px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 8px}
.au-difference .au-included-name{display:contents}
.au-difference .au-included-name>small{grid-column:1/-1}
.au-difference .au-check{grid-row:1;grid-column:3}
.au-promotion .au-plan-cta,.ap-v-c .au-plan-cta{min-height:46px;font-size:13px;border-radius:4px;background:var(--campaign-rose);color:#fff;letter-spacing:0;transition:background 180ms ease}
.au-pricing-foot{gap:0;margin-top:16px}
.au-pricing-foot p{font-size:11px;color:var(--campaign-muted)}
.au-pricing-foot .au-text-link{font-size:12px;color:var(--campaign-rose)}

/* Actual portfolio images stay alongside the singles; the price rows echo the posters. */
.au-brand-blog .au-services{padding-top:64px;padding-bottom:64px}
.au-brand-blog .au-section-head{border-color:var(--campaign-line)}
.au-brand-blog .au-section-head h2{color:var(--campaign-rose);font-size:38px}
.au-service{border-color:var(--campaign-line);column-gap:40px}
.au-service-heading{border-color:var(--campaign-line)}
.au-service-photo{border-radius:8px;border:1px solid var(--campaign-line)}
.au-promotion .ap-row-action,.ap-v-c .ap-row-action{border-bottom:0}
.au-promotion .ap-service-link,.ap-v-c .ap-service-link{grid-template-columns:42px minmax(0,1fr) auto 18px;gap:14px;min-height:80px;padding:14px 0}
.au-promotion .ap-ico,.ap-v-c .ap-ico{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--campaign-blush);color:var(--campaign-ink)}
.au-promotion .ap-ico .ap-svg,.ap-v-c .ap-ico .ap-svg{width:26px;height:26px}
.au-promotion .ap-service-link .ap-label{font:500 22px/1.3 var(--aura-display);color:var(--campaign-ink)}
.au-promotion .ap-service-link .ap-price,.ap-v-c .ap-service-link .ap-price{font:500 38px/1 "Newsreader",Georgia,serif;color:var(--campaign-rose);letter-spacing:-.04em}
.ap-service-link .ap-cur{vertical-align:baseline;margin:0 1px 0 0}
.au-promotion .ap-service-link .ap-in,.au-promotion .ap-service-link .ap-detail{color:var(--campaign-muted);font-size:11px}
.au-menu-bottom{border-color:var(--campaign-line)}
/* This page has inquiry actions in every price row and at booking; floating shortcuts covered tablet prices. */
body:has(main.au-promotion) .floating-contact{display:none}

/* Native dialog keeps its existing open/close, focus return and disclosure behavior. */
.ap-v-c .ap-dialog{width:min(880px,calc(100vw - 40px));max-height:calc(100dvh - 40px)}
.ap-v-c .ap-panel{padding:0;border:1px solid var(--campaign-line);border-radius:12px;background:var(--campaign-ivory);box-shadow:0 24px 80px #1a161829;max-height:inherit}
.ap-v-c .ap-dialog[open] .ap-panel{animation-duration:240ms}
.ap-v-c .ap-dialog::backdrop{background:#1a161885;backdrop-filter:blur(3px)}
.ap-v-c .ap-bar{top:12px;margin:0 12px}
.ap-v-c .ap-bar::before{display:none}
.ap-v-c .ap-close{position:relative;top:0;width:44px;height:44px;flex:none;border:1px solid var(--campaign-line);border-radius:50%;background:var(--campaign-ivory);color:var(--campaign-ink);box-shadow:none;font-size:26px;z-index:5}
.ap-v-c .ap-campaign-head{position:relative;isolation:isolate;min-height:232px;margin:0;padding:0;display:flex;align-items:center;background:var(--campaign-ivory)}
.ap-campaign-head .au-campaign-photo{width:70%}
.ap-campaign-head .au-campaign-photo img{object-position:24% 28%}
.ap-campaign-head::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,transparent 28%,#f7f2ec55 40%,#f7f2eceb 55%,var(--campaign-ivory) 76%);pointer-events:none}
.ap-campaign-copy{position:relative;z-index:1;margin-left:47%;padding:28px 58px 22px 12px;min-width:0}
.ap-campaign-brand{font:500 21px/1.05 "Newsreader",Georgia,serif;letter-spacing:-.03em;color:var(--campaign-ink);margin:0 0 20px}
.ap-campaign-brand>span{display:block;font:600 8px/1.5 var(--aura-body);letter-spacing:.18em;margin-top:6px}
.ap-v-c .ap-pricing-head h2,.ap-v-c[lang=ko] .ap-pricing-head h2{font:500 48px/.95 "Newsreader",Georgia,serif;color:var(--campaign-rose);letter-spacing:-.04em}
.ap-pricing-head h2>span{display:block;font-size:.68em;font-style:italic;letter-spacing:-.02em;margin-top:4px}
.ap-v-c[lang=ko] .ap-pricing-head h2{font:500 36px/1.25 "Noto Serif KR",serif;letter-spacing:-.04em}
.ap-v-c[lang=ko] .ap-pricing-head h2>span{font-style:normal;font-size:.76em}
.ap-v-c .ap-pricing-sub{font-size:11px;line-height:1.5;margin-top:12px;color:var(--campaign-muted)}
.ap-campaign-body{position:relative;padding:24px 28px 18px;background:var(--campaign-ivory);border-top:1px solid var(--campaign-line)}
.ap-v-c .au-price-card{padding:18px 20px}
.ap-v-c .au-plan-top{margin-bottom:12px}
.ap-v-c .au-plan-symbol{width:36px;height:36px}
.ap-v-c .au-plan-symbol svg{width:25px;height:25px}
.ap-v-c .au-plan-title{font-size:25px}
.ap-v-c .au-plan-head{margin-bottom:12px}
.ap-v-c .au-plan-amount{font-size:58px}
.ap-v-c .au-plan-includes{margin:12px 0 16px}
.ap-v-c .au-included{min-height:42px;padding-block:5px}
.ap-v-c .ap-single-details{border-color:var(--campaign-line);margin-top:18px}
.ap-v-c .ap-single-details summary{min-height:54px}
.ap-single-details .ap-groups{grid-template-columns:1fr;gap:0;padding-bottom:8px}
.ap-v-c .ap-group h3{font:500 19px/1.4 var(--aura-display);letter-spacing:-.02em;border-color:var(--campaign-line)}
.ap-v-c .ap-group .ap-list{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
.ap-v-c .ap-service-link{grid-template-columns:32px minmax(0,1fr) auto 14px;gap:9px;min-height:68px}
.ap-v-c .ap-ico{width:32px;height:32px}
.ap-v-c .ap-ico .ap-svg{width:22px;height:22px}
.ap-v-c .ap-service-link .ap-label{font:500 17px/1.35 var(--aura-display)}
.ap-v-c .ap-service-link .ap-price{font-size:29px}
.ap-v-c .ap-service-link .ap-in,.ap-v-c .ap-service-link .ap-detail{font-size:10px;color:var(--campaign-muted)}
.ap-v-c .ap-pricing-foot{margin-top:10px;gap:6px 18px}
.ap-v-c .ap-pricing-foot .ap-note{font-size:11px;color:var(--campaign-muted)}
.ap-pricing-links a{color:var(--campaign-rose)}
.ap-campaign-body>.au-campaign-credit{font-size:10px;margin-top:8px}
.ap-v-c .ap-pill{background:var(--campaign-rose)}
@media(hover:hover) and (pointer:fine){
  .au-promotion .au-plan-cta:hover,.ap-v-c .au-plan-cta:hover,.ap-v-c .ap-pill:hover{background:var(--campaign-deep)}
  .au-brand-blog .au-section-nav a:hover{background:#efd4d5;color:var(--campaign-ink)}
  .au-brand-blog .au-section-nav a[aria-current]:hover{background:var(--campaign-deep);color:white}
  .ap-v-c .ap-close:hover{background:#efd4d5}
}
@media(max-width:1100px) and (min-width:960px){
  html .au-brand-blog .au-wrap.au-pricing,.au-poster-stage .au-pricing{padding-inline:28px;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:20px}
  .au-promotion .au-price-card{padding-inline:18px}
  .au-poster-stage>.au-campaign-credit{width:calc(27% - 24px)}
}
@media(max-width:959px){
  .au-poster-stage>.au-campaign-photo{height:420px}
  .au-poster-stage>.au-campaign-photo img{object-position:30% 25%}
  .au-poster-stage>.au-campaign-photo img{left:0}
  .au-poster-stage::after{height:440px;background:linear-gradient(180deg,transparent 60%,#f7f2ec66 79%,var(--campaign-ivory) 100%)}
  html .au-brand-blog .au-wrap.au-pricing,.au-poster-stage .au-pricing{display:block;min-height:0;padding:330px 32px 18px}
  .au-campaign-content{position:relative;padding:26px;background:var(--campaign-ivory);border:1px solid var(--campaign-line);border-radius:8px}
  .au-pricing-heading h1>span{display:inline;font-size:inherit;font-style:normal}
  html .au-brand-blog .au-pricing-heading h1{font-size:60px}
  html[lang=ko] .au-brand-blog .au-pricing-heading h1{font-size:43px}
  .au-poster-stage>.au-campaign-credit{position:relative;left:auto;bottom:auto;width:auto;margin:0 32px 18px;padding:0;background:none;border:0}
  .au-brand-blog .au-services{padding-top:48px;padding-bottom:48px}
}
@media(max-width:719px){
  .ap-v-c .ap-dialog{width:100%;max-height:calc(100dvh - 20px);margin:auto 0 0}
  .ap-v-c .ap-panel{border-radius:14px 14px 0 0;padding:0 0 env(safe-area-inset-bottom);border-bottom:0}
  .ap-v-c .ap-campaign-head{min-height:190px}
  .ap-campaign-head .au-campaign-photo{width:80%}
  .ap-campaign-head .au-campaign-photo img{object-position:20% 20%}
  .ap-campaign-head::after{background:linear-gradient(90deg,transparent 24%,#f7f2ec22 35%,#f7f2eceb 58%,var(--campaign-ivory) 85%)}
  .ap-campaign-copy{margin-left:45%;padding:24px 46px 16px 6px}
  .ap-campaign-brand{font-size:17px;margin-bottom:14px;white-space:nowrap}
  .ap-campaign-brand>span{font-size:6px;letter-spacing:.1em}
  .ap-v-c .ap-pricing-head h2{font-size:34px}
  .ap-v-c[lang=ko] .ap-pricing-head h2{font-size:25px}
  .ap-v-c .ap-pricing-sub{font-size:10px;margin-top:10px}
  .ap-v-c .ap-bar{top:8px;margin-inline:8px}
  .ap-campaign-body{padding:16px 16px 12px}
  .ap-v-c .au-pricing-grid{gap:10px}
  .ap-v-c .au-price-card{padding:13px 11px 12px}
  .ap-v-c .au-plan-top{margin-bottom:10px;gap:4px}
  .ap-v-c .au-plan-symbol{width:30px;height:30px}
  .ap-v-c .au-plan-symbol svg{width:21px;height:21px}
  .ap-v-c .au-value-badge{font-size:7px;padding:4px 6px;letter-spacing:.06em}
  .ap-v-c .au-plan-label{font-size:8px;letter-spacing:.08em}
  .ap-v-c .au-plan-title{font-size:19px;line-height:1.3}
  .ap-v-c .au-plan-head{margin-bottom:10px}
  .ap-v-c .au-plan-amount{font-size:45px}
  .ap-v-c .au-plan-each{font-size:10px;margin-top:6px}
  .ap-v-c .au-plan-includes{margin:12px 0}
  .ap-v-c .au-included{font-size:12px;min-height:38px;gap:6px}
  .ap-v-c .au-service-icon{width:24px;height:24px}
  .ap-v-c .au-service-icon svg{width:18px;height:18px}
  .ap-v-c .au-included-name small{font-size:9px;line-height:1.55}
  .ap-v-c .au-difference{padding:7px 5px;column-gap:5px}
  .ap-v-c .au-plan-cta{min-height:44px;font-size:12px;padding:8px 6px}
  .ap-v-c .ap-single-details{margin-top:14px}
  .ap-v-c .ap-group .ap-list{grid-template-columns:1fr}
  .ap-v-c .ap-pricing-foot{margin-top:8px;gap:0}
  .ap-v-c .ap-pricing-links a{font-size:12px}
  .ap-v-c .ap-pricing-foot .ap-note{font-size:10px}
  .ap-campaign-body>.au-campaign-credit{font-size:10px;margin-top:6px}
}
@media(max-width:640px){
  .au-poster-stage>.au-campaign-photo{height:330px}
  .au-poster-stage>.au-campaign-photo img{width:140%;height:100%;object-position:20% 20%}
  .au-poster-stage::after{height:345px;background:linear-gradient(180deg,transparent 62%,#f7f2ec66 78%,var(--campaign-ivory) 100%)}
  html .au-brand-blog .au-wrap.au-pricing,.au-poster-stage .au-pricing{padding:294px 16px 14px}
  .au-campaign-content{padding:0;background:none;border:0;border-radius:0}
  .au-brand-blog .au-pricing-heading .au-eyebrow{font-size:10px;letter-spacing:.12em}
  .au-pricing-heading{margin-bottom:18px}
  html .au-brand-blog .au-pricing-heading h1{font-size:45px;margin:13px 0 14px;line-height:1.04}
  html[lang=ko] .au-brand-blog .au-pricing-heading h1{font-size:34px;line-height:1.25}
  .au-pricing-heading>p:last-child{font-size:12px}
  .au-section-nav{margin-bottom:20px;gap:6px}
  .au-brand-blog .au-section-nav a{font-size:12px;min-height:44px;padding:8px 10px}
  .au-promotion .au-pricing-grid{gap:10px}
  .au-promotion .au-price-card{padding:16px 12px 14px}
  .au-promotion .au-plan-top{margin-bottom:12px;gap:5px}
  .au-plan-symbol{width:32px;height:32px}
  .au-plan-symbol svg{width:23px;height:23px}
  .au-value-badge{font-size:7px;letter-spacing:.07em;padding:5px 7px}
  .au-promotion .au-plan-label{font-size:8px;letter-spacing:.08em}
  .au-promotion .au-plan-title{font-size:20px;line-height:1.3}
  .au-promotion .au-plan-head{margin-bottom:12px}
  .au-promotion .au-plan-amount{font-size:48px}
  .au-promotion .au-plan-each{font-size:10px}
  .au-promotion .au-plan-includes{margin:14px 0}
  .au-promotion .au-included{font-size:12px;min-height:39px;gap:6px}
  .au-promotion .au-service-icon{width:24px;height:24px}
  .au-promotion .au-service-icon svg{width:18px;height:18px}
  .au-promotion .au-difference{padding:7px 5px;column-gap:5px}
  .au-promotion .au-included-name small{font-size:9px;line-height:1.55}
  .au-promotion .au-plan-cta{font-size:12px;min-height:44px;padding:8px 6px}
  .au-poster-stage>.au-campaign-credit{margin:0 16px 20px;font-size:10px}
  .au-brand-blog .au-wrap.au-services{padding-inline:16px}
  .au-brand-blog .au-section-head h2{font-size:30px}
  .au-promotion .ap-service-link{grid-template-columns:36px minmax(0,1fr) auto 14px;gap:10px;min-height:76px}
  .au-promotion .ap-ico{width:36px;height:36px}
  .au-promotion .ap-ico .ap-svg{width:24px;height:24px}
  .au-promotion .ap-service-link .ap-label{font-size:19px}
  .au-promotion .ap-service-link .ap-price{font-size:33px}
  .au-promotion .ap-service-link .ap-in,.au-promotion .ap-service-link .ap-detail{font-size:10px}
}
@media(max-width:359px){
  .au-promotion .au-pricing-grid,.ap-v-c .au-pricing-grid{grid-template-columns:1fr;gap:14px}
  html .au-brand-blog .au-pricing-heading h1{font-size:37px}
  html[lang=ko] .au-brand-blog .au-pricing-heading h1{font-size:29px}
  .au-promotion .au-price-card,.ap-v-c .au-price-card{padding:18px 16px}
  .au-promotion .au-plan-title,.ap-v-c .au-plan-title{font-size:23px}
  .au-promotion .au-value-badge,.ap-v-c .au-value-badge{font-size:9px;padding:5px 10px}
  .au-promotion .au-plan-amount,.ap-v-c .au-plan-amount{font-size:54px}
  .au-promotion .au-included,.ap-v-c .au-included{font-size:13px}
  .au-promotion .au-included-name small,.ap-v-c .au-included-name small{font-size:10px}
  .ap-campaign-copy{margin-left:40%;padding-left:10px;padding-right:16px}
  .ap-campaign-brand{font-size:16px}
  .ap-v-c .ap-pricing-head h2{font-size:28px}
  .ap-v-c[lang=ko] .ap-pricing-head h2{font-size:24px}
  .ap-v-c .ap-campaign-head{min-height:198px}
  .ap-campaign-copy{padding-top:48px}
  .au-promotion .ap-service-link{gap:8px;grid-template-columns:30px minmax(0,1fr) auto 12px}
  .au-promotion .ap-ico{width:30px;height:30px}
  .au-promotion .ap-service-link .ap-label{font-size:16px}
  .au-promotion .ap-service-link .ap-price{font-size:29px}
}
@media(min-width:720px) and (max-height:500px){
  .ap-v-c .ap-dialog{max-height:calc(100dvh - 24px)}
  .ap-v-c .ap-campaign-head{min-height:152px}
  .ap-campaign-copy{padding-block:18px}
  .ap-campaign-brand{margin-bottom:10px;font-size:18px}
  .ap-v-c .ap-pricing-head h2{font-size:34px}
  .ap-v-c[lang=ko] .ap-pricing-head h2{font-size:28px}
}
@media(prefers-reduced-motion:reduce){
  .ap-v-c .ap-dialog[open] .ap-panel{animation:none}
  .au-promotion .au-plan-cta,.ap-v-c .au-plan-cta{transition:none}
}
