/* Dedicated Terms page stylesheet. Kept separate from styles.css to avoid stale shared-CSS caches. */
.terms-hero { padding: 92px 0 82px; color: #f6fbfa; background: #18313d; }
.terms-hero .eyebrow { color: #92d8d1; }
.terms-hero h1 { max-width: 610px; margin-top: 18px; color: #fff; font-size: clamp(52px, 6vw, 78px); }
.terms-hero h1 em { color: #9bddd6; }
.terms-hero > .shell > p:not(.eyebrow):not(.terms-updated) { max-width: 570px; margin-top: 23px; color: #c9dbd9; font-size: 17px; line-height: 1.7; }
.terms-updated { display: inline-flex; margin-top: 28px; padding: 8px 11px; color: #d5e9e6; border: 1px solid rgb(188 222 218 / .32); border-radius: 999px; font-size: 12px; font-weight: 700; }
.terms-layout { display: grid; grid-template-columns: 230px minmax(0, 760px); justify-content: space-between; gap: 58px; padding-block: 76px 100px; }
.terms-toc { position: sticky; top: 106px; align-self: start; padding: 22px; border: 1px solid #dce5e3; border-radius: 14px; background: #fff; }
.terms-toc nav { display: grid; gap: 1px; margin-top: 13px; }
.terms-toc a { padding: 8px 0; color: #586c74; border-bottom: 1px solid #edf1f0; font-size: 13px; font-weight: 700; line-height: 1.35; }
.terms-toc a:last-child { border-bottom: 0; }
.terms-toc a:hover, .terms-content a { color: #126862; }
.terms-content { min-width: 0; }
.terms-content section { padding: 0 0 35px; margin-bottom: 35px; border-bottom: 1px solid #dce5e3; }
.terms-content section:last-child { margin-bottom: 0; border-bottom: 0; }
.terms-content h2 { margin-bottom: 17px; color: #18313d; font-family: Inter, "Helvetica Neue", Arial, sans-serif; font-size: 23px; font-weight: 800; letter-spacing: -.035em; line-height: 1.18; }
.terms-content h2 + h2 { margin-top: 35px; }
.terms-content h3 { margin: 24px 0 0; color: #18313d; font-family: Inter, "Helvetica Neue", Arial, sans-serif; font-size: 16px; font-weight: 800; letter-spacing: -.02em; line-height: 1.3; }
.terms-content p, .terms-content li { color: #294753; font-size: 15px; line-height: 1.78; }
.terms-content p + p { margin-top: 15px; }
.terms-content ul { display: grid; gap: 11px; margin: 17px 0 0; padding-left: 21px; }
.terms-content li { padding-left: 3px; }
.terms-content li::marker { color: #187b75; }
.terms-content a { font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.terms-contact { padding: 16px 18px; border-left: 3px solid #187b75; border-radius: 0 10px 10px 0; background: #e1f0ee; }

@media (min-width: 761px) {
  .terms-page .terms-hero h1 { max-width: none; white-space: nowrap; }
  .terms-page .terms-hero h1 br { display: none; }
}

@media (max-width: 960px) {
  .terms-layout { grid-template-columns: 195px minmax(0, 1fr); gap: 34px; }
}

@media (max-width: 760px) {
  .terms-hero { padding: 65px 0 58px; }
  .terms-hero h1 { font-size: 52px; }
  .terms-hero > .shell > p:not(.eyebrow):not(.terms-updated) { font-size: 16px; }
  .terms-layout { grid-template-columns: 1fr; gap: 26px; padding-block: 52px 68px; }
  .terms-toc { position: static; }
  .terms-toc nav { grid-template-columns: 1fr 1fr; column-gap: 18px; }
  .terms-content section { padding-bottom: 29px; margin-bottom: 29px; }
  .terms-content h2 { font-size: 21px; }
  .terms-content p, .terms-content li { font-size: 14px; line-height: 1.72; }
}
