/* ==========================================================================
   JWolfe — long-form legal pages (privacy, terms, cookie notice)
   --------------------------------------------------------------------------
   Loaded only on those pages. Measure is capped near 70 characters, which
   is the readable range for continuous prose — the rest of the site is
   display-led and its full-bleed containers would make these unreadable.

   Top padding clears the fixed header (96px desktop / 72px mobile).
   ========================================================================== */

.jw-legal {
	--jwl-ink: var(--jw-text, #141515);
	--jwl-teal: var(--jw-secondary, #00AEBB);
	--jwl-muted: var(--jw-muted, #817A70);
}

.jw-legal .jw-legal__body {
	max-width: 42rem;
	margin: 0 auto;
	font-family: var(--e-global-typography-text-font-family, "Mulish"), system-ui, sans-serif;
	font-size: clamp(16px, 1.15vw, 17.5px);
	line-height: 1.75;
	color: var(--jwl-ink);
}

.jw-legal .jw-legal__body h1 {
	margin: 0 0 6px;
	font-family: var(--e-global-typography-primary-font-family, "Fraunces"), Georgia, serif;
	font-size: clamp(32px, 5vw, 52px);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.015em;
	color: var(--jwl-ink);
}

.jw-legal .jw-legal__body h2 {
	margin: 2.2em 0 0.5em;
	font-family: var(--e-global-typography-primary-font-family, "Fraunces"), Georgia, serif;
	font-size: clamp(21px, 2.2vw, 27px);
	font-weight: 700;
	line-height: 1.22;
	color: var(--jwl-ink);
}

.jw-legal .jw-legal__body h3 {
	margin: 1.6em 0 0.4em;
	font-family: var(--e-global-typography-text-font-family, "Mulish"), system-ui, sans-serif;
	font-size: 1.05em;
	font-weight: 800;
	color: var(--jwl-ink);
}

.jw-legal .jw-legal__body p,
.jw-legal .jw-legal__body li {
	color: var(--jwl-ink);
	margin: 0 0 1em;
}

.jw-legal .jw-legal__body ul,
.jw-legal .jw-legal__body ol {
	margin: 0 0 1.2em;
	padding-inline-start: 1.3em;
}

.jw-legal .jw-legal__body li {
	margin-bottom: 0.5em;
}

.jw-legal .jw-legal__body a {
	color: var(--jwl-teal);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.jw-legal .jw-legal__body a:hover,
.jw-legal .jw-legal__body a:focus-visible {
	color: var(--jwl-ink);
}

.jw-legal .jw-legal__meta {
	display: block;
	margin: 0 0 2.4em;
	font-size: 0.85em;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--jwl-muted, #817A70);
}

.jw-legal .jw-legal__body table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1.6em;
	font-size: 0.94em;
}

.jw-legal .jw-legal__body th,
.jw-legal .jw-legal__body td {
	padding: 10px 12px;
	border: 1px solid rgba(20, 21, 21, 0.14);
	text-align: left;
	vertical-align: top;
}

.jw-legal .jw-legal__body th {
	background: rgba(20, 21, 21, 0.045);
	font-weight: 800;
}

/* The one callout used on these pages: a "this is not legal advice" note. */
.jw-legal .jw-legal__note {
	margin: 2em 0;
	padding: 16px 20px;
	border-inline-start: 3px solid var(--jwl-teal);
	background: rgba(0, 174, 187, 0.07);
	font-size: 0.95em;
}

.jw-legal .jw-legal__note p:last-child {
	margin-bottom: 0;
}
