:root {
  --navy: #072f3a;
  --teal: #14657a;
  --cyan: #38b8cf;
  --orange: #f97316;
  --ink: #173b44;
  --muted: #647d83;
  --line: #d6e3e5;
  font-family: "Onest", "Segoe UI", sans-serif;
  color: var(--ink);
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #eaf1f2; }
a { color: inherit; }
button { font: inherit; }

.legal-toolbar {
  position: sticky;
  z-index: 20;
  top: 0;
  display: flex;
  min-height: 72px;
  padding: 12px max(24px, calc((100% - 980px) / 2));
  align-items: center;
  justify-content: space-between;
  background: rgba(234, 241, 242, .92);
  border-bottom: 1px solid rgba(7, 47, 58, .12);
  backdrop-filter: blur(16px);

  .legal-brand { display: inline-flex; }
  .legal-brand img { width: auto; height: 32px; filter: brightness(0) saturate(100%) invert(16%) sepia(19%) saturate(1639%) hue-rotate(145deg); }

  nav { display: flex; align-items: center; gap: 12px; }
  nav a { color: #45646c; font-size: .75rem; font-weight: 750; text-decoration: none; }
  nav button { min-height: 43px; padding: 0 16px; background: var(--navy); border: 0; border-radius: 10px; color: #fff; cursor: pointer; font-size: .72rem; font-weight: 800; }
  nav button span { margin-right: 6px; color: #7ee3f0; }
}

.legal-shell { padding: 42px 20px 70px; }

.legal-document {
  width: min(8.5in, 100%);
  min-height: 11in;
  margin: 0 auto;
  background: #fff;
  box-shadow: 0 28px 75px rgba(7, 47, 58, .16);
}

.document-cover {
  position: relative;
  min-height: 6.7in;
  padding: .7in .72in;
  overflow: hidden;
  background:
    radial-gradient(circle at 90% 12%, rgba(249, 115, 22, .36), transparent 2in),
    linear-gradient(145deg, #12647a, #073743 52%, #041f27);
  color: #fff;

  &::after { position: absolute; right: -.15in; bottom: -.7in; color: rgba(255,255,255,.035); content: "X"; font-size: 5in; font-weight: 900; line-height: 1; }

  .cover-topline { position: relative; z-index: 1; display: flex; padding-bottom: .22in; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.17); color: #c7e4e9; font-size: 8pt; letter-spacing: .1em; }
  .cover-topline span { color: #fff; font-weight: 900; }
  .cover-topline b { color: #ffad72; }
  .document-kicker { position: relative; z-index: 1; margin: 1.25in 0 .2in; color: #9ce5ef; font-size: 9pt; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
  h1 { position: relative; z-index: 1; max-width: 6.4in; margin: 0; font-size: 42pt; line-height: .95; letter-spacing: -.055em; }
  h1 em { color: #7ee3f0; font-style: normal; }
  .document-meta { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 2fr; gap: .18in; margin-top: .55in; }
  .document-meta p { margin: 0; padding: .18in; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.13); border-radius: .1in; }
  .document-meta small, .document-meta strong { display: block; }
  .document-meta small { margin-bottom: 5px; color: #9fc5cc; font-size: 7pt; letter-spacing: .12em; }
  .document-meta strong { font-size: 9pt; }
}

.privacy-cover {
  background:
    radial-gradient(circle at 88% 16%, rgba(56, 184, 207, .34), transparent 2.15in),
    linear-gradient(145deg, #174f63, #082f3a 55%, #041f27);

  .cover-topline b { color: #8de6f1; }
  h1 em { color: #8de6f1; }
}

.privacy-document {
  .legal-content h2 span { background: #e5f5f7; color: #0c7187; }
  .privacy-data-table > div { break-inside: avoid; }
}

.review-warning {
  position: relative;
  z-index: 1;
  margin-top: .45in;
  padding: .2in .22in;
  background: #fff7ed;
  border-left: 5px solid var(--orange);
  border-radius: 0 .1in .1in 0;
  color: #6f4b2e;
  font-size: 8.3pt;
  line-height: 1.55;

  b { color: #b94d0a; text-transform: uppercase; letter-spacing: .08em; }
  p { margin: 5px 0 0; }
}

.document-index { padding: .55in .72in; border-bottom: 1px solid var(--line); }
.document-index h2 { margin: 0 0 .24in; color: var(--navy); font-size: 18pt; }
.document-index ol { display: grid; grid-template-columns: 1fr 1fr; gap: 7px .35in; margin: 0; padding: 0; list-style-position: inside; color: var(--teal); font-size: 8pt; }
.document-index a { color: var(--ink); text-decoration: none; }

.legal-content { padding: .55in .72in .3in; counter-reset: legal-section; }
.legal-content section { scroll-margin-top: 95px; margin-bottom: .4in; break-inside: avoid-page; }
.legal-content h2 { display: grid; grid-template-columns: .38in 1fr; align-items: center; gap: .12in; margin: 0 0 .18in; color: var(--navy); font-size: 15pt; line-height: 1.2; letter-spacing: -.02em; }
.legal-content h2 span { display: grid; width: .35in; height: .35in; place-items: center; background: #e6f3f5; border-radius: .09in; color: var(--teal); font-size: 7.5pt; letter-spacing: 0; }
.legal-content p, .legal-content li { font-size: 9.2pt; line-height: 1.65; }
.legal-content p { margin: 0 0 .12in; }
.legal-content ul { margin: .08in 0 .12in; padding-left: .25in; }
.legal-content li { margin-bottom: 5px; padding-left: 4px; }
.legal-content li::marker { color: var(--orange); }
.legal-content a { color: var(--teal); font-weight: 700; text-underline-offset: 2px; }
.legal-content mark, .placeholder { padding: 2px 4px; background: #fff0df; border-radius: 4px; color: #a4450c; }

.definition-table { overflow: hidden; border: 1px solid var(--line); border-radius: .1in; }
.definition-table > div { display: grid; grid-template-columns: 1.35in 1fr; border-bottom: 1px solid var(--line); }
.definition-table > div:last-child { border-bottom: 0; }
.definition-table b, .definition-table p { margin: 0; padding: .12in .14in; }
.definition-table b { background: #f1f7f8; color: var(--navy); font-size: 8.5pt; }

.contact-section { padding: .28in; background: #f2f7f8; border: 1px solid var(--line); border-radius: .14in; }
.contact-section dl { margin: 0; }
.contact-section dl div { display: grid; grid-template-columns: 1.15in 1fr; padding: 7px 0; border-bottom: 1px solid #dbe7e9; }
.contact-section dl div:last-child { border: 0; }
.contact-section dt { color: var(--muted); font-size: 7.5pt; font-weight: 800; text-transform: uppercase; }
.contact-section dd { margin: 0; color: #a4450c; font-size: 8.5pt; font-weight: 650; }

.document-footer { display: flex; margin: 0 .72in; padding: .22in 0 .35in; justify-content: space-between; border-top: 1px solid var(--line); color: var(--muted); font-size: 7pt; }
.document-footer b { color: var(--orange); }

@media (max-width: 720px) {
  .legal-toolbar { padding-inline: 16px; }
  .legal-toolbar nav a { display: none; }
  .legal-toolbar nav button { padding-inline: 12px; }
  .legal-shell { padding: 14px 10px 35px; }
  .document-cover { min-height: auto; padding: 42px 25px; }
  .document-cover .document-kicker { margin-top: 70px; }
  .document-cover h1 { font-size: clamp(2.7rem, 12vw, 4rem); }
  .document-cover .document-meta { grid-template-columns: 1fr; }
  .document-index, .legal-content { padding: 35px 25px; }
  .document-index ol { grid-template-columns: 1fr; }
  .legal-content h2 { font-size: 1.1rem; }
  .definition-table > div, .contact-section dl div { grid-template-columns: 1fr; }
  .definition-table b { padding-bottom: 3px; }
  .definition-table p { padding-top: 3px; }
}

@page { size: letter; margin: .55in; }

@media print {
  :root { color: #1c353b; }
  body { background: #fff; }
  .legal-toolbar { display: none; }
  .legal-shell { padding: 0; }
  .legal-document { width: auto; min-height: 0; box-shadow: none; }
  .document-cover { min-height: 9.9in; margin: -.55in; padding: .75in; break-after: page; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .document-index { break-after: page; }
  .legal-content { padding: 0; }
  .legal-content section { scroll-margin-top: 0; }
  .document-footer { margin-inline: 0; }
  a { text-decoration: none !important; }
}
