/* M630 — /tcf-canada. Theme tokens only (works in all 7 themes). */
.tc-wrap { max-width: 1080px; padding-bottom: var(--space-12, 3rem); box-sizing: border-box; }
.tc-wrap *, .tc-wrap *::before, .tc-wrap *::after { box-sizing: border-box; }
.tc-kicker { margin: 0 0 .7rem; font-weight: 700; font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; color: var(--accent-text, var(--text)); }
.tc-hero h1 { margin: 0 0 .9rem; font-family: var(--font-display, 'Playfair Display', serif); font-size: clamp(1.7rem, 5.5vw, 2.9rem); line-height: 1.15; color: var(--text); }
.tc-hl { color: var(--accent-text, var(--text)); }
.tc-lead { margin: 0 0 1.3rem; max-width: 62ch; font-size: 1.06rem; line-height: 1.6; color: var(--text); }
.tc-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.tc-btn:focus-visible, .tc-faq summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.tc-disclaimer { margin-top: 1.4rem; padding: .9rem 1rem; border-left: 4px solid var(--accent); color: var(--text); font-size: .95rem; line-height: 1.55; }
.tc-disclaimer strong { display: block; margin-bottom: .25rem; }
.tc-section { margin-top: var(--space-10, 2.5rem); }
.tc-section h2 { margin: 0 0 .4rem; font-family: var(--font-display, 'Playfair Display', serif); font-size: clamp(1.35rem, 4vw, 1.8rem); color: var(--text); }
.tc-sub { margin: 0 0 1rem; color: var(--text-muted); }
.tc-grid { display: grid; gap: 1rem; }
.tc-grid-2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.tc-grid-3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.tc-card { padding: 1.2rem; color: var(--text); }
.tc-card h3 { margin: 0 0 .35rem; font-size: 1.1rem; color: var(--text); }
.tc-card p { margin: 0; line-height: 1.55; color: var(--text-muted); }
.tc-card a { color: var(--accent-text, var(--text)); }
.tc-meta { font-size: .9rem; margin-bottom: .6rem !important; }
.tc-list { margin: .4rem 0 .8rem; padding-left: 1.1rem; line-height: 1.7; color: var(--text); }
.tc-src { font-weight: 600; font-size: .92rem; }
.tc-note { margin-top: 1rem; }
.tc-note p { margin-bottom: .6rem; }
.tc-ico { font-size: 1.6rem; margin-bottom: .3rem !important; }
.tc-cta { margin-top: 1.4rem; padding: 1.2rem; }
.tc-cta p { margin: 0 0 .8rem; color: var(--text); font-weight: 600; }
.tc-faq { margin-bottom: .6rem; }
.tc-faq summary { cursor: pointer; padding: .9rem 1rem; min-height: 44px; font-weight: 700; color: var(--text); }
.tc-faq p { margin: 0; padding: 0 1rem 1rem; line-height: 1.6; color: var(--text-muted); }
.tc-faq a { color: var(--accent-text, var(--text)); }
