/* Privacy policy and terms pages: same deep-water palette as the dive site, built for reading. */
:root {
  --abyss: #020d1c; --deep: #04223f; --turq: #4fe0e0; --foam: #f4fdff; --mist: #d9f1f8; --edge: rgba(130,215,235,.22);
  --glass: rgba(2,20,38,.82);
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { background: var(--abyss); }
body {
  margin: 0; color: var(--foam); font: 17px/1.7 'Figtree', system-ui, -apple-system, sans-serif;
  background: linear-gradient(180deg, #0a5a86 0, #063c66 18%, #04223f 50%, #020d1c 100%) fixed;
  padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px));
}
a { color: var(--turq); }
a:hover { color: var(--foam); }
:focus-visible { outline: 2px solid var(--turq); outline-offset: 3px; border-radius: 4px; }
.top { max-width: 760px; margin: 0 auto; padding-block: 22px 0; display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.top a { text-decoration: none; font-weight: 700; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--foam); font-family: 'Fraunces', Georgia, serif; font-size: 1.1rem; }
.brand img { width: 38px; height: 38px; border-radius: 50%; box-shadow: 0 0 0 2px rgba(79,224,224,.5); }
main { max-width: 760px; margin: 28px auto 60px; background: var(--glass); border: 1px solid var(--edge); border-radius: 20px; padding: clamp(22px, 5vw, 48px); }
h1, h2, h3 { font-family: 'Fraunces', Georgia, serif; line-height: 1.15; text-wrap: balance; }
h1 { font-size: clamp(2rem, 6vw, 2.8rem); margin: 0 0 .3em; }
h2 { font-size: 1.45rem; margin: 2em 0 .5em; color: var(--turq); scroll-margin-top: 20px; }
h3 { font-size: 1.1rem; margin: 1.4em 0 .3em; }
p, li { color: var(--mist); max-width: 68ch; }
strong { color: var(--foam); }
ul { padding-left: 1.2em; }
li { margin: .3em 0; }
.updated { color: #a9d0de; font-size: .92rem; margin-top: 0; }
.summary { background: rgba(79,224,224,.1); border: 1px solid rgba(79,224,224,.3); border-radius: 14px; padding: 16px 20px; margin: 20px 0; }
.summary p { margin: .3em 0; }
.toc { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.toc a { display: inline-block; padding: 6px 12px; border: 1px solid var(--edge); border-radius: 999px; text-decoration: none; font-size: .9rem; }
.tbl { overflow-x: auto; margin: 12px 0; }
table { border-collapse: collapse; width: 100%; font-size: .95rem; }
th, td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--edge); color: var(--mist); }
th { color: var(--foam); font-family: 'Fraunces', Georgia, serif; }
footer { max-width: 760px; margin: 0 auto 40px; text-align: center; color: #a9d0de; font-size: .9rem; }
