/* Cookie policy (prefix cp-). Family template in fam-legal.css. */
.cp-hero { --lg-h1: clamp(2rem, 1rem + 2vw, 2.5rem); --lg-lead: .94rem; --lg-lead-w: 31rem; --lg-hx: 12.6vw; --lg-hero-pad: .4rem .65rem; --sc-right: 12%; --sc-h: 132%; --sc-top: -16%; --lg-pt: 9.8rem; }
.cp-hero .breadcrumb { font-size: .92rem; }
.cp-hero .hero__note { right: 4%; top: .6rem; }
/* Desktop-only compact hero points (phones keep the readable family sizes) */
@media (min-width: 1101px) {
  .cp-hero .lg-points { max-width: 42rem; gap: .5rem .8rem; }
  .cp-hero .lg-points li { font-size: max(.62rem, 16px) /* rt-1019 */; }
  .cp-hero .lg-points strong { font-size: .66rem; }
  .cp-hero .lg-points .ib { --s: 31px; }
}
.cp-grid { --lg-w: min(72vw, 1200px); --lg-aside: 272px; --lg-gap: .85rem; --lg-pad: .65rem .9rem; }
.cp-items { --lg-item-gap: .4rem; }
.cp-item { padding: .45rem .9rem .5rem .55rem; gap: .9rem; box-shadow: none; }
.cp-item > .ib { --s: 42px; margin-top: .05rem; }
.cp-item h2 { font-size: .98rem; margin-bottom: .05rem; }
.cp-item p { font-size: max(.7rem, 16px) /* rt-1019 */; line-height: 1.34; }
.cp-types { list-style: none; margin: .45rem 0 .1rem; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .3rem; }
.cp-type { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .25rem .45rem; align-items: center; padding: .5rem .45rem .6rem; border-radius: 6px; background: var(--bg-green); }
.cp-type .ib { --s: 28px; }
.cp-type > div { display: contents; }
.cp-type h3 { font-size: .74rem; margin: 0; }
.cp-type p { grid-column: 1 / -1; }
.cp-type p { font-size: max(.64rem, 16px) !important /* rt-1019 */; line-height: 1.38; }
.cp-type--blue { background: #eef4fd; }
.cp-type--purple { background: #f5effd; }
.cp-type--orange { background: #fff4ea; }
.cp-checks { margin-top: .25rem; gap: .18rem; }
.cp-checks li { font-size: max(.72rem, 16px) /* rt-1019 */; padding-left: 1.45rem; }
.cp-checks li::before { width: .95rem; height: .95rem; }
.cp-checks strong { color: var(--ink); }
.cp-mail { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem 1.5rem; margin-top: .2rem !important; }
.cp-mail .icon { color: var(--navy-800); }
.cp-mail a { color: var(--ink); text-decoration: none; font-weight: 500; }
.cp-mail a:hover { text-decoration: underline; }
/* Sidebar */
.cp-grid .lg-aside { gap: .55rem; }
.cp-grid .lg-box { padding: .7rem .8rem; }
.cp-grid .lg-box h2 { font-size: .92rem; margin-bottom: .05rem; }
.cp-grid .lg-box p { font-size: max(.68rem, 16px) /* rt-1019 */; }
.cp-grid .lg-box .btn { margin-top: .5rem; min-height: 32px; font-size: .74rem; }
.cp-grid .ib--sm { --s: 30px; }
.cp-head { display: flex; align-items: center; gap: .75rem; margin-bottom: .2rem; }
.cp-head h2 { margin: 0 !important; }
.cp-toc .lg-glyph { width: 22px; height: 24px; }
.cp-toc .toc li { border: 0; }
.cp-toc .toc a { padding: .08rem 0; font-size: .72rem; }
.cp-kit__top { display: grid; grid-template-columns: minmax(0, 1fr) 72px; gap: .5rem; align-items: start; }
.cp-kit .lg-glyph { width: 30px; height: 30px; }
.cp-ebook { --w: 72px; transform: perspective(600px) rotateY(-10deg) rotate(4deg); }
.cp-ebook .ebook__brand { font-size: .34rem; margin-top: .35rem; padding: .12rem .25rem; }
.cp-ebook .ebook__brand img { width: 10px; }
.cp-ebook .ebook__title { font-size: .5rem; margin: .3rem .3rem 0; }
.cp-kit .form-inline input, .cp-kit .form-inline .btn { min-height: 34px !important; font-size: .72rem; }
.cp-kit .form-inline .btn { margin-top: 0 !important; }
.cp-kit .lg-ticks { font-size: .64rem; gap: .2rem .55rem; }
.cp-kit .lg-ticks .icon { width: .9rem; height: .9rem; }
.cp-grid ~ .lg-cta { --lg-cta-w: 900px; }

@media (max-width: 1100px) {
  .cp-types { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .cp-types { grid-template-columns: minmax(0, 1fr); }
  .cp-item > .ib { --s: 36px; }
}

/* Density pass: same text sizes, recovered height through width, spacing and paddings matched to the design */
.cp-grid { --lg-w: min(76vw, 1260px); --lg-pad: .4rem .55rem; --lg-gap: .75rem; }
.cp-items { --lg-item-gap: .25rem; }
.cp-item { padding: .28rem .8rem .32rem .5rem; gap: .8rem; }
.cp-item h2 { line-height: 1.12; margin-bottom: .02rem; }
.cp-item p { line-height: 1.3; }
.cp-types { margin: .3rem 0 0; }
.cp-type { padding: .35rem .4rem .4rem; gap: .2rem .4rem; }
.cp-type p { line-height: 1.3; }
.cp-checks { gap: .08rem; margin-top: .15rem; }
.cp-checks li { line-height: 1.3; }
.cp-grid .lg-note { margin-bottom: .25rem; }
.cp-grid .lg-aside { gap: .4rem; }
.cp-grid .lg-box { padding: .5rem .7rem; }
.cp-grid .lg-box .btn { margin-top: .35rem; }
.cp-toc .toc a { padding: 0; line-height: 1.28; }
.cp-kit .form-inline { margin-top: .4rem; }
.cp-kit .lg-ticks { margin-top: .35rem; }
.cp-grid ~ .lg-cta .cta-band__inner { padding-block: .35rem; }
.cp-grid ~ .lg-cta .cta-band__copy { max-width: 36rem; }
.cp-grid ~ .lg-trust .trust-strip__inner { padding-block: .25rem; }
@media (min-width: 1101px) {
  .cp-hero { --lg-hero-pad: .25rem .5rem; }
  .cp-hero .lg-points { margin-top: .5rem; max-width: none; }
  .cp-hero .lg-points li { flex: 0 0 auto; max-width: 11.5rem; }
  .cp-hero .lg-points strong { white-space: nowrap; }
}
.cp-grid { --lg-aside: 290px; }
.cp-hero { --sc-top: -9%; --sc-h: 128%; --sc-right: 13%; }
.lg-scene--cp { --st: 3.9cqw; }
.cp-hero { --sc-top: -7%; --sc-h: 122%; --sc-right: 10%; }
