/*
 * Legal information pages (Privacy Policy, Terms & Conditions).
 * Premium navy hero, sticky table of contents and a readable content column.
 */

/* Hero ------------------------------------------------------------------------ */
.lg-hero { position: relative; overflow: clip; color: #fff; background: radial-gradient(120% 140% at 85% 20%, #0c2d63 0%, #07224a 45%, #061a35 100%); }
.lg-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, transparent 58%, rgba(213, 172, 98, 0.12) 58.2%, transparent 58.6%), linear-gradient(115deg, transparent 63%, rgba(213, 172, 98, 0.08) 63.2%, transparent 63.5%); pointer-events: none; }
.lg-hero__inner { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: clamp(300px, 22vw, 340px); padding: 1.6rem var(--sb-hero-pad, clamp(1.25rem, 6vw, 7.8rem)); }
.lg-hero__copy { max-width: 42rem; }

.lg-hero .breadcrumbs { margin-bottom: 1.3rem; font-size: 0.78rem; }
.lg-hero .breadcrumbs ol, .lg-hero .breadcrumbs a, .lg-hero .breadcrumbs li + li::before { color: rgba(255, 255, 255, 0.78); }
.lg-hero .breadcrumbs [aria-current] { color: #fff; font-weight: 500; }
.lg-hero .breadcrumbs a:hover { color: #d5ac62; }

.lg-eyebrow { display: flex; align-items: center; gap: 0.8rem; margin: 0 0 1.1rem; color: #d5ac62; font-size: 0.78rem; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; }
.lg-eyebrow::before { content: ""; width: 2rem; height: 1.5px; background: currentColor; }

.lg-hero h1 { margin: 0 0 1.1rem; font-family: "Playfair Display", var(--sb-serif); font-size: clamp(2rem, 3.6vw, 3.1rem); font-weight: 600; line-height: 1.1; color: #fff; text-wrap: balance; }
.lg-hero__lead { max-width: 36rem; margin: 0; color: rgba(255, 255, 255, 0.9); font-size: clamp(0.94rem, 1.05vw, 1.04rem); line-height: 1.65; }
.lg-hero__date { margin: 1.1rem 0 0; color: #d5ac62; font-size: 0.88rem; }
.lg-hero__date strong { color: #fff; font-weight: 600; }

.lg-hero__art { flex: none; width: clamp(200px, 22vw, 300px); }
.lg-hero__art svg { display: block; width: 100%; height: auto; }
.lg-art__ring { fill: none; stroke: rgba(213, 172, 98, 0.5); stroke-width: 1.5; }
.lg-art__ring--thin { stroke: rgba(255, 255, 255, 0.16); stroke-width: 1; }
.lg-art__doc path { fill: rgba(255, 255, 255, 0.07); stroke: #fff; stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.lg-art__doc path:nth-child(n+2) { fill: none; stroke: rgba(255, 255, 255, 0.7); stroke-width: 3; }
.lg-art__badge circle { fill: #0a2a5c; stroke: url(#lg-gold); stroke-width: 3; }
.lg-art__badge path { fill: none; stroke: #d5ac62; stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; }

/* Body ------------------------------------------------------------------------ */
.lg-main { background: #f8f7f3; padding-block: var(--sb-section-sm, clamp(2.25rem, 4.5vw, 3.75rem)); }
.lg-wrap { display: grid; grid-template-columns: minmax(0, 25fr) minmax(0, 75fr); gap: clamp(1.5rem, 3vw, 3rem); align-items: start; max-width: 1340px; margin-inline: auto; padding-inline: clamp(1.1rem, 3.6vw, 3.4rem); }

.lg-side { position: sticky; top: calc(var(--sb-header-h, 6.5rem) + 1rem); max-height: calc(100vh - var(--sb-header-h, 6.5rem) - 2rem); }
.admin-bar .lg-side { top: calc(var(--sb-header-h, 6.5rem) + 3rem); }
.lg-toc { overflow: auto; max-height: inherit; border: 1px solid rgba(7, 27, 64, 0.1); border-radius: 14px; background: #fff; box-shadow: 0 18px 40px -30px rgba(7, 27, 64, 0.4); }
.lg-toc summary { list-style: none; display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.2rem; color: #071b40; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; cursor: default; }
.lg-toc summary::-webkit-details-marker { display: none; }
.lg-toc summary::after { content: ""; display: block; width: 2.1rem; height: 2px; background: #b88635; }
.lg-toc__list { margin: 0; padding: 0 0.6rem 0.8rem; list-style: none; }
.lg-toc__list a { display: flex; align-items: baseline; gap: 0.7rem; padding: 0.5rem 0.6rem; border-radius: 8px; color: #3b4d68; font-size: 0.86rem; line-height: 1.35; text-decoration: none; transition: background 0.2s ease, color 0.2s ease; }
.lg-toc__num { flex: none; color: #b88635; font-size: 0.74rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.lg-toc__list a:hover { background: #f3efe5; color: #071b40; }
.lg-toc__list a:focus-visible, .lg-toc summary:focus-visible { outline: 2px solid #b88635; outline-offset: 2px; }
.lg-toc__list a.is-active { background: #071b40; color: #fff; }
.lg-toc__list a.is-active .lg-toc__num { color: #d5ac62; }

.lg-content { min-width: 0; padding: clamp(1.4rem, 3.4vw, 3rem); border: 1px solid rgba(7, 27, 64, 0.08); border-radius: 16px; background: #fff; box-shadow: 0 24px 50px -40px rgba(7, 27, 64, 0.45); color: #2c3e57; font-size: 1rem; line-height: 1.75; }
.lg-sec { padding-block: 0.4rem; scroll-margin-top: calc(var(--sb-header-h, 6.5rem) + 1.2rem); }
.lg-sec + .lg-sec { margin-top: 1.6rem; padding-top: 1.8rem; border-top: 1px solid rgba(7, 27, 64, 0.1); }
.lg-sec h2 { position: relative; display: flex; align-items: baseline; gap: 0.9rem; margin: 0 0 1rem; padding-bottom: 0.8rem; font-family: "Playfair Display", var(--sb-serif); font-size: clamp(1.3rem, 2vw, 1.65rem); font-weight: 600; line-height: 1.25; color: #071b40; }
.lg-sec h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 2.6rem; height: 2px; background: #b88635; }
.lg-sec__num { flex: none; color: #b88635; font-family: "Inter", sans-serif; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.08em; }
.lg-sec p { margin: 0 0 1rem; }
.lg-sec ul { margin: 0 0 1.1rem; padding: 0; list-style: none; }
.lg-sec li { position: relative; margin: 0 0 0.55rem; padding-left: 1.4rem; }
.lg-sec li::before { content: ""; position: absolute; left: 0.1rem; top: 0.7em; width: 0.45rem; height: 0.45rem; border-radius: 50%; background: #b88635; }
.lg-sec strong { color: #071b40; font-weight: 600; }
.lg-sec a { color: #8a6422; font-weight: 500; text-decoration: underline; text-underline-offset: 2px; overflow-wrap: anywhere; }
.lg-sec a:hover, .lg-sec a:focus-visible { color: #071b40; }
.lg-note { margin: 0 0 1.1rem; padding: 1rem 1.2rem; border-left: 3px solid #b88635; border-radius: 0 10px 10px 0; background: #fbf5e8; color: #4a3b1e; font-size: 0.96rem; line-height: 1.65; }

/* Responsive ------------------------------------------------------------------ */
@media (max-width: 1099px) {
	.lg-wrap { grid-template-columns: minmax(0, 28fr) minmax(0, 72fr); }
	.lg-hero__art { width: clamp(170px, 20vw, 220px); }
}

@media (max-width: 899px) {
	.lg-hero__inner { padding: 1.6rem var(--sb-gutter, 1.25rem) 2rem; min-height: 0; }
	.lg-hero__art { display: none; }
	.lg-wrap { grid-template-columns: minmax(0, 1fr); gap: 1.1rem; }
	.lg-side { position: static; max-height: none; }
	.lg-toc { max-height: none; }
	.lg-toc summary { cursor: pointer; }
	.lg-toc summary::after { width: 0.6rem; height: 0.6rem; border-right: 2px solid #b88635; border-bottom: 2px solid #b88635; background: none; transform: rotate(45deg); transition: transform 0.2s ease; }
	.lg-toc details[open] summary::after { transform: rotate(-135deg); }
	.lg-toc__list { padding-bottom: 0.9rem; }
	.lg-sec h2 { gap: 0.7rem; }
}

@media (max-width: 479px) {
	.lg-content { padding: 1.2rem 1rem; border-radius: 12px; }
	.lg-hero h1 { font-size: 2rem; }
}

@media (prefers-reduced-motion: reduce) {
	.lg-toc__list a, .lg-toc summary::after { transition: none; }
}
