/* Legal pages (Privacy Policy). Desktop at 1440px, mobile at 390px (site-wide zoom handles scaling). */

/* ---------- Hero ---------- */
.lg-hero { position: relative; overflow: clip; background: var(--cream); }
.lg-hero__stage { height: auto; padding: 170px 101px 90px; text-align: center; }
.lg-hero__script { display: inline-block; }
.lg-hero h1 { margin-top: 0; }
.lg-hero__org { margin-top: 8px; }
.lg-hero__dates { margin-top: 26px; display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; font-size: 15px; }
.lg-hero__dates span { padding: 9px 18px; border-radius: 100px; background: var(--white); }
.lg-hero__clover { position: absolute; width: 190px; right: 70px; top: 120px; animation: lx-spin 60s linear infinite; }
.lg-hero__half { position: absolute; width: 150px; left: 90px; bottom: 40px; }

/* ---------- Layout ---------- */
.lg-body { background: var(--white); }
.lg-layout { height: auto; display: grid; grid-template-columns: 300px 1fr; column-gap: 90px; padding: 90px 101px 120px; }
.lg-toc__current { display: none; }
.lg-toc { position: sticky; top: 120px; transition: top .3s linear; align-self: start; max-height: calc(100vh - 150px); overflow-y: auto; scrollbar-width: none; }
.lg-toc::-webkit-scrollbar { display: none; }
.header-hidden .lg-toc { top: 40px; }
.lg-toc summary { list-style: none; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; opacity: .7; }
.lg-toc summary::-webkit-details-marker { display: none; }
.lg-toc ol { position: relative; margin: 18px 0 0; padding: 0; list-style: none; border-left: 1px solid rgba(40, 71, 52, .15); }
.lg-toc__bar { position: absolute; left: -1.5px; top: 0; width: 3px; height: 0; border-radius: 3px; background: var(--green); transition: transform .45s cubic-bezier(.16, 1, .3, 1), height .45s cubic-bezier(.16, 1, .3, 1), opacity .3s ease; opacity: 0; }
.lg-toc__bar.is-on { opacity: 1; }
.lg-toc__progress { display: block; margin-top: 8px; height: 3px; border-radius: 3px; background: rgba(40, 71, 52, .1); overflow: hidden; }
.lg-toc__progress span { display: block; height: 100%; width: 100%; background: var(--gold); transform-origin: left; transform: scaleX(0); }
.lg-toc li a { display: block; padding: 7px 0 7px 18px; font-size: 15px; line-height: 20px; opacity: .6; transition: opacity .25s ease, transform .35s cubic-bezier(.16, 1, .3, 1); }
.lg-toc li a:hover { opacity: 1; }
.lg-toc li a.is-current { opacity: 1; transform: translateX(4px); }

/* ---------- Article ---------- */
.lg-article { max-width: 760px; }
.lg-sec { scroll-margin-top: 120px; }
.lg-sec + .lg-sec { margin-top: 56px; }
.lg-sec h2 { font-size: 36.9px; line-height: 47.97px; }
.lg-sec p, .lg-sec li { font-size: 18.9px; line-height: 30.24px; }
.lg-sec h2 + p, .lg-sec h2 + ul { margin-top: 18px; }
.lg-sec p + p, .lg-sec ul + p { margin-top: 16px; }
.lg-sec p + ul { margin-top: 12px; }
.lg-sec ul { padding-left: 26px; list-style: disc; }
.lg-sec li + li { margin-top: 8px; }
.lg-sec li::marker { color: var(--gold); }
.lg-sec strong { font-weight: 600; }
.lg-sec a { text-decoration: underline; text-decoration-color: rgba(40, 71, 52, .35); text-underline-offset: 4px; transition: text-decoration-color .2s ease; }
.lg-sec a:hover { text-decoration-color: currentColor; }

/* Callouts */
.lg-callout { padding: 40px 44px 44px; border-radius: 30px; }
.lg-callout + .lg-sec, .lg-sec + .lg-callout { margin-top: 48px; }
.lg-callout--yellow { background: var(--yellow); }
.lg-callout--peach { background: var(--peach); }
.lg-callout--green { background: var(--green); color: var(--cream); }
.lg-callout--green a { text-decoration-color: rgba(242, 242, 231, .5); }
.lg-callout li::marker { color: var(--green); }

/* ---------- Mobile ---------- */
@media (max-width: 1023px) {
  .lg-hero__stage { padding: 56px 30px 48px; }
  .lg-hero__clover { width: 90px; right: -24px; top: 20px; }
  .lg-hero__half { width: 80px; left: -10px; bottom: 10px; }
  .lg-hero__dates { font-size: 13px; }
  .lg-layout { display: block; padding: 32px 30px 70px; }
  .lg-toc { position: sticky; top: 108px; z-index: 5; max-height: none; overflow: visible; margin: 0 -30px 30px; padding: 14px 30px; background: rgba(255, 255, 255, .94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 1px 0 rgba(40, 71, 52, .1); }
  .header-hidden .lg-toc { top: 0; }
  .lg-toc__current { display: block; }
  .lg-toc summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
  .lg-toc summary::after { content: ""; width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .25s ease; }
  .lg-toc details[open] summary::after { transform: rotate(-135deg); }
  .lg-toc__current { flex: 1; text-transform: none; letter-spacing: 0; font-size: 15px; opacity: 1; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
  .lg-toc details[open] ol { max-height: 55vh; overflow-y: auto; }
  .lg-toc summary { cursor: pointer; }
  .lg-toc ol { margin-top: 12px; }
  .lg-sec { scroll-margin-top: 190px; }
  .lg-sec + .lg-sec { margin-top: 40px; }
  .lg-sec h2 { font-size: 26px; line-height: 32px; }
  .lg-sec p, .lg-sec li { font-size: 16px; line-height: 26px; }
  .lg-callout { padding: 26px 22px 28px; border-radius: 24px; }
}
