/* Figgy365 legal pages — presentation only; legal copy is sourced verbatim from the supplied Word document. */
.legal-page-body { background: #f8fafc; }
.legal-page-body .header { background: #0f172a; border-bottom: 1px solid rgba(255,255,255,.08); }
.legal-page-body .header-menu .main-menu > nav > ul > li > a { color: #fff; }

.legal-page { background: #f8fafc; overflow: clip; }
.legal-hero { position: relative; padding: 185px 0 82px; background: linear-gradient(145deg,#0f172a 0%,#111d34 60%,#17233d 100%); overflow: hidden; }
.legal-hero::before { content:""; position:absolute; inset:0; background-image: radial-gradient(rgba(255,255,255,.07) 1px, transparent 1px); background-size: 26px 26px; mask-image: linear-gradient(to bottom,rgba(0,0,0,.75),transparent); pointer-events:none; }
.legal-hero::after { content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background: linear-gradient(90deg,transparent,rgba(234,88,11,.7),transparent); }
.legal-orb { position:absolute; border-radius:50%; filter: blur(2px); pointer-events:none; }
.legal-orb-one { width:380px; height:380px; right:-90px; top:15px; background:radial-gradient(circle,rgba(234,88,11,.18),rgba(234,88,11,0) 69%); }
.legal-orb-two { width:330px; height:330px; left:-130px; bottom:-170px; background:radial-gradient(circle,rgba(251,146,60,.11),rgba(251,146,60,0) 70%); }
.legal-hero-inner { max-width: 1050px; }
.legal-kicker { display:inline-flex; align-items:center; min-height:34px; padding:7px 14px; border:1px solid rgba(251,146,60,.34); border-radius:999px; background:rgba(234,88,11,.08); color:#fb923c; font:700 12px/1.2 "Inter",sans-serif; letter-spacing:.16em; }
.legal-hero h1 { margin:18px 0 12px; color:#fff; font-family:"Space Grotesk",sans-serif; font-size:clamp(42px,6vw,78px); line-height:.98; letter-spacing:-.045em; }
.legal-subtitle { margin:0; max-width:820px; color:#cbd5e1; font-family:"Inter",sans-serif; font-size:clamp(17px,2vw,22px); line-height:1.55; }
.legal-date-row { display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:24px; color:#fff; font:600 14px/1.4 "Inter",sans-serif; }
.legal-date-row span { position:relative; padding-left:16px; }
.legal-date-row span::before { content:""; position:absolute; left:0; top:7px; width:6px; height:6px; border-radius:50%; background:#ea580b; }
.legal-doc-tabs { display:flex; flex-wrap:wrap; gap:10px; margin-top:34px; }
.legal-doc-tab { display:inline-flex; align-items:center; justify-content:center; padding:11px 16px; border:1px solid rgba(255,255,255,.14); border-radius:999px; color:#e2e8f0; background:rgba(255,255,255,.04); font:600 13px/1.2 "Inter",sans-serif; transition:.25s ease; }
.legal-doc-tab:hover,.legal-doc-tab.active { color:#fff; border-color:rgba(234,88,11,.75); background:rgba(234,88,11,.16); }

.legal-content-wrap { padding:76px 0 105px; }
.legal-toc { position:sticky; top:118px; max-height:calc(100vh - 145px); overflow:auto; padding:24px 12px 24px 24px; border:1px solid #e2e8f0; border-radius:22px; background:rgba(255,255,255,.86); box-shadow:0 18px 55px rgba(15,23,42,.06); backdrop-filter: blur(14px); scrollbar-width:thin; }
.legal-toc-line { width:42px; height:4px; border-radius:999px; margin-bottom:18px; background:linear-gradient(90deg,#ea580b,#fb923c); }
.legal-toc ol { margin:0; padding:0; list-style:none; }
.legal-toc li + li { margin-top:5px; }
.legal-toc a { display:block; padding:8px 10px; border-radius:9px; color:#64748b; font:600 13px/1.35 "Inter",sans-serif; transition:.2s ease; }
.legal-toc a:hover { color:#c2410c; background:#fff7ed; }

.legal-document-card { padding:clamp(28px,4.5vw,64px); border:1px solid #e2e8f0; border-radius:28px; background:#fff; box-shadow:0 24px 70px rgba(15,23,42,.07); }
.legal-section { scroll-margin-top:125px; }
.legal-section + .legal-section { margin-top:54px; padding-top:52px; border-top:1px solid #e8edf3; }
.legal-section h2 { margin:0 0 22px; color:#0f172a; font-family:"Space Grotesk",sans-serif; font-size:clamp(25px,3vw,35px); line-height:1.18; letter-spacing:-.025em; }
.legal-section h2::after { content:""; display:block; width:54px; height:4px; margin-top:13px; border-radius:999px; background:linear-gradient(90deg,#ea580b,#fb923c); }
.legal-section h3 { margin:31px 0 12px; color:#1e293b; font-family:"Space Grotesk",sans-serif; font-size:20px; line-height:1.35; }
.legal-section p { margin:0 0 16px; color:#475569; font-family:"Inter",sans-serif; font-size:16px; line-height:1.86; }
.legal-section p:last-child { margin-bottom:0; }
.legal-list { display:grid; gap:10px; margin:4px 0 18px; padding:0; list-style:none; }
.legal-list li { position:relative; padding:13px 16px 13px 42px; border:1px solid #e8edf3; border-radius:12px; background:#f8fafc; color:#475569; font:500 15.5px/1.65 "Inter",sans-serif; }
.legal-list li::before { content:""; position:absolute; left:17px; top:21px; width:8px; height:8px; border-radius:50%; background:#ea580b; box-shadow:0 0 0 4px rgba(234,88,11,.10); }
.legal-emphasis { padding:20px 22px; border:1px solid #fed7aa; border-left:4px solid #ea580b; border-radius:12px; background:#fff7ed; color:#7c2d12 !important; font-weight:650; letter-spacing:.01em; }
.legal-footer-links { row-gap:10px !important; }

@media (max-width:1199px) {
  .legal-hero { padding-top:155px; }
  .legal-toc { top:105px; }
}
@media (max-width:991px) {
  .legal-content-wrap { padding-top:48px; }
  .legal-toc { position:relative; top:auto; max-height:none; padding:20px; }
  .legal-toc ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 12px; }
  .legal-toc li + li { margin-top:0; }
}
@media (max-width:767px) {
  .legal-hero { padding:132px 0 58px; }
  .legal-doc-tabs { display:grid; grid-template-columns:1fr; }
  .legal-doc-tab { justify-content:flex-start; }
  .legal-content-wrap { padding-bottom:72px; }
  .legal-document-card { border-radius:20px; }
  .legal-section + .legal-section { margin-top:40px; padding-top:39px; }
  .legal-section p { font-size:15.5px; line-height:1.78; }
  .legal-toc ol { grid-template-columns:1fr; }
}
@media (max-width:575px) {
  .legal-hero { padding-top:118px; }
  .legal-kicker { font-size:11px; }
  .legal-date-row { gap:9px 18px; }
  .legal-content-wrap { padding-top:34px; }
  .legal-document-card { padding:24px 19px; }
  .legal-list li { padding:12px 13px 12px 36px; }
  .legal-list li::before { left:14px; }
}
