/* Public policy reading surface. Approved document text and route behavior live elsewhere. */
.tc-policy-page{max-width:1180px;margin:0 auto;color:var(--tc-color-text)}
.tc-policy-page .tc-policy-hero{display:flex;align-items:center;justify-content:space-between;gap:var(--tc-space-6);padding:clamp(28px,4vw,52px);border:1px solid var(--tc-color-border-soft);border-radius:var(--tc-radius-card-xl);background:radial-gradient(circle at 92% 8%,#f5e1f4 0,transparent 38%),linear-gradient(125deg,#fff 12%,#f8f1fc 100%);box-shadow:var(--tc-shadow-card,0 14px 40px rgba(47,8,70,.08))}
.tc-policy-page .tc-policy-eyebrow{margin:0 0 var(--tc-space-3);color:var(--tc-color-brand-700);font-size:.75rem;font-weight:var(--tc-fw-extrabold);letter-spacing:.13em;text-transform:uppercase}
.tc-policy-page .tc-policy-hero h1{max-width:790px;margin:0;color:var(--tc-surface-ink-dark);font-size:clamp(2rem,4.5vw,3.5rem);font-weight:var(--tc-fw-extrabold);letter-spacing:-.035em;line-height:1.12;overflow-wrap:anywhere}
.tc-policy-page .tc-policy-version{margin:var(--tc-space-4) 0 0;color:var(--tc-color-text-muted);font-size:.9rem;line-height:1.5}
.tc-policy-page .tc-policy-version span{padding:0 .35em;color:var(--tc-color-brand-700)}
.tc-policy-page .tc-policy-hero__icon{background:var(--tc-gradient-icon-brand);box-shadow:0 12px 24px rgba(106,3,137,.2)}
.tc-policy-page .tc-policy-hero__icon svg{width:34px;height:34px;color:#fff}
.tc-policy-page .tc-policy-tabs{display:flex;flex-wrap:wrap;gap:var(--tc-space-2);margin:var(--tc-space-5) 0}
.tc-policy-page .tc-policy-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 18px;border:1px solid var(--tc-color-border-soft);border-radius:999px;background:#fff;color:var(--tc-color-brand-900);font-size:.9rem;font-weight:var(--tc-fw-semibold);text-decoration:none;transition:background .2s,color .2s,box-shadow .2s,transform .2s}
.tc-policy-page .tc-policy-tabs a[aria-current=page]{border-color:transparent;background:var(--tc-gradient-button-brand);color:#fff;box-shadow:0 8px 20px rgba(106,3,137,.18)}
.tc-policy-page .tc-policy-tabs a:hover:not([aria-current=page]){border-color:transparent;background:var(--tc-gradient-button-brand);color:#fff;transform:translateY(-2px)}
.tc-policy-page .tc-policy-layout{display:grid;grid-template-columns:minmax(220px,272px) minmax(0,1fr);align-items:start;gap:var(--tc-space-5);margin:0 0 var(--tc-space-8)}
.tc-policy-page .tc-policy-aside,.tc-policy-page .tc-policy-content{border:1px solid var(--tc-color-border-soft);border-radius:var(--tc-radius-card-xl);background:#fff;box-shadow:var(--tc-shadow-card,0 10px 28px rgba(44,12,61,.06))}
.tc-policy-page .tc-policy-aside{position:sticky;top:96px;padding:var(--tc-space-5)}
.tc-policy-page .tc-policy-aside__title{display:flex;align-items:center;gap:var(--tc-space-3);margin:0 0 var(--tc-space-4)}
.tc-policy-page .tc-policy-aside__icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border-radius:var(--tc-radius-icon);background:var(--tc-gradient-icon-brand);color:#fff}
.tc-policy-page .tc-policy-aside__icon svg{width:23px;height:23px}
.tc-policy-page .tc-policy-aside__title h2{margin:0;color:var(--tc-surface-ink-dark);font-size:1rem;line-height:1.3}
.tc-policy-page .tc-policy-section-nav{display:grid;gap:2px;max-height:min(57vh,500px);overflow-y:auto;scrollbar-color:#d4b6e4 transparent}
.tc-policy-page .tc-policy-section-nav a{display:block;padding:9px 11px;border-radius:10px;color:var(--tc-color-text-muted);font-size:.84rem;font-weight:var(--tc-fw-medium);line-height:1.4;text-decoration:none;overflow-wrap:anywhere}
.tc-policy-page .tc-policy-section-nav a:hover{background:var(--tc-surface-brand-soft);color:var(--tc-color-brand-900)}
.tc-policy-page .tc-policy-aside__help{margin-top:var(--tc-space-4);padding-top:var(--tc-space-4);border-top:1px solid var(--tc-color-border-soft)}
.tc-policy-page .tc-policy-aside__help a{display:inline-flex;align-items:center;gap:6px;color:var(--tc-color-brand-700);font-size:.85rem;font-weight:var(--tc-fw-bold);text-decoration:none}
.tc-policy-page .tc-policy-aside__help span{font-size:1rem}
.tc-policy-page .tc-policy-content{min-width:0;padding:clamp(24px,4vw,52px);font-size:1rem;line-height:1.76}
.tc-policy-page .tc-policy-content h2,.tc-policy-page .tc-policy-content h3{max-width:70ch;color:var(--tc-surface-ink-dark);font-weight:var(--tc-fw-bold);line-height:1.3;scroll-margin-top:104px;overflow-wrap:anywhere}
.tc-policy-page .tc-policy-content h2{margin:var(--tc-space-7) 0 var(--tc-space-4);padding-bottom:var(--tc-space-3);border-bottom:1px solid var(--tc-color-border-soft);font-size:clamp(1.25rem,2vw,1.55rem)}
.tc-policy-page .tc-policy-content h2:first-child{margin-top:0}
.tc-policy-page .tc-policy-content h3{margin:var(--tc-space-5) 0 var(--tc-space-3);font-size:1.14rem}
.tc-policy-page .tc-policy-content p,.tc-policy-page .tc-policy-content li{max-width:77ch;color:#465166;overflow-wrap:anywhere}
.tc-policy-page .tc-policy-content p{margin:0 0 var(--tc-space-4)}
.tc-policy-page .tc-policy-content ul{margin:0 0 var(--tc-space-4);padding-left:1.4em}
.tc-policy-page .tc-policy-content li{padding-left:.2em}
.tc-policy-page .tc-policy-content li+li{margin-top:var(--tc-space-2)}
.tc-policy-page .tc-policy-content li::marker{color:var(--tc-color-brand-700)}
.tc-policy-page .tc-policy-content :is(h2,h3):target{border-radius:8px;background:var(--tc-color-primary-subtle)}
.tc-policy-page .tc-policy-anchor{display:block;position:relative;scroll-margin-top:104px}
.tc-policy-page :is(a):focus-visible{outline:2px solid var(--tc-color-focus);outline-offset:3px}
@media(max-width:900px){.tc-policy-page .tc-policy-layout{grid-template-columns:1fr}.tc-policy-page .tc-policy-aside{position:static}.tc-policy-page .tc-policy-section-nav{grid-template-columns:repeat(2,minmax(0,1fr));max-height:210px}.tc-policy-page .tc-policy-content{padding:clamp(24px,5vw,36px)}}
@media(max-width:600px){.tc-policy-page .tc-policy-hero{padding:28px 24px}.tc-policy-page .tc-policy-hero__icon{display:none}.tc-policy-page .tc-policy-tabs{gap:6px;margin:20px 0}.tc-policy-page .tc-policy-tabs a{flex:1 1 calc(50% - 6px)}.tc-policy-page .tc-policy-aside{padding:20px}.tc-policy-page .tc-policy-section-nav{grid-template-columns:1fr;max-height:170px}.tc-policy-page .tc-policy-content{font-size:.96rem;line-height:1.72}.tc-policy-page .tc-policy-content h2{margin-top:32px}}
@media(prefers-reduced-motion:reduce){.tc-policy-page .tc-policy-tabs a{transition:none}.tc-policy-page .tc-policy-tabs a:hover{transform:none}}
