.cm-policy { max-width: 1080px; margin: 0 auto; padding: clamp(34px, 6vw, 86px) 0; color: #161616; }
.cm-policy__hero { padding-bottom: clamp(34px, 5vw, 66px); border-bottom: 1px solid rgba(22,22,22,.2); }
.cm-policy__kicker { margin: 0 0 16px; font-size: 11px; line-height: 1.2; letter-spacing: .13em; text-transform: uppercase; font-weight: 700; }
.cm-policy__hero h1 { margin: 0; font-size: clamp(58px, 9vw, 124px); line-height: .86; letter-spacing: -.055em; }
.cm-policy__hero > p:not(.cm-policy__kicker) { max-width: 58ch; margin: 26px 0 0; font-family: Georgia, serif; font-size: clamp(18px, 2vw, 23px); line-height: 1.52; }
.cm-policy__hero small { display: block; margin-top: 18px; font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.cm-policy section { display: grid; grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr); gap: clamp(28px, 6vw, 84px); padding: clamp(32px, 5vw, 62px) 0; border-bottom: 1px solid rgba(22,22,22,.16); }
.cm-policy section > h2 { margin: 0; font-size: clamp(26px, 3.4vw, 44px); line-height: .98; letter-spacing: -.035em; }
.cm-policy section > :not(h2) { grid-column: 2; }
.cm-policy section > p { margin: 0 0 1em; max-width: 70ch; font-family: Georgia, serif; font-size: 17px; line-height: 1.65; }
.cm-policy section > p:last-child { margin-bottom: 0; }
.cm-policy ul { margin: 0; padding-left: 20px; line-height: 1.6; }
.cm-policy__facts { list-style: none; padding: 0 !important; border-top: 1px solid rgba(22,22,22,.16); }
.cm-policy__facts li { display: grid; grid-template-columns: 150px 1fr; gap: 20px; padding: 10px 0; border-bottom: 1px solid rgba(22,22,22,.16); }
.cm-policy__categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: rgba(22,22,22,.16); border: 1px solid rgba(22,22,22,.16); }
.cm-policy__categories article { background: #F4F1EA; padding: 20px; }
.cm-policy__categories h3 { margin: 0 0 8px; font-size: 22px; }
.cm-policy__categories p { margin: 0; font-size: 14px; line-height: 1.5; }
.cm-policy__table-wrap { overflow-x: auto; }
.cm-policy table { width: 100%; min-width: 700px; border-collapse: collapse; font-size: 13px; }
.cm-policy th, .cm-policy td { padding: 11px 10px; border-bottom: 1px solid rgba(22,22,22,.16); text-align: left; vertical-align: top; }
.cm-policy th { font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.cm-policy a { color: inherit; text-underline-offset: 3px; }
.cm-policy__cookie-button { padding: 0; border: 0; background: transparent; color: #F04A32; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cm-policy__footer { padding-top: 34px; }
.cm-policy__footer a { display: inline-block; font-weight: 700; text-decoration: none; }

@media (max-width: 760px) {
  .cm-policy section { grid-template-columns: 1fr; gap: 20px; }
  .cm-policy section > :not(h2) { grid-column: 1; }
  .cm-policy__categories { grid-template-columns: 1fr; }
  .cm-policy__facts li { grid-template-columns: 1fr; gap: 4px; }
}
