/* Terms and Privacy use the admissions hero and the public site's document typography. */
:is(.terms-page, .privacy-page, .security-page) { --legal-gold: #416eaf; --lpc-gold: #6495ed; --lpc-focus: #6495ed; }
:is(.terms-page, .privacy-page, .security-page) :is(.terms-hero__heading-row, .privacy-hero__heading-row, .security-hero__heading-row) { width: 100%; gap: 24px; }
:is(.terms-page, .privacy-page, .security-page) :is(.terms-hero, .privacy-hero, .security-hero) .utility-hero__meta { text-align: center; color: #596b80; font-size: 1rem; letter-spacing: 0; line-height: 1.65; }
:is(.terms-page, .privacy-page, .security-page) .legal-document { font-weight: 300; }
:is(.terms-page, .privacy-page, .security-page) .legal-document h2 { line-height: 1.15; }
:is(.terms-page, .privacy-page, .security-page) .legal-document h3 { line-height: 1.25; }
:is(.terms-page, .privacy-page, .security-page) .legal-document a { color: #416eaf; text-decoration-color: currentColor; }
:is(.terms-page, .privacy-page, .security-page) .document-toc { background: #f1f5fc; border-color: #d5dff1; border-radius: 20px; }
:is(.terms-page, .privacy-page, .security-page) .home-footer summary { color: #a8c8ff; }
:is(.terms-page, .privacy-page, .security-page) .home-footer__statement, /* Document headings use Sarabun; hero titles retain the admissions serif. */
:is(.terms-page, .privacy-page, .security-page) .legal-document :is(h2, h3) {
  font-family: "Sarabun", sans-serif;
  font-weight: 400;
  letter-spacing: -.015em;
  line-height: 1.4;
}
:is(.terms-page, .privacy-page, .security-page) .legal-document h2 {
  font-size: clamp(1.4rem, 2.4vw, 1.8rem);
}
:is(.terms-page, .privacy-page, .security-page) .legal-document h3 {
  font-size: clamp(1.1rem, 1.7vw, 1.3rem);
}
:is(.terms-page, .privacy-page, .security-page) :is(.terms-hero, .privacy-hero, .security-hero) .utility-hero__meta { justify-self: center; width: auto; }
:is(.terms-page, .privacy-page, .security-page) .document-toc { padding: clamp(20px, 4vw, 36px); }
:is(.terms-page, .privacy-page, .security-page) .admission-hero h1 {
  font-family: "Sarabun", sans-serif;
  font-size: clamp(2.5rem, 5.5vw, 5rem);
  font-weight: 300;
  line-height: 1.15;
  letter-spacing: -.035em;
}
:is(.terms-page, .privacy-page, .security-page) .legal-document > .legal-effective-date {
  max-width: none;
  margin: 0 0 20px;
  color: #596b80;
  font-size: .8rem;
  font-weight: 300;
  line-height: 1.5;
}
/* Compact reading rhythm for legal content. */
:is(.terms-page, .privacy-page, .security-page) .legal-document { line-height: 1.55; }
:is(.terms-page, .privacy-page, .security-page) .legal-document :is(h2, h3) { line-height: 1.25; }
:is(.terms-page, .privacy-page, .security-page) .legal-document :is(p, ul, ol) { margin-bottom: .85rem; }
:is(.terms-page, .privacy-page, .security-page) .legal-document li { margin-block: .35rem; }
/* Cormorant Garamond throughout the Terms and Privacy documents. */
:is(.terms-page, .privacy-page, .security-page) .legal-document,
:is(.terms-page, .privacy-page, .security-page) .legal-document :is(h2, h3),
:is(.terms-page, .privacy-page, .security-page) .admission-hero .utility-hero__description {
  font-family: "Cormorant Garamond", serif;
}
:is(.terms-page, .privacy-page, .security-page) .legal-document {
  font-size: clamp(1.2rem, 1.5vw, 1.3rem);
  font-weight: 400;
}
:is(.terms-page, .privacy-page, .security-page) .legal-document h2 { font-weight: 600; }
:is(.terms-page, .privacy-page, .security-page) .legal-document h3 { font-size: 1.3rem; font-weight: 600; }
:is(.terms-page, .privacy-page, .security-page) .legal-document > .legal-effective-date { font-size: .95rem; }
:is(.terms-page, .privacy-page, .security-page) .legal-document { line-height: 1.35; }
:is(.terms-page, .privacy-page, .security-page) .legal-document :is(h2, h3) { line-height: 1.15; }
:is(.terms-page, .privacy-page, .security-page) .legal-document,
:is(.terms-page, .privacy-page, .security-page) .legal-document :is(p, li, h2, h3) {
  text-align: justify;
}
/* Closer spacing between numbered sections and subsections. */
:is(.terms-page, .privacy-page, .security-page) .legal-document section.card { padding-block: 24px; }
:is(.terms-page, .privacy-page, .security-page) .legal-document section.card:first-of-type { padding-top: 0; }
:is(.terms-page, .privacy-page, .security-page) .legal-document h2 { margin-bottom: .7rem; }
:is(.terms-page, .privacy-page, .security-page) .legal-document h3 { margin-top: 1.2rem; margin-bottom: .5rem; }
:is(.terms-page, .privacy-page, .security-page) .legal-document { font-size: 11pt; }
:is(.terms-page, .privacy-page, .security-page) .legal-document :is(h2, h3) { font-size: 11.5pt; }
:is(.terms-page, .privacy-page, .security-page) .legal-document,
:is(.terms-page, .privacy-page, .security-page) .legal-document :is(h2, h3),
:is(.terms-page, .privacy-page, .security-page) .admission-hero .utility-hero__description {
  font-family: "Sarabun", sans-serif;
}
/* Lighter typography throughout the legal documents. */
:is(.terms-page, .privacy-page, .security-page) .legal-document { font-weight: 300; }
:is(.terms-page, .privacy-page, .security-page) .legal-document :is(h2, h3, strong, b) { font-weight: 400; }
/* Compact sections without dividing rules. */
:is(.terms-page, .privacy-page, .security-page) .legal-document section.card {
  border: 0;
  padding-block: 12px;
}
:is(.terms-page, .privacy-page, .security-page) .legal-document section.card:first-of-type { padding-top: 0; }
:is(.terms-page, .privacy-page, .security-page) .legal-document h2 { margin-bottom: .5rem; }
:is(.terms-page, .privacy-page, .security-page) .legal-document h3 { margin-top: .85rem; margin-bottom: .35rem; }
/* Run section headings into their opening paragraphs. */
:is(.terms-page, .privacy-page, .security-page) .legal-document section.card :is(h2, h3) {
  display: inline;
  margin: 0;
  margin-inline-end: .4em;
}
:is(.terms-page, .privacy-page, .security-page) .legal-document section.card h3::before {
  content: "";
  display: block;
  margin-top: .65rem;
}
:is(.terms-page, .privacy-page, .security-page) .legal-document section.card :is(h2, h3) + p {
  display: inline;
}
:is(.terms-page, .privacy-page, .security-page) .legal-document section.card :is(h2, h3) + p::after {
  content: "";
  display: block;
  margin-bottom: .65rem;
}
/* Each numbered section or subsection reads as one continuous text block. */
:is(.terms-page, .privacy-page, .security-page) .legal-document section.card p,
:is(.terms-page, .privacy-page, .security-page) .legal-document section.card :is(ul, ol, li) {
  display: inline;
  margin: 0;
  padding: 0;
}
:is(.terms-page, .privacy-page, .security-page) .legal-document section.card p::after,
:is(.terms-page, .privacy-page, .security-page) .legal-document section.card :is(h2, h3) + p::after {
  content: " ";
  display: inline;
  margin: 0;
}
:is(.terms-page, .privacy-page, .security-page) .legal-document section.card li::before {
  content: " • ";
}
:is(.terms-page, .privacy-page, .security-page) .legal-document section.card li::after {
  content: " ";
}
/* Tighter spacing between continuous numbered blocks. */
:is(.terms-page, .privacy-page, .security-page) .legal-document section.card { padding-block: 6px; }
:is(.terms-page, .privacy-page, .security-page) .legal-document section.card h3::before { margin-top: .35rem; }
/* Left alignment keeps narrow-screen legal text evenly spaced. */
@media (max-width: 600px) {
  :is(.terms-page, .privacy-page, .security-page) .legal-document,
  :is(.terms-page, .privacy-page, .security-page) .legal-document :is(p, li, h2, h3) {
    text-align: left;
  }
}
/* Simple document lists, aligned consistently beneath their headings. */
:is(.terms-page, .privacy-page, .security-page) .legal-document section.card :is(ul, ol) {
  display: block;
  box-sizing: border-box;
  width: auto;
  max-width: none;
  margin: .45rem 2.5rem .65rem 0;
  padding: 0 0 0 1.5rem;
  text-align: left;
  list-style-position: outside;
}
:is(.terms-page, .privacy-page, .security-page) .legal-document section.card ul { list-style-type: disc; }
:is(.terms-page, .privacy-page, .security-page) .legal-document section.card li {
  display: list-item;
  margin: 0;
  padding: 0;
  line-height: 1.4;
  text-align: left;
}
:is(.terms-page, .privacy-page, .security-page) .legal-document section.card li + li { margin-top: .3rem; }
:is(.terms-page, .privacy-page, .security-page) .legal-document section.card li::marker { color: currentColor; font-size: .8em; }
:is(.terms-page, .privacy-page, .security-page) .legal-document section.card li::before,
:is(.terms-page, .privacy-page, .security-page) .legal-document section.card li::after { content: none; }
@media (max-width: 600px) {
  :is(.terms-page, .privacy-page, .security-page) .legal-document section.card :is(ul, ol) { margin-right: .75rem; }
}
