/* Shared presentation for public information pages; uses the public type/link tokens. */
.tb-policy { padding:28px 0 48px; color:var(--tb-link-dark); }
.tb-policy-hero { position:relative; min-height:285px; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr); overflow:hidden; border-radius:18px; background:radial-gradient(circle at 84% 12%,rgba(255,64,88,.26),transparent 31%),linear-gradient(116deg,#07162b 0%,#0b1b34 58%,#68172d 100%); box-shadow:0 18px 42px rgba(7,22,43,.13); color:white; }
.tb-policy-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:34px 38px; }
.tb-policy-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 12px; color:var(--tb-link-muted); font-size:var(--tb-size-ui); }
.tb-policy-description { max-width:780px; margin:12px 0 0; color:#d1dbe8; }
.tb-policy-label { display:flex; align-items:center; gap:10px; color:#ff5b72; font-size:var(--tb-size-ui); font-weight:var(--tb-weight-semibold); letter-spacing:.06em; }
.tb-public .tb-policy-hero h1 { margin:8px 0 0; max-width:850px; font-size:var(--tb-size-h1); line-height:var(--tb-leading-heading); font-weight:var(--tb-weight-bold); }
.tb-public .tb-policy-updated { margin:16px 0 0; color:#c0cddd; font-size:var(--tb-size-meta); }
.tb-policy-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:28px; align-items:start; margin-top:26px; }
.tb-policy-body,.tb-policy-nav { min-width:0; background:white; border:1px solid #e0e6ee; border-radius:15px; box-shadow:0 5px 20px rgba(12,26,48,.035); }
.tb-policy-body { grid-column:1; grid-row:1; padding:32px; overflow-wrap:anywhere; }
.tb-policy-body > :first-child { margin-top:0; }
.tb-policy-body > :last-child { margin-bottom:0; }
.tb-policy-body p,.tb-policy-body ul { margin-bottom:1.25em; }
.tb-public .tb-policy-body h2 { margin:30px 0 14px; padding-top:24px; border-top:1px solid #edf0f5; font-size:var(--tb-size-h2); line-height:var(--tb-leading-heading); font-weight:var(--tb-weight-semibold); scroll-margin-top:110px; }
.tb-public .tb-policy-body h3 { margin:24px 0 12px; font-size:var(--tb-size-h3); line-height:var(--tb-leading-subheading); font-weight:var(--tb-weight-semibold); }
.tb-policy-body ul { padding-left:24px; }
.tb-policy-body li { margin-bottom:8px; }
.tb-policy-body li::marker { color:var(--tb-link-accent); }
.tb-public .tb-policy-stored span { font-size:inherit !important; }
.tb-policy-stored li p { margin-bottom:0; }
.tb-policy-stored hr { border:0; margin:0; }
.tb-policy-nav { grid-column:2; padding:24px; }
.tb-public .tb-policy-nav h2 { margin:0 0 16px; font-size:var(--tb-size-sidebar); line-height:var(--tb-leading-sidebar); }
.tb-policy-nav ol { list-style:none; padding:0; margin:0; }
.tb-policy-nav li + li { border-top:1px solid #edf0f5; }
.tb-policy-nav a { display:block; padding:12px 0; font-size:var(--tb-size-ui); line-height:var(--tb-leading-ui); }
.tb-policy-art { position:relative; min-height:285px; }
.tb-policy-art-card { position:absolute; right:92px; top:43px; width:158px; height:206px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; border:1px solid #637086; border-radius:20px; transform:rotate(8deg); background:linear-gradient(145deg,#18243b,#081426); box-shadow:0 20px 32px rgba(0,0,0,.3); color:#ff7589; }
.tb-policy-art-card > i { color:#ff4058; font-size:var(--tb-size-h1); }
.tb-policy-art-card strong { font-size:var(--tb-size-h2); line-height:var(--tb-leading-heading); text-align:center; }
@media (max-width:991.98px) { .tb-policy-hero { grid-template-columns:minmax(0,1fr); } .tb-policy-art { display:none; } }
@media (min-width:1200px) { .content > .container:has(> main > .tb-policy) { width:calc(100% - 64px); max-width:1480px !important; } }
@media (max-width:991.98px) { .tb-policy-layout { grid-template-columns:minmax(0,1fr); } .tb-policy-nav,.tb-policy-body { grid-column:1; grid-row:auto; } .tb-policy-nav ol { display:flex; flex-wrap:wrap; gap:8px 20px; } .tb-policy-nav li + li { border:0; } .tb-policy-nav a { padding:4px 0; } }
@media (max-width:575.98px) { .tb-policy { padding:16px 0 32px; } .tb-policy-hero { min-height:0; } .tb-policy-hero-copy { padding:28px 22px; } .tb-policy-layout { margin-top:20px; gap:20px; } .tb-policy-body,.tb-policy-nav { padding:22px 18px; } .tb-policy-label { letter-spacing:0; } }
