.entry-content { width: min(1060px,calc(100% - 80px)); }

.entry-intro {
  display: flex;
  gap: 25px;
  margin-bottom: 43px;
  padding: 22px 26px;
  align-items: center;
  background: rgba(255,255,255,.72);
  border-left: 6px solid var(--pink);
}

.entry-intro > span {
  flex: 0 0 auto;
  color: var(--pink);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .22em;
}

.entry-intro h2 {
  margin: 0;
  color: var(--black);
  font-size: clamp(19px,2.4vw,25px);
  font-weight: 950;
  line-height: 1.45;
}

.entry-intro h2 strong { color: var(--green-dark); }
.entry-intro h2 strong:last-child { color: #c9225c; }
.entry-intro div > p {
  margin: 6px 0 0;
  color: #59635e;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.7;
}

.entry-steps {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 13px 30px rgba(17,19,24,.065);
  list-style: none;
}

.entry-steps li {
  position: relative;
  min-height: 205px;
  padding: 27px 26px 25px;
  overflow: hidden;
  border-right: 1px solid var(--line);
}

.entry-steps li:last-child { border-right: 0; }

.entry-steps li > span {
  position: relative;
  z-index: 1;
  display: grid;
  width: auto;
  height: auto;
  margin-bottom: 19px;
  place-items: center;
  justify-content: start;
  color: var(--pink);
  background: transparent;
  font-size: 12px;
  font-weight: 950;
}

.entry-steps li > span::before { margin-right: 6px; color: #8a938d; font-size: 8px; letter-spacing: .14em; content: "STEP"; }

.entry-steps li > div { position: relative; z-index: 1; }
.entry-steps h2 { margin: 0; color: var(--black); font-size: 21px; font-weight: 950; line-height: 1.4; }
.entry-steps p { margin: 13px 0 0; color: #606b65; font-size: 14px; font-weight: 650; line-height: 1.8; }
.entry-steps a { color: var(--green-dark); font-weight: 900; text-decoration: underline; text-underline-offset: 3px; }

.entry-period {
  display: grid;
  grid-template-columns: 230px 1fr;
  margin: 32px 0 72px;
  align-items: stretch;
  color: var(--black);
  background: linear-gradient(110deg,#fff 0%,#f5fff8 64%,#fff5f9 100%);
  border: 1px solid var(--line);
  box-shadow: 0 16px 34px rgba(17,19,24,.085);
}

.entry-period > div {
  display: flex;
  padding: 25px 29px;
  flex-direction: column;
  justify-content: center;
  color: #fff;
  background: var(--pink);
}

.entry-period > div span { font-size: 9px; font-weight: 950; letter-spacing: .18em; }
.entry-period > div strong { margin-top: 7px; font-size: 19px; font-weight: 950; }
.entry-period > p { display: flex; gap: 24px; margin: 0; padding: 24px 31px; align-items: center; }
.entry-period > p > b { color: var(--green-dark); font-size: 13px; font-weight: 950; }
.entry-period > p > strong { display: flex; align-items: center; font-size: clamp(25px,3vw,38px); font-weight: 950; letter-spacing: -.03em; }
.entry-period > p span { display: grid; width: 27px; height: 27px; margin-left: 8px; place-items: center; color: #fff; background: var(--green); border-radius: 50%; font-size: 11px; }
.entry-period > p i { margin: 0 16px; color: var(--pink); font-style: normal; }

.entry-notes > header {
  margin-bottom: 25px;
  padding-bottom: 18px;
  border-bottom: 5px solid var(--green);
}

.entry-notes > header span { color: var(--pink); font-size: 10px; font-weight: 950; letter-spacing: .2em; }
.entry-notes > header h2 { margin: 8px 0 0; color: var(--black); font-size: clamp(26px,3.5vw,40px); font-weight: 950; line-height: 1.35; }
.entry-note-grid { display: grid; gap: 23px; }
.entry-note-grid article { overflow: hidden; background: #fff; border: 1px solid var(--line); box-shadow: 0 13px 31px rgba(17,19,24,.07); }
.entry-note-grid h3 {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 13px;
  margin: 0;
  padding: 17px 22px;
  align-items: center;
  color: var(--black);
  background: linear-gradient(90deg,#f0fbf3,#fff 70%,#fff6f9);
  border-bottom: 1px solid var(--line);
  font-size: 19px;
  font-weight: 950;
}
.entry-note-grid h3 span { display: grid; width: 36px; height: 36px; place-items: center; color: #fff; background: var(--green); font-size: 11px; }
.entry-note-body { padding: 25px 28px 28px; color: #46504b; font-size: 15px; font-weight: 600; line-height: 2; }
.entry-note-body a { color: var(--green-dark); font-weight: 900; text-decoration: underline; text-underline-offset: 3px; }
.entry-deadline-note { display: block; margin-top: 17px; padding: 14px 16px; color: #b31e50; background: rgba(244,63,133,.08); border-left: 5px solid var(--pink); font-weight: 900; line-height: 1.8; }
.entry-important-note {
  margin: 20px 0 0;
  padding: 16px 18px;
  border: 2px solid #fb2738;
  border-radius: 8px;
  color: #fb2738;
  background: rgba(251,39,56,.06);
  font-weight: 900;
  line-height: 1.85;
}

.entry-final-cta {
  position: relative;
  margin-top: 78px;
  padding: 52px 55px 56px;
  overflow: hidden;
  color: var(--black);
  background:
    radial-gradient(circle at 92% 13%,rgba(244,63,133,.16),transparent 28%),
    radial-gradient(circle at 7% 90%,rgba(17,159,48,.13),transparent 31%),
    linear-gradient(130deg,#fff8fb,#f1fcf4);
  border: 1px solid var(--line);
  border-top: 8px solid var(--pink);
  box-shadow: 0 22px 48px rgba(17,19,24,.1);
}

.entry-final-cta::after {
  position: absolute;
  right: -75px;
  bottom: -80px;
  width: 360px;
  height: 220px;
  background: repeating-linear-gradient(90deg,rgba(17,159,48,.07) 0 17px,transparent 17px 35px);
  content: "";
  transform: rotate(-20deg);
}

.entry-final-copy { position: relative; z-index: 1; text-align: center; }
.entry-final-copy p { margin: 0 0 11px; color: var(--green-dark); font-size: 10px; font-weight: 950; letter-spacing: .24em; }
.entry-final-copy h2 { margin: 0; font-size: clamp(32px,5vw,55px); font-weight: 950; line-height: 1.25; }
.entry-final-copy > span { display: block; margin-top: 13px; color: #5d6761; font-size: 14px; font-weight: 650; line-height: 1.8; }

.entry-final-cta > a {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 52px;
  width: min(720px,100%);
  min-height: 106px;
  margin: 34px auto 0;
  padding: 21px 25px 21px 34px;
  align-items: center;
  color: #fff;
  background: var(--pink);
  box-shadow: 0 18px 38px rgba(244,63,133,.36);
  transition: background .2s ease,transform .2s ease,box-shadow .2s ease;
}

.entry-final-cta > a:hover { background: #e62d76; box-shadow: 0 22px 44px rgba(244,63,133,.44); transform: translateY(-4px); }
.entry-final-cta > a b { display: block; font-size: clamp(19px,2.5vw,27px); font-weight: 950; text-align: center; }
.entry-final-cta > a small { display: block; margin-top: 6px; color: rgba(255,255,255,.77); font-size: 10px; font-weight: 800; text-align: center; }
.entry-final-cta > a i { display: grid; width: 44px; height: 44px; place-items: center; color: var(--pink); background: #fff; border-radius: 50%; font-size: 24px; font-style: normal; font-weight: 950; }

@media (max-width: 900px) {
  .entry-steps { grid-template-columns: 1fr; }
  .entry-steps li { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .entry-steps li:last-child { border-bottom: 0; }
  .entry-period { grid-template-columns: 1fr; }
  .entry-period > div { flex-direction: row; gap: 14px; align-items: center; justify-content: flex-start; }
  .entry-period > div strong { margin-top: 0; }
}

@media (max-width: 680px) {
  .entry-content { width: calc(100% - 36px); }
  .entry-intro { display: block; margin-bottom: 29px; padding: 18px 17px 19px; }
  .entry-intro > span { display: block; margin-bottom: 7px; }
  .entry-intro h2 { font-size: 18px; }
  .entry-intro div > p { font-size: 12px; }
  .entry-steps li { padding: 21px 18px 22px; }
  .entry-steps li > span { margin-bottom: 12px; }
  .entry-steps h2 { font-size: 19px; }
  .entry-steps p { font-size: 13px; }
  .entry-period { margin: 22px 0 54px; }
  .entry-period > div { padding: 18px 20px; }
  .entry-period > p { display: block; padding: 20px; }
  .entry-period > p > b { display: block; margin-bottom: 8px; }
  .entry-period > p > strong { font-size: clamp(23px,7.2vw,31px); }
  .entry-period > p span { width: 24px; height: 24px; font-size: 10px; }
  .entry-period > p i { margin: 0 8px; }
  .entry-notes > header { border-bottom-width: 4px; }
  .entry-notes > header h2 { font-size: 25px; }
  .entry-note-grid h3 { grid-template-columns: 40px 1fr; padding: 14px 15px; font-size: 16px; }
  .entry-note-grid h3 span { width: 34px; height: 34px; }
  .entry-note-body { padding: 20px 17px 23px; font-size: 14px; line-height: 1.9; }
  .entry-important-note { margin-top: 17px; padding: 14px 15px; border-radius: 6px; }
  .entry-final-cta { margin-top: 54px; padding: 37px 19px 41px; }
  .entry-final-copy h2 { font-size: 31px; }
  .entry-final-copy > span { font-size: 13px; }
  .entry-final-cta > a { grid-template-columns: 1fr 42px; min-height: 94px; margin-top: 27px; padding: 17px 15px 17px 23px; }
  .entry-final-cta > a b { font-size: 18px; }
  .entry-final-cta > a i { width: 37px; height: 37px; font-size: 21px; }
}

@media (prefers-reduced-motion: reduce) {
  .entry-final-cta > a { transition: none; }
}
