.owner-card { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:28px; margin:24px 0; background:var(--bg-1); border:1px solid var(--line); border-radius:var(--r-lg); }
.owner-card > div { min-width:0; max-width:65ch; }
.owner-card p { margin:0; font-size:15px; line-height:1.65; color:var(--ink-2); }
.owner-card .owner-label { font-size:18px; font-weight:600; color:var(--ink); margin-bottom:8px; }
.owner-card .btn { flex-shrink:0; text-align:center; }
.assurance-actions .btn { max-width:100%; white-space:normal; text-align:center; }
.assurance-actions { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0; }
.legal-container .btn, .about-main .btn { color:var(--ink); text-decoration:none; }
.legal-container .btn-primary { color:var(--bg-1); }
.assurance-note { border:1px solid var(--line); border-radius:var(--r-md); padding:20px; margin-bottom:28px; background:var(--bg-1); }
.assurance-table { margin:20px 0; }
.assurance-table .tk-table { min-width:580px; }
.assurance-table th { text-align:left; white-space:normal; }
.assurance-table .tk-table td { white-space:normal; vertical-align:top; line-height:1.65; }
.assurance-table caption { text-align:left; padding:16px; font-weight:600; color:var(--ink); }
.assurance-table a { text-decoration:underline; text-underline-offset:3px; }
.legal-container a:focus-visible, .owner-card a:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
@media(max-width:720px) { .owner-card { flex-direction:column; align-items:flex-start; padding:22px; } .owner-card .btn { flex-shrink:1; white-space:normal; } }

.owner-card .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.assurance-table .tk-table th[scope="row"], .plan-comparison .tk-table th[scope="row"] { padding:13px 14px; vertical-align:top; font-weight:500; line-height:1.65; }
