/* ==========================================================================
   TRADISO · CREDIBILITY INTEGRATION — shared component stylesheet
   Linked LAST in <head> on every page so it wins cascade ties against the
   existing inline <style> blocks. Brand-faithful: Lora italic headlines,
   JetBrains Mono eyebrows, cream paper, forest-gold accents.
   Regulatory framing: ASIC-regulated Authorised Representative (AFS Rep
   #001321555). Never "AFSL / Licensee". FinCEN-registered MSB only.
   ========================================================================== */

/* --- Missing palette vars referenced by the new components --- */
:root{
  --gold-dark:#9A7B22;   /* darker gold for emphasis text */
  --green:#00B67A;       /* Trustpilot green */
  --green-soft:#EAF7F1;  /* soft mint wash for callouts */
}

/* --- Reusable video frame (Wistia) — 1px gold border, brand radius --- */
.tradiso-video-frame{ border:1px solid var(--forest); border-radius:var(--radius-sm); overflow:hidden; background:var(--deep); }
.tradiso-video-frame wistia-player{ display:block; width:100%; }

/* ==========================================================================
   GLOBAL · FOOTER (rebuilt 3-column + regulatory disclosure)
   ========================================================================== */
.footer{ padding:80px 0 40px; background:var(--bg); border-top:1px solid var(--border-light); }
.footer .container{ max-width:var(--max-w); margin:0 auto; padding:0 24px; }
.footer-grid{ display:grid; grid-template-columns:1.3fr 1fr 1.5fr; gap:64px; margin-bottom:56px; }
.footer-col{ display:flex; flex-direction:column; gap:8px; }
.footer-logo{ display:inline-flex; align-items:center; gap:8px; text-decoration:none; }
.footer-logo .f-word{ font-family:var(--font-display); font-size:24px; font-weight:500; color:var(--deep); }
.footer-tagline{ font-family:var(--font-display); font-style:italic; font-size:14px; color:var(--warm-grey); line-height:1.5; max-width:280px; margin-top:12px; }
.footer-social{ display:flex; gap:12px; margin-top:16px; }
.footer-social a{ display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border:1px solid var(--border); border-radius:8px; color:var(--warm-grey); transition:all .2s; }
.footer-social a:hover{ color:var(--forest); border-color:var(--forest); }
.footer-social svg{ width:16px; height:16px; }
.footer-h{ font-family:var(--font-mono); font-size:11px; letter-spacing:1.8px; text-transform:uppercase; color:var(--teal); margin:24px 0 12px; }
.footer-col a{ font-family:var(--font-body); font-size:13.5px; color:var(--deep); text-decoration:none; padding:4px 0; transition:color .2s; }
.footer-col a:hover{ color:var(--forest); }
.footer-legal{ } /* right column container, inherits .footer-col */
.footer-reg-block{ padding:16px 0; border-bottom:1px dashed var(--border-light); }
.footer-reg-block:last-of-type{ border-bottom:none; }
.reg-entity{ font-family:var(--font-display); font-size:14px; font-style:italic; color:var(--deep); margin-bottom:4px; }
.reg-line{ font-family:var(--font-body); font-size:12px; color:var(--warm-grey); line-height:1.5; margin:2px 0; }
.reg-verify{ display:inline-block; font-family:var(--font-mono); font-size:11px; letter-spacing:1.2px; color:var(--forest)!important; margin-top:8px; border-bottom:1px solid var(--mint); padding-bottom:2px; text-decoration:none; }
.footer-legal-links{ display:flex; gap:16px; margin-top:20px; flex-wrap:wrap; }
.footer-legal-links a{ font-family:var(--font-mono); font-size:11px; letter-spacing:1.2px; text-transform:uppercase; color:var(--warm-grey); text-decoration:none; }
.footer-legal-links a:hover{ color:var(--forest); }
.footer-bottom{ border-top:1px solid var(--border-light); padding-top:32px; }
.footer-bottom p{ font-family:var(--font-body); font-size:11px; color:var(--sage); line-height:1.6; margin-bottom:12px; max-width:980px; }
.footer-ar-disclosure{ font-family:var(--font-body); font-size:11px; color:var(--sage); line-height:1.6; max-width:980px; margin-bottom:12px; }
.footer-ar-disclosure a{ color:var(--warm-grey); text-decoration:underline; }

/* ==========================================================================
   GLOBAL · THE TRADISO TRUST SEAL (3 sizes)
   ========================================================================== */
.trust-seal{ display:inline-flex; align-items:center; gap:20px; padding:12px 18px; background:var(--bg); border:1px solid var(--border); border-radius:var(--radius-sm); flex-wrap:wrap; }
.trust-seal.large{ padding:24px 32px; gap:32px; }
.trust-seal.medium{ padding:16px 24px; gap:24px; }
.ts-side{ display:flex; align-items:center; gap:12px; }
.ts-logo{ width:28px; height:28px; opacity:.85; }
.trust-seal.large .ts-logo{ width:48px; height:48px; }
.trust-seal.medium .ts-logo{ width:36px; height:36px; }
.ts-label{ display:flex; flex-direction:column; gap:2px; }
.ts-text{ font-family:var(--font-mono); font-size:9px; letter-spacing:1.8px; color:var(--deep); font-weight:500; }
.trust-seal.large .ts-text{ font-size:11px; }
.trust-seal.medium .ts-text{ font-size:10px; }
.ts-num{ font-family:var(--font-mono); font-size:10px; color:var(--warm-grey); letter-spacing:.6px; }
.trust-seal.large .ts-num{ font-size:12px; }
.ts-divider{ width:1px; height:24px; background:var(--forest); opacity:.6; }
.trust-seal.large .ts-divider{ height:40px; }
.ts-verify{ font-family:var(--font-mono); font-size:10px; letter-spacing:1.2px; color:var(--forest); text-decoration:none; padding-left:16px; border-left:1px solid var(--border); }

/* ==========================================================================
   HOMEPAGE
   ========================================================================== */
.hero-trust-line{ font-family:var(--font-mono); font-size:11px; letter-spacing:1.4px; text-transform:uppercase; color:var(--forest); margin-top:16px; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.dot-sep{ width:4px; height:4px; border-radius:50%; background:var(--forest); display:inline-block; }

/* Gold trust band (marquee) */
.trust-band{ background:var(--deep); padding:14px 0; overflow:hidden; border-top:1px solid var(--forest); border-bottom:1px solid var(--forest); }
.trust-band-track{ display:flex; gap:32px; white-space:nowrap; width:max-content; animation:trustScroll 38s linear infinite; }
.tb-item{ font-family:var(--font-mono); font-size:12px; letter-spacing:2.2px; color:var(--mint); }
.tb-sep{ color:var(--forest); font-size:10px; align-self:center; }
@keyframes trustScroll{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
@media (prefers-reduced-motion: reduce){ .trust-band-track{ animation:none; } }

/* Trust badge bar */
.hp-trust-bar{ background:linear-gradient(180deg,#FBF7ED 0%,#FAFAF8 100%); padding:56px 0; border-bottom:1px solid var(--border-light); }
.hp-trust-bar .container{ max-width:var(--max-w); margin:0 auto; padding:0 24px; }
.trust-bar-grid{ display:grid; grid-template-columns:1.4fr 1fr; gap:64px; align-items:center; }
.trust-bar-left{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:24px; }
.trust-badge{ display:flex; gap:12px; align-items:flex-start; padding:16px; background:#fff; border:1px solid var(--border); border-radius:var(--radius-sm); }
.tb-logo{ width:36px; height:36px; opacity:.85; flex-shrink:0; }
.tb-stars{ font-size:22px; color:var(--green); letter-spacing:1px; }
.tb-label{ font-family:var(--font-mono); font-size:10px; letter-spacing:1.8px; color:var(--deep); font-weight:500; margin-bottom:4px; }
.tb-num{ font-family:var(--font-mono); font-size:11px; color:var(--warm-grey); letter-spacing:.4px; line-height:1.4; margin-bottom:6px; }
.tb-verify{ font-family:var(--font-mono); font-size:10px; letter-spacing:1.2px; color:var(--forest); text-decoration:none; border-bottom:1px solid var(--mint); padding-bottom:1px; }
.trust-bar-right{ padding-left:32px; border-left:1px solid var(--border); }
.trust-bar-statement{ font-family:var(--font-display); font-style:italic; font-size:17px; line-height:1.5; color:var(--deep); margin-bottom:16px; }
.trust-bar-cta{ font-family:var(--font-mono); font-size:12px; letter-spacing:1.4px; text-transform:uppercase; color:var(--forest); text-decoration:none; border-bottom:1px solid var(--mint); padding-bottom:2px; }

/* The Tradiso Desk featured embed (dark band) */
.hp-desk-section{ background:var(--deep); color:#fff; padding:96px 0; }
.hp-desk-section .container{ max-width:var(--max-w); margin:0 auto; padding:0 24px; }
.desk-eyebrow{ font-family:var(--font-mono); font-size:12px; letter-spacing:2.2px; color:var(--forest); margin-bottom:24px; }
.desk-grid{ display:grid; grid-template-columns:1.6fr 1fr; gap:56px; align-items:center; }
.desk-title{ font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(28px,3.4vw,42px); line-height:1.15; color:var(--mint); margin-bottom:16px; }
.desk-desc{ font-family:var(--font-body); font-size:16px; line-height:1.6; color:rgba(255,255,255,.78); margin-bottom:16px; }
.desk-meta{ font-family:var(--font-mono); font-size:11px; letter-spacing:1.4px; color:rgba(255,255,255,.5); display:flex; gap:8px; margin-bottom:28px; flex-wrap:wrap; }
.desk-cta{ display:inline-block; padding:14px 28px; background:var(--forest); color:var(--deep); border-radius:var(--radius-sm); font-family:var(--font-body); font-weight:600; font-size:14px; text-decoration:none; transition:all .2s; }
.desk-cta:hover{ background:var(--gold-dark); transform:translateY(-1px); }
.desk-thumbs{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-top:56px; padding-top:40px; border-top:1px solid rgba(255,255,255,.1); }
.desk-thumb{ padding:18px 16px; border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-sm); display:flex; flex-direction:column; gap:8px; cursor:pointer; transition:all .2s; }
.desk-thumb.live:hover{ border-color:var(--forest); background:rgba(200,164,78,.06); }
.desk-thumb.coming{ opacity:.45; cursor:default; border-style:dashed; }
.dt-num{ font-family:var(--font-mono); font-size:10px; letter-spacing:1.6px; color:var(--forest); }
.dt-title{ font-family:var(--font-display); font-style:italic; font-size:14px; line-height:1.3; color:rgba(255,255,255,.92); }
.dt-time{ font-family:var(--font-mono); font-size:10px; color:rgba(255,255,255,.45); }

/* Proof framework section */
.hp-proof-section{ padding:112px 0; background:var(--bg); border-top:1px solid var(--border-light); border-bottom:1px solid var(--border-light); }
.hp-proof-section .container{ max-width:var(--max-w); margin:0 auto; padding:0 24px; }
.proof-head{ text-align:left; max-width:720px; margin-bottom:56px; }
.proof-eyebrow{ font-family:var(--font-mono); font-size:12px; letter-spacing:1.8px; text-transform:uppercase; color:var(--forest); margin-bottom:14px; }
.proof-title{ font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(28px,3.4vw,44px); line-height:1.15; color:var(--deep); margin-bottom:14px; }
.proof-sub{ font-family:var(--font-display); font-style:italic; font-size:17px; color:var(--warm-grey); }
.proof-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.proof-card{ padding:32px; background:#fff; border:1px solid var(--border-light); border-radius:var(--radius-lg); text-decoration:none; transition:all .25s ease; display:flex; flex-direction:column; gap:12px; }
.proof-card:hover{ transform:translateY(-2px); border-color:var(--mint); box-shadow:0 8px 32px rgba(26,23,20,.06); }
.proof-card.featured{ border-color:var(--forest); background:linear-gradient(180deg,#FBF7ED 0%,#fff 100%); }
.pc-tag{ font-family:var(--font-mono); font-size:10px; letter-spacing:1.8px; color:var(--forest); }
.pc-title{ font-family:var(--font-display); font-style:italic; font-weight:400; font-size:24px; color:var(--deep); }
.pc-desc{ font-family:var(--font-body); font-size:14px; line-height:1.6; color:var(--warm-grey); flex-grow:1; }
.pc-cta{ font-family:var(--font-mono); font-size:11px; letter-spacing:1.4px; text-transform:uppercase; color:var(--forest); margin-top:12px; padding-top:12px; border-top:1px dashed var(--border-light); }

/* Reviews cross-validation + inline disclosures */
.reviews-cross-validation{ font-family:var(--font-mono); font-size:11px; letter-spacing:1.2px; color:var(--warm-grey); margin-bottom:24px; text-align:center; }
.reviews-cross-validation a{ color:var(--forest); border-bottom:1px solid var(--mint); padding-bottom:1px; text-decoration:none; }
.pricing-disclosure{ font-family:var(--font-mono); font-size:10px; letter-spacing:1px; color:var(--sage); margin-top:16px; padding-top:12px; border-top:1px dashed var(--border-light); }
.markets-disclosure{ font-family:var(--font-mono); font-size:10px; letter-spacing:1px; color:var(--sage); margin-top:16px; }
.hp-cta-seal-wrap{ display:flex; justify-content:center; margin-bottom:28px; }

/* ==========================================================================
   ABOUT PAGE
   ========================================================================== */
.about-trust-seal-wrap{ margin:56px auto 24px; display:flex; justify-content:center; }
.about-why-regulated{ padding:112px 0; background:var(--bg); }
.about-why-regulated .container{ max-width:var(--max-w); margin:0 auto; padding:0 24px; }
.why-reg-grid{ display:grid; grid-template-columns:1fr 1.4fr; gap:64px; align-items:start; }
.why-reg-eyebrow{ font-family:var(--font-mono); font-size:12px; letter-spacing:1.8px; color:var(--forest); margin-bottom:14px; }
.why-reg-title{ font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(28px,3vw,38px); line-height:1.2; color:var(--deep); }
.why-reg-body{ font-family:var(--font-body); font-size:15px; line-height:1.7; color:var(--deep); margin-bottom:16px; }
.why-reg-body.italic{ font-family:var(--font-display); font-style:italic; font-size:18px; color:var(--forest); border-left:2px solid var(--forest); padding-left:20px; margin:20px 0; }
.why-reg-cta{ font-family:var(--font-mono); font-size:12px; letter-spacing:1.4px; text-transform:uppercase; color:var(--forest); text-decoration:none; border-bottom:1px solid var(--mint); padding-bottom:2px; }
.value-card-seal{ font-family:var(--font-mono); font-size:9px; letter-spacing:1.4px; color:var(--sage); margin-top:12px; padding-top:12px; border-top:1px dashed var(--border-light); }
.regulated-by-strip{ padding:56px 0; text-align:center; background:var(--bg); border-top:1px solid var(--border-light); }
.rb-label{ font-family:var(--font-mono); font-size:11px; letter-spacing:1.8px; color:var(--sage); margin-bottom:32px; }
.rb-logos{ display:flex; justify-content:center; gap:64px; flex-wrap:wrap; }
.rb-logo{ display:flex; align-items:center; gap:16px; text-decoration:none; transition:opacity .2s; opacity:.85; }
.rb-logo:hover{ opacity:1; }
.rb-logo img{ width:52px; height:52px; }
.rb-logo span{ font-family:var(--font-display); font-size:16px; font-style:italic; color:var(--deep); text-align:left; line-height:1.3; }
.rb-logo small{ font-family:var(--font-mono); font-size:11px; color:var(--warm-grey); letter-spacing:.6px; }

/* ==========================================================================
   AI ALGORITHMIC TRADING PAGE
   ========================================================================== */
.ai-trust-strip{ background:var(--deep); color:var(--mint); padding:16px 0; text-align:center; border-bottom:1px solid var(--forest); }
.ai-trust-strip .container{ max-width:var(--max-w); margin:0 auto; padding:0 24px; }
.ai-trust-strip p{ font-family:var(--font-mono); font-size:12px; letter-spacing:1.6px; color:var(--mint); }
.ai-trust-strip a{ color:var(--forest); border-bottom:1px solid var(--forest); text-decoration:none; }
.ai-ep4-embed{ padding:96px 0; background:var(--bg); }
.ai-ep4-embed .container{ max-width:var(--max-w); margin:0 auto; padding:0 24px; }
.ep4-grid{ display:grid; grid-template-columns:1fr 1.4fr; gap:56px; align-items:center; }
.ep4-eyebrow{ font-family:var(--font-mono); font-size:11px; letter-spacing:1.8px; color:var(--forest); margin-bottom:14px; }
.ep4-title{ font-family:var(--font-display); font-style:italic; font-weight:400; font-size:32px; line-height:1.2; color:var(--deep); margin-bottom:14px; }
.ep4-desc{ font-family:var(--font-body); font-size:15px; line-height:1.6; color:var(--warm-grey); margin-bottom:24px; }
.ep4-cta{ font-family:var(--font-mono); font-size:12px; letter-spacing:1.4px; text-transform:uppercase; color:var(--forest); text-decoration:none; border-bottom:1px solid var(--mint); padding-bottom:2px; }
.exec-callout{ font-family:var(--font-display); font-style:italic; font-size:14px; color:var(--gold-dark); margin-top:24px; padding:16px 20px; background:var(--green-soft); border-left:3px solid var(--forest); border-radius:0 var(--radius-sm) var(--radius-sm) 0; }

/* ==========================================================================
   REVIEWS PAGE
   ========================================================================== */
.reviews-trust-line{ font-family:var(--font-display); font-style:italic; font-size:17px; color:var(--warm-grey); max-width:720px; margin-top:16px; line-height:1.5; }
.reviews-both-audited{ padding:96px 0; background:var(--bg); }
.reviews-both-audited .container{ max-width:var(--max-w); margin:0 auto; padding:0 24px; }
.ba-head{ text-align:center; max-width:720px; margin:0 auto 56px; }
.ba-eyebrow{ font-family:var(--font-mono); font-size:12px; letter-spacing:1.8px; color:var(--forest); margin-bottom:14px; }
.ba-title{ font-family:var(--font-display); font-style:italic; font-weight:400; font-size:36px; line-height:1.2; color:var(--deep); margin-bottom:14px; }
.ba-sub{ font-family:var(--font-display); font-style:italic; font-size:17px; color:var(--warm-grey); }
.ba-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:1000px; margin:0 auto; }
.ba-card{ padding:36px; background:#fff; border:1px solid var(--border-light); border-radius:var(--radius-lg); }
.ba-tag{ font-family:var(--font-mono); font-size:10px; letter-spacing:1.8px; color:var(--forest); margin-bottom:14px; }
.ba-h{ font-family:var(--font-display); font-style:italic; font-weight:400; font-size:24px; color:var(--deep); margin-bottom:14px; }
.ba-desc{ font-family:var(--font-body); font-size:14px; line-height:1.6; color:var(--warm-grey); margin-bottom:16px; }
.ba-cta{ font-family:var(--font-mono); font-size:11px; letter-spacing:1.4px; text-transform:uppercase; color:var(--forest); text-decoration:none; border-bottom:1px solid var(--mint); padding-bottom:1px; }

/* ==========================================================================
   ARTICLES PAGE — migration banner
   ========================================================================== */
.articles-migration-banner{ padding:20px 0; background:var(--green-soft); border-top:1px solid var(--mint); border-bottom:1px solid var(--mint); text-align:center; }
.articles-migration-banner .container{ max-width:var(--max-w); margin:0 auto; padding:0 24px; }
.articles-migration-banner p{ font-family:var(--font-display); font-style:italic; font-size:15px; color:var(--gold-dark); }
.articles-migration-banner a{ color:var(--forest); border-bottom:1px solid var(--forest); text-decoration:none; font-weight:600; }

/* ==========================================================================
   LEGAL PAGES — entity note
   ========================================================================== */
.legal-entity-note{ font-family:var(--font-display); font-style:italic; font-size:13px; color:var(--warm-grey); margin:24px 0; padding:16px 20px; background:var(--bg); border-left:2px solid var(--forest); border-radius:0 var(--radius-sm) var(--radius-sm) 0; }

/* ==========================================================================
   REGULATION PAGE
   ========================================================================== */
.reg-page .container{ max-width:var(--max-w); margin:0 auto; padding:0 24px; }
.reg-hero{ padding:120px 0 80px; background:linear-gradient(180deg,var(--frost) 0%,var(--bg) 100%); }
.reg-hero-eyebrow{ font-family:var(--font-mono); font-size:13px; letter-spacing:2.2px; color:var(--forest); margin-bottom:24px; }
.reg-hero-title{ font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(44px,5.6vw,72px); line-height:1.05; color:var(--deep); margin-bottom:24px; max-width:900px; }
.reg-hero-sub{ font-family:var(--font-display); font-style:italic; font-size:19px; color:var(--warm-grey); line-height:1.5; max-width:720px; margin-bottom:40px; }
.reg-hero-seal-wrap{ margin-bottom:32px; }
.reg-hero-ctas{ display:flex; gap:16px; flex-wrap:wrap; }
.btn-large{ padding:16px 32px; font-size:15px; }
.reg-section-eyebrow{ font-family:var(--font-mono); font-size:12px; letter-spacing:2.2px; color:var(--forest); margin-bottom:18px; }
.reg-section-title{ font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(30px,3.6vw,46px); line-height:1.15; color:var(--deep); margin-bottom:48px; max-width:820px; }
.reg-why{ padding:96px 0; background:var(--bg); border-top:1px solid var(--border-light); }
.reg-why-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.reg-why-card{ padding:32px; background:#fff; border:1px solid var(--border-light); border-radius:var(--radius-lg); }
.rwc-num{ font-family:var(--font-mono); font-size:11px; letter-spacing:1.8px; color:var(--forest); margin-bottom:14px; }
.rwc-h{ font-family:var(--font-display); font-style:italic; font-weight:400; font-size:22px; color:var(--deep); margin-bottom:12px; }
.rwc-body{ font-family:var(--font-body); font-size:14px; line-height:1.6; color:var(--warm-grey); }
.reg-asic,.reg-fincen{ padding:96px 0; background:#fff; border-top:1px solid var(--border-light); }
.reg-asic-grid,.reg-fincen-grid{ display:grid; grid-template-columns:1.2fr 1fr; gap:56px; align-items:start; margin-bottom:32px; }
.reg-fincen-grid{ grid-template-columns:1fr 1.2fr; }
.reg-screenshot{ background:#fff; border:2px solid var(--forest); border-radius:var(--radius-lg); padding:8px; box-shadow:0 8px 32px rgba(26,23,20,.08); }
.reg-screenshot img{ width:100%; display:block; border-radius:var(--radius-sm); }
.screenshot-caption{ font-family:var(--font-mono); font-size:10px; letter-spacing:1px; color:var(--sage); margin-top:12px; text-align:center; padding:8px; }
.reg-info-row{ display:grid; grid-template-columns:1fr 1.5fr; gap:16px; padding:14px 0; border-bottom:1px dashed var(--border-light); }
.ri-label{ font-family:var(--font-mono); font-size:10px; letter-spacing:1.6px; color:var(--sage); align-self:center; }
.ri-value{ font-family:var(--font-display); font-style:italic; font-size:16px; color:var(--deep); }
.ri-status-current{ color:var(--green); font-weight:500; }
.reg-verify-btn{ margin-top:24px; display:inline-block; }
.reg-download-btn{ display:block; margin-top:12px; font-family:var(--font-mono); font-size:11px; letter-spacing:1.2px; color:var(--forest); text-decoration:none; border-bottom:1px solid var(--mint); padding-bottom:2px; width:fit-content; }
.fincen-card{ background:linear-gradient(180deg,#FBF7ED 0%,#fff 100%); border:2px solid var(--forest); border-radius:var(--radius-lg); padding:40px; text-align:center; }
.fc-flag{ font-size:48px; margin-bottom:16px; }
.fc-org{ font-family:var(--font-display); font-style:italic; font-size:18px; color:var(--deep); }
.fc-subtitle{ font-family:var(--font-mono); font-size:10px; letter-spacing:1.8px; color:var(--warm-grey); margin-top:4px; margin-bottom:24px; }
.fc-divider{ width:60px; height:1px; background:var(--forest); margin:16px auto; }
.fc-label{ font-family:var(--font-mono); font-size:10px; letter-spacing:1.6px; color:var(--sage); margin-bottom:8px; }
.fc-number{ font-family:var(--font-mono); font-size:22px; font-weight:500; color:var(--deep); letter-spacing:1px; margin-bottom:14px; }
.fc-entity{ font-family:var(--font-display); font-style:italic; font-size:18px; color:var(--deep); margin-bottom:10px; }
.fc-status{ font-family:var(--font-mono); font-size:11px; color:var(--green); letter-spacing:1px; }
.reg-explainer{ background:var(--frost); padding:32px; border-radius:var(--radius-lg); border-left:3px solid var(--forest); margin-top:32px; }
.re-h{ font-family:var(--font-mono); font-size:10px; letter-spacing:1.8px; color:var(--gold-dark); margin-bottom:12px; }
.reg-explainer p{ font-family:var(--font-body); font-size:14.5px; line-height:1.7; color:var(--deep); }
.reg-scorecard{ padding:96px 0; background:var(--bg); border-top:1px solid var(--border-light); }
.scorecard-table{ width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--border-light); border-radius:var(--radius-lg); overflow:hidden; }
.scorecard-table th{ font-family:var(--font-mono); font-size:11px; letter-spacing:1.4px; text-align:left; padding:20px 24px; background:var(--frost); color:var(--warm-grey); }
.scorecard-table th.th-tradiso{ color:var(--forest); background:var(--mint); }
.scorecard-table td{ padding:18px 24px; border-top:1px solid var(--border-light); font-family:var(--font-display); font-style:italic; font-size:15px; color:var(--deep); }
.scorecard-table td.td-tradiso{ background:rgba(200,164,78,.05); }
.dots{ display:inline-flex; }
.dots::before{ content:"\25CF \25CF \25CF \25CF \25CF"; color:var(--border); font-size:12px; letter-spacing:4px; }
.dots.dots-1::before{ background:linear-gradient(to right,var(--warm-grey) 16%,var(--border) 16%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.dots.dots-2::before{ background:linear-gradient(to right,var(--warm-grey) 36%,var(--border) 36%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.dots.dots-3::before{ background:linear-gradient(to right,var(--warm-grey) 56%,var(--border) 56%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.dots.dots-5.dots-gold::before{ color:var(--forest); }
.scorecard-note{ font-family:var(--font-display); font-style:italic; font-size:16px; color:var(--gold-dark); margin-top:24px; text-align:center; }
.reg-verify-steps{ padding:96px 0; background:#fff; border-top:1px solid var(--border-light); }
.verify-steps-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.vs-card{ padding:28px; background:var(--bg); border:1px solid var(--border-light); border-radius:var(--radius-lg); border-top:3px solid var(--forest); }
.vs-num{ font-family:var(--font-mono); font-size:12px; letter-spacing:2px; color:var(--forest); margin-bottom:14px; }
.vs-h{ font-family:var(--font-display); font-style:italic; font-weight:400; font-size:20px; color:var(--deep); margin-bottom:12px; }
.vs-body{ font-family:var(--font-body); font-size:13px; line-height:1.6; color:var(--warm-grey); margin-bottom:14px; }
.vs-cta{ font-family:var(--font-mono); font-size:10px; letter-spacing:1.4px; color:var(--forest); text-decoration:none; border-bottom:1px solid var(--mint); padding-bottom:1px; }
.reg-structure{ padding:96px 0; background:var(--bg); border-top:1px solid var(--border-light); }
.structure-grid{ display:grid; grid-template-columns:1fr auto 1fr; gap:32px; align-items:stretch; max-width:1100px; margin:0 auto; }
.structure-card{ padding:36px; background:#fff; border:1px solid var(--border-light); border-radius:var(--radius-lg); }
.sc-flag{ font-size:36px; margin-bottom:12px; }
.sc-name{ font-family:var(--font-display); font-style:italic; font-weight:400; font-size:24px; color:var(--deep); margin-bottom:6px; }
.sc-role{ font-family:var(--font-mono); font-size:11px; letter-spacing:1.4px; color:var(--forest); margin-bottom:20px; }
.sc-details{ list-style:none; padding:0; margin:0; }
.sc-details li{ font-family:var(--font-body); font-size:13px; line-height:1.6; color:var(--warm-grey); padding:6px 0; border-bottom:1px dashed var(--border-light); }
.structure-connector{ display:flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-size:10px; letter-spacing:2px; color:var(--sage); writing-mode:vertical-rl; }
.structure-note{ font-family:var(--font-display); font-style:italic; font-size:14px; color:var(--sage); margin-top:24px; text-align:center; }
.reg-protection{ padding:96px 0; background:#fff; border-top:1px solid var(--border-light); }
.protection-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.protection-card{ padding:32px; background:var(--bg); border:1px solid var(--border-light); border-radius:var(--radius-lg); }
.pp-num{ font-family:var(--font-mono); font-size:12px; letter-spacing:1.8px; color:var(--forest); margin-bottom:14px; }
.pp-h{ font-family:var(--font-display); font-style:italic; font-weight:400; font-size:20px; color:var(--deep); margin-bottom:12px; }
.pp-body{ font-family:var(--font-body); font-size:13.5px; line-height:1.6; color:var(--warm-grey); }
.reg-faq{ padding:96px 0; background:var(--bg); border-top:1px solid var(--border-light); }
.faq-accordion{ max-width:820px; margin:0 auto; }
.faq-accordion details{ padding:24px 0; border-bottom:1px solid var(--border-light); }
.faq-accordion summary{ font-family:var(--font-display); font-style:italic; font-size:18px; color:var(--deep); cursor:pointer; list-style:none; }
.faq-accordion summary::marker{ display:none; }
.faq-accordion summary::-webkit-details-marker{ display:none; }
.faq-accordion summary::after{ content:"+"; float:right; color:var(--forest); font-family:var(--font-mono); }
.faq-accordion details[open] summary::after{ content:"\2212"; }
.faq-accordion details p{ font-family:var(--font-body); font-size:14px; line-height:1.7; color:var(--warm-grey); margin-top:12px; }
.faq-accordion details a{ color:var(--forest); border-bottom:1px solid var(--mint); }
.reg-dd-pack{ padding:96px 0; background:var(--deep); color:#fff; }
.ddp-card{ max-width:720px; margin:0 auto; text-align:center; }
.ddp-eyebrow{ font-family:var(--font-mono); font-size:12px; letter-spacing:2.2px; color:var(--forest); margin-bottom:18px; }
.ddp-title{ font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(28px,3.6vw,42px); color:var(--mint); margin-bottom:16px; }
.ddp-body{ font-family:var(--font-body); font-size:16px; line-height:1.7; color:rgba(255,255,255,.8); margin-bottom:32px; }
.ddp-card .btn-primary{ background:var(--forest); color:var(--deep); }
.reg-closing{ padding:120px 0; background:var(--frost); text-align:center; }
.reg-closing-title{ font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(34px,4.4vw,56px); color:var(--deep); }
.reg-closing-title-em{ font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(34px,4.4vw,56px); color:var(--forest); margin-bottom:40px; }
.reg-closing-ctas{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-bottom:48px; }
.reg-closing-stamp{ font-family:var(--font-mono); font-size:11px; letter-spacing:1.4px; color:var(--sage); }

/* ==========================================================================
   RESEARCH PAGE
   ========================================================================== */
.research-page .container{ max-width:var(--max-w); margin:0 auto; padding:0 24px; }
.research-hero{ padding:120px 0 64px; background:linear-gradient(180deg,var(--frost) 0%,var(--bg) 100%); }
.rh-eyebrow{ font-family:var(--font-mono); font-size:13px; letter-spacing:2.2px; color:var(--forest); margin-bottom:24px; }
.rh-title{ font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(36px,5vw,60px); line-height:1.1; color:var(--deep); margin-bottom:20px; max-width:900px; }
.rh-sub{ font-family:var(--font-display); font-style:italic; font-size:18px; color:var(--warm-grey); line-height:1.5; max-width:720px; }
.research-featured{ padding:64px 0 96px; }
.rf-grid{ display:grid; grid-template-columns:1.8fr 1fr; gap:40px; }
.rfl-h{ font-family:var(--font-mono); font-size:11px; letter-spacing:1.8px; color:var(--forest); margin-bottom:16px; }
.rfl-items{ display:flex; flex-direction:column; gap:6px; }
.rfl-item{ display:grid; grid-template-columns:auto 1fr auto; gap:14px; padding:14px 18px; background:#fff; border:1px solid var(--border-light); border-radius:var(--radius-sm); cursor:pointer; text-align:left; transition:all .2s; width:100%; }
.rfl-item:hover:not(.coming){ border-color:var(--forest); }
.rfl-item.active{ border-color:var(--forest); background:var(--frost); }
.rfl-item.coming{ opacity:.45; cursor:default; border-style:dashed; }
.rfli-num{ font-family:var(--font-mono); font-size:10px; letter-spacing:1.4px; color:var(--forest); align-self:center; }
.rfli-title{ font-family:var(--font-display); font-style:italic; font-size:14px; color:var(--deep); align-self:center; }
.rfli-time{ font-family:var(--font-mono); font-size:10px; color:var(--warm-grey); align-self:center; }
.research-essays{ padding:96px 0; background:var(--bg); border-top:1px solid var(--border-light); }
.re-head{ margin-bottom:56px; max-width:720px; }
.re-eyebrow{ font-family:var(--font-mono); font-size:12px; letter-spacing:1.8px; color:var(--forest); margin-bottom:14px; }
.re-title{ font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(28px,3.6vw,44px); color:var(--deep); }
.re-articles-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:968px){
  .trust-bar-grid{ grid-template-columns:1fr; }
  .trust-bar-left{ grid-template-columns:1fr; }
  .trust-bar-right{ border-left:none; padding-left:0; }
  .desk-grid{ grid-template-columns:1fr; }
  .desk-thumbs{ grid-template-columns:repeat(2,1fr); }
  .proof-grid{ grid-template-columns:1fr; }
  .why-reg-grid{ grid-template-columns:1fr; gap:32px; }
  .ep4-grid{ grid-template-columns:1fr; }
  .reg-why-grid,.reg-asic-grid,.reg-fincen-grid,.verify-steps-grid,.protection-grid,.structure-grid{ grid-template-columns:1fr!important; }
  .structure-connector{ writing-mode:horizontal-tb; padding:16px; }
  .rf-grid{ grid-template-columns:1fr; }
  .re-articles-grid{ grid-template-columns:1fr; }
}
@media (max-width:768px){
  .footer-grid{ grid-template-columns:1fr; gap:40px; }
  .ba-grid{ grid-template-columns:1fr; }
  .reg-info-row{ grid-template-columns:1fr; gap:4px; }
}

/* ==========================================================================
   ROUND 2 — feedback overrides (loaded last → wins)
   ========================================================================== */

/* --- Dark, compact footer (replaces the light/tall one) --- */
.footer.footer-dark{ background:var(--deep); color:rgba(255,255,255,.7); padding:52px 0 28px; border-top:1px solid rgba(255,255,255,.08); }
.footer-dark .container{ max-width:var(--max-w); margin:0 auto; padding:0 24px; }
.footer-dark .footer-top{ display:grid; grid-template-columns:1.4fr 2fr; gap:56px; padding-bottom:32px; border-bottom:1px solid rgba(255,255,255,.08); }
.footer-dark .footer-logo{ text-decoration:none; }
.footer-dark .f-word{ font-family:var(--font-display); font-size:24px; font-weight:500; color:#fff; }
.footer-dark .footer-tagline{ font-family:var(--font-display); font-style:italic; font-size:14px; color:rgba(255,255,255,.6); line-height:1.5; max-width:300px; margin-top:10px; }
.footer-dark .footer-proof{ font-family:var(--font-mono); font-size:10px; letter-spacing:.6px; color:var(--forest); margin-top:14px; line-height:1.7; }
.footer-dark .footer-social{ display:flex; gap:10px; margin-top:18px; }
.footer-dark .footer-social a{ display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border:1px solid rgba(255,255,255,.16); border-radius:8px; color:rgba(255,255,255,.6); transition:all .2s; }
.footer-dark .footer-social a:hover{ color:var(--forest); border-color:var(--forest); }
.footer-dark .footer-social svg{ width:16px; height:16px; }
.footer-dark .footer-links{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.footer-dark .footer-col{ display:flex; flex-direction:column; gap:2px; }
.footer-dark .footer-h{ font-family:var(--font-mono); font-size:11px; letter-spacing:1.6px; text-transform:uppercase; color:rgba(255,255,255,.42); margin:0 0 14px; }
.footer-dark .footer-col a{ font-family:var(--font-body); font-size:13px; color:rgba(255,255,255,.72); text-decoration:none; padding:5px 0; transition:color .2s; }
.footer-dark .footer-col a:hover{ color:#fff; }
.footer-dark .footer-bottom{ border-top:none; padding-top:22px; display:flex; flex-direction:column; gap:10px; }
.footer-dark .footer-bottom p{ font-family:var(--font-body); font-size:11px; color:rgba(255,255,255,.4); line-height:1.6; max-width:none; margin:0; }
.footer-dark .footer-risk{ color:rgba(255,255,255,.32)!important; }
@media (max-width:768px){ .footer-dark .footer-top{ grid-template-columns:1fr; gap:32px; } .footer-dark .footer-links{ grid-template-columns:repeat(2,1fr); gap:24px; } }

/* --- Hero trust line: breathing room below so CTAs aren't squished --- */
.hero-trust-line{ margin-bottom:26px; }

/* --- Trust badge bar: statement on top (left-aligned), badges in a clean row, no dead space --- */
.hp-trust-bar{ padding:64px 0; }
.trust-bar-grid{ display:flex; flex-direction:column; gap:34px; align-items:stretch; }
.trust-bar-right{ order:-1; border-left:none; padding-left:0; max-width:860px; }
.trust-bar-statement{ font-size:21px; line-height:1.45; }
.trust-bar-left{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.trust-badge{ align-items:center; gap:16px; padding:22px 24px; }
.tb-logo{ width:44px; height:44px; }
.tb-label{ font-size:11px; }
.tb-num{ font-size:11px; }
.tb-verify{ white-space:nowrap; }
@media (max-width:880px){ .trust-bar-left{ grid-template-columns:1fr; } }

/* --- Tradiso Desk episode tiles: bigger, bolder, obviously clickable --- */
.desk-thumbs{ grid-template-columns:repeat(4,1fr); gap:18px; margin-top:48px; }
.desk-thumb{ position:relative; padding:20px; border:1.5px solid rgba(255,255,255,.18); background:rgba(255,255,255,.04); border-radius:var(--radius-sm); display:flex; align-items:center; gap:14px; cursor:pointer; transition:all .2s ease; text-align:left; width:100%; font-family:inherit; }
.desk-thumb.live:hover{ border-color:var(--forest); background:rgba(200,164,78,.12); transform:translateY(-2px); }
.desk-thumb.active{ border-color:var(--forest); background:rgba(200,164,78,.16); box-shadow:inset 0 0 0 1px var(--forest); }
.desk-thumb.coming{ opacity:.4; cursor:default; border-style:dashed; }
.dt-play{ flex-shrink:0; width:36px; height:36px; border-radius:50%; background:var(--forest); color:var(--deep); display:flex; align-items:center; justify-content:center; font-size:12px; padding-left:2px; }
.desk-thumb.active .dt-play{ background:#fff; }
.dt-meta{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.desk-thumb .dt-num{ font-family:var(--font-mono); font-size:10px; letter-spacing:1.4px; color:var(--forest); }
.desk-thumb .dt-title{ font-family:var(--font-display); font-style:italic; font-size:14px; line-height:1.25; color:#fff; }
.desk-thumb .dt-time{ font-family:var(--font-mono); font-size:10px; color:rgba(255,255,255,.5); }
@media (max-width:768px){ .desk-thumbs{ grid-template-columns:1fr 1fr; } }

/* --- Larger CTA trust seal (older customers / readability) --- */
.hp-cta-seal-wrap .trust-seal{ transform:scale(1.0); }
.trust-seal.large .ts-text{ font-size:12px; }
.trust-seal.large .ts-num{ font-size:13px; }

/* --- Research: cinema mode + horizontal episode carousel --- */
.research-cinema{ padding:48px 0 88px; }
.research-cinema .container{ max-width:var(--max-w); margin:0 auto; padding:0 24px; }
.cinema-stage{ max-width:960px; margin:0 auto; }
.cinema-info{ max-width:960px; margin:24px auto 0; }
.cinema-eyebrow{ font-family:var(--font-mono); font-size:11px; letter-spacing:2px; color:var(--forest); text-transform:uppercase; }
.cinema-title{ font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(26px,3.2vw,38px); line-height:1.15; color:var(--deep); margin:10px 0 12px; }
.cinema-desc{ font-family:var(--font-body); font-size:16px; line-height:1.7; color:var(--warm-grey); max-width:780px; }
.cinema-rail-head{ max-width:var(--max-w); margin:52px auto 16px; display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.rail-label{ font-family:var(--font-mono); font-size:12px; letter-spacing:2px; color:var(--forest); text-transform:uppercase; }
.rail-hint{ font-family:var(--font-mono); font-size:10px; letter-spacing:1px; color:var(--sage); }
.ep-carousel{ display:flex; gap:16px; overflow-x:auto; padding:4px 2px 20px; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; }
.ep-carousel::-webkit-scrollbar{ height:8px; }
.ep-carousel::-webkit-scrollbar-track{ background:transparent; }
.ep-carousel::-webkit-scrollbar-thumb{ background:var(--border); border-radius:8px; }
.ep-card{ scroll-snap-align:start; flex:0 0 290px; text-align:left; background:#fff; border:1.5px solid var(--border-light); border-radius:var(--radius-lg); padding:22px; cursor:pointer; transition:all .2s ease; display:flex; flex-direction:column; gap:8px; font-family:inherit; }
.ep-card:hover:not(.coming){ border-color:var(--forest); transform:translateY(-3px); box-shadow:0 10px 30px rgba(26,23,20,.07); }
.ep-card.active{ border-color:var(--forest); background:linear-gradient(180deg,#FBF7ED 0%,#fff 100%); box-shadow:inset 0 0 0 1px var(--forest); }
.ep-card.coming{ opacity:.6; cursor:default; border-style:dashed; }
.ep-card-num{ font-family:var(--font-mono); font-size:10px; letter-spacing:1.6px; color:var(--forest); }
.ep-card-title{ font-family:var(--font-display); font-style:italic; font-size:18px; line-height:1.2; color:var(--deep); }
.ep-card-blurb{ font-family:var(--font-body); font-size:13px; line-height:1.55; color:var(--warm-grey); flex-grow:1; }
.ep-card-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:8px; padding-top:12px; border-top:1px dashed var(--border-light); }
.ep-card-time{ font-family:var(--font-mono); font-size:11px; color:var(--sage); }
.ep-card-play{ font-family:var(--font-mono); font-size:11px; letter-spacing:1px; color:var(--forest); }
.ep-card.coming .ep-card-play{ color:var(--sage); }
@media (max-width:768px){ .ep-card{ flex-basis:248px; } }

/* ==========================================================================
   ROUND 3 — feedback overrides
   ========================================================================== */

/* Fix homepage trust-bar overflow: allow grid columns to shrink below content */
.trust-bar-left{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.trust-badge{ min-width:0; overflow:hidden; }
.trust-badge > div{ min-width:0; }
.tb-num{ overflow-wrap:anywhere; }
.tb-verify{ white-space:normal; overflow-wrap:anywhere; }
@media (max-width:880px){ .trust-bar-left{ grid-template-columns:1fr; } }

/* Research: dark "theatre" cinema section + light text */
.research-cinema{ background:var(--deep); padding:56px 0 84px; }
.research-cinema .cinema-eyebrow{ color:var(--forest); }
.research-cinema .cinema-title{ color:#fff; }
.research-cinema .cinema-desc{ color:rgba(255,255,255,.72); }
.research-cinema .cinema-rail-head{ border-top:1px solid rgba(255,255,255,.12); padding-top:30px; margin-top:56px; }
.research-cinema .rail-label{ color:var(--forest); }
.research-cinema .rail-hint{ color:rgba(255,255,255,.55); }
.research-cinema .ep-carousel::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.2); }

/* Episode cards: dark, with a real video thumbnail + play overlay */
.research-cinema .ep-card{ background:rgba(255,255,255,.04); border:1.5px solid rgba(255,255,255,.14); flex:0 0 300px; padding:14px; gap:0; }
.research-cinema .ep-card:hover:not(.coming){ border-color:var(--forest); background:rgba(200,164,78,.1); transform:translateY(-3px); box-shadow:none; }
.research-cinema .ep-card.active{ border-color:var(--forest); background:rgba(200,164,78,.14); box-shadow:inset 0 0 0 1px var(--forest); }
.ep-thumb{ position:relative; display:block; width:100%; aspect-ratio:16/9; border-radius:10px; background:#0c1714 center/cover no-repeat; overflow:hidden; margin-bottom:14px; }
.ep-thumb-play{ position:absolute; inset:0; margin:auto; width:46px; height:46px; border-radius:50%; background:rgba(200,164,78,.95); color:var(--deep); display:flex; align-items:center; justify-content:center; font-size:15px; padding-left:3px; box-shadow:0 4px 16px rgba(0,0,0,.35); transition:transform .2s; }
.ep-card:hover .ep-thumb-play{ transform:scale(1.12); }
.ep-thumb-badge{ position:absolute; bottom:8px; right:8px; background:rgba(0,0,0,.72); color:#fff; font-family:var(--font-mono); font-size:10px; letter-spacing:.5px; padding:3px 7px; border-radius:5px; }
.ep-thumb-soon{ background:linear-gradient(135deg,#1E4D44,#0F2B26); display:flex; align-items:center; justify-content:center; }
.ep-thumb-soon .ep-thumb-badge{ position:static; background:rgba(200,164,78,.18); color:var(--forest); }
.ep-card-body{ display:flex; flex-direction:column; gap:7px; padding:4px 6px 8px; }
.research-cinema .ep-card-num{ font-family:var(--font-mono); font-size:10px; letter-spacing:1.6px; color:var(--forest); }
.research-cinema .ep-card-title{ font-family:var(--font-display); font-style:italic; font-size:17px; line-height:1.2; color:#fff; }
.research-cinema .ep-card-blurb{ font-family:var(--font-body); font-size:12.5px; line-height:1.5; color:rgba(255,255,255,.62); }

/* ==========================================================================
   ROUND 4 — pre-footer trust seal sits on dark (no random white band)
   ========================================================================== */
.hp-cta-seal-wrap{ background:var(--deep); padding:46px 24px; margin-bottom:0; }
.hp-cta-seal-wrap .trust-seal{ background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.16); }
.hp-cta-seal-wrap .ts-logo{ background:var(--frost); border-radius:8px; padding:6px; box-sizing:content-box; }
.hp-cta-seal-wrap .ts-text{ color:#fff; }
.hp-cta-seal-wrap .ts-num{ color:rgba(255,255,255,.62); }
.hp-cta-seal-wrap .ts-divider{ background:var(--forest); opacity:.85; }
.hp-cta-seal-wrap .ts-verify{ color:var(--forest); border-left-color:rgba(255,255,255,.2); }

/* Homepage seal sits inside the light CTA section → keep it light (only the
   full-width pre-footer seals on AI/reviews/legal use the dark band). */
.cta-content .hp-cta-seal-wrap{ background:transparent; padding:0; margin-bottom:28px; }
.cta-content .hp-cta-seal-wrap .trust-seal{ background:var(--bg); border-color:var(--border); }
.cta-content .hp-cta-seal-wrap .ts-logo{ background:transparent; padding:0; }
.cta-content .hp-cta-seal-wrap .ts-text{ color:var(--deep); }
.cta-content .hp-cta-seal-wrap .ts-num{ color:var(--warm-grey); }
.cta-content .hp-cta-seal-wrap .ts-verify{ color:var(--forest); border-left-color:var(--border); }

/* Research hero: dark to flow seamlessly into the dark cinema (no harsh line) */
.research-hero{ background:var(--deep); }
.research-hero .rh-eyebrow{ color:var(--forest); }
.research-hero .rh-title{ color:#fff; }
.research-hero .rh-sub{ color:rgba(255,255,255,.72); }
.research-cinema{ padding-top:8px; }

/* ==========================================================================
   ROUND 5 — trust badges: stack text in a column so stars/text don't overlap
   ========================================================================== */
.trust-badge{ overflow:visible; align-items:center; }
.trust-badge .tb-text{ display:flex; flex-direction:column; gap:5px; min-width:0; }
.trust-badge .tb-logo{ flex-shrink:0; }
.trust-badge .tb-stars{ flex-shrink:0; line-height:1; }
.trust-badge .tb-label{ margin-bottom:0; }
.trust-badge .tb-num{ margin-bottom:0; }
.trust-badge .tb-verify{ width:fit-content; white-space:nowrap; }

/* ==========================================================================
   ROUND 6 — MOBILE polish for the credibility components
   ========================================================================== */

/* Global guard: nothing may force horizontal overflow */
html, body { max-width:100%; overflow-x:hidden; }

/* Scorecard table must scroll inside its own box, never widen the page */
.reg-scorecard{ overflow:hidden; }
.reg-scorecard .container{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
@media (max-width:760px){
  .scorecard-table{ min-width:560px; }
  .scorecard-table th, .scorecard-table td{ padding:14px 14px; }
}

@media (max-width:600px){
  /* tighten oversized section padding for phone */
  .hp-trust-bar{ padding:40px 0; }
  .hp-desk-section{ padding:52px 0; }
  .hp-proof-section{ padding:60px 0; }
  .about-why-regulated{ padding:60px 0; }
  .regulated-by-strip{ padding:40px 0; }
  .ai-ep4-embed{ padding:52px 0; }
  .reviews-both-audited{ padding:52px 0; }
  .reg-why,.reg-asic,.reg-fincen,.reg-scorecard,.reg-verify-steps,.reg-structure,.reg-protection,.reg-faq,.reg-dd-pack{ padding:52px 0; }
  .reg-hero{ padding:72px 0 48px; }
  .reg-closing{ padding:64px 0; }
  .research-hero{ padding:72px 0 28px; }
  .research-cinema{ padding:28px 0 52px; }
  .research-essays{ padding:52px 0; }

  /* gentler gutters */
  .hp-trust-bar .container,.hp-desk-section .container,.hp-proof-section .container,
  .about-why-regulated .container,.ai-ep4-embed .container,.reviews-both-audited .container,
  .reg-page .container,.research-page .container,.research-cinema .container,
  .footer-dark .container{ padding:0 18px; }

  /* section titles a touch smaller so they never crowd the edge */
  .reg-section-title{ margin-bottom:32px; }
  .reg-hero-title{ font-size:38px; line-height:1.08; }
  .reg-hero-sub{ font-size:17px; }

  /* cards: comfortable phone padding */
  .proof-card,.reg-why-card,.protection-card,.ba-card,.structure-card,.vs-card,
  .reg-explainer,.fincen-card{ padding:22px; }
  .trust-badge{ padding:18px 18px; }
  .trust-bar-statement{ font-size:18px; }

  /* Tradiso Desk tiles: single column on phone */
  .desk-thumbs{ grid-template-columns:1fr; gap:12px; }

  /* Trust seal: stack the two halves + verify (no cramped inline row) */
  .trust-seal{ flex-direction:column; align-items:flex-start; gap:14px; padding:18px 20px; }
  .trust-seal .ts-divider{ display:none; }
  .trust-seal .ts-verify{ padding-left:0; border-left:none; }
  .hp-cta-seal-wrap{ padding:36px 18px; }

  /* Regulated-by strip: tighten logo spacing */
  .rb-logos{ gap:26px; }
  .rb-logo img{ width:44px; height:44px; }

  /* Full-width CTAs on phone for easy tapping */
  .reg-hero-ctas, .reg-closing-ctas{ width:100%; flex-direction:column; }
  .reg-hero-ctas .btn, .reg-closing-ctas .btn{ width:100%; justify-content:center; }

  /* FAQ summary a touch smaller */
  .faq-accordion summary{ font-size:16px; }

  /* Episode cards slightly narrower so more peeks in */
  .research-cinema .ep-card{ flex-basis:248px; }
  .cinema-title{ font-size:24px; }

  /* Footer: comfortable on phone */
  .footer-dark{ padding:40px 0 24px; }
  .footer-dark .footer-links{ gap:20px 24px; }
}

@media (max-width:380px){
  .footer-dark .footer-links{ grid-template-columns:1fr; }
  .reg-hero-title{ font-size:33px; }
}

/* ROUND 6b — defensive overflow guards (mobile) */
@media (max-width:760px){
  img{ max-width:100%; height:auto; }
  .reg-info-row{ grid-template-columns:1fr !important; gap:4px; }
  .ri-value, .reg-explainer p, .pp-body, .rwc-body, .vs-body, .ba-desc,
  .cinema-desc, .desk-desc, .why-reg-body, .footer-ar-disclosure{ overflow-wrap:anywhere; }
  .reg-asic-grid, .reg-fincen-grid, .why-reg-grid, .ep4-grid, .trust-bar-grid,
  .reg-why-grid, .verify-steps-grid, .protection-grid, .structure-grid,
  .proof-grid, .ba-grid, .re-articles-grid{ grid-template-columns:1fr !important; }
  .scorecard-table{ table-layout:auto; }
}

/* ROUND 6c — final mobile safety: nothing overflows the viewport */
@media (max-width:600px){
  img, svg, video, iframe, .tradiso-video-frame, .reg-screenshot, .hero-visual, .hero-mockup{ max-width:100%; }
  .hero-visual, .hero-mockup{ overflow:hidden; }
  /* keep the comparison scorecard readable via its own horizontal scroll, but never let it push the page */
  .reg-scorecard > .container{ overflow-x:auto; }
}
