/* service-page.php (11 service URLs) — page layout only; components come from ui-v2.css */

/* "In short" note */
.card--note{max-width:880px}
.card--note>p{font-size:var(--fs-lead);line-height:1.5;color:var(--text);letter-spacing:-.01em;max-width:var(--measure-lead)}

/* related proof sits directly under the note (visual order only: DOM/heading order is unchanged) */
#main{display:flex;flex-direction:column}
#main>.service-hero{order:-3}
#main>.service-detail{order:-2}
#main>.svc-proof{order:-1}
.post-hero + .section-pad-tight{padding-top:var(--section-pad-tight)}
.svc-proof{padding-top:0}
.card--result .card__result .eyebrow{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card__media picture{display:block;width:100%;height:100%}

/* Who / Problems / What you get / Why */
.card--spec h2{font-size:var(--fs-h3);font-weight:600;letter-spacing:-.015em;line-height:1.25;margin:0}
.card--spec .list-check li{padding:10px 0 10px 18px}
.card--spec .list-check li::before{top:calc(10px + .55em)}
@media (max-width:768px){
  .card--spec li{padding:8px 0 8px 18px}
  .svc-posts p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
}

/* pricing */
.pricing-card.featured{border-color:rgba(62,65,173,.45);overflow:hidden}
.pricing-card.featured::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--rule-accent)}
.pricing-card .price{font-size:clamp(40px,2rem + 2vw,64px)}
.pricing-note{font-family:var(--font-sans);font-size:var(--fs-small);color:var(--text-muted)}
.svc-pricing>:only-child{grid-column:2}
@media (max-width:768px){.svc-pricing>:only-child{grid-column:auto}}

/* process: hairline 4-up on desktop, vertical timeline on phones */
.svc-process h4{font-size:var(--fs-h4);font-weight:600;letter-spacing:-.01em;line-height:1.3;margin:0}
.svc-process p{font-size:var(--fs-small)}
@media (max-width:768px){
  .svc-process{gap:0}
  .svc-process .card--spec{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:0;row-gap:6px;align-content:start;border-top:0;padding:0 0 var(--s-5);position:relative}
  .svc-process .card__num{grid-column:1;grid-row:1;padding-top:4px}
  .svc-process h4{grid-column:2;grid-row:1}
  .svc-process p{grid-column:2;grid-row:2}
  .svc-process .card--spec::before{content:"";position:absolute;left:7px;top:24px;bottom:0;width:1px;background:var(--hair-strong)}
  .svc-process .card--spec:last-child::before{display:none}
}

/* related posts as rows */
.card--row .card__body{min-width:0;display:grid;gap:4px}
.card--row p{font-size:var(--fs-small)}
.svc-more{text-align:center;margin-top:var(--s-6)}

/* related services / federal markets */
.svc-links{justify-content:center}
.svc-links .chip{white-space:normal;line-height:1.25;padding:6px 14px;text-align:center}
.cta-band>div:first-child{display:grid;gap:8px}

/* adjacent plain sections share one gap instead of two */
main>.section:not(.alt):not(.dark)+.section:not(.alt):not(.dark){padding-top:0}
#pricing.pricing-section{padding:var(--section-pad-tight) 0}
/* a single pricing tier sits centred, price on one line, note centred under it */
@media (min-width:769px){.svc-pricing:has(>:only-child){grid-template-columns:minmax(0,440px);justify-content:center}.svc-pricing>:only-child{grid-column:auto}}
.svc-pricing>:only-child .price{white-space:nowrap;font-size:clamp(40px,2rem + 1.6vw,56px)}
.rail:has(.svc-pricing>:only-child)~.pricing-note{text-align:center}
