.legal-hero-shell { position: relative; overflow: hidden; background: radial-gradient(circle at 82% 22%, rgba(39, 216, 205, 0.12), transparent 28rem), linear-gradient(135deg, rgb(6, 20, 30) 0%, rgb(7, 28, 41) 58%, rgb(10, 38, 51) 100%); }
.legal-hero-shell::after { position: absolute; right: -11rem; bottom: -14rem; width: 34rem; height: 34rem; border: 1px solid rgba(63, 226, 214, 0.12); border-radius: 50%; content: ""; pointer-events: none; }
.legal-hero { position: relative; z-index: 1; padding: 5.4rem 0px 5rem; color: rgb(243, 245, 242); }
.legal-hero-grid { display: grid; grid-template-columns: minmax(0px, 1fr) 19rem; gap: 5rem; align-items: end; }
.legal-hero h1 { color: rgb(247, 251, 252); max-width: 850px; margin: 0.8rem 0px 1.35rem; font-size: clamp(3rem, 6vw, 5.7rem); line-height: 0.94; letter-spacing: -0.05em; }
.legal-hero-summary { max-width: 720px; margin: 0px; color: rgb(194, 204, 209); font-size: clamp(1.05rem, 1.8vw, 1.3rem); line-height: 1.62; }
.legal-meta-card { border: 1px solid rgba(102, 230, 220, 0.25); background: rgba(8, 27, 39, 0.76); box-shadow: rgba(0, 0, 0, 0.18) 0px 24px 60px; padding: 1.45rem; }
.legal-meta-label, .legal-summary-kicker, .legal-nav-title, .legal-table-caption { display: block; color: rgb(19, 143, 136); font-size: 0.71rem; font-weight: 800; letter-spacing: 0.15em; text-transform: uppercase; }
.legal-meta-label { color: rgb(89, 223, 213); margin-bottom: 0.75rem; }
.legal-meta-card dl { margin: 0px; }
.legal-meta-card dl > div { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid rgba(255, 255, 255, 0.1); padding: 0.8rem 0px; }
.legal-meta-card dt, .legal-meta-card dd { margin: 0px; font-size: 0.84rem; }
.legal-meta-card dt { color: rgb(137, 154, 164); }
.legal-meta-card dd { color: rgb(243, 245, 242); text-align: right; }
.legal-main { background: linear-gradient(90deg, rgba(7, 23, 35, 0.024) 1px, transparent 1px) 0% 0% / 4rem 4rem, rgb(243, 245, 242); }
.legal-layout { display: grid; grid-template-columns: 13.5rem minmax(0px, 1fr); gap: clamp(3rem, 7vw, 7rem); max-width: 1180px; padding-top: 5.5rem; padding-bottom: 7rem; }
.legal-nav { position: sticky; top: 7rem; align-self: start; border-left: 2px solid rgb(203, 213, 217); padding-left: 1.15rem; }
.legal-nav-title { margin: 0px 0px 1rem; }
.legal-nav a { display: block; margin: 0.68rem 0px; color: rgb(82, 99, 109); font-size: 0.84rem; line-height: 1.35; text-decoration: none; transition: color 0.18s, transform 0.18s; }
.legal-nav a:hover, .legal-nav a:focus-visible { color: rgb(8, 127, 121); transform: translateX(2px); }
.legal-nav .legal-nav-related { border-top: 1px solid rgb(212, 220, 223); margin-top: 1.15rem; padding-top: 1.15rem; color: rgb(8, 127, 121); font-weight: 700; }
.legal-document { min-width: 0px; max-width: 850px; color: rgb(26, 41, 50); }
.legal-summary { border: 1px solid rgb(215, 224, 226); background: rgba(255, 255, 255, 0.78); box-shadow: rgba(7, 23, 35, 0.08) 0px 24px 70px; padding: clamp(1.5rem, 3.5vw, 2.5rem); margin-bottom: 3.5rem; }
.legal-summary h2 { margin: 0.55rem 0px 0.8rem; font-size: clamp(1.75rem, 3vw, 2.45rem); line-height: 1.08; letter-spacing: -0.035em; }
.legal-summary > p { max-width: 700px; margin: 0px; color: rgb(83, 100, 109); font-size: 1.04rem; line-height: 1.65; }
.legal-summary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 1.8rem; background: rgb(215, 224, 226); }
.legal-summary-item { min-height: 9rem; background: rgb(248, 250, 249); padding: 1.2rem; }
.legal-summary-item span { display: block; color: rgb(8, 127, 121); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.legal-summary-item strong { display: block; margin: 0.6rem 0px 0.35rem; color: rgb(7, 23, 35); font-size: 1rem; line-height: 1.35; }
.legal-summary-item p { margin: 0px; color: rgb(96, 113, 122); font-size: 0.84rem; line-height: 1.55; }
.legal-callout { border-left: 3px solid rgb(32, 189, 179); background: rgb(232, 245, 243); margin: 2rem 0px 3.25rem; padding: 1.25rem 1.4rem; }
.legal-callout strong { display: block; margin-bottom: 0.35rem; color: rgb(7, 23, 35); }
.legal-callout p { margin: 0px; color: rgb(61, 82, 93); }
.legal-section { scroll-margin-top: 7rem; border-top: 1px solid rgb(209, 218, 221); padding-top: 2.5rem; margin-top: 2.9rem; }
.legal-section h2 { margin: 0px 0px 1rem; color: rgb(7, 23, 35); font-size: clamp(1.55rem, 2.5vw, 2rem); line-height: 1.18; letter-spacing: -0.03em; }
.legal-section h3 { margin: 1.8rem 0px 0.65rem; color: rgb(16, 41, 54); font-size: 1.08rem; line-height: 1.35; }
.legal-document p, .legal-document li, .legal-table { font-size: 0.98rem; line-height: 1.72; }
.legal-document p { margin: 0.78rem 0px; }
.legal-document ul { margin: 0.75rem 0px 1rem; padding-left: 1.25rem; }
.legal-document li { margin: 0.5rem 0px; padding-left: 0.2rem; }
.legal-document a { color: rgb(8, 127, 121); font-weight: 650; text-decoration: underline 1px; text-underline-offset: 3px; }
.legal-table-caption { margin: 1.8rem 0px 0.75rem; }
.legal-table-wrap { overflow-x: auto; border: 1px solid rgb(211, 220, 223); background: rgba(255, 255, 255, 0.75); }
.legal-table { width: 100%; min-width: 720px; border-collapse: collapse; }
.legal-table th, .legal-table td { border-bottom: 1px solid rgb(217, 225, 227); padding: 1rem; text-align: left; vertical-align: top; }
.legal-table th { background: rgb(11, 37, 50); color: rgb(243, 245, 242); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; line-height: 1.4; text-transform: uppercase; }
.legal-table td { color: rgb(66, 86, 96); font-size: 0.85rem; line-height: 1.55; }
.legal-table td:first-child { color: rgb(16, 41, 54); font-weight: 750; }
.legal-table tr:last-child td { border-bottom: 0px; }
.legal-contact { display: flex; justify-content: space-between; gap: 2rem; align-items: center; border: 1px solid rgb(188, 213, 212); background: rgb(248, 251, 250); margin-top: 1.5rem; padding: 1.4rem; }
.legal-contact p { margin: 0px; }
.legal-contact a { white-space: nowrap; }
@media (max-width: 900px) {
  .legal-hero-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .legal-meta-card { max-width: 28rem; }
  .legal-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .legal-nav { position: static; display: flex; gap: 0.55rem; overflow-x: auto; border-left: 0px; border-bottom: 1px solid rgb(206, 216, 218); padding: 0px 0px 1rem; }
  .legal-nav-title { display: none; }
  .legal-nav a, .legal-nav .legal-nav-related { flex: 0 0 auto; border: 1px solid rgb(206, 216, 218); background: rgba(255, 255, 255, 0.65); margin: 0px; padding: 0.6rem 0.75rem; }
  .legal-nav .legal-nav-related { border-color: rgb(158, 203, 200); }
}
@media (max-width: 700px) {
  .legal-hero { padding: 3.5rem 0px 3.25rem; }
  .legal-hero h1 { font-size: clamp(2.65rem, 14vw, 4.3rem); }
  .legal-layout { padding-top: 3.25rem; padding-bottom: 5rem; }
  .legal-summary-grid { grid-template-columns: 1fr; }
  .legal-summary-item { min-height: 0px; }
  .legal-contact { display: block; }
  .legal-contact a { display: inline-block; margin-top: 0.7rem; white-space: normal; }
}
@media print {
  .site-header, .site-footer, .legal-nav, .legal-hero-shell::after { display: none !important; }
  .legal-hero-shell, .legal-main { background: rgb(255, 255, 255) !important; }
  .legal-hero { padding: 1.5rem 0px 1rem; color: rgb(0, 0, 0); }
  .legal-hero-grid, .legal-layout { display: block; max-width: none; padding: 0px; }
  .legal-hero h1, .legal-hero-summary, .legal-meta-card dd, .legal-meta-card dt { color: rgb(0, 0, 0); }
  .legal-meta-card { border: 1px solid rgb(153, 153, 153); box-shadow: none; margin-top: 1rem; }
  .legal-document { max-width: none; }
  .legal-summary, .legal-callout, .legal-table-wrap, .legal-contact { break-inside: avoid; box-shadow: none; }
}

