/* Shared shell for Naravel's content pages (about, terms, privacy, refund).
   index.html deliberately keeps its own inline styles - it is hand-optimised
   and has no build step. These pages are plain documents, so they share one
   stylesheet instead of repeating the same block four times.

   Cache note: nginx serves css with `expires 1y; immutable`. When this file
   changes, bump the ?v= query on every <link> that points at it. */

* { box-sizing: border-box; }

body {
  margin: 0;
  background: #FFFFFF;
  color: #1C1A17;
  font-family: 'Plus Jakarta Sans', Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
  line-height: 1.7;
}

a { color: #E4671A; text-decoration: none; }
a:hover { color: #1C1A17; }
button { font-family: inherit; color: #1C1A17; -webkit-text-fill-color: currentColor; }
::selection { background: #F97A21; color: #FFF; }

/* ---------- header ---------- */
.site-head {
  position: sticky; top: 0; z-index: 60;
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(28,26,23,0.07);
}
.head-inner {
  max-width: 1240px; margin: 0 auto; padding: 14px 32px;
  display: flex; align-items: center; gap: 28px;
}
.brand { display: flex; align-items: center; gap: 10px; min-height: 44px; }
.brand img { width: 38px; height: 24px; object-fit: contain; display: block; }
.brand span {
  font-weight: 800; font-size: 17px; letter-spacing: 0.02em;
  text-transform: uppercase; color: #1C1A17;
}
.head-cta {
  margin-left: auto; background: #F97A21; color: #FFF;
  padding: 11px 22px; border-radius: 8px; font-weight: 700; font-size: 14px;
  display: inline-flex; align-items: center; min-height: 44px;
}
.head-cta:hover { background: #1C1A17; color: #FFF; }

/* ---------- document ---------- */
.doc { max-width: 820px; margin: 0 auto; padding: 64px 32px 88px; }

.eyebrow {
  font-family: 'IBM Plex Mono', monospace; font-size: 12px;
  letter-spacing: 0.12em; color: #E4671A; margin-bottom: 18px;
  text-transform: uppercase;
}
.doc h1 {
  font-size: clamp(30px, 5vw, 44px); line-height: 1.12;
  letter-spacing: -0.03em; font-weight: 800; margin: 0 0 14px;
}
.updated { font-size: 14px; color: #6E6459; margin: 0 0 40px; }
.lede { font-size: 17.5px; line-height: 1.65; color: #4A423A; margin: 0 0 36px; }

.doc h2 {
  font-size: 22px; line-height: 1.25; letter-spacing: -0.02em;
  font-weight: 800; margin: 44px 0 14px; padding-top: 28px;
  border-top: 1px solid rgba(28,26,23,0.09);
}
.doc h3 { font-size: 17px; font-weight: 700; margin: 28px 0 10px; letter-spacing: -0.01em; }
.doc p, .doc li { font-size: 15.5px; color: #3A332C; }
.doc ul, .doc ol { padding-left: 22px; }
.doc li { margin-bottom: 9px; }
.doc strong { color: #1C1A17; }

/* callout: the honest, load-bearing statements */
.note {
  background: #FFF8F1; border: 1px solid rgba(249,122,33,0.28);
  border-radius: 12px; padding: 20px 22px; margin: 24px 0;
}
.note p { margin: 0; font-size: 15px; }
.note p + p { margin-top: 10px; }

table { width: 100%; border-collapse: collapse; margin: 22px 0; font-size: 15px; }
th, td { text-align: left; padding: 12px 14px; border-bottom: 1px solid rgba(28,26,23,0.1); }
th { font-weight: 700; background: #FFF8F1; }
td.num, th.num { text-align: right; white-space: nowrap; }
.table-wrap { overflow-x: auto; }

/* ---------- footer ---------- */
.site-foot { border-top: 1px solid rgba(28,26,23,0.09); background: #FFF; }
.foot-inner {
  max-width: 1240px; margin: 0 auto; padding: 56px 32px;
  display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 40px;
}
.foot-head {
  font-family: 'IBM Plex Mono', monospace; font-size: 11px;
  letter-spacing: 0.1em; color: #1C1A17; margin-bottom: 4px; text-transform: uppercase;
}
.foot-col { display: flex; flex-direction: column; gap: 10px; font-size: 14.5px; color: #6E6459; }
.foot-col a { color: #6E6459; min-height: 44px; display: flex; align-items: center; }
.foot-col a:hover { color: #E4671A; }
.foot-about p { font-size: 14.5px; line-height: 1.65; color: #6E6459; margin: 0; max-width: 40ch; }
.legal {
  max-width: 1240px; margin: 0 auto; padding: 0 32px 40px;
  font-size: 14px; color: #8A8177; line-height: 1.65;
}

@media (max-width: 860px) {
  .head-inner { padding: 14px 20px; }
  .doc { padding: 44px 20px 64px; }
  .foot-inner { grid-template-columns: 1fr 1fr; padding: 44px 20px; gap: 32px; }
  .legal { padding: 0 20px 36px; }
}
@media (max-width: 620px) {
  .foot-inner { grid-template-columns: 1fr; }
  .doc h2 { font-size: 20px; }
}
