/* ============================================================
   Compliance page — page-compliance.php
   Entity card + navy registration card, then the numbered
   Disclosure & Disclaimer list with a sticky heading column.
   ============================================================ */

/* ── OVERVIEW (Entity | Registrations) ── */
.cmp-overview{background:var(--bg);padding:64px 48px 72px}
.cmp-grid{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:1.25fr 1fr;gap:32px;align-items:stretch}
.cmp-card{background:#fff;border-radius:20px;padding:38px 40px;border:1px solid rgba(13,27,62,.07);box-shadow:0 8px 40px rgba(13,27,62,.08);position:relative;overflow:hidden}
.cmp-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--gold),var(--gold-light))}
.cmp-card-title{font-family:'Playfair Display',serif;font-size:clamp(22px,2vw,26px);font-weight:800;color:var(--navy);line-height:1.25;margin:0 0 22px}

/* Entity rows — gold label column + navy value column, hairline separators. */
.cmp-dl{margin:0}
.cmp-dl-row{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:15px 0;border-top:1px solid rgba(13,27,62,.07)}
.cmp-dl-row:last-child{padding-bottom:0}
.cmp-dl dt{font-size:11.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold);padding-top:4px}
.cmp-dl dd{margin:0;font-size:16px;font-weight:600;color:var(--navy);line-height:1.6;overflow-wrap:anywhere}
.cmp-dl dd a{color:var(--navy);text-decoration:none;border-bottom:1px solid rgba(201,151,58,.45);transition:color .15s,border-color .15s}
.cmp-dl dd a:hover{color:var(--gold);border-bottom-color:var(--gold)}

/* Registration card — navy, echoes the footer's gold ARN block. */
.cmp-reg{background:linear-gradient(150deg,#09152A,var(--navy) 55%,var(--navy-light));border-color:rgba(201,151,58,.25);display:flex;flex-direction:column}
.cmp-reg .cmp-card-title{color:#fff}
.cmp-reg-item{display:flex;flex-direction:column;gap:20px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1)}
.cmp-reg-item + .cmp-reg-item{margin-top:28px}
/* A single registration fills the card so the Verify button sits at the bottom. */
.cmp-reg-item:only-of-type{flex:1}
.cmp-reg-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.cmp-reg-type{font-family:'DM Sans',sans-serif;font-size:15px;font-weight:600;color:rgba(255,255,255,.78);line-height:1.5;margin:0}
.cmp-status{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;background:rgba(79,173,112,.14);border:1px solid rgba(79,173,112,.5);color:var(--green-light);font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:5px 12px;border-radius:100px}
.cmp-reg-number{font-family:'Playfair Display',serif;font-size:clamp(36px,3.4vw,46px);font-weight:800;color:var(--gold-light);letter-spacing:1px;line-height:1;margin:0}
.cmp-reg-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}
.cmp-reg-meta div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:14px 16px}
.cmp-reg-meta dt{font-size:11px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:6px}
.cmp-reg-meta dd{margin:0;font-size:16px;font-weight:600;color:#fff}
/* Verify footer — pinned to the bottom of the card by margin-top:auto. */
.cmp-verify-row{margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cmp-verify-text{margin:0;font-size:14px;color:rgba(255,255,255,.7);overflow-wrap:anywhere;min-width:0}
.cmp-verify-text span{display:block;font-size:11px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:4px}
.cmp-verify{flex-shrink:0}

/* ── DISCLOSURE & DISCLAIMER ── */
.cmp-disclosure{background:#fff;padding:80px 48px 88px}
.cmp-disc-wrap{max-width:1140px;margin:0 auto}
/* Centred heading block above the two-column list of points. */
.cmp-disc-head{text-align:center;max-width:720px;margin:0 auto 48px}
.cmp-disc-head .sec-title{margin-bottom:0}
.cmp-disc-head .sec-title span{color:var(--gold)}
.cmp-disc-head .gbar{margin:16px auto 18px}
.cmp-disc-sub{font-size:15px;font-weight:500;color:#777;line-height:1.7}

/* Points as cards, two per row. An odd last card spans both columns
   so the final row never sits half-empty. */
.cmp-disc-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.cmp-disc-item{display:grid;grid-template-columns:48px 1fr;gap:20px;padding:32px 30px;background:#fff;border:1px solid rgba(13,27,62,.08);border-radius:18px;box-shadow:0 4px 24px rgba(13,27,62,.06)}
.cmp-disc-item:last-child:nth-child(odd){grid-column:1 / -1}
.cmp-disc-num{width:48px;height:48px;border-radius:12px;background:rgba(201,151,58,.1);border:1px solid rgba(201,151,58,.32);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:18px;font-weight:800;color:var(--gold)}
.cmp-disc-body{min-width:0}
.cmp-disc-body h3{font-family:'Playfair Display',serif;font-size:22px;font-weight:800;color:var(--navy);line-height:1.3;margin:9px 0 12px}
.cmp-disc-body p{font-size:16px;line-height:1.8;color:#444;margin:0 0 1em}
.cmp-disc-body > :last-child{margin-bottom:0}
.cmp-disc-body strong{color:var(--navy)}
.cmp-disc-body a{color:var(--gold);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(201,151,58,.5)}
.cmp-disc-body a:hover{color:var(--navy);text-decoration-color:var(--navy)}
.cmp-disc-body ul,.cmp-disc-body ol{margin:0 0 1em;padding-left:1.4em;color:#444;line-height:1.8}
.cmp-disc-body li::marker{color:var(--gold)}
/* Highlighted statement — e.g. the mandatory mutual fund risk line. */
.cmp-disc-body blockquote{margin:4px 0 18px;padding:18px 22px;border-left:4px solid var(--gold);background:linear-gradient(90deg,rgba(201,151,58,.1),rgba(201,151,58,.02));border-radius:0 12px 12px 0}
.cmp-disc-body blockquote p{margin:0;font-size:16.5px;line-height:1.65;color:var(--navy)}
/* "View full …" button linking a point to its sub-page (e.g. Commission Disclosure). */
.cmp-disc-body .cmp-disc-link{margin-top:6px;font-size:14.5px;padding:10px 18px;color:var(--navy);text-decoration:none}
.cmp-disc-body .cmp-disc-link:hover{color:var(--gold);border-color:var(--gold)}

/* ── RESPONSIVE ── */
@media(max-width:1000px){
  .cmp-grid{grid-template-columns:1fr}
  .cmp-disc-list{grid-template-columns:1fr}
}
@media(max-width:768px){
  .cmp-overview{padding:40px 20px 48px}
  .cmp-grid{gap:20px}
  .cmp-card{padding:30px 22px;border-radius:16px}
  .cmp-dl-row{grid-template-columns:1fr;gap:4px;padding:13px 0}
  .cmp-dl dt{padding-top:0}
  .cmp-disclosure{padding:52px 20px 60px}
  .cmp-disc-head{margin-bottom:32px}
  .cmp-disc-list{gap:16px}
  .cmp-disc-item{grid-template-columns:40px 1fr;gap:14px;padding:24px 20px;border-radius:16px}
  .cmp-disc-num{width:40px;height:40px;font-size:15px;border-radius:10px}
  .cmp-disc-body h3{font-size:19px;margin:7px 0 10px}
  .cmp-disc-body p{font-size:15.5px}
}
@media(max-width:480px){
  .cmp-reg-head{flex-direction:column;gap:10px}
  .cmp-reg-meta{grid-template-columns:1fr}
  .cmp-verify{flex:1 1 100%;justify-content:center}
}
