/* ══ Legal pages (Privacy Policy · Email Refusal) — 서브페이지 골격 ═══════════ */
@layer components {
  body[data-page="privacy"],
  body[data-page="email-refusal"] {
    background: var(--df-navy);
    color: var(--df-white);
  }

  /* 헤더 오프셋은 sol-hero 와 동일 — #df-main 밖, 히어로는 py120 */
  body[data-page="privacy"] #df-main,
  body[data-page="email-refusal"] #df-main {
    padding-block-start: var(--hd-h);
  }
  .lg-hero { padding-block: var(--sp-120); }
  .lg-hero__label {
    font-weight: 400; font-size: var(--fs-18); line-height: 1; color: var(--df-cyan);
  }
  .lg-hero__title {
    margin-block-start: var(--sp-20);
    font-weight: 700; font-size: var(--fs-50); line-height: 1.4;
  }
  .lg-hero__lead {
    margin-block-start: var(--sp-30);
    max-inline-size: clamp(320px, 41.6667vw, 800px);
    font-weight: 400; font-size: var(--fs-18); line-height: 1.8;
    color: rgba(255, 255, 255, 0.85);
  }

  .lg-doc { padding-block-end: var(--sp-120); }
  .lg-doc__wrap { padding-block-start: var(--sp-120); }
  .lg-rule { display: block; block-size: 1px; inline-size: 100%; background: var(--df-line-w10); }
  .lg-prose {
    margin-block-start: var(--sp-60);
    max-inline-size: clamp(320px, 52.0833vw, 1000px);
    font-weight: 400; font-size: var(--fs-18); line-height: 1.8;
  }
  .lg-prose h2 {
    margin-block: var(--sp-40) var(--sp-20);
    font-weight: 700; font-size: var(--fs-24); line-height: 1.4;
  }
  .lg-prose h2:first-child { margin-block-start: 0; }
  .lg-prose p { margin-block-end: var(--sp-20); }
  .lg-prose ul,
  .lg-prose ol { margin-block: var(--sp-20); padding-inline-start: 1.25em; }
  .lg-prose li + li { margin-block-start: var(--sp-10); }
  .lg-prose a { color: var(--df-cyan); text-decoration: underline; text-underline-offset: 3px; }
  .lg-meta {
    margin-block-end: var(--sp-30);
    font-size: var(--fs-16); line-height: 1.6; color: rgba(255, 255, 255, 0.65);
  }
  .lg-callout {
    margin-block: var(--sp-30);
    padding: var(--sp-30);
    border: 1px solid var(--df-line-w10);
    background: rgba(255, 255, 255, 0.04);
  }

  .lg-top {
    position: fixed; inset-block-end: var(--sp-30); inset-inline-end: var(--sp-30); z-index: 90;
    inline-size: clamp(44px, 2.9167vw, 56px); aspect-ratio: 1; border-radius: 50%;
    background: var(--df-navy-2); border: 1px solid var(--df-line-w20);
    display: grid; place-items: center;
    --mo: 0; opacity: var(--mo); visibility: hidden; pointer-events: none; cursor: pointer;
    transition: opacity .3s var(--ease-out-quart), visibility 0s linear .3s;
  }
  .lg-top.is-on {
    --mo: 1; visibility: visible; pointer-events: auto;
    transition: opacity .3s var(--ease-out-quart), visibility 0s linear 0s;
  }
  .lg-top__ar {
    display: block; inline-size: 30%; aspect-ratio: 1; margin-block-start: 18%;
    border-block-start: 2px solid var(--df-white); border-inline-start: 2px solid var(--df-white);
    transform: rotate(45deg);
  }

  @media (width < 768px) {
    .lg-hero__title { font-size: clamp(28px, 7vw, 40px); }
    .lg-prose { font-size: var(--fs-16); }
  }
}

html:not(.js-motion) .lg-top { display: none; }
