.kw26-legal-page .kw26-header{height:101px;background:#f6f6ff;border-bottom:1px solid #e7e4ee}
/* No min-height. 2170 was the height of the policy section on Figma 353:3484, but that board draws
   exactly one page: its body is a single 1883px text block ending at y=2232, with the footer at
   2271, so the designed gap under the last line is the 39px padding-bottom below — the 2170 was
   just where that particular sample text happened to end. The eight real pages run from 5 to 27
   blocks, so a fixed floor stranded the short ones: Affiliate Disclosure and Data Copyright left
   about 1490px of white above the footer, Governing Law 1141px, Disclaimer 561px. Only the two
   pages longer than the floor ever showed the designed 39px. Dropping the floor makes every page
   content-driven and keeps the long ones pixel-identical to the board. No viewport-based floor is
   needed either: the footer alone is 499px tall, so even the shortest page is taller than the fold
   and the footer can never float mid-screen. */
.kw26-policy{padding:68px 0 39px;background:#fff;color:#000}
.kw26-policy-header{text-align:center}
.kw26-policy-header h1{margin:0;font-size:48px;font-weight:600;line-height:58px;letter-spacing:0}
.kw26-policy-header p{margin:19px 0 0;font-size:20px;font-weight:400;line-height:30px;white-space:normal}
.kw26-policy-content{width:996px;margin:73px auto 0;color:#000;font-size:16px;font-weight:400;line-height:30px}
.kw26-policy-content p{margin:0 0 30px;line-height:30px}
.kw26-policy-content p:last-child{margin-bottom:0}
.kw26-policy-content b,.kw26-policy-content strong{font-weight:700}
.kw26-policy-content a{color:#000;text-decoration:none}
.kw26-policy-content p:has(> b:only-child),.kw26-policy-content p:has(> strong:only-child){margin-bottom:0}
/* No negative top margin here. Tightening a bold sub-heading against the block beneath it is
   already done by the p:has(> b:only-child) rule above, which zeroes the heading's own bottom
   margin. Doing it a second time with margin-top:-30px overshot by exactly one 30px line, so every
   .paragraph block was drawn on top of its heading. It only showed in browsers that support :has()
   — which is all current ones; a browser without :has() kept the heading's 30px and the -30 merely
   cancelled it, which is why the hack looked correct when it was written.
   The negative margin was fragile anyway: it hard-coded the 30px it was cancelling, so at 1100 and
   below, where p drops to margin-bottom:24px, it already over-pulled by 6px. */
.kw26-policy-content .paragraph{margin:0 0 30px;padding-left:0}
.kw26-policy-content .paragraph p{margin:0}
.kw26-legal-page .kw26-footer{height:499px;min-height:499px}
.kw26-legal-page .kw26-legal{gap:0}
.kw26-legal-page .kw26-legal a{line-height:40px}
@media(max-width:1100px){.kw26-policy-content{width:calc(100% - 56px)}}
@media(max-width:760px){.kw26-legal-page .kw26-header{height:72px}.kw26-policy{min-height:0;padding:48px 20px 80px}.kw26-policy-header h1{font-size:36px;line-height:44px}.kw26-policy-header p{margin-top:16px;font-size:16px;line-height:26px}.kw26-policy-content{width:100%;margin-top:52px;font-size:15px;line-height:28px}.kw26-policy-content p{margin-bottom:24px;line-height:28px}.kw26-legal-page .kw26-footer{height:auto;min-height:0}}
/* Type spec (2026-08-07): title 48, effective date 20, body 16 at 1.8x. */
.kw26-policy-header h1{font-size:48px;line-height:1.2}
.kw26-policy-header p{font-size:20px;line-height:1.5}
.kw26-policy-content,.kw26-policy-content p{font-size:16px;line-height:1.8}
@media(max-width:1100px){
 .kw26-policy-header h1{font-size:40px}
}
@media(max-width:760px){
 .kw26-policy-header h1{font-size:32px}
 .kw26-policy-header p{font-size:17px}
 .kw26-policy-content,.kw26-policy-content p{font-size:15px;line-height:1.8}
}