/* BRB-WEB P2 Batch C — source-DOM adapter
 * Visual tokens follow Detail Page Design System v1. Source content and order
 * remain owned by each production page; no Thermage content structure is used.
 */
:root {
  --dp-ground: #faf7f2;
  --dp-paper: #fffdf9;
  --dp-band: #f5efe6;
  --dp-ink: #231c19;
  --dp-ink-strong: #1d1613;
  --dp-ink-soft: #5f544c;
  --dp-muted: #8a7d73;
  --dp-accent: #7d1a33;
  --dp-line: #e6dccd;
  --dp-line-strong: #d5c6b2;
  --dp-shell: 1140px;
  --dp-prose: 760px;
  --dp-gutter: 20px;
  --dp-font-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --dp-font-serif-ko: "Noto Serif KR", Georgia, serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { background: var(--dp-ground); }
body {
  margin: 0;
  background: var(--dp-ground);
  color: var(--dp-ink);
  font-family: var(--dp-font-sans);
  line-height: 1.86;
  overflow-x: clip;
  word-break: keep-all;
  overflow-wrap: anywhere;
  -webkit-font-smoothing: antialiased;
}
img, video, iframe, svg { display: block; max-width: 100%; height: auto; }
a { color: var(--dp-accent); }
:focus-visible { outline: 2px solid var(--dp-accent); outline-offset: 3px; }

.p2c-page { min-height: 100vh; padding-block: clamp(44px, 5.2vw, 72px); }
.p2c-source {
  width: min(calc(100% - (var(--dp-gutter) * 2)), var(--dp-shell));
  margin-inline: auto;
}
.p2c-source .elementor,
.p2c-source .elementor-section,
.p2c-source .e-con,
.p2c-source .e-con-inner,
.p2c-source .elementor-container,
.p2c-source .elementor-column,
.p2c-source .elementor-widget,
.p2c-source .elementor-widget-container { min-width: 0; max-width: 100%; }
.p2c-source .e-con-inner,
.p2c-source .elementor-container { width: 100%; margin-inline: auto; }
.p2c-source .elementor-spacer-inner { height: clamp(18px, 3vw, 34px) !important; }

.p2c-source h1,
.p2c-source h2,
.p2c-source h3 { color: var(--dp-ink-strong); font-family: var(--dp-font-serif-ko); text-wrap: pretty; }
.p2c-source h1 {
  max-width: 820px;
  margin: 0 auto clamp(28px, 4vw, 46px);
  padding: clamp(38px, 6vw, 72px) clamp(18px, 4vw, 56px);
  border-block: 1px solid var(--dp-line-strong);
  background: linear-gradient(178deg, var(--dp-paper), var(--dp-band));
  font-size: clamp(36px, 4.2vw, 52px);
  font-weight: 500;
  letter-spacing: -.04em;
  line-height: 1.34;
  text-align: center;
}
.p2c-source h2 { margin: 36px 0 14px; font-size: clamp(26px, 3vw, 34px); font-weight: 500; line-height: 1.45; }
.p2c-source h3 { margin: 28px 0 12px; font-size: clamp(20px, 2.2vw, 25px); font-weight: 550; line-height: 1.5; }
.p2c-source p,
.p2c-source ul,
.p2c-source ol { max-width: var(--dp-prose); margin-inline: auto; }
.p2c-source p { margin-block: 0 16px; color: var(--dp-ink-soft); font-size: 15px; }
.p2c-source ul,
.p2c-source ol {
  margin-block: 0 24px;
  padding: clamp(22px, 3vw, 32px) clamp(22px, 4vw, 42px) clamp(22px, 3vw, 32px) clamp(48px, 6vw, 70px);
  border: 1px solid var(--dp-line);
  border-top: 2px solid var(--dp-accent);
  border-radius: 6px;
  background: var(--dp-paper);
}
.p2c-source li { padding-block: 9px; color: var(--dp-ink-soft); font-size: 15px; line-height: 1.86; }
.p2c-source li + li { border-top: 1px solid var(--dp-line); }
.p2c-source li::marker { color: var(--dp-accent); font-weight: 700; }
.p2c-source li > ul,
.p2c-source li > ol { margin: 10px 0 0; padding: 8px 0 0 22px; border: 0; background: transparent; }
.p2c-source li > ul li,
.p2c-source li > ol li { padding-block: 5px; border: 0; }
.p2c-source table { width: 100%; max-width: 100%; border-collapse: collapse; }
.p2c-source th,
.p2c-source td { padding: 12px; border: 1px solid var(--dp-line); text-align: left; vertical-align: top; }

@media (max-width: 940px) {
  .p2c-page { padding-block: 42px; }
  .p2c-source h1 { font-size: clamp(34px, 5.4vw, 46px); }
}

@media (max-width: 760px) {
  :root { --dp-gutter: 18px; }
  .p2c-page { padding-block: 24px; }
  .p2c-source h1 { margin-bottom: 20px; padding: 30px 16px 34px; font-size: 31px; line-height: 1.43; }
  .p2c-source h2 { margin-top: 26px; font-size: 25px; line-height: 1.48; }
  .p2c-source h3 { margin-top: 22px; font-size: 20px; }
  .p2c-source p,
  .p2c-source li { font-size: 14px; line-height: 1.88; }
  .p2c-source ul,
  .p2c-source ol { margin-bottom: 18px; padding: 18px 16px 18px 38px; }
  .p2c-source li { padding-block: 7px; }
  .p2c-source table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}