.rnp-pricing {
  --rnp-navy: #123f6d;
  --rnp-teal: #24a8b7;
  --rnp-teal-soft: #dceff0;
  --rnp-magenta: #a83c78;
  --rnp-rose: #f3dfe8;
  --rnp-sand: #f0e2c8;
  --rnp-lilac: #e5def1;
  --rnp-cream: #f7f4ed;
  --rnp-paper: #fffdf9;
  --rnp-text: #536675;
  --rnp-line: rgba(18,63,109,.17);
  --rnp-display: "static","Nordlicht Display",Oswald,"Arial Narrow",sans-serif;
  --rnp-body: "open sans","Open Sans",Helvetica,Arial,sans-serif;
  width: min(1180px, calc(100vw - 80px));
  margin: 0 auto;
  color: var(--rnp-text);
  font-family: var(--rnp-body);
}

.rnp-pricing,
.rnp-pricing * { box-sizing: border-box; }

.rnp-table-wrap { width: 100%; }

.rnp-table-head {
  min-height: 58px;
  border-bottom: 2px solid var(--rnp-navy);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.rnp-table-head p {
  margin: 0 0 16px !important;
  color: var(--rnp-teal) !important;
  font-family: var(--rnp-body) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
}

.rnp-table-head span {
  color: #73808a;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .11em;
  line-height: 1.4;
  text-transform: uppercase;
}

.rnp-table { width: 100%; }

.rnp-row {
  min-height: 88px;
  padding: 15px 24px;
  border-bottom: 1px solid var(--rnp-line);
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) minmax(110px,.5fr);
  align-items: center;
  gap: 30px;
}

.rnp-row--heading {
  min-height: 58px;
  color: #78848b;
  font-family: var(--rnp-body);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.rnp-row--heading span:last-child {
  justify-self: end;
  text-align: right;
}

.rnp-row b {
  color: var(--rnp-navy) !important;
  font-family: var(--rnp-display) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: -.02em !important;
  line-height: 1.15 !important;
}

.rnp-row > span:not([role="columnheader"]) {
  color: #5e707d;
  font-size: 15px;
}

.rnp-row strong {
  justify-self: end;
  color: var(--rnp-navy) !important;
  font-family: var(--rnp-display) !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  white-space: nowrap;
}

.rnp-row--highlight,
.rnp-row--festive {
  margin: 4px 0;
  border: 0;
}

.rnp-row--highlight { background: var(--rnp-teal-soft); }
.rnp-row--festive { background: var(--rnp-rose); }

.rnp-cost-grid {
  width: 100%;
  margin: clamp(70px,8vw,100px) 0 clamp(80px,10vw,140px);
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 18px;
}

.rnp-cost {
  min-width: 0;
  min-height: 310px;
  margin: 0;
  padding: 28px;
  border: 1px solid var(--rnp-line);
  border-radius: 0;
  position: relative;
  background: var(--rnp-paper);
  color: var(--rnp-text);
}

.rnp-cost--teal { background: var(--rnp-teal-soft); }
.rnp-cost--sand { background: var(--rnp-sand); }
.rnp-cost--lilac { background: var(--rnp-lilac); }
.rnp-cost--rose { background: var(--rnp-rose); }

.rnp-cost svg {
  width: 58px;
  height: 58px;
  margin: 2px 0 32px;
  fill: none;
  stroke: var(--rnp-navy);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.rnp-cost h3 {
  margin: 0 !important;
  color: var(--rnp-navy) !important;
  font-family: var(--rnp-display) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  letter-spacing: -.02em !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.rnp-cost > b {
  margin: 5px 0 18px;
  display: block;
  color: var(--rnp-navy) !important;
  font-family: var(--rnp-display) !important;
  font-size: 36px !important;
  font-weight: 600 !important;
  letter-spacing: -.035em !important;
  line-height: 1.1 !important;
}

.rnp-cost p {
  margin: 0 !important;
  color: #657681 !important;
  font-family: var(--rnp-body) !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}

.rnp-notice {
  padding: 15px 18px;
  border-left: 4px solid #24a8b7;
  background: #fff;
}

@media (max-width: 980px) {
  .rnp-cost-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 560px) {
  .rnp-pricing { width: calc(100vw - 36px); }

  .rnp-table-head {
    align-items: flex-start;
    gap: 20px;
  }

  .rnp-table-head span {
    max-width: 55%;
    text-align: right;
  }

  .rnp-row {
    min-height: 98px;
    padding: 14px 10px;
    grid-template-columns: minmax(0,1.05fr) minmax(0,.9fr) minmax(68px,.55fr);
    gap: 10px;
    font-size: 12px;
  }

  .rnp-row--heading { min-height: 58px; font-size: 8px; }
  .rnp-row b { font-size: 16px !important; overflow-wrap: anywhere; }
  .rnp-row > span:not([role="columnheader"]) { font-size: 12px; line-height: 1.45; }
  .rnp-row strong { font-size: 18px !important; }

  .rnp-cost-grid {
    margin-top: 65px;
    margin-bottom: 80px;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
  }

  .rnp-cost {
    min-height: 265px;
    padding: 20px;
  }

  .rnp-cost svg { width: 50px; height: 50px; margin-bottom: 26px; }
  .rnp-cost h3 { font-size: 18px !important; overflow-wrap: anywhere; }
  .rnp-cost > b { font-size: 29px !important; }
  .rnp-cost p { font-size: 12px !important; }
}
