.price-principle {
  display: grid;
  grid-template-columns: 1.05fr 1.2fr auto;
  align-items: center;
  gap: 34px;
  margin-bottom: 12px;
  padding: 26px 28px;
  border: 1px solid var(--line);
  background: #fff;
}

.price-principle > div { display: grid; gap: 9px; }
.price-principle > div span { color: #8b8d85; font-size: 8px; font-weight: 800; letter-spacing: 1.5px; }
.price-principle > div strong { font-size: 20px; letter-spacing: -.7px; }
.price-principle > p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.price-principle > a { display: flex; min-width: 165px; align-items: center; justify-content: space-between; gap: 24px; padding: 15px 17px; background: var(--ink); color: #fff; font-size: 11px; font-weight: 800; }
.price-principle > a span { color: var(--acid); }

.solution-grid { display: grid; grid-template-columns: repeat(3, 1fr); align-items: stretch; gap: 12px; }
.solution-card { position: relative; display: flex; min-height: 410px; flex-direction: column; overflow: hidden; padding: 28px; border: 1px solid var(--line); background: var(--paper); transition: transform .2s, background .2s; }
.solution-card:hover { background: #fff; transform: translateY(-4px); }
.solution-card.featured { border-color: var(--ink); background: var(--ink); color: #fff; }
.solution-card.featured::after { position: absolute; right: -88px; bottom: -118px; width: 245px; height: 245px; border: 48px solid #d9ff4314; border-radius: 50%; content: ""; pointer-events: none; }
.solution-highlight { position: absolute; z-index: 1; top: 20px; right: 20px; padding: 7px 9px; background: var(--acid); color: var(--ink); font-size: 7px; font-weight: 900; letter-spacing: 1px; }
.solution-top { display: flex; align-items: center; gap: 12px; color: #878a82; }
.solution-top > span { color: #7f961f; font-size: 11px; font-weight: 900; }
.solution-card.featured .solution-top > span { color: var(--acid); }
.solution-top small { font-size: 7px; font-weight: 800; letter-spacing: 1.2px; }
.solution-card h3 { max-width: 320px; margin: 48px 0 15px; font-size: 25px; line-height: 1.04; letter-spacing: -1.15px; }
.solution-card > p { min-height: 84px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.solution-card.featured > p { color: #a8aaa3; }
.solution-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 24px 0 28px; }
.solution-tags span { padding: 7px 9px; border: 1px solid var(--line); color: #777a72; font-size: 7px; font-weight: 800; letter-spacing: .65px; text-transform: uppercase; }
.solution-card.featured .solution-tags span { border-color: #3a3c36; color: #9a9d94; }
.solution-bottom { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--line); }
.solution-card.featured .solution-bottom { position: relative; z-index: 1; border-color: #3a3c36; }
.solution-bottom > strong { font-size: 23px; letter-spacing: -1px; }
.service-discuss { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: 0 14px; background: var(--ink); color: var(--acid); font-size: 10px; font-weight: 900; white-space: nowrap; transition: transform .2s, background .2s; }
.service-discuss:hover { transform: translateY(-2px); }
.solution-card.featured .service-discuss { background: var(--acid); color: var(--ink); }

.solution-card.solution-premium { border-color: #3e4138; background: #0d0f0b; color: #fff; box-shadow: inset 0 -5px 0 var(--acid); }
.solution-card.solution-premium::after { position: absolute; right: -90px; bottom: -145px; width: 310px; height: 310px; border: 58px solid #d9ff430d; border-radius: 50%; content: ""; pointer-events: none; }
.solution-card.solution-premium .solution-top > span { color: var(--acid); }
.solution-card.solution-premium h3 { max-width: 360px; }
.solution-premium-copy { grid-column: 2; margin-top: 28px; }
.solution-premium-copy p { margin: 0; color: #d0d2cb; font-size: 13px; line-height: 1.6; }
.solution-premium-copy small { display: block; margin-top: 18px; color: #858980; font-size: 10px; line-height: 1.55; }
.solution-card.solution-premium .solution-bottom { position: relative; z-index: 1; border-color: #3e4138; }
.solution-card.solution-premium .service-discuss { background: var(--acid); color: var(--ink); }

.solution-card.wide { display: grid; grid-column: 1 / -1; grid-template-columns: .75fr 1.15fr .95fr; min-height: 270px; align-items: start; gap: 18px 46px; }
.solution-card.wide .solution-top { grid-column: 1 / -1; }
.solution-card.wide h3 { grid-column: 1; margin: 28px 0 0; font-size: 31px; }
.solution-card.wide > p { grid-column: 2; min-height: 0; margin-top: 28px; font-size: 13px; }
.solution-card.wide .solution-tags { grid-column: 2; margin: 0; }
.solution-card.wide .solution-bottom { display: flex; grid-area: 2 / 3 / 4; align-self: stretch; align-items: flex-start; flex-direction: column; margin: 0; padding: 28px 0 0 38px; border-top: 0; border-left: 1px solid var(--line); }
.solution-card.wide .solution-bottom > strong { font-size: 30px; }
.solution-card.wide .service-discuss { align-self: flex-end; margin-top: auto; }

.support-row { display: grid; grid-template-columns: 1fr 1.1fr auto; align-items: center; gap: 34px; margin-top: 12px; padding: 28px; background: var(--acid); color: var(--ink); }
.support-row > div:first-child { display: grid; gap: 9px; }
.support-row > div:first-child span { color: #6a7c27; font-size: 8px; font-weight: 900; letter-spacing: 1.4px; }
.support-row > div:first-child strong { font-size: 20px; }
.support-row > p { margin: 0; color: #58631e; font-size: 12px; line-height: 1.55; }
.support-action { display: grid; justify-items: end; gap: 12px; }
.support-action > strong { font-size: 18px; white-space: nowrap; }
.support-action .service-discuss { background: var(--ink); color: var(--acid); }
.price-footnote { margin: 17px 0 0; color: #83867e; font-size: 9px; line-height: 1.5; }

@media (max-width: 900px) {
  .price-principle { grid-template-columns: 1fr 1fr; }
  .price-principle > a { width: max-content; }
  .solution-grid { grid-template-columns: repeat(2, 1fr); }
  .solution-card.wide { display: flex; grid-column: 1 / -1; min-height: 410px; }
  .solution-card.wide h3 { margin-top: 48px; font-size: 28px; }
  .solution-card.wide > p { min-height: 70px; margin-top: 0; }
  .solution-card.wide .solution-tags { margin: 24px 0 28px; }
  .solution-card.wide .solution-bottom { align-self: auto; align-items: end; flex-direction: row; margin-top: auto; padding: 20px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .solution-card.wide .service-discuss { align-self: auto; margin-top: 0; }
  .solution-premium-copy { margin-top: 0; }
  .support-row { grid-template-columns: 1fr 1fr; }
  .support-action { justify-items: start; }
}

@media (max-width: 620px) {
  .price-principle { grid-template-columns: 1fr; padding: 22px; }
  .price-principle > a { width: 100%; }
  .solution-grid { grid-template-columns: 1fr; }
  .solution-card, .solution-card.wide { grid-column: auto; min-height: 390px; padding: 24px; }
  .solution-card h3, .solution-card.wide h3 { margin-top: 48px; font-size: 25px; }
  .solution-card > p, .solution-card.wide > p { min-height: 70px; }
  .solution-premium-copy { margin-top: 0; }
  .solution-highlight { top: 17px; right: 17px; }
  .solution-bottom { align-items: center; }
  .solution-bottom > strong { font-size: 21px; }
  .service-discuss { min-height: 44px; padding: 0 13px; }
  .support-row { grid-template-columns: 1fr; gap: 18px; padding: 24px; }
  .support-action { justify-items: start; }
  .support-action > strong { white-space: normal; }
}
