/* Release polish: keep the numbered process in two columns, not three implicit grid rows. */
.process-vertical article {
  grid-template-columns: 48px minmax(0, 1fr);
  column-gap: 21px;
  row-gap: 4px;
  align-items: start;
  padding: 20px 0;
}
.process-vertical article > span {
  grid-column: 1;
  grid-row: 1 / span 2;
  padding-top: 5px;
  font-weight: 700;
}
.process-vertical article > h3,
.process-vertical article > h4 {
  grid-column: 2;
  grid-row: 1;
  margin: 0 0 4px;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
}
.process-vertical article > p {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  max-width: 60ch;
  margin: 0;
  line-height: 1.75;
}
.contact-steps > div { padding: 22px 0; gap: 8px; }
.contact-steps > div > span { display: block; font-size: .8rem; color: #a18452; font-weight: 750; }
.contact-steps > div > p { margin: 0; line-height: 1.7; }
.contact-steps strong { display: block; margin-bottom: 5px; line-height: 1.4; }
.desktop-nav { gap: clamp(12px, 1.65vw, 26px); }
.flyout { max-height: calc(100vh - 125px); overflow-y: auto; }
.service-card--cfo { background: #e6ece5; border-color: #ccd8ca; }
.service-card--cfo .serial { color: #7e764e; }
.service-card--cfo p { color: #446154; }
.service-grid > .service-card--cfo {
  grid-column: 1 / -1;
  display: grid;
  grid-template-areas: "meta action" "title action" "copy action";
  grid-template-columns: minmax(0, 1.7fr) minmax(240px, 1fr);
  grid-template-rows: auto auto 1fr;
  gap: 0 32px;
  align-items: start;
  min-height: 245px;
  padding: 40px 45px;
  border-left: 4px solid #ab936a;
}
.service-grid > .service-card--cfo .card-top { grid-area: meta; margin-bottom: 14px; }
.service-grid > .service-card--cfo h3 { grid-area: title; margin-bottom: 12px; font-size: clamp(1.75rem,2.4vw,2.4rem); }
.service-grid > .service-card--cfo p { grid-area: copy; max-width: 65ch; margin: 0; }
.service-grid > .service-card--cfo .text-link {
  grid-area: action;
  align-self: center;
  justify-self: center;
  margin: 0;
  padding: 16px 25px;
  background: #113d34;
  color: #fff;
  white-space: nowrap;
  font-size: .88rem;
}
.service-grid > .service-card--cfo .text-link:hover { background: #215c49; }
.library-all-link { margin: 29px auto 0; text-align: center; }
.library-all-link a { display: inline-block; font-weight: 750; color: #184a39; text-decoration: underline; text-underline-offset: 5px; }
.presyz-resource-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 15px 25px; margin: 35px auto 0; }
.presyz-resource-actions a { color: #174b3a; font-weight: 750; text-decoration: underline; text-underline-offset: 4px; }
.presyz-resource-actions a:hover { color: #a18452; }
.faq-help { margin-top: 23px; font-size: .9rem; color: #51685b; }
.faq-help a { text-decoration: underline; text-underline-offset: 4px; font-weight: 750; color: #14513d; }
.faq-layout > .faq-help { grid-column: 2; margin: 0; }
.faq-layout > .faq-help a { display: inline-block; }
.privacy-policy { max-width: 850px; }
.privacy-policy .privacy-updated { font-size: .8rem; color: #6a7a70; }
.privacy-policy h2 { font-size: clamp(1.5rem, 2.5vw, 2rem); margin-top: 36px; }
.privacy-policy p,.privacy-policy li { line-height: 1.8; color: #4a5f54; }
.privacy-policy a { color: #145942; text-decoration: underline; text-underline-offset: 3px; }
/* A prominent, shared next-step banner follows every legacy blog article. */
.article-service-cta { background: #113d34; color: #fff; padding: 74px 0; position: relative; overflow: hidden; }
.article-service-cta::before { content: ''; position: absolute; width: 360px; height: 360px; border: 1px solid #ffffff24; border-radius: 50%; right: -115px; top: -200px; pointer-events: none; }
.article-service-cta-inner { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(240px, .75fr); gap: 48px; align-items: center; position: relative; }
.article-service-cta .cta-kicker { display: block; font: 750 .7rem/1.5 system-ui,sans-serif; letter-spacing: .18em; color: #e7d2a8; margin-bottom: 15px; }
.article-service-cta h2 { color: #fff; font-size: clamp(2rem, 3.7vw, 3.15rem); line-height: 1.19; margin: 0 0 18px; max-width: 750px; }
.article-service-cta p { color: #d7e7df; line-height: 1.8; max-width: 65ch; margin: 0 0 18px; }
.article-service-cta a.service-context-link { color: #f2dfbc; font-weight: 700; font-size: .88rem; text-decoration: underline; text-underline-offset: 5px; }
.article-service-cta-action { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; }
.article-service-cta-action > a { display: inline-flex; justify-content: space-between; gap: 18px; padding: 17px 25px; background: #eadac2; color: #082b27; font-size: .88rem; font-weight: 750; text-decoration: none; }
.article-service-cta-action > a:hover,.article-service-cta-action > a:focus-visible { background: #fff3db; }
.article-service-cta-action small { color: #d7e7df; line-height: 1.6; max-width: 270px; }
.site-header .nav-contact .quote-label-short { display: none; }
@media (max-width: 1090px) { .desktop-nav { gap: 13px; font-size: .8rem; } .nav-wrap { gap: 14px; } }
@media (max-width: 950px) { .desktop-nav { display: none; } .menu-toggle { display: flex; } }
@media (max-width: 570px) {
  .site-header .logo { min-width: 108px; }
  .site-header .nav-wrap { gap: 8px; }
  .site-header .nav-actions { gap: 6px; }
  .site-header .nav-contact { display: inline-flex; padding: 9px; gap: 5px; font-size: .73rem; min-height: 42px; }
  .site-header .nav-contact .quote-label-full { display: none; }
  .site-header .nav-contact .quote-label-short { display: inline; }
  .site-header .nav-contact > span[aria-hidden] { font-size: .8rem; }
  .process-vertical article { grid-template-columns: 36px minmax(0, 1fr); column-gap: 14px; }
  .process-vertical article > h3 { font-size: 1.4rem; }
  .contact-steps > div { padding: 17px 0; }
}
@media (max-width: 760px) {
  .service-grid > .service-card--cfo { display: flex; flex-direction: column; min-height: 0; padding: 29px 27px; }
  .service-grid > .service-card--cfo .text-link { align-self: flex-start; margin-top: 21px; white-space: normal; }
}
@media (max-width: 820px) {
  .faq-layout > .faq-help { grid-column: 1; }
  .article-service-cta { padding: 55px 0; }
  .article-service-cta-inner { grid-template-columns: 1fr; gap: 30px; }
}
