:root{--night:#1B1420;--plum:#2A1D2E;--wine:#8C1D3F;--wine-dark:#6E1531;--rose:#E7B9B0;--blush:#F7E6E1;--cream:#FBF7F3;--ink:#221A24;--stone:#5F5560;--gold:#D9A35B;--line:#E9DCD6;--white:#FFFFFF}
.cmf *{box-sizing:border-box}
body{margin:0;background:var(--cream)}
.cmf{background:var(--cream);color:var(--ink);font-family:"Manrope",Arial,sans-serif;font-size:18px;line-height:1.65;overflow-x:clip}
.cmf h1,.cmf h2,.cmf h3{font-family:"DM Serif Display",Georgia,serif;font-weight:400;line-height:1.12;margin:0 0 .5em;letter-spacing:-.01em}
.cmf h1{font-size:clamp(2.3rem,5vw,3.6rem)}
.cmf h2{font-size:clamp(1.8rem,3.4vw,2.5rem)}
.cmf h3{font-size:1.35rem}
.cmf p{margin:0 0 1em}
.cmf a{color:var(--wine)}
.cmf .wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.cmf .btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;font-weight:800;font-size:1rem;text-decoration:none;border:2px solid transparent;line-height:1.2;text-align:center;font-family:inherit}
.cmf .btn-primary{background:var(--wine);color:var(--white)}
.cmf .btn-primary:hover,.cmf .btn-primary:focus-visible{background:var(--wine-dark);outline:3px solid var(--gold);outline-offset:2px}
.cmf .btn-ghost{background:transparent;color:inherit;border-color:currentColor}
.cmf .btn-ghost:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.cmf .btn-big{min-height:58px;font-size:1.08rem;padding:0 34px}
.cmf .eyebrow{font-weight:800;color:var(--gold);letter-spacing:.12em;font-size:.78rem;text-transform:uppercase;margin-bottom:14px}
.cmf .muted{font-size:.88rem;opacity:.85}
/* header */
.cmf-header{position:sticky;top:0;z-index:50;background:rgba(27,20,32,.96);color:var(--cream);border-bottom:1px solid rgba(255,255,255,.08)}
.cmf .bar{display:flex;align-items:center;gap:20px;min-height:72px}
.cmf .wordmark{font-family:"DM Serif Display",Georgia,serif;font-size:1.5rem;color:var(--cream);text-decoration:none;white-space:nowrap;line-height:1}
.cmf .wordmark em{font-style:italic;color:var(--rose)}
.cmf .nav{display:flex;gap:22px;margin-left:auto}
.cmf .nav a{color:var(--cream);text-decoration:none;font-weight:700;font-size:.92rem;opacity:.9}
.cmf .nav a:hover{opacity:1;text-decoration:underline}
.cmf .tools{display:flex;align-items:center;gap:16px}
.cmf .login{color:var(--cream);font-weight:700;font-size:.92rem}
.cmf .cmf-header .btn{min-height:44px;padding:0 22px;font-size:.95rem}
/* hero */
.cmf .hero{background:radial-gradient(1200px 500px at 85% 10%,#4A2340 0%,var(--night) 60%);color:var(--cream);padding:64px 0 72px}
.cmf .hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.cmf .hero h1{color:var(--white)}
.cmf .hero h1 em{font-style:italic;color:var(--rose)}
.cmf .lead{font-size:1.18rem;max-width:33em;opacity:.95}
.cmf .cta-row{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 14px}
.cmf .hero .btn-ghost{color:var(--cream)}
.cmf .photo{margin:0;border-radius:24px;overflow:hidden;background:var(--plum)}
.cmf .photo img{display:block;width:100%;height:100%;object-fit:cover}
.cmf .ph-hero{aspect-ratio:3/2;box-shadow:0 30px 60px rgba(0,0,0,.35)}
.cmf .crumbs{font-size:.85rem;margin:0 0 18px;opacity:.85}
.cmf .crumbs a{color:var(--rose)}
/* sections */
.cmf .block{padding:84px 0}
.cmf .block.alt{background:var(--blush)}
.cmf .block.dark{background:var(--night);color:var(--cream)}
.cmf .block.dark h2,.cmf .block.dark h3{color:var(--white)}
.cmf .block.dark a{color:var(--rose)}
.cmf .intro{max-width:46em;margin-bottom:34px}
.cmf .cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cmf .card{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:28px 26px}
.cmf .card h3{color:var(--wine)}
.cmf .card p:last-child{margin-bottom:0}
.cmf .split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.cmf .split.rev .photo{order:2}
.cmf .ph-tall{aspect-ratio:4/5}
.cmf .ph-wide{aspect-ratio:3/2}
.cmf .steps{counter-reset:s;list-style:none;padding:0;margin:20px 0 26px}
.cmf .steps li{counter-increment:s;position:relative;padding:10px 0 14px 60px}
.cmf .steps li:before{content:counter(s);position:absolute;left:0;top:8px;width:42px;height:42px;border-radius:50%;background:var(--wine);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.cmf .steps b{display:block;font-size:1.08rem}
.cmf .seg{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:20px;padding:28px 26px;transition:transform .15s}
.cmf .seg:hover{transform:translateY(-3px)}
.cmf .seg:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.cmf .seg h3{color:var(--wine)}
.cmf .seg .go{margin-top:auto;font-weight:800;color:var(--wine)}
.cmf .ticks{list-style:none;padding:0;margin:0 0 24px}
.cmf .ticks li{position:relative;padding:6px 0 6px 32px}
.cmf .ticks li:before{content:"";position:absolute;left:4px;top:15px;width:12px;height:7px;border-left:3px solid var(--gold);border-bottom:3px solid var(--gold);transform:rotate(-45deg)}
.cmf .trust{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0}
.cmf .stat{border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:22px 24px}
.cmf .stat b{display:block;font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:2.2rem;color:var(--rose);line-height:1.1}
.cmf .feat{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 28px;margin:10px 0 0;padding:0;list-style:none}
.cmf .feat li b{display:block;color:var(--white)}
.cmf .price{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:26px 0}
.cmf .price .card h3{margin-bottom:.2em}
.cmf .price .amt{font-family:"DM Serif Display",Georgia,serif;font-size:2rem;color:var(--ink);margin:0 0 .3em}
.cmf .faq details{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:0 24px;margin-bottom:12px}
.cmf .faq summary{cursor:pointer;font-weight:800;padding:18px 0;list-style-position:outside}
.cmf .faq details p{margin:0 0 18px}
.cmf .final{background:linear-gradient(135deg,var(--wine) 0%,#4A1530 100%);color:var(--white);padding:76px 0}
.cmf .final h2{color:var(--white)}
.cmf .final .grid{display:grid;grid-template-columns:1.3fr .7fr;gap:48px;align-items:center}
.cmf .final .btn-primary{background:var(--white);color:var(--wine)}
.cmf .final .btn-primary:hover{background:var(--blush)}
.cmf .ph-closing{aspect-ratio:4/5;max-width:340px;margin-left:auto}
/* footer */
.cmf-footer{background:var(--night);color:#CFC3CC;padding:48px 0 120px;font-size:.92rem}
.cmf-footer p{margin:0 0 14px}
.cmf-footer a{color:#F1E6EC;margin-right:18px;display:inline-block;padding:4px 0}
.cmf-footer .fbrand{font-family:"DM Serif Display",Georgia,serif;font-size:1.4rem;color:var(--cream);margin-bottom:18px}
.cmf-footer .pnote{opacity:.8}
@media (max-width:980px){ .cmf .nav{display:none}
}
@media (max-width:860px){ .cmf{font-size:17px} .cmf .hero{padding:36px 0 48px} .cmf .hero .grid,.cmf .split,.cmf .final .grid{grid-template-columns:1fr;gap:30px} .cmf .split.rev .photo{order:0} .cmf .cards3,.cmf .trust,.cmf .feat,.cmf .price{grid-template-columns:1fr} .cmf .block{padding:56px 0} .cmf .ph-closing{max-width:none;margin:0;aspect-ratio:3/2} .cmf .ph-tall{aspect-ratio:4/3}
}
@media (max-width:520px){ .cmf .bar{gap:10px;min-height:62px} .cmf .wordmark{font-size:1.18rem} .cmf .tools{gap:10px;margin-left:auto} .cmf .login{font-size:.85rem} .cmf .cmf-header .btn{min-height:40px;padding:0 14px;font-size:.85rem} .cmf .wrap{padding:0 18px} .cmf .cta-row .btn{width:100%}
}

.sr-skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;color:#1B1420;padding:10px 16px;border-radius:8px}
.sr-skip:focus{left:12px}
.cmf .mt-l{margin-top:28px}
.cmf .mt-s{margin-top:16px}
.on-dark a{color:#fff}
.wrap.narrow{max-width:860px}
.cmf .ph-cut img{object-position:50% 20%}
.cmf .ph-hero.ph-cut{aspect-ratio:4/3}
/* signup-card v8 - tokens only, selectors prefixed */
/* The card sits in an opener's call-to-action place: it takes a width of its
   own and leaves the page's layout to the opener. */
.cmf .signup-card {
  /* Answer rows: over the 44px floor, sized for a thumb. */
  --signup-card-target: 56px;
  width: 100%;
  max-width: 24rem;
  text-align: left;
}
.cmf .signup-card-form {
  min-width: 0;
  margin: 0;
  padding: var(--space-4) var(--space-4) var(--space-5);
  background: var(--color-surface);
  color: var(--color-text);
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}
/* --color-text, not --color-heading: a heading on a card is not on the page ground. */
.cmf .signup-card-title,
.cmf .signup-card-q {
  margin: 0;
  padding: 0;
  font-family: var(--font-heading);
  font-weight: var(--weight-display, 700);
  line-height: calc(1.2 * var(--heading-leading, 1));
  letter-spacing: calc(-0.005em + var(--heading-tracking, 0) * 1em);
  color: var(--color-text);
}
@supports (line-height: 1cap) {
  .cmf .signup-card-title,
  .cmf .signup-card-q {
    line-height: calc(max(1.2em, 1.45cap) * var(--heading-leading, 1));
  }
}
.cmf .signup-card-title {
  font-size: calc(clamp(1.375rem, 1.2rem + .8vw, 1.75rem) * var(--type-scale, 1));
}
.cmf .signup-card-q {
  margin-bottom: var(--space-3);
  font-size: calc(1.1875rem * var(--type-scale, 1));
}
/* A new step's question takes focus for screen readers; it is not a control,
so it draws no ring. */
.cmf .signup-card-q:focus {
  outline: none;
}
.cmf .signup-card-step {
  min-width: 0;
  margin: var(--space-6) 0 0;
  padding: 0;
  border: 0;
}
.cmf .signup-card-title + .cmf .signup-card-step {
  margin-top: var(--space-4);
}
.cmf .signup-card-help {
  margin: calc(-1 * var(--space-2)) 0 var(--space-3);
  font-size: .9375rem;
  color: var(--color-text-soft);
}
/* Answers: the input is inside its label, so the whole row is the target. */
.cmf .signup-card-opts {
  display: grid;
  gap: var(--space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}
/* Two "I am" answers side by side while both fit; an answer whose longest
   word is wider than half the card takes the whole row, and so does the
   other. width: 100% is not the width: it caps the automatic minimum at the
   row, so a word wider than the row breaks inside its tile. Each half gives
   up half the gap and 1px, or two halves rounded up wrap. */
.cmf .signup-card-opts--two {
  display: flex;
  flex-wrap: wrap;
}
.cmf .signup-card-opt {
  min-width: 0;
}
.cmf .signup-card-opts--two > .cmf .signup-card-opt {
  flex: 1 1 calc(50% - var(--space-3) / 2 - 1px);
  width: 100%;
  min-width: auto;
}
.cmf .signup-card-opts--two .cmf .signup-card-opt-face {
  gap: var(--space-2);
}
.cmf .signup-card-opt label {
  position: relative;
  display: block;
  cursor: pointer;
}
/* Off-screen but focusable, so the row takes the keyboard and the group is
still announced. display: none would remove both. */
.cmf .signup-card-opt input,
.cmf .signup-card-other input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  white-space: nowrap;
  clip-path: inset(50%);
}
.cmf .signup-card-opt-face {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  min-height: var(--signup-card-target);
  padding: var(--space-3) var(--space-4);
  background: var(--color-surface);
  /* The border is the only thing marking this as a control. */
  border: 2px solid color-mix(in srgb, var(--color-text) 22%, var(--color-surface));
  border-radius: var(--btn-radius);
  font-weight: 700;
  line-height: 1.25;
}
/* A word wider than a whole row breaks rather than leave its tile. */
.cmf .signup-card-opt-face > span:first-child {
  min-width: 0;
  overflow-wrap: break-word;
}
.cmf .signup-card-opt:hover .cmf .signup-card-opt-face {
  border-color: color-mix(in srgb, var(--color-primary) 70%, var(--color-surface));
}
.cmf .signup-card-opt input:checked + .cmf .signup-card-opt-face {
  border-color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 9%, var(--color-surface));
}
.cmf .signup-card-tick {
  flex: none;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 2px solid color-mix(in srgb, var(--color-text) 35%, var(--color-surface));
  border-radius: 50%;
}
.cmf .signup-card-opt input:checked + .cmf .signup-card-opt-face .cmf .signup-card-tick {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-on-primary);
}
.cmf .signup-card-opt input:checked + .cmf .signup-card-opt-face .cmf .signup-card-tick::before,
.cmf .signup-card-other input:checked + span .cmf .signup-card-tick::before {
  content: "";
  width: 5px;
  height: 10px;
  margin-top: -2px;
  border: solid currentColor;
  border-width: 0 2.5px 2.5px 0;
  transform: rotate(45deg);
}
/* The third answer to "who are you": a real choice, drawn small. */
.cmf .signup-card-other {
  position: relative;
  display: inline-flex;
  margin-top: var(--space-2);
  cursor: pointer;
}
.cmf .signup-card-other > span {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  min-height: 44px;
  padding: 0 var(--space-1);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cmf .signup-card-other .cmf .signup-card-tick {
  display: none;
}
.cmf .signup-card-other input:checked + span {
  text-decoration: none;
}
.cmf .signup-card-other input:checked + span .cmf .signup-card-tick {
  display: grid;
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-on-primary);
}
/* Fields. 16px text, or iOS zooms the page on focus. */
.cmf .signup-card-dob {
  display: grid;
  grid-template-columns: 1fr 1fr 1.4fr;
  gap: var(--space-2);
  /* A label that wraps must not push its box out of line with the others. */
  align-items: end;
}
.cmf .signup-card-field {
  display: grid;
  gap: var(--space-1);
  min-width: 0;
}
.cmf .signup-card-field > span {
  font-size: .9375rem;
  font-weight: 700;
}
.cmf .signup-card-field input,
.cmf .signup-card-field select {
  box-sizing: border-box;
  width: 100%;
  min-height: 52px;
  padding: 0 var(--space-3);
  font: inherit;
  font-size: 1rem;
  color: var(--color-text);
  background: var(--color-surface);
  border: 2px solid color-mix(in srgb, var(--color-text) 30%, var(--color-surface));
  border-radius: var(--btn-radius);
}
.cmf .signup-card-consent {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: var(--space-3);
  align-items: start;
  margin-top: var(--space-4);
  font-size: .875rem;
}
.cmf .signup-card-consent input {
  width: 22px;
  height: 22px;
  margin: 2px 0 0;
  accent-color: var(--color-primary);
}
.cmf .signup-card-consent a,
.cmf .signup-card-foot a {
  color: var(--color-text);
  font-weight: 700;
  text-underline-offset: 2px;
}
.cmf .signup-card-actions {
  display: grid;
  gap: var(--space-3);
  margin-top: var(--space-6);
}
.cmf .signup-card-submit {
  width: 100%;
  min-height: var(--signup-card-target);
  padding: 0 var(--space-5);
  border: 0;
  border-radius: var(--btn-radius);
  background: var(--color-primary);
  color: var(--color-on-primary);
  font-family: var(--font-body);
  font-size: 1.0625rem;
  font-weight: 700;
  cursor: pointer;
}
.cmf .signup-card-submit:hover {
  background: var(--color-primary-dark);
}
.cmf .signup-card-note {
  margin: 0;
  text-align: center;
  font-size: .875rem;
  color: var(--color-text-soft);
}
.cmf .signup-card-foot {
  margin: var(--space-4) 0 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-rule);
  text-align: center;
  font-size: .9375rem;
  color: var(--color-text-soft);
}
.cmf .signup-card-opt input:focus-visible + .cmf .signup-card-opt-face,
.cmf .signup-card-other input:focus-visible + span,
.cmf .signup-card-field input:focus-visible,
.cmf .signup-card-field select:focus-visible,
.cmf .signup-card-consent input:focus-visible,
.cmf .signup-card-submit:focus-visible,
.cmf .signup-card-consent a:focus-visible,
.cmf .signup-card-foot a:focus-visible {
  outline: 3px solid var(--color-focus);
  outline-offset: 2px;
}
/* Built by the behaviour. Nothing below is in the authored page; the
behaviour adds it, and these rules draw it. */
.cmf .signup-card-form {
  scroll-margin-top: var(--space-2);
}
.cmf .signup-card-top {
  display: grid;
  grid-template-columns: 44px 1fr auto;
  align-items: center;
  gap: var(--space-3);
  min-height: 44px;
}
.cmf .signup-card-back {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin-left: calc(-1 * var(--space-2));
  padding: 0;
  background: none;
  border: 0;
  border-radius: var(--btn-radius);
  color: var(--color-text);
  cursor: pointer;
}
.cmf .signup-card-back::before {
  content: "";
  width: 10px;
  height: 10px;
  margin-left: 4px;
  border: solid currentColor;
  border-width: 0 0 2.5px 2.5px;
  transform: rotate(45deg);
}
.cmf .signup-card-bar {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: var(--space-1);
}
.cmf .signup-card-seg {
  position: relative;
  height: 6px;
  overflow: hidden;
  border-radius: var(--chip-radius);
  background: color-mix(in srgb, var(--color-text) 14%, var(--color-surface));
}
.cmf .signup-card-seg::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 0;
  background: var(--color-primary);
}
.cmf .signup-card-seg[data-hub-signup-done]::before {
  width: 100%;
}
.cmf .signup-card-seg[data-hub-signup-now]::before {
  width: 35%;
}
.cmf .signup-card-seg::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--color-surface) 70%, transparent), transparent);
}
.cmf .signup-card-count {
  font-size: .875rem;
  color: var(--color-text-soft);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
/* The members: faces in the card on a phone, a row beside it when wide. */
.cmf .signup-card-members {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  min-height: 52px;
  margin-top: var(--space-3);
  padding: var(--space-2) var(--space-3);
  border-radius: var(--chip-radius);
  background: color-mix(in srgb, var(--color-primary) 7%, var(--color-surface));
}
.cmf .signup-card-faces {
  display: flex;
  flex: none;
  padding-left: var(--space-2);
}
.cmf .signup-card-face {
  width: 2.25rem;
  height: 2.25rem;
  margin-left: calc(-1 * var(--space-2));
  overflow: hidden;
  border: 2px solid var(--color-surface);
  border-radius: 50%;
  background: var(--color-surface-soft);
}
.cmf .signup-card-face img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
}
.cmf .signup-card-members p {
  margin: 0;
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.35;
}
.cmf .signup-card-summary {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: var(--space-2) 0 0;
  font-size: .875rem;
  color: var(--color-text-soft);
}
.cmf .signup-card-summary::before {
  content: "";
  flex: none;
  width: 5px;
  height: 9px;
  margin: 0 var(--space-1) 2px;
  border: solid var(--color-primary);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
/* Several answers to "looking for": a square tick, not a round one. */
.cmf .signup-card-opt input[type="checkbox"] + .cmf .signup-card-opt-face .cmf .signup-card-tick {
  border-radius: min(var(--btn-radius), 6px);
}
/* Interests. */
.cmf .signup-card-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.cmf .signup-card-chip label {
  position: relative;
  display: block;
  cursor: pointer;
}
.cmf .signup-card-chip input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  white-space: nowrap;
  clip-path: inset(50%);
}
.cmf .signup-card-chip span {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  min-height: 44px;
  padding: 0 var(--space-4);
  background: var(--color-surface);
  border: 2px solid color-mix(in srgb, var(--color-text) 22%, var(--color-surface));
  border-radius: var(--chip-radius);
  font-size: .9375rem;
  font-weight: 600;
}
.cmf .signup-card-chip span::before {
  content: "+";
  font-weight: 400;
  color: var(--color-text-soft);
}
.cmf .signup-card-chip input:checked + span {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-on-primary);
}
.cmf .signup-card-chip input:checked + span::before {
  content: "";
  width: 5px;
  height: 9px;
  margin-right: 2px;
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) translateY(-1px);
}
.cmf .signup-card-chip input:disabled + span {
  cursor: not-allowed;
  border-style: dashed;
  color: var(--color-text-soft);
}
.cmf .signup-card-more {
  min-height: 44px;
  margin-top: var(--space-2);
  padding: 0 var(--space-1);
  background: none;
  border: 0;
  color: var(--color-text);
  font: inherit;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.cmf .signup-card-tally {
  margin: var(--space-3) 0 0;
  font-size: .875rem;
  color: var(--color-text-soft);
}
/* The date of birth: the reward, and the wheel where a page asks for one. */
.cmf .signup-card-reward {
  display: inline-flex;
  margin: var(--space-3) 0 0;
  padding: var(--space-1) var(--space-3);
  border-radius: var(--chip-radius);
  background: color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));
  font-size: .9375rem;
  font-weight: 700;
}
.cmf .signup-card-wheels {
  display: grid;
  grid-template-columns: 1fr 1.4fr 1.3fr;
  gap: var(--space-2);
}
.cmf .signup-card-wheel-col {
  display: grid;
  gap: var(--space-1);
  min-width: 0;
}
.cmf .signup-card-wheel-label {
  font-size: .9375rem;
  font-weight: 700;
  text-align: center;
}
/* The band is the background, so it stays put while the rows scroll. Five
44px rows show, two of them spacers above and below: keep the band's 88px
and 132px in step with that. */
.cmf .signup-card-wheel {
  height: 220px;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scroll-snap-type: y mandatory;
  scrollbar-width: none;
  list-style: none;
  border-radius: var(--btn-radius);
  background: linear-gradient(transparent 88px, color-mix(in srgb, var(--color-primary) 12%, var(--color-surface)) 88px 132px, transparent 132px);
  mask-image: linear-gradient(to bottom, transparent, var(--color-text) 30%, var(--color-text) 70%, transparent);
}
.cmf .signup-card-wheel::-webkit-scrollbar {
  width: 0;
  height: 0;
}
.cmf .signup-card-wheel li {
  display: grid;
  place-items: center;
  height: 44px;
  scroll-snap-align: center;
  font-size: 1.0625rem;
  font-variant-numeric: tabular-nums;
  color: var(--color-text-soft);
  cursor: pointer;
}
.cmf .signup-card-wheel li[aria-selected="true"] {
  color: var(--color-text);
  font-weight: 700;
}
/* Errors say what is missing; a dashed edge marks where, never colour alone. */
.cmf .signup-card-error {
  margin: var(--space-3) 0 0;
  padding: var(--space-2) var(--space-3);
  border-left: 4px solid var(--color-text);
  background: var(--color-surface-soft);
  font-size: .9375rem;
  font-weight: 600;
}
.cmf .signup-card-opt input[aria-invalid] + .cmf .signup-card-opt-face,
/* Where the visitor lives: country, postal code or region, town. One rhythm
   between them, wide enough that a focus ring never meets the next label. */
.cmf .signup-card-lists {
  display: grid;
  gap: var(--space-4);
}
.cmf .signup-card-step > .cmf .signup-card-field + .cmf .signup-card-field,
.cmf .signup-card-step > .cmf .signup-card-field + .cmf .signup-card-postal,
.cmf .signup-card-step > .cmf .signup-card-field + .cmf .signup-card-lists,
.cmf .signup-card-step > .cmf .signup-card-postal + .cmf .signup-card-lists {
  margin-top: var(--space-4);
}
/* The towns offered as the visitor types: a raised list over the card, under
   the field, so the card keeps its height. */
.cmf .signup-card-place {
  position: relative;
}
.cmf .signup-card-places {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 3;
  margin: var(--space-1) 0 0;
  padding: var(--space-1);
  background: var(--color-surface);
  border: 1px solid var(--color-rule);
  border-radius: var(--btn-radius);
  box-shadow: var(--card-shadow);
}
/* How many towns there are, and that the list goes on. */
.cmf .signup-card-places-count {
  margin: 0;
  padding: var(--space-1) var(--space-3);
  font-size: .8125rem;
  color: var(--color-text-soft);
}
/* Four and a half rows: the cut row says the list scrolls. */
.cmf .signup-card-places-list {
  max-height: calc(4.5 * 44px);
  margin: 0;
  padding: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  list-style: none;
}
.cmf .signup-card-places li {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0 var(--space-3);
  border-radius: var(--btn-radius);
  cursor: pointer;
}
.cmf .signup-card-places li:hover,
.cmf .signup-card-places li[aria-selected="true"] {
  background: var(--color-surface-soft);
  box-shadow: inset 3px 0 0 var(--color-primary);
}
.cmf .signup-card-field input[aria-invalid],
.cmf .signup-card-field select[aria-invalid] {
  border-style: dashed;
  border-color: var(--color-text);
}
.cmf .signup-card-next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  width: 100%;
  min-height: var(--signup-card-target);
  padding: 0 var(--space-5);
  border: 0;
  border-radius: var(--btn-radius);
  background: var(--color-primary);
  color: var(--color-on-primary);
  font-family: var(--font-body);
  font-size: 1.0625rem;
  font-weight: 700;
  cursor: pointer;
}
.cmf .signup-card-next::after {
  content: "";
  width: 8px;
  height: 8px;
  border: solid currentColor;
  border-width: 2.5px 2.5px 0 0;
  transform: rotate(45deg);
}
.cmf .signup-card-next:hover {
  background: var(--color-primary-dark);
}
/* The encouraging line after an answer, under the summary of answers so far. */
.cmf .signup-card-cheer {
  margin: var(--space-2) 0 0;
  font-size: .9375rem;
  font-weight: 600;
  color: var(--color-text);
}
/* A line under a location field: the place a postal code was read as, or a
   warning, set apart from the field rather than tucked under it. */
.cmf .signup-card-place-note {
  margin: var(--space-2) 0 0;
  font-size: .9375rem;
  color: var(--color-text-soft);
}
.cmf .signup-card-lists > .cmf .signup-card-place-note {
  margin-top: calc(-1 * var(--space-2));
}
.cmf .signup-card-place-note[data-hub-signup-warn] {
  color: var(--color-text);
  font-weight: 600;
}
/* The link between a postal code and the region and town lists. */
.cmf .signup-card-switch {
  display: block;
  min-height: 44px;
  margin-top: var(--space-2);
  padding: 0;
  background: none;
  border: 0;
  color: var(--color-text);
  font: inherit;
  font-size: .9375rem;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.cmf .signup-card-skip {
  justify-self: center;
  min-height: 44px;
  padding: 0 var(--space-3);
  background: none;
  border: 0;
  color: var(--color-text);
  font: inherit;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.cmf .signup-card-finish {
  padding: var(--space-8) var(--space-2);
  text-align: center;
}
.cmf .signup-card-finish svg {
  display: block;
  margin: 0 auto;
  color: var(--color-primary);
}
.cmf .signup-card-finish p {
  margin: var(--space-4) 0 0;
  font-size: 1.125rem;
  font-weight: 700;
}
.cmf .signup-card-finish small {
  display: block;
  margin-top: var(--space-2);
  font-size: .9375rem;
  color: var(--color-text-soft);
}
.cmf .signup-card-back:focus-visible,
.cmf .signup-card-next:focus-visible,
.cmf .signup-card-skip:focus-visible,
.cmf .signup-card-switch:focus-visible,
.cmf .signup-card-more:focus-visible,
.cmf .signup-card-wheel:focus-visible,
.cmf .signup-card-chip input:focus-visible + span {
  outline: 3px solid var(--color-focus);
  outline-offset: 2px;
}
/* A short phone: the same card, tighter, so Next stays in view. */
@media (max-width: 59.99rem) and (max-height: 760px) {
  .cmf .signup-card {
    --signup-card-target: 48px;
  }
  .cmf .signup-card-form {
    padding-top: var(--space-3);
  }
  .cmf .signup-card-step {
    margin-top: var(--space-4);
  }
  .cmf .signup-card-opts {
    gap: var(--space-2);
  }
  .cmf .signup-card-actions {
    margin-top: var(--space-4);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .cmf .signup-card-opt-face,
  .cmf .signup-card-field input,
  .cmf .signup-card-chip span {
    transition: border-color var(--transition-fast) ease-out, background-color var(--transition-fast) ease-out, transform var(--transition-fast) ease-out;
  }
  .cmf .signup-card-opt:active .cmf .signup-card-opt-face,
  .cmf .signup-card-chip:active span {
    transform: scale(.97);
  }
  .cmf .signup-card-opt input:checked + .cmf .signup-card-opt-face .cmf .signup-card-tick,
  .cmf .signup-card-chip input:checked + span {
    animation: signup-card-pop .34s cubic-bezier(.3, 1.6, .5, 1);
  }
  .cmf .signup-card-seg::before {
    transition: width .5s cubic-bezier(.2, .8, .2, 1);
  }
  @keyframes signup-card-pop {
    from {
      transform: scale(.6);
    }
}
}
/* Wide: a tighter card, so a first step and its button sit above the fold. */
@media (min-width: 60rem) {
  .cmf .signup-card {
    --signup-card-target: 48px;
  }
  .cmf .signup-card-form {
    padding: var(--space-5);
  }
  .cmf .signup-card-q {
    font-size: calc(1.125rem * var(--type-scale, 1));
  }
  .cmf .signup-card-opts {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-2);
  }
  .cmf .signup-card-opt-face {
    padding: var(--space-2) var(--space-3);
    font-size: .9375rem;
  }
  /* A tighter card beside the words, so a first step and its button sit above
  the fold on a laptop. */
  .cmf .signup-card-top {
    min-height: 36px;
  }
  .cmf .signup-card-members {
    min-height: 44px;
    margin-top: var(--space-2);
    padding-block: var(--space-1);
  }
  .cmf .signup-card-step {
    margin-top: var(--space-4);
  }
  .cmf .signup-card-step[data-hub-signup-part="seeking"] {
    margin-top: var(--space-4);
  }
  .cmf .signup-card-q {
    margin-bottom: var(--space-2);
  }
  .cmf .signup-card-help {
    margin-bottom: var(--space-2);
  }
  .cmf .signup-card-other {
    margin-top: 0;
  }
  .cmf .signup-card-actions {
    margin-top: var(--space-4);
  }
  .cmf .signup-card-foot {
    margin-top: var(--space-3);
    padding-top: var(--space-3);
  }
}
/* Before the behaviour library takes the card over, the card is drawn at
   its first step where scripts run, so the page does not jump when it does.
   The animations move nothing: each holds a state for 3s, and if the library
   has not come by then every question shows. */
@media (scripting: enabled) {
  .cmf .signup-card:not(.hub-signup-live) :is(.cmf .signup-card-title, .cmf .signup-card-note, fieldset.cmf .signup-card-step:not(:first-of-type)) {
    animation: signup-card-wait 0s 3s backwards;
  }
  /* The row the progress bar takes. */
  .cmf .signup-card:not(.hub-signup-live) .cmf .signup-card-form::before {
    content: "";
    display: block;
    animation: signup-card-bar 0s 3s backwards;
  }
  /* "Looking for" first: its help line, and no summed answer. */
  .cmf .signup-card:not(.hub-signup-live) [data-hub-signup-part="seeking"]:first-of-type::before {
    content: "";
    display: block;
    font-size: .9375rem;
    animation: signup-card-help 0s 3s backwards;
  }
  .cmf .signup-card:not(.hub-signup-live) [data-hub-signup-part="seeking"]:first-of-type .cmf .signup-card-opt:has(input[name="lf"]:is([value="3"], [value="5"], [value="6"], [value="7"], [value="17"], [value="18"], [value="19"], [value="20"], [value="21"], [value="22"], [value="23"])) {
    animation: signup-card-wait 0s 3s backwards;
  }
}
/* From 60rem "I am" and "looking for" are the first step together. */
@media (scripting: enabled) and (min-width: 60rem) {
  .cmf .signup-card:not(.hub-signup-live) [data-hub-signup-part="iam"]:first-of-type + [data-hub-signup-part="seeking"] {
    animation: none;
  }
  .cmf .signup-card:not(.hub-signup-live) :is([data-hub-signup-part="seeking"]:first-of-type, [data-hub-signup-part="iam"]:first-of-type + [data-hub-signup-part="seeking"])::before {
    content: "";
    display: block;
    font-size: .9375rem;
    animation: signup-card-help-wide 0s 3s backwards;
  }
  .cmf .signup-card:not(.hub-signup-live) [data-hub-signup-part="iam"]:first-of-type + [data-hub-signup-part="seeking"] .cmf .signup-card-opt:has(input[name="lf"]:is([value="3"], [value="5"], [value="6"], [value="7"], [value="17"], [value="18"], [value="19"], [value="20"], [value="21"], [value="22"], [value="23"])) {
    animation: signup-card-wait 0s 3s backwards;
  }
}
@keyframes signup-card-wait {
  from {
    display: none;
  }
}
@keyframes signup-card-bar {
  from {
    min-height: 44px;
  }
}
@keyframes signup-card-help {
  from {
    content: "\a0";
    margin: calc(-1 * var(--space-2)) 0 var(--space-3);
  }
}
@keyframes signup-card-help-wide {
  from {
    content: "\a0";
    margin: calc(-1 * var(--space-2)) 0 var(--space-2);
  }
}

/* picker-chips v5 - tokens only, selectors prefixed */
.cmf .picker-chips {
  overflow-wrap: var(--long-words, break-word);
}
.cmf .picker-chips :is(h1, h2, h3, h4) {
  overflow-wrap: var(--long-words, anywhere);
}
@supports (hyphenate-limit-chars: 20 8 8) {
  .cmf .picker-chips {
    hyphens: var(--long-word-hyphens, manual);
    hyphenate-limit-chars: 20 8 8;
  }
}
.cmf .picker-chips {
  /* The touch-target floor. Every pill is at least this tall and wide. */
  --picker-chips-target: 48px;
  max-width: 32rem;
  margin: 0;
  padding: var(--space-5);
  background: var(--color-surface);
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}
.cmf .picker-chips-title {
  margin: 0 0 var(--space-2);
  font-family: var(--font-heading);
  /* --color-text: this is not large text. */
  color: var(--color-text);
  font-size: calc(clamp(1.125rem, 1rem + 0.5vw, 1.375rem) * var(--type-scale, 1));
  line-height: calc(1.2 * var(--heading-leading, 1));
}
@supports (line-height: 1cap) {
  .cmf .picker-chips-title {
    line-height: calc(max(1.2em, 1.45cap) * var(--heading-leading, 1));
  }
}
.cmf .picker-chips-helper {
  margin: 0 0 var(--space-4);
  color: var(--color-text-soft);
  font-size: 0.9375rem;
}
/* Phones first: one full-width pill per row. */
.cmf .picker-chips-list {
  display: flex;
  flex-direction: column;
  /* gap, not margin: the clear space between targets stops a mis-tap. */
  gap: var(--space-3);
  list-style: none;
  margin: 0;
  padding: 0;
}
.cmf .picker-chips-item {
  display: flex;
}
.cmf .picker-chips-link {
  box-sizing: border-box;
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-height: var(--picker-chips-target);
  min-width: var(--picker-chips-target);
  padding: var(--space-3) var(--space-5);
  background: var(--color-surface);
  /* --color-text: --color-primary-dark is for light grounds only. */
  color: var(--color-text);
  /* The border is the only thing marking this as a control, so it carries
     the boundary contrast on its own. */
  border: 2px solid color-mix(in srgb, var(--color-primary) 75%, var(--color-surface));
  border-radius: var(--chip-radius);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
}
/* The picked state commits to both halves of the guaranteed pair. */
.cmf .picker-chips-link:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-on-primary);
}
.cmf .picker-chips-link:focus-visible {
  outline: 3px solid var(--color-focus);
  outline-offset: 2px;
}
/* Decoration only - aria-hidden in the markup, so it carries no meaning. */
.cmf .picker-chips-arrow {
  flex: none;
  font-weight: 400;
  line-height: 1;
}
/* Wide phone up: pills share a row and wrap. */
@media (min-width: 26rem) {
  .cmf .picker-chips-list {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .cmf .picker-chips-item {
    flex: 0 0 auto;
  }
}

.cmf .hero-split{--color-primary:#8C1D3F;--color-primary-dark:#6E1531;--color-on-primary:#fff;--color-surface:#fff;--color-surface-soft:#FBF3F1;--color-text:#1B1420;--color-text-soft:#5B4E58;--color-rule:#EADBD8;--color-focus:#D9A441;--font-body:"Manrope",system-ui,sans-serif;--font-heading:"DM Serif Display",Georgia,serif;--heading-leading:1;--heading-tracking:0;--weight-display:400;--btn-radius:14px;--chip-radius:999px;--card-radius:22px;--card-border:1px solid rgba(255,255,255,.08);--card-shadow:0 30px 60px rgba(0,0,0,.35);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--type-scale:1;--transition-fast:.15s ease}
.cmf .hero-split .grid{align-items:start}
.cmf .hero-split .signup-card{max-width:26rem;margin-left:auto}
.cmf .hero-split .hero-pic{margin-top:26px;max-width:420px;aspect-ratio:4/3}
.cmf .hero-split .who{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.cmf .hero-split .who li{border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:6px 12px;font-size:.85rem;color:#F3E6EA}
.cmf .hero-split .signup-card a{color:var(--color-primary)}
@media (max-width:860px){.cmf .hero-split .signup-card{margin:0 auto}.cmf .hero-split .hero-pic{display:none}
}

.cmf .hero-split .signup-card-help{margin-top:0}
.cmf .hero-split .picker-chips{margin-left:auto;max-width:28rem}
.cmf .picker-chips-list.cmf-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cmf .cmf-tiles .picker-chips-link{flex-direction:column;align-items:flex-start;justify-content:flex-start;padding-right:34px !important;text-align:left;border-radius:18px;padding:16px 16px 14px;min-height:96px;gap:4px;position:relative}
.cmf .cmf-tiles .picker-chips-link .t-main{font-family:var(--font-heading);font-weight:400;font-size:1.3rem;line-height:1.1}
.cmf .cmf-tiles .picker-chips-link .t-sub{font-weight:500;font-size:.85rem;color:var(--color-text-soft);line-height:1.3}
.cmf .cmf-tiles .picker-chips-link:hover .t-sub{color:inherit}
.cmf .cmf-tiles .picker-chips-arrow{position:absolute;right:14px;top:14px}
.cmf .picker-chips-promise{margin:14px 0 0;font-size:.85rem;color:var(--color-text-soft)}
.cmf .picker-chips-foot{margin:10px 0 0;font-size:.85rem;color:var(--color-text-soft)}
.cmf .picker-chips-foot a{color:var(--color-primary)}
@media (max-width:420px){.cmf .cmf-tiles .picker-chips-link .t-main{font-size:1.15rem}
}

.cmf #join{scroll-margin-top:84px}
@media (max-width:480px){.cmf .bar{gap:8px} .cmf .cmf-header .wordmark{font-size:1rem} .cmf .cmf-header .tools{gap:10px} .cmf .cmf-header .login{font-size:.8rem;white-space:nowrap} .cmf .cmf-header .tools .btn{min-height:40px;padding:0 12px;font-size:.8rem;white-space:nowrap}
}
.cmf .hero-split .hero-jump a{color:#F3C9D2}
@media (max-width:380px){.cmf .cmf-header .wordmark{font-size:.9rem} .cmf .bar{gap:6px} .cmf .cmf-header .tools{gap:8px} .cmf .cmf-header .login{font-size:.76rem} .cmf .cmf-header .tools .btn{padding:0 9px;font-size:.76rem}
}
@media (max-width:340px){.cmf .cmf-header .login{display:none}
}

.cmf .callout{border-left:4px solid var(--color-primary,#C2185B);padding:18px 22px;background:rgba(194,24,91,.06);border-radius:0 14px 14px 0;margin-top:26px}
.cmf .callout h3{margin:0 0 6px}
.cmf .callout p{margin:0}
.cmf .dark .callout{background:rgba(255,255,255,.06)}
.cmf .hero-split .picker-chips{width:100%}

/* batch 3 (pricing, billing-and-cancelling, safety, features): new pp- classes only, no existing selector changed */
.cmf .pp-tier{display:flex;flex-direction:column}
.cmf .pp-tier .ticks{margin-bottom:20px}
.cmf .pp-sub{font-weight:700;color:var(--stone);margin:0 0 12px}
.cmf .pp-tier .amt{margin-top:auto}
.cmf .pp-per{font-weight:700;color:var(--stone);font-size:.95rem;margin:-.4em 0 .5em}
.cmf .pp-cta{margin:12px 0 0}
.cmf .pp-cta .btn{width:100%}
.cmf .pp-twrap{position:relative;overflow-x:auto;margin:10px 0 16px;border:1px solid var(--line);border-radius:18px;background:var(--white)}
.cmf .pp-twrap:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.cmf .pp-table{width:100%;border-collapse:collapse;font-size:.97rem;min-width:680px}
.cmf .pp-table.pp-narrow{min-width:480px}
.cmf .pp-table.pp-cmp{min-width:560px}
.cmf .pp-table th,.cmf .pp-table td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.cmf .pp-table thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--stone);font-weight:800;background:var(--cream)}
.cmf .pp-table tbody th{font-weight:800}
.cmf .pp-table tbody tr:last-child th,.cmf .pp-table tbody tr:last-child td{border-bottom:0}
.cmf .pp-table small{display:block;color:var(--stone);font-size:.8rem;line-height:1.35;margin-top:2px}
.cmf .pp-table .pp-c{text-align:center;width:16%}
.cmf .pp-table td.pp-c{font-weight:800;color:var(--wine);font-size:1.1rem}
.cmf .pp-cmp tbody th{font-weight:600}
.cmf .pp-no{color:var(--wine);font-weight:700}
.cmf .pp-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.cmf .pp-group{margin-top:40px}
.cmf .cards3.pp-grid2{grid-template-columns:repeat(2,1fr)}
.cmf .pp-group h3{color:var(--ink);margin-bottom:.2em}
.cmf .pp-prot h4{font-family:"Manrope",Arial,sans-serif;font-weight:800;font-size:1.05rem;color:var(--wine);margin:0 0 .4em}
.cmf .pp-eff{font-size:.93rem;color:var(--stone);border-top:1px solid var(--line);padding-top:10px;margin-top:12px}
.cmf .pp-eff b{color:var(--wine)}
.cmf .pp-report{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cmf .pp-report a{display:block;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:18px 20px;text-decoration:none;color:var(--ink);font-size:.95rem}
.cmf .pp-report a:hover,.cmf .pp-report a:focus-visible{border-color:var(--wine)}
.cmf .pp-report b{display:block;color:var(--wine);margin-bottom:4px}
.cmf a.pp-onhero{color:#F3C9D2}
.cmf .pp-close-h{color:#fff}
.cmf .pp-close-h em{color:var(--rose)}
.cmf .pp-quiet{border-top:1px solid var(--line);padding-top:28px}
.cmf .pp-quiet h2{font-size:1.6rem}
@media (max-width:980px){.cmf .pp-report{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){.cmf .cards3.pp-grid2{grid-template-columns:1fr}
}
@media (max-width:560px){.cmf .pp-report{grid-template-columns:1fr}
.cmf .pp-table{min-width:760px}
.cmf .pp-table.pp-narrow{min-width:480px}
.cmf .pp-table.pp-cmp{min-width:0;font-size:.88rem}
.cmf .pp-cmp th,.cmf .pp-cmp td{padding:10px 8px}
.cmf .pp-cmp thead th{font-size:.68rem;letter-spacing:.04em}
.cmf .pp-table .pp-c{width:19%}
}
