body.legal-page,
body.legal-policy-page {
 color: #ffffff;
}

.legal-shell {
 --legal-bg: rgba(10, 10, 10, 0.92);
 --legal-bg-soft: rgba(255, 255, 255, 0.04);
 --legal-bg-strong: rgba(255, 24, 24, 0.1);
 --legal-line: rgba(255, 255, 255, 0.1);
 --legal-line-strong: rgba(255, 32, 32, 0.24);
 --legal-text: #ffffff;
 --legal-text-soft: rgba(255, 255, 255, 0.82);
 --legal-text-muted: rgba(255, 255, 255, 0.64);
 --legal-accent: #ff2a2a;
 --legal-shadow: 0 18px 46px rgba(0, 0, 0, 0.36);
 --legal-radius: 18px;
 --legal-radius-lg: 24px;
 width: 100%;
 padding: 24px 16px 56px;
 font-family: Arial, Helvetica, sans-serif;
 line-height: 1.65;
}

.legal-wrap {
 width: min(1260px, 100%);
 margin: 0 auto;
}

.legal-progress {
 position: fixed;
 inset: 0 0 auto 0;
 height: 4px;
 background: rgba(255, 255, 255, 0.04);
 z-index: 999;
}

.legal-progress-bar {
 width: 0;
 height: 100%;
 background: linear-gradient(90deg, #7b0000 0%, #ff2d2d 100%);
 box-shadow: 0 0 18px rgba(255, 35, 35, 0.32);
 transition: width 0.12s linear;
}

.breadcrumbs {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 gap: 8px;
 margin: 4px 0 18px;
 color: var(--legal-text-muted);
 font-size: 14px;
}

.breadcrumbs a,
.legal-shell a {
 color: #ff6c6c;
 text-decoration: none;
}

.breadcrumbs a:hover,
.legal-shell a:hover {
 text-decoration: underline;
}

.legal-hero,
.legal-card {
 border: 1px solid var(--legal-line);
 border-radius: var(--legal-radius-lg);
 background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0.01)), var(--legal-bg);
 box-shadow: var(--legal-shadow);
}

.legal-hero {
 position: relative;
 overflow: hidden;
 border-color: var(--legal-line-strong);
 margin-bottom: 22px;
}

.legal-hero::before {
 content: "";
 position: absolute;
 inset: 0;
 pointer-events: none;
 background:
 radial-gradient(circle at 12% 8%, rgba(255, 32, 32, 0.18), transparent 26%),
 radial-gradient(circle at 86% 0%, rgba(255, 32, 32, 0.12), transparent 22%);
}

.legal-hero-inner {
 position: relative;
 padding: 34px 24px 28px;
}

.legal-eyebrow,
.policy-tag,
.critical-badge,
.section-badge,
.section-icon,
.copy-link-btn,
.sticky-nav a,
.legal-btn,
.back-top {
 font-family: 'Fjalla One', sans-serif;
 letter-spacing: 0.04em;
 text-transform: uppercase;
}

.legal-eyebrow {
 display: inline-flex;
 align-items: center;
 min-height: 34px;
 padding: 7px 12px;
 border-radius: 999px;
 border: 1px solid var(--legal-line-strong);
 background: var(--legal-bg-strong);
 color: #ffd5d5;
 font-size: 12px;
 margin-bottom: 14px;
}

.legal-hero-title {
 margin: 0 0 12px;
 font-family: 'Fjalla One', sans-serif;
 font-size: clamp(34px, 4vw, 56px);
 line-height: 1.04;
 text-transform: uppercase;
}

.legal-hero-copy,
.hero-subtext,
.hero-acceptance {
 max-width: 960px;
 color: var(--legal-text-soft);
}

.hero-subtext {
 margin: 0 0 14px;
 font-size: 16px;
}

.hero-acceptance {
 margin: 0 0 18px;
 padding: 12px 14px;
 border-radius: 14px;
 border: 1px solid var(--legal-line);
 background: rgba(255, 255, 255, 0.03);
 font-size: 14px;
}

.legal-meta-row,
.meta-row {
 display: flex;
 flex-wrap: wrap;
 gap: 10px;
}

.legal-meta-pill,
.meta-pill,
.summary-pill {
 display: inline-flex;
 align-items: center;
 min-height: 40px;
 padding: 9px 14px;
 border-radius: 999px;
 border: 1px solid var(--legal-line);
 background: rgba(255, 255, 255, 0.04);
 color: var(--legal-text-soft);
 font-size: 14px;
}

.legal-warning-grid,
.warning-grid {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 14px;
 margin-top: 18px;
}

.legal-warning-card,
.warning-card {
 padding: 16px;
 border-radius: 16px;
 border: 1px solid var(--legal-line);
 background: rgba(0, 0, 0, 0.18);
}

.legal-warning-card h3,
.warning-card h3,
.faq-item h3,
.policy-card h3,
.legal-related-card h3 {
 margin: 0 0 8px;
 color: #ff7575;
 font-size: 16px;
}

.legal-warning-card p,
.warning-card p,
.faq-item p,
.policy-card p,
.legal-related-card p,
.feedback-status,
.search-status {
 margin: 0;
 color: var(--legal-text-soft);
 font-size: 14px;
}

.legal-card,
.quick-summary-card,
.search-card,
.cards-card,
.toc-card,
.content-card,
.faq-card,
.feedback-card,
.footer-note,
.legal-policy-summary,
.legal-policy-content,
.legal-callout {
 padding: 22px;
 margin-bottom: 18px;
}

.quick-summary-card {
 border-color: var(--legal-line-strong);
 background:
 linear-gradient(180deg, rgba(255, 32, 32, 0.08), rgba(255, 32, 32, 0.03)),
 var(--legal-bg);
}

.quick-summary-head,
.legal-section-heading {
 display: flex;
 align-items: flex-end;
 justify-content: space-between;
 gap: 16px;
 margin-bottom: 14px;
}

.quick-summary-head h2,
.legal-section-heading h2,
.search-label,
.section-title,
.legal-policy-section h2 {
 margin: 0;
 color: var(--legal-accent);
}

.legal-section-heading h2,
.quick-summary-head h2,
.search-label,
.legal-policy-section h2 {
 font-family: 'Fjalla One', sans-serif;
 font-size: clamp(22px, 2.4vw, 32px);
 line-height: 1.08;
 text-transform: uppercase;
}

.legal-section-heading p,
.search-subtext,
.quick-summary-note {
 margin: 0;
 color: var(--legal-text-muted);
 font-size: 14px;
}

.legal-summary-list,
.quick-summary-list,
.legal-policy-list,
.contact-list {
 margin: 0;
 padding-left: 22px;
 color: var(--legal-text-soft);
}

.legal-summary-list li,
.quick-summary-list li,
.legal-policy-list li,
.contact-list li {
 margin-bottom: 10px;
}

.search-row {
 display: grid;
 grid-template-columns: 1fr auto auto;
 gap: 12px;
}

.search-tools,
.accordion-controls,
.feedback-actions,
.legal-contact-grid,
.legal-related-grid {
 display: flex;
 flex-wrap: wrap;
 gap: 10px;
}

.search-tools,
.feedback-actions,
.legal-contact-grid,
.legal-related-grid {
 margin-top: 12px;
}

.search-input {
 width: 100%;
 min-height: 48px;
 padding: 12px 14px;
 border-radius: 14px;
 border: 1px solid var(--legal-line);
 background: #0f0f0f;
 color: #ffffff;
 font: inherit;
}

.search-input:focus,
.legal-btn:focus-visible,
.copy-link-btn:focus-visible,
.section-toggle:focus-visible {
 outline: 2px solid var(--legal-accent);
 outline-offset: 2px;
}

.legal-btn,
.search-clear,
.search-toggle-btn,
.print-btn,
.feedback-btn,
.accordion-controls button {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 min-height: 44px;
 padding: 10px 14px;
 border-radius: 12px;
 border: 1px solid var(--legal-line);
 background: rgba(255, 255, 255, 0.04);
 color: #ffffff;
 cursor: pointer;
}

.search-clear:hover,
.search-toggle-btn:hover,
.print-btn:hover,
.feedback-btn:hover,
.accordion-controls button:hover,
.legal-btn:hover,
.copy-link-btn:hover,
.sticky-nav a:hover,
.sticky-nav a.is-active,
.toc-link:hover,
.toc-link.is-active {
 text-decoration: none;
 border-color: var(--legal-line-strong);
 background: var(--legal-bg-strong);
}

.policy-grid,
.toc-grid,
.faq-grid,
.legal-contact-grid,
.legal-related-grid {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 14px;
}

.policy-card,
.legal-related-card,
.faq-item {
 display: flex;
 flex-direction: column;
 gap: 10px;
 min-height: 100%;
 padding: 18px;
 border-radius: 16px;
 border: 1px solid var(--legal-line);
 background: rgba(255, 255, 255, 0.03);
 color: inherit;
}

.policy-card:hover,
.legal-related-card:hover {
 text-decoration: none;
 transform: translateY(-2px);
 border-color: var(--legal-line-strong);
}

.policy-tag,
.critical-badge,
.section-badge,
.section-icon,
.copy-link-btn {
 display: inline-flex;
 align-items: center;
 justify-content: center;
}

.policy-tag,
.critical-badge,
.summary-pill {
 width: fit-content;
}

.policy-tag,
.critical-badge {
 min-height: 28px;
 padding: 5px 10px;
 border-radius: 999px;
 border: 1px solid var(--legal-line-strong);
 background: var(--legal-bg-strong);
 color: #ffd7d7;
 font-size: 12px;
}

.policy-link {
 margin-top: auto;
 font-family: 'Fjalla One', sans-serif;
 color: #ff7b7b;
 font-size: 14px;
 text-transform: uppercase;
}

.toc-link,
.sticky-nav a {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 min-height: 42px;
 padding: 10px 12px;
 border-radius: 12px;
 border: 1px solid var(--legal-line);
 background: rgba(255, 255, 255, 0.03);
 color: var(--legal-text-soft);
 font-family: 'Fjalla One', sans-serif;
 font-size: 13px;
 text-decoration: none;
}

.sticky-nav-wrap {
 position: sticky;
 top: 12px;
 z-index: 10;
 margin-bottom: 18px;
}

.sticky-nav {
 display: flex;
 flex-wrap: wrap;
 gap: 10px;
 padding: 12px;
 border-radius: 16px;
 border: 1px solid var(--legal-line);
 background: rgba(10, 10, 10, 0.92);
 backdrop-filter: blur(10px);
 box-shadow: var(--legal-shadow);
}

.accordion {
 display: grid;
 gap: 14px;
}

.legal-section {
 overflow: hidden;
 border-radius: 16px;
 border: 1px solid var(--legal-line);
 background: rgba(255, 255, 255, 0.02);
 scroll-margin-top: 112px;
}

.legal-section.is-open,
.legal-section.is-priority {
 border-color: var(--legal-line-strong);
}

.legal-section.is-hidden-by-search {
 display: none;
}

.section-toggle {
 width: 100%;
 padding: 18px;
 border: 0;
 background: transparent;
 color: #ffffff;
 text-align: left;
 cursor: pointer;
 display: flex;
 align-items: flex-start;
 justify-content: space-between;
 gap: 16px;
}

.section-main {
 display: flex;
 align-items: flex-start;
 gap: 14px;
 min-width: 0;
 flex: 1;
}

.section-badge {
 min-width: 38px;
 height: 38px;
 border-radius: 50%;
 border: 1px solid var(--legal-line-strong);
 background: var(--legal-bg-strong);
 color: #ffffff;
 font-size: 14px;
}

.section-icon {
 min-width: 40px;
 height: 40px;
 border-radius: 12px;
 border: 1px solid var(--legal-line);
 background: rgba(255, 255, 255, 0.04);
 color: #ffffff;
 font-size: 12px;
}

.section-title-wrap {
 min-width: 0;
 flex: 1;
}

.section-title-row,
.section-summary-pills,
.section-copy,
.legal-policy-section-head {
 display: flex;
 flex-wrap: wrap;
 gap: 10px;
}

.section-title-row {
 align-items: center;
}

.section-title {
 font-family: 'Fjalla One', sans-serif;
 font-size: 22px;
 color: #ffffff;
 text-transform: uppercase;
}

.section-copy {
 align-items: center;
 justify-content: flex-end;
}

.copy-link-btn {
 min-height: 36px;
 padding: 8px 12px;
 border-radius: 999px;
 border: 1px solid var(--legal-line);
 background: rgba(255, 255, 255, 0.03);
 color: var(--legal-text-soft);
 font-size: 12px;
 cursor: pointer;
}

.copy-link-btn.copied {
 border-color: rgba(55, 190, 98, 0.4);
 background: rgba(55, 190, 98, 0.14);
 color: #d9ffe5;
}

.section-content,
.legal-policy-section p,
.legal-policy-section li {
 color: var(--legal-text-soft);
}

.section-content {
 padding: 0 18px 18px;
}

.section-content p {
 margin: 0 0 14px;
}

.section-content p:last-child,
.legal-policy-section p:last-child {
 margin-bottom: 0;
}

.footer-note {
 color: #ffd8d8;
 border-color: var(--legal-line-strong);
 background: linear-gradient(180deg, rgba(255, 32, 32, 0.1), rgba(255, 32, 32, 0.04));
}

.back-top-wrap {
 text-align: center;
 margin-top: 22px;
}

.back-top {
 min-height: 44px;
 padding: 10px 18px;
 border-radius: 999px;
 border: 1px solid var(--legal-line-strong);
 background: var(--legal-bg-strong);
 color: #ffffff;
 text-decoration: none;
}

.legal-policy-hero .legal-hero-copy {
 margin-bottom: 0;
}

.legal-policy-sections {
 display: grid;
 gap: 18px;
}

.legal-policy-section {
 padding: 18px;
 border-radius: 18px;
 border: 1px solid var(--legal-line);
 background: rgba(255, 255, 255, 0.02);
}

.legal-policy-section-head {
 align-items: center;
 margin-bottom: 10px;
}

.legal-policy-section h2 {
 color: #ffffff;
 font-size: 24px;
}

.legal-callout {
 border-color: var(--legal-line-strong);
}

.legal-contact-grid .legal-related-card,
.legal-related-grid .legal-related-card {
 min-height: 100%;
}

.legal-shell mark {
 padding: 0 2px;
 border-radius: 3px;
 background: rgba(255, 225, 0, 0.2);
 color: #ffffff;
}

@media (max-width: 1100px) {
 .policy-grid,
 .toc-grid,
 .faq-grid,
 .legal-contact-grid,
 .legal-related-grid {
 grid-template-columns: repeat(2, minmax(0, 1fr));
 }
}

@media (max-width: 900px) {
 .legal-warning-grid,
 .policy-grid,
 .toc-grid,
 .faq-grid,
 .legal-contact-grid,
 .legal-related-grid {
 grid-template-columns: 1fr;
 }

 .search-row {
 grid-template-columns: 1fr;
 }

 .sticky-nav {
 overflow-x: auto;
 flex-wrap: nowrap;
 white-space: nowrap;
 }

 .section-toggle {
 flex-direction: column;
 }

 .section-copy {
 justify-content: space-between;
 }
}

@media (max-width: 640px) {
 .legal-shell {
 padding: 16px 10px 40px;
 }

 .legal-hero-inner,
 .legal-card,
 .quick-summary-card,
 .search-card,
 .cards-card,
 .toc-card,
 .content-card,
 .faq-card,
 .feedback-card,
 .footer-note,
 .legal-policy-section {
 padding-left: 14px;
 padding-right: 14px;
 }

 .legal-hero-inner {
 padding-top: 24px;
 padding-bottom: 22px;
 }
}

@media print {
 .legal-progress,
 .sticky-nav-wrap,
 .search-card,
 .feedback-card,
 .back-top-wrap,
 .copy-link-btn,
 .accordion-controls,
 .print-btn {
 display: none !important;
 }

 body.legal-page,
 body.legal-policy-page {
 background: #ffffff !important;
 color: #000000 !important;
 }

 .legal-hero,
 .legal-card,
 .legal-policy-section,
 .legal-section {
 background: #ffffff !important;
 color: #000000 !important;
 box-shadow: none !important;
 border-color: #cccccc !important;
 }

 .legal-shell *,
 .legal-shell a {
 color: #000000 !important;
 }

 .legal-section .section-content {
 display: block !important;
 }
}
