/* Fatecove 法律頁：墨色、宣紙、長文可讀性；不使用裝飾圖片。 */
.legalPage {
  max-width: 1040px;
  margin: 0 auto;
  padding: 22px 34px 76px;
  color: var(--ink, #302e29);
}
.legalPage,
.legalPage * { box-sizing: border-box; }
.legalLocalNav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 20px;
  min-height: 44px;
  border-bottom: 1px solid var(--rule, #d8cfbe);
  color: var(--soft-ink, #656158);
  font-size: 12px;
  line-height: 1.8;
}
.legalLocalNav > span {
  margin-right: auto;
  color: #806545;
  font-size: 11px;
  letter-spacing: 1.5px;
}
.legalLocalNav a {
  padding: 10px 0 8px;
  color: var(--soft-ink, #656158);
  text-decoration: none;
  border-bottom: 2px solid transparent;
}
.legalLocalNav a:hover,
.legalLocalNav a:focus-visible,
.legalLocalNav a.is-active {
  color: var(--seal, #8e3e32);
  border-bottom-color: var(--seal, #8e3e32);
}
.legalHeader {
  max-width: 850px;
  padding: 48px 2px 27px;
}
.legalHeader .kicker { display: block; }
.legalHeader h1 {
  margin: 15px 0 17px;
  color: var(--ink, #302e29);
  font: 500 clamp(29px, 4vw, 42px)/1.55 'Noto Serif TC', serif;
  letter-spacing: .04em;
}
.legalHeader p {
  max-width: 760px;
  margin: 0;
  color: var(--soft-ink, #656158);
  font-size: 15px;
  line-height: 2.05;
}
.legalHeader small {
  display: block;
  margin-top: 19px;
  color: #8b7c65;
  font-size: 11px;
  line-height: 1.8;
}
.legalStatus {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 16px;
  align-items: baseline;
  margin: 0 0 27px;
  padding: 14px 17px;
  border-left: 2px solid var(--seal, #8e3e32);
  background: #ebe1d0;
  color: #6e5c46;
  font-size: 12px;
  line-height: 1.9;
}
.legalStatus strong { color: var(--seal, #8e3e32); font-weight: 600; }
.legalStatus span { flex: 1 1 460px; }
.legalToc {
  margin: 0 0 25px;
  padding: 20px 23px 19px;
  border: 1px solid #d2c2a8;
  background: #f9f4e9;
  color: var(--soft-ink, #656158);
}
.legalToc > strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ink, #302e29);
  font: 500 17px/1.7 'Noto Serif TC', serif;
}
.legalToc ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px 30px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: legal-toc;
}
.legalToc li { min-width: 0; counter-increment: legal-toc; }
.legalTocButton {
  width: 100%;
  border: 0;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
  display: block;
  padding: 5px 0;
  color: #765b3e;
  font-size: 12px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.legalTocButton:hover,
.legalTocButton:focus-visible { color: var(--seal, #8e3e32); text-decoration: underline; text-underline-offset: 3px; }
.legalPaper {
  padding: 15px 45px 41px;
  border: 1px solid #d5c6ac;
  background: #fffaf0;
  box-shadow: 0 5px 15px rgba(73, 57, 36, .035);
}
.legalSection {
  scroll-margin-top: 22px;
  padding: 31px 0 4px;
}
.legalSection + .legalSection {
  border-top: 1px solid #e2d8c7;
}
.legalSection h2 {
  margin: 0 0 15px;
  color: var(--ink, #302e29);
  font: 500 clamp(20px, 2.5vw, 26px)/1.7 'Noto Serif TC', serif;
  letter-spacing: .025em;
}
.legalSection h2::first-letter { color: var(--seal, #8e3e32); }
.legalSection p,
.legalSection li {
  color: var(--soft-ink, #656158);
  font-size: 14px;
  line-height: 2.08;
}
.legalSection p { margin: 0 0 15px; }
.legalSection p:last-child { margin-bottom: 8px; }
.legalSection ul,
.legalSection ol {
  margin: 11px 0 18px;
  padding-left: 23px;
}
.legalSection li + li { margin-top: 7px; }
.legalSection strong { color: #5f4930; font-weight: 600; }
.legalSection a,
.legalFooter a {
  color: var(--seal, #8e3e32);
  text-decoration: underline;
  text-decoration-color: #b99b7f;
  text-underline-offset: 3px;
}
.legalSection a:hover,
.legalSection a:focus-visible,
.legalFooter a:hover,
.legalFooter a:focus-visible { text-decoration-color: var(--seal, #8e3e32); }
.legalPending,
.legalIdentity {
  margin: 20px 0 8px !important;
  padding: 14px 17px;
  border-left: 2px solid #a6875f;
  background: #f1e7d7;
  color: #715d46 !important;
  font-size: 12px !important;
  line-height: 1.95 !important;
}
.legalPending strong { color: #694a34; }
.legalIdentity {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
}
.legalIdentity > strong { flex-basis: 100%; }
.legalIdentity b { color: #846544; font-weight: 500; }
.legalCollectionNotice {
  margin: 20px 0 8px;
  padding: 19px 21px 16px;
  border: 1px solid #c5af8d;
  border-left: 3px solid #9b6e47;
  background: #f0e5d3;
}
.legalCollectionNotice > strong {
  display: block;
  margin-bottom: 9px;
  color: #744d34;
  font: 500 17px/1.7 'Noto Serif TC', serif;
}
.legalCollectionNotice p {
  margin: 6px 0 !important;
  color: #715f4a !important;
  font-size: 12px !important;
  line-height: 1.85 !important;
}
.legalCollectionNotice b { color: #765238; }
.legalNoticeLink { padding-top: 7px; border-top: 1px solid #d8c4a4; }
.legalAiInvitation {
  margin: 31px 0 7px;
  padding: 28px 29px 25px;
  border-top: 2px solid #a2825a;
  background: #eee2cf;
}
.legalAiInvitation .kicker { display: block; }
.legalAiInvitation h2 {
  margin: 11px 0 13px;
  color: #51422f;
  font: 500 25px/1.7 'Noto Serif TC', serif;
}
.legalAiInvitation p {
  max-width: 760px;
  margin: 0 0 18px;
  color: #685b48;
  font: 15px/2.05 'Noto Serif TC', serif;
}
.legalAiInvitation .goldButton,
.legalButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  text-decoration: none;
}
.legalAiInvitation small {
  display: block;
  margin-top: 13px;
  color: #806e57;
  font-size: 11px;
  line-height: 1.85;
}
.legalFooter {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 23px;
  align-items: center;
  margin-top: 25px;
  padding: 0 2px;
  color: #84745f;
  font-size: 11px;
  line-height: 1.9;
}
.legalFooter span { margin-left: auto; }
.legalPage :focus-visible {
  outline: 2px solid var(--seal, #8e3e32);
  outline-offset: 3px;
}
@media (max-width: 760px) {
  .legalPage { padding: 14px 22px 49px; }
  .legalLocalNav { gap: 0 14px; }
  .legalLocalNav > span { flex-basis: 100%; margin: 3px 0 0; }
  .legalLocalNav a { padding-top: 4px; }
  .legalHeader { padding: 34px 0 23px; }
  .legalHeader h1 { font-size: 31px; }
  .legalHeader p { font-size: 14px; }
  .legalToc { padding: 17px 17px 15px; }
  .legalToc ol { grid-template-columns: 1fr; gap: 0; }
  .legalPaper { padding: 8px 22px 29px; }
  .legalSection { padding-top: 25px; }
  .legalSection h2 { font-size: 22px; }
  .legalSection p,
  .legalSection li { font-size: 14px; line-height: 2; }
  .legalAiInvitation { padding: 24px 21px 21px; }
  .legalAiInvitation h2 { font-size: 23px; }
  .legalAiInvitation p { font-size: 14px; }
  .legalFooter span { flex-basis: 100%; margin-left: 0; }
}
@media (max-width: 430px) {
  .legalPage { padding-inline: 17px; }
  .legalStatus { display: block; }
  .legalStatus span { display: block; margin-top: 5px; }
  .legalPaper { padding-inline: 17px; }
  .legalCollectionNotice { padding-inline: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .legalPage * { scroll-behavior: auto; }
}
