/* =========================================================
   Campbell Web Systems — Public Legal Pages v1.3.99a
   Scoped to Terms and Privacy only.
   - Corrected legal-list marker spacing
   - Updated official contact details
   ========================================================= */
body.cws-legal-page {
  --legal-ink: #102039;
  --legal-navy: #172743;
  --legal-navy-2: #203f68;
  --legal-blue: #1f73d2;
  --legal-blue-soft: #eaf3ff;
  --legal-ivory: #f7f5ee;
  --legal-paper: #fffefb;
  --legal-champagne: #ecd79d;
  --legal-muted: #647084;
  --legal-line: rgba(23, 39, 67, 0.13);
  background: var(--legal-ivory);
  color: var(--legal-ink);
}

body.cws-legal-page main,
body.cws-legal-page main * { min-width: 0; }
body.cws-legal-page .reveal,
body.cws-legal-page .legal-modern-card,
body.cws-legal-page .legal-modern-card * {
  opacity: 1 !important; visibility: visible !important; transform: none !important; filter: none !important;
}

.cws-legal-page .legal-modern-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(4.75rem, 8vw, 7.5rem) 0 clamp(4rem, 7vw, 6.5rem);
  background:
    radial-gradient(circle at 88% 16%, rgba(78, 145, 220, .30), transparent 24rem),
    radial-gradient(circle at 8% 86%, rgba(236, 215, 157, .13), transparent 23rem),
    linear-gradient(126deg, #101e35 0%, #172c4b 52%, #244f7f 100%);
  color: #fff;
}
.cws-legal-page .legal-modern-hero::after {
  content: ""; position: absolute; width: 31rem; height: 31rem; right: -12rem; bottom: -19rem;
  border: 1px solid rgba(236,215,157,.28); border-radius: 50%; box-shadow: 0 0 0 4.5rem rgba(255,255,255,.035), 0 0 0 9rem rgba(255,255,255,.025);
}
.cws-legal-page .legal-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(20rem,.65fr); gap: clamp(2rem,6vw,5rem); align-items: center; }
.cws-legal-page .legal-hero-copy { max-width: 52rem; }
.cws-legal-page .legal-hero-copy .eyebrow,
.cws-legal-page .legal-modern-cta .eyebrow { color: var(--legal-champagne); letter-spacing: .13em; }
.cws-legal-page .legal-hero-copy h1 { margin: .75rem 0 1.35rem; max-width: 15ch; color: #fff; font-size: clamp(2.55rem, 5.5vw, 5.15rem); line-height: 1.02; letter-spacing: -.045em; }
.cws-legal-page .legal-hero-lede { max-width: 48rem; margin: 0; color: rgba(255,255,255,.78); font-size: clamp(1.02rem,1.5vw,1.2rem); line-height: 1.8; }
.cws-legal-page .legal-hero-actions { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 2rem; }
.cws-legal-page .legal-hero-actions .btn-primary { background: #fff; color: var(--legal-navy); box-shadow: 0 18px 36px rgba(0,0,0,.22); }
.cws-legal-page .legal-hero-actions .btn-primary:hover { background: var(--legal-blue-soft); color: var(--legal-navy); }
.cws-legal-page .legal-hero-actions .btn-secondary { border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.08); color: #fff; }
.cws-legal-page .legal-hero-actions .btn-secondary:hover { background: rgba(255,255,255,.16); color: #fff; }

.cws-legal-page .legal-status-panel { padding: clamp(1.5rem,3vw,2.25rem); border: 1px solid rgba(255,255,255,.17); border-radius: 2rem; background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.055)); box-shadow: 0 28px 65px rgba(4,13,29,.30); backdrop-filter: blur(12px); }
.cws-legal-page .legal-panel-kicker { margin: 0 0 .5rem; color: var(--legal-champagne); font-size: .78rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.cws-legal-page .legal-status-panel h2 { margin: 0 0 1.5rem; color: #fff; font-size: clamp(1.4rem,2.5vw,2rem); }
.cws-legal-page .legal-status-list { display: grid; gap: .75rem; }
.cws-legal-page .legal-status-list > div { display: grid; grid-template-columns: 5.2rem 1fr; gap: .8rem; align-items: center; padding: .95rem 1rem; border: 1px solid rgba(255,255,255,.12); border-radius: 1rem; background: rgba(10,27,50,.26); }
.cws-legal-page .legal-status-list span { color: #fff; font-size: 1.2rem; font-weight: 800; }
.cws-legal-page .legal-status-list p { margin: 0; color: rgba(255,255,255,.72); font-size: .9rem; line-height: 1.45; }

.cws-legal-page .legal-modern-notice { position: relative; z-index: 2; margin-top: -2.05rem; }
.cws-legal-page .legal-notice-card { display: grid; grid-template-columns: auto 1fr; gap: 1.15rem; align-items: start; padding: clamp(1.35rem,2.7vw,2rem); border: 1px solid rgba(236,215,157,.62); border-radius: 1.5rem; background: var(--legal-paper); box-shadow: 0 24px 60px rgba(23,39,67,.13); }
.cws-legal-page .legal-notice-card > span { display: inline-flex; padding: .45rem .7rem; border-radius: 999px; background: #fff4d5; color: #765b18; font-size: .75rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.cws-legal-page .legal-notice-card h2 { margin: 0 0 .35rem; color: var(--legal-navy); font-size: clamp(1.15rem,2vw,1.55rem); }
.cws-legal-page .legal-notice-card p { margin: 0; color: var(--legal-muted); line-height: 1.7; }

.cws-legal-page .legal-modern-highlights { padding: clamp(3rem,6vw,5rem) 0; }
.cws-legal-page .legal-highlight-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.cws-legal-page .legal-highlight-grid article { position: relative; overflow: hidden; padding: 1.7rem; border: 1px solid var(--legal-line); border-radius: 1.45rem; background: rgba(255,255,255,.8); box-shadow: 0 16px 42px rgba(23,39,67,.07); }
.cws-legal-page .legal-highlight-grid article::after { content:""; position:absolute; width:8rem; height:8rem; right:-4rem; bottom:-4rem; border-radius:50%; background:var(--legal-blue-soft); }
.cws-legal-page .legal-highlight-grid span { position: relative; z-index:1; display:inline-grid; place-items:center; width:2.35rem; height:2.35rem; border-radius:.8rem; background:var(--legal-blue-soft); color:var(--legal-blue); font-weight:800; }
.cws-legal-page .legal-highlight-grid h2 { position:relative; z-index:1; margin:1rem 0 .55rem; color:var(--legal-navy); font-size:1.25rem; }
.cws-legal-page .legal-highlight-grid p { position:relative; z-index:1; margin:0; color:var(--legal-muted); line-height:1.7; }

.cws-legal-page .legal-modern-content { padding: 0 0 clamp(4rem,8vw,7.5rem); }
.cws-legal-page .legal-modern-layout { display:grid; grid-template-columns:minmax(15rem,19rem) minmax(0,1fr); gap:clamp(1.5rem,4vw,3.5rem); align-items:start; }
.cws-legal-page .legal-toc { position:sticky; top:7.2rem; max-height:calc(100vh - 8.5rem); overflow:auto; padding:1.25rem; border:1px solid var(--legal-line); border-radius:1.4rem; background:rgba(255,255,255,.76); box-shadow:0 18px 45px rgba(23,39,67,.07); }
.cws-legal-page .legal-toc-label { margin:0 0 1rem; color:var(--legal-navy); font-weight:800; font-size:1.05rem; }
.cws-legal-page .legal-toc-group + .legal-toc-group { margin-top:1.1rem; padding-top:1.1rem; border-top:1px solid var(--legal-line); }
.cws-legal-page .legal-toc-group h2 { margin:0 0 .55rem; color:var(--legal-blue); font-size:.72rem; letter-spacing:.11em; text-transform:uppercase; }
.cws-legal-page .legal-toc a { display:block; padding:.36rem .25rem; color:#526078; font-size:.88rem; line-height:1.35; text-decoration:none; border-radius:.4rem; }
.cws-legal-page .legal-toc a:hover, .cws-legal-page .legal-toc a:focus-visible { color:var(--legal-blue); background:var(--legal-blue-soft); }
.cws-legal-page .legal-modern-stack { display:grid; gap:1rem; }
.cws-legal-page .legal-modern-card { position:relative; scroll-margin-top:7.5rem; padding:clamp(1.45rem,3vw,2.25rem); border:1px solid var(--legal-line); border-radius:1.5rem; background:var(--legal-paper); box-shadow:0 18px 48px rgba(23,39,67,.065); }
.cws-legal-page .legal-modern-card::before { content:attr(data-section); position:absolute; top:1.45rem; right:1.45rem; display:grid; place-items:center; min-width:2.35rem; height:2.35rem; padding:0 .55rem; border:1px solid rgba(31,115,210,.16); border-radius:.85rem; background:var(--legal-blue-soft); color:var(--legal-blue); font-size:.8rem; font-weight:800; }
.cws-legal-page .legal-modern-card h2 { max-width:calc(100% - 4rem); margin:0 0 1rem; color:var(--legal-navy); font-size:clamp(1.22rem,2.1vw,1.6rem); line-height:1.25; }
.cws-legal-page .legal-modern-card p { margin:0 0 .9rem; color:var(--legal-muted); line-height:1.78; }
.cws-legal-page .legal-modern-card p:last-of-type { margin-bottom:0; }
.cws-legal-page .legal-modern-card ul {
  display:grid;
  gap:.65rem;
  margin:1rem 0;
  padding-left:1.65rem;
  list-style:disc outside;
}
.cws-legal-page .legal-modern-card li {
  display:list-item;
  position:relative;
  margin:0;
  padding-left:.3rem;
  color:var(--legal-muted);
  line-height:1.68;
}
/* Override the older site-wide custom li::before dot so it cannot overlap legal text. */
.cws-legal-page .legal-modern-card li::before {
  content:none !important;
  display:none !important;
}
.cws-legal-page .legal-modern-card li::marker { color:var(--legal-blue); font-size:.9em; }
.cws-legal-page .legal-card-top { display:inline-flex; margin-top:1rem; color:var(--legal-blue); font-size:.82rem; font-weight:700; text-decoration:none; }
.cws-legal-page .legal-card-top:hover { text-decoration:underline; }
.cws-legal-page .legal-contact-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.3rem; }
.cws-legal-page .legal-contact-actions .btn-secondary { color:var(--legal-navy); background:#fff; border-color:rgba(23,39,67,.18); }

.cws-legal-page .legal-modern-cta { padding:0 0 clamp(4rem,7vw,6.5rem); }
.cws-legal-page .legal-modern-cta-inner { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2rem; align-items:center; padding:clamp(2rem,5vw,4rem); border-radius:2rem; background:linear-gradient(120deg,#12223b,#1e4775); box-shadow:0 28px 70px rgba(23,39,67,.22); }
.cws-legal-page .legal-modern-cta-inner::after { content:""; position:absolute; width:18rem; height:18rem; right:-8rem; bottom:-11rem; border:1px solid rgba(236,215,157,.25); border-radius:50%; box-shadow:0 0 0 3.5rem rgba(255,255,255,.035); }
.cws-legal-page .legal-modern-cta-inner > * { position:relative; z-index:1; }
.cws-legal-page .legal-modern-cta h2 { margin:.45rem 0 .6rem; max-width:18ch; color:#fff; font-size:clamp(1.7rem,3.5vw,3rem); }
.cws-legal-page .legal-modern-cta p:not(.eyebrow) { max-width:48rem; margin:0; color:rgba(255,255,255,.74); line-height:1.72; }
.cws-legal-page .legal-modern-cta .btn-primary { background:#fff; color:var(--legal-navy); box-shadow:0 17px 35px rgba(0,0,0,.22); }
.cws-legal-page .legal-modern-cta .btn-primary:hover { background:var(--legal-blue-soft); color:var(--legal-navy); }

@media (max-width: 980px) {
  .cws-legal-page .legal-hero-grid, .cws-legal-page .legal-modern-layout { grid-template-columns:1fr; }
  .cws-legal-page .legal-status-panel { max-width:42rem; }
  .cws-legal-page .legal-toc { position:static; max-height:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
  .cws-legal-page .legal-toc-label { grid-column:1/-1; }
  .cws-legal-page .legal-toc-group + .legal-toc-group { margin-top:0; padding-top:0; border-top:0; }
}
@media (max-width: 760px) {
  .cws-legal-page .legal-highlight-grid { grid-template-columns:1fr; }
  .cws-legal-page .legal-modern-cta-inner { grid-template-columns:1fr; }
  .cws-legal-page .legal-modern-cta-inner .btn { width:100%; justify-content:center; }
}
@media (max-width: 620px) {
  .cws-legal-page .legal-modern-hero { padding-top:3.8rem; }
  .cws-legal-page .legal-hero-copy h1 { font-size:clamp(2.25rem,12vw,3.45rem); }
  .cws-legal-page .legal-hero-actions { display:grid; }
  .cws-legal-page .legal-hero-actions .btn { width:100%; justify-content:center; }
  .cws-legal-page .legal-status-list > div { grid-template-columns:4.3rem 1fr; }
  .cws-legal-page .legal-notice-card { grid-template-columns:1fr; }
  .cws-legal-page .legal-toc { grid-template-columns:1fr; padding:1rem; }
  .cws-legal-page .legal-modern-card { padding:1.3rem; }
  .cws-legal-page .legal-modern-card::before { position:static; margin-bottom:.85rem; width:max-content; }
  .cws-legal-page .legal-modern-card h2 { max-width:none; }
  .cws-legal-page .legal-contact-actions { display:grid; }
  .cws-legal-page .legal-contact-actions .btn { width:100%; justify-content:center; }
}
@media (prefers-reduced-motion: reduce) {
  .cws-legal-page *, .cws-legal-page *::before, .cws-legal-page *::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
}
