.terms-page { color: #202b2f; background: #eeede6; }
.terms-page .site-menu:not([open]) > nav { display: none; }
.terms-page .site-menu nav { right: 0; }
.terms-page .site-menu summary { width: 100%; min-width: 0; }

.terms-hero {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(320px,.46fr);
  gap: clamp(60px,8vw,140px);
  align-items: end;
  padding: 100px clamp(28px,6vw,100px) 92px;
  color: #f2f5f2;
  background:
    radial-gradient(circle at 86% 38%, rgba(128,212,211,.1), transparent 25%),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px) 0 0 / 65px 65px,
    #0c1518;
}
.terms-hero h1 { margin: 9px 0 27px; color: #f4f6f3; font-size: clamp(62px,7vw,110px); line-height: .84; }
.terms-hero > div > p:last-child { max-width: 650px; margin: 0; color: #aab6b8; font-size: 16px; line-height: 1.75; }
.terms-hero dl { margin: 0; border-top: 1px solid #38484d; }
.terms-hero dl div { display: grid; grid-template-columns: 130px 1fr; gap: 20px; padding: 17px 0; border-bottom: 1px solid #38484d; }
.terms-hero dt { color: #809095; font-family: var(--mono); font-size: 11px; text-transform: uppercase; }
.terms-hero dd { margin: 0; color: #e2e7e5; font-size: 13px; }

.terms-layout { display: grid; max-width: 1300px; grid-template-columns: 250px minmax(0,840px); gap: clamp(65px,9vw,140px); align-items: start; padding: 95px 36px 130px; margin-inline: auto; }
.terms-index { position: sticky; top: 102px; border-top: 2px solid var(--orange); }
.terms-index > p { margin: 0; padding: 16px 0; color: #6b777a; border-bottom: 1px solid #c7c9c3; font-family: var(--mono); font-size: 11px; text-transform: uppercase; }
.terms-index ol { margin: 0; padding: 0; list-style: none; counter-reset: terms-index; }
.terms-index li { counter-increment: terms-index; border-bottom: 1px solid #d1d2cc; }
.terms-index a { display: grid; grid-template-columns: 28px 1fr; gap: 8px; padding: 10px 0; color: #586469; font-size: 12px; line-height: 1.35; text-decoration: none; }
.terms-index a::before { content: counter(terms-index, decimal-leading-zero); color: #9b6a58; font-family: var(--mono); font-size: 11px; }
.terms-index a:hover { color: var(--orange-soft); }

.terms-notice { padding: 24px 27px; margin-bottom: 60px; color: #dae3e2; background: #152126; border-left: 3px solid var(--orange); }
.terms-notice strong { color: #f5a181; font-family: var(--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.terms-notice p { margin: 9px 0 0; color: #aebabc; font-size: 14px; line-height: 1.7; }

.terms-document > section { position: relative; padding: 0 0 62px 62px; margin-bottom: 62px; border-bottom: 1px solid #c9cbc5; scroll-margin-top: 100px; }
.terms-document > section > span { position: absolute; top: 5px; left: 0; color: var(--orange-soft); font-family: var(--mono); font-size: 11px; }
.terms-document h2 { margin: 0 0 25px; color: #1c292e; font-size: clamp(39px,4.2vw,57px); line-height: .95; }
.terms-document p { margin: 0 0 17px; color: #515d61; font-size: 15px; line-height: 1.82; }
.terms-document p:last-child { margin-bottom: 0; }
.terms-document ul { display: grid; gap: 12px; padding: 0; margin: 23px 0 0; list-style: none; }
.terms-document li { position: relative; padding-left: 22px; color: #515d61; font-size: 15px; line-height: 1.7; }
.terms-document li::before { content: ""; position: absolute; top: .7em; left: 0; width: 7px; height: 1px; background: var(--orange-soft); }
.terms-document a { color: #b84f29; text-underline-offset: 3px; }
.terms-document a:hover { color: #743017; }
.terms-footer { background: #080e10; }

@media (max-width: 1100px) {
  .terms-footer .footer-links { max-width: 420px; flex-wrap: wrap; row-gap: 10px; }
}

@media (max-width: 960px) {
  .terms-hero { grid-template-columns: 1fr; }
  .terms-hero dl { max-width: 680px; }
  .terms-layout { grid-template-columns: 1fr; gap: 52px; }
  .terms-index { position: static; display: none; }
}

@media (min-width: 681px) and (max-width: 950px) {
  .terms-page .masthead { grid-template-areas: "brand clock menu"; grid-template-columns: minmax(0,1fr) 122px auto; }
  .terms-page .mast-nav { display: none; }
  .terms-page .site-menu { display: block; }
  .terms-page .utc-clock { width: 122px; }
}

@media (max-width: 680px) {
  .terms-hero { padding: 76px 20px 70px; }
  .terms-hero h1 { font-size: clamp(56px,17vw,78px); }
  .terms-hero dl div { grid-template-columns: 1fr; gap: 6px; }
  .terms-layout { padding: 62px 20px 90px; }
  .terms-notice { padding: 21px 20px; margin-bottom: 48px; }
  .terms-document > section { padding: 0 0 48px 39px; margin-bottom: 48px; }
  .terms-document h2 { font-size: 40px; }
  .terms-document p, .terms-document li { font-size: 15px; }
}
