/* Long policy documents: generous page width, bounded reading measure. */
.ca-page-privacy .ca-gallery-hero,.ca-page-terms .ca-gallery-hero,.ca-page-placement-policy .ca-gallery-hero,.ca-page-advertising-policy .ca-gallery-hero{display:none}
.ca-policy-heading.ca-wrap,.ca-policy-summary.ca-wrap,.ca-policy-layout.ca-wrap{width:calc(100% - clamp(32px,6vw,112px));max-width:1500px}
.ca-policy-heading{padding-block:68px 36px}
.ca-policy-heading h1{font-size:clamp(36px,4.5vw,66px);margin:18px 0 24px;max-width:20ch}
.ca-policy-lead{font-size:clamp(17px,1.5vw,21px);line-height:1.7;max-width:68ch;color:#c5d3e4}
.ca-policy-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:28px;font-size:12px;color:#b7cbe0}
.ca-policy-meta>span:first-child{padding:5px 12px;border:1px solid #a4c4e44a;border-radius:999px;background:#bddbff0a;color:#dfebf7}
.ca-policy-meta a,.ca-policy-content a:not(.ca-button),.ca-policy-help{text-decoration:underline;text-underline-offset:4px}
.ca-policy-status{margin-top:20px;padding-left:16px;border-left:2px solid #7699bd;max-width:90ch;font-size:13px;line-height:1.8}
.ca-policy-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:48px}
.ca-policy-summary>div{padding:24px;border:1px solid var(--ca-line);border-radius:10px;background:#132d45}
.ca-policy-summary>div>span{font:12px/1.5 ui-monospace,monospace;color:#86b8e7}
.ca-policy-summary p{font-size:15px;line-height:1.7;color:#d8e3ef;margin-top:12px}
.ca-policy-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(32px,5vw,88px);align-items:start;padding-bottom:80px}
.ca-policy-nav{position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;padding:22px 18px;border:1px solid var(--ca-line);border-radius:10px;background:#10263c}
.ca-policy-nav h2{font-size:16px;letter-spacing:0;margin:0 0 16px}
.ca-policy-nav ol{margin:0;padding-left:26px;color:#9ab5d1}
.ca-policy-nav li{font-size:13px;line-height:1.6;padding:0 0 4px 5px}
.ca-policy-nav li::marker{font-size:11px}
.ca-policy-nav li a{display:block;padding:5px 0;color:#d3deec;overflow-wrap:anywhere}
.ca-policy-nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.ca-policy-help{display:inline-block;font-size:13px;margin-top:18px}
.ca-policy-content{min-width:0;max-width:88ch}
.ca-policy-section{scroll-margin-top:32px;padding:0 0 34px;margin-bottom:34px;border-bottom:1px solid var(--ca-line)}
.ca-policy-section h2{display:flex;gap:16px;align-items:baseline;font-size:clamp(23px,2vw,29px);line-height:1.3;letter-spacing:-.025em;margin:0 0 22px}
.ca-policy-section h2>span{flex:none;font:12px/1.5 ui-monospace,monospace;color:#86b8e7;letter-spacing:0}
.ca-policy-section p,.ca-policy-section li{font-size:16px;line-height:1.9;color:#becde0;overflow-wrap:anywhere}
.ca-policy-section p+p{margin-top:18px}
.ca-policy-section ul{margin:22px 0 0;padding-left:24px}
.ca-policy-section li{padding-left:5px;margin-bottom:12px}
.ca-policy-section li::marker{color:#8fbce6}
.ca-policy-sources,.ca-policy-related{padding:26px;border:1px solid var(--ca-line);border-radius:10px;margin-bottom:28px;background:#10263c}
.ca-policy-sources h2,.ca-policy-related h2{font-size:20px;line-height:1.4;letter-spacing:-.015em;margin-bottom:18px}
.ca-policy-sources ul{padding-left:20px;margin:0}
.ca-policy-sources li{font-size:14px;line-height:1.8;margin-top:8px}
.ca-policy-related>div{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:14px}
.ca-policy-contact p{font-size:15px;line-height:1.8;margin-bottom:22px;max-width:65ch}
.ca-policy-contact .ca-text-link{margin-left:20px;font-size:13px}
@media(max-width:1000px){
 .ca-policy-layout{grid-template-columns:minmax(0,1fr);gap:36px}
 .ca-policy-nav{position:static;max-height:none}
 .ca-policy-nav ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
 .ca-policy-content{max-width:none}
}
@media(max-width:600px){
 .ca-policy-heading{padding-block:42px 28px}
 .ca-policy-heading h1{font-size:36px}
 .ca-policy-summary{grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:28px}
 .ca-policy-summary>div{padding:18px;display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:baseline}
 .ca-policy-summary p{margin:0;font-size:14px}
 .ca-policy-nav ol{grid-template-columns:minmax(0,1fr)}
 .ca-policy-section h2{font-size:23px;gap:12px}
 .ca-policy-section p,.ca-policy-section li{font-size:15px;line-height:1.85}
 .ca-policy-sources,.ca-policy-related{padding:20px}
 .ca-policy-contact .ca-text-link{display:block;margin:20px 0 0}
}
@media print{
 .ca-header,.ca-footer,.ca-creative-gallery,.ca-policy-nav,.ca-policy-contact{display:none!important}
 body.ca-public{background:white;color:black}
 .ca-policy-heading.ca-wrap,.ca-policy-summary.ca-wrap,.ca-policy-layout.ca-wrap{width:100%;max-width:none}
 .ca-policy-layout{display:block;padding:0}
 .ca-policy-heading{padding-top:0}
 .ca-policy-content{max-width:none}
 .ca-policy-section{break-inside:auto}
 .ca-policy-section h2{break-after:avoid}
 .ca-policy-heading p,.ca-policy-section p,.ca-policy-section li,.ca-policy-summary p,.ca-policy-meta,.ca-policy-section h2>span{color:#222}
 .ca-policy-summary>div,.ca-policy-related,.ca-policy-sources{background:white;border-color:#bbb}
 .ca-policy-meta>span:first-child{color:black;border-color:#777}
}

/* Justify continuous terms prose when the reading column is wide enough. */
@media(min-width:761px){.ca-page-terms .ca-policy-section p{text-align:justify;text-justify:inter-word;hyphens:auto}}
@media print{.ca-page-terms .ca-policy-section p{text-align:justify;hyphens:auto}}

/* Each related document has one distinct purpose. */
.ca-policy-related>div{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.ca-policy-related>div>a{display:block;padding:15px 0;text-decoration:none!important;border-top:1px solid var(--ca-line)}
.ca-policy-related strong{font-weight:500;text-decoration:underline;text-underline-offset:4px}
.ca-policy-related span{display:block;color:var(--ca-muted);font-size:13px;line-height:1.6;margin-top:6px}
