/* Content-first subpages: compact introductions followed immediately by content. */
.subpage { --type-page:clamp(1.875rem,1.4rem + 1.5vw,2.625rem); }
.subpage>.breadcrumb { padding-top:14px; padding-bottom:14px; }
.subpage .page-intro { padding:24px 0; background:var(--background); }
.subpage .page-intro .section-heading { max-width:none; margin:0; }
.subpage .page-intro .eyebrow { margin-bottom:10px; }
.subpage .page-intro h1 { margin-bottom:12px; max-width:none; text-wrap:pretty; line-height:1.25; }
.subpage .page-intro p { max-width:85ch; margin:0; line-height:1.65; }
.subpage>.section { padding-top:44px; padding-bottom:44px; }
.subpage>.page-intro+.section.compact { padding-top:24px; }
.subpage .section-heading { margin-bottom:24px; }
.subpage .section-heading h2 { margin-bottom:12px; }
.subpage .section-heading p { margin-bottom:0; }
.subpage .price-tabs { margin:0 0 18px; width:fit-content; max-width:100%; }
.subpage .price-panel { min-height:0; }
.subpage .price-showcase {
  grid-template-columns:140px minmax(0,1fr); gap:24px; padding:20px 24px;
  margin-bottom:20px; align-items:center; border-radius:16px;
}
.subpage .price-showcase .showcase-art { width:140px; height:140px; aspect-ratio:1; margin:0; }
.subpage .showcase-copy { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:28px; align-items:start; }
.subpage .showcase-copy>.eyebrow { grid-column:1; margin:0 0 6px; font-size:.8125rem; }
.subpage .showcase-copy>h2 { grid-column:1; font-size:1.5rem; line-height:1.35; margin:0 0 8px; }
.subpage .showcase-copy>p { grid-column:1; margin:0 0 12px; }
.subpage .showcase-copy>.tags { grid-column:1; margin:0; gap:6px; }
.subpage .showcase-start { grid-column:2; grid-row:1 / span 4; margin:0; padding:0 0 0 24px; border-top:0; border-left:1px solid var(--border); align-self:center; }
.subpage .showcase-start strong { font-size:1.875rem; line-height:1.35; }
.subpage .showcase-start small { max-width:23ch; }
.subpage .price-grid { gap:20px; }
.subpage .price-card,.subpage .price-card.featured { padding:24px; }
.subpage .price-card h3 { margin-top:12px; margin-bottom:8px; }
.subpage .price-card>p { margin-bottom:16px; }
.subpage .price-card .price { margin-bottom:20px; }
.subpage .price-note { margin-top:24px; }
/* Each detail is a single reading block, rather than disconnected half-columns. */
.subpage .solution-detail { padding-top:32px; padding-bottom:32px; }
.subpage .solution-detail .detail-grid { grid-template-columns:1fr; gap:12px; max-width:1180px; }
.subpage .solution-detail .eyebrow { margin-bottom:8px; }
.subpage .solution-detail h2 { margin-bottom:0; font-size:clamp(1.5rem,1.3rem + .65vw,2rem); }
.subpage .solution-detail p { margin-bottom:16px; max-width:85ch; }
.subpage .solution-detail .tags { margin-bottom:20px; }
.subpage .project-heading { margin-bottom:24px; gap:24px; align-items:flex-start; }
.subpage .project-heading h2 { font-size:clamp(1.625rem,1.3rem + 1vw,2.25rem); }
.subpage .project-details { gap:32px; margin:32px 0; }
.subpage .project-details h3 { margin-bottom:12px; }
.subpage .module-grid { margin-top:24px; }
.subpage .contact-grid { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:28px; }
.subpage .contact-info { gap:16px; }
.subpage .contact-card { padding:20px; }
.subpage .contact-info>p { margin:0; }
.subpage .quote-box h2 { margin-bottom:10px; }
.subpage .quote-box>.field { margin-top:16px; }
.subpage .soul-section { padding-top:28px; padding-bottom:32px; }
.subpage .soul-link-card { padding:28px!important; gap:24px; }
.subpage .soul-link-copy h1 { font-size:var(--type-page); }
.subpage>.cta { padding:24px 0 36px; }
.subpage .cta-inner { padding:24px; gap:28px; }
.subpage .cta h2 { font-size:clamp(1.5rem,1.25rem + 1vw,2rem); line-height:1.35; }
.subpage .cta-inner p { margin-bottom:16px; }
@media(max-width:1000px) {
  .subpage .showcase-copy { display:block; }
  .subpage .showcase-start { border-left:0; border-top:1px solid var(--border); margin-top:16px; padding:12px 0 0; }
  .subpage .price-showcase { grid-template-columns:120px minmax(0,1fr); }
  .subpage .price-showcase .showcase-art { width:120px; height:120px; }
}
@media(max-width:760px) {
  .subpage .page-intro { padding:20px 0; }
  .subpage>.section { padding-top:32px; padding-bottom:32px; }
  .subpage .page-intro h1 { text-wrap:pretty; }
  .subpage .price-tabs { width:100%; }
  .subpage .price-showcase { grid-template-columns:1fr; padding:20px; gap:16px; }
  .subpage .price-showcase .showcase-art { width:88px; height:88px; justify-self:start; }
  .subpage .showcase-copy>h2 { font-size:1.375rem; }
  .subpage .showcase-copy>.tags { flex-wrap:wrap; }
  .subpage .showcase-start small { max-width:none; }
  .subpage .contact-grid,.subpage .project-details { grid-template-columns:1fr; gap:24px; }
  .subpage .solution-detail { padding-top:28px; padding-bottom:28px; }
  .subpage .soul-link-card { padding:24px!important; }
}

/* Compact the six sections identified in the customer's screenshots. */
#main .support-split { display:block; }
#main .support-split .section-heading { max-width:none; margin-bottom:20px; }
#main .support-split h2 { font-size:1.875rem; margin-bottom:0; }
#main .support-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
#main .support-grid article { padding:20px; }
#main .support-grid h3 { margin-bottom:10px; }
#main .support-grid strong { display:block; margin-bottom:10px; }
#main .support-grid p { margin-bottom:0; }
#main .support-split+.fine-print { margin:16px 0 0; }
#main .contact-grid #contact-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:16px; row-gap:14px; padding:24px; }
#main #contact-form :is(h2,p,.quote-actions) { grid-column:1/-1; margin:0; }
#main #contact-form .field { margin:0; min-width:0; gap:6px; }
#main #contact-form .field:has(textarea) { grid-column:1/-1; }
#main #contact-form textarea { min-height:110px; }
#main .contact-info { gap:10px; }
#main .contact-card { padding:14px 18px; }
#main .contact-card>span { margin-bottom:4px; }
#main .contact-card>strong { font-size:1.0625rem; line-height:1.5; }
#main .soul-section { padding:28px 0!important; }
#main .soul-link-card { padding:24px!important; gap:24px!important; }
#main .soul-link-copy h1,#main .soul-link-copy h2 { font-size:clamp(1.75rem,2.6vw,2.25rem)!important; line-height:1.3!important; margin:0 0 8px!important; }
#main .soul-link-copy .eyebrow { margin-bottom:8px!important; }
#main .soul-signature { font-size:2rem!important; min-width:110px; }
#main .soul-link-copy p { margin:0; }
#main .teamwork-section { padding:36px 0!important; }
#main .teamwork-heading { margin-bottom:20px; }
#main .teamwork-heading h2 { font-size:clamp(1.625rem,2.6vw,2.25rem)!important; line-height:1.3!important; margin-bottom:12px!important; }
#main .teamwork-heading p { margin-bottom:0; }
#main .teamwork-map { grid-template-columns:minmax(340px,420px) repeat(3,minmax(0,1fr)); grid-template-rows:auto auto; gap:16px; align-items:stretch; }
#main .teamwork-map .team-role { grid-column:auto!important; grid-row:auto!important; padding:16px!important; gap:5px; transform:none; }
#main .team-role:before,#main .team-role:after { display:none!important; }
#main .teamwork-map .team-venn { grid-column:1!important; grid-row:1/span 2!important; align-self:center; margin:0!important; max-width:420px!important; }
#main .team-venn svg { max-width:420px!important; }
#main .team-role strong { font-size:1rem; }
#main .team-role-action { margin-top:4px; }
#main .team-detail-container { margin-top:16px; }
#main .team-detail { padding:20px; }
#main .team-detail dl>div { padding:12px 0; }
#main .cta { padding:28px 0!important; }
#main .cta .cta-inner { padding:24px!important; gap:24px!important; grid-template-columns:minmax(0,1fr) minmax(0,.75fr); }
#main .cta .cta-inner h2 { font-size:clamp(1.5rem,2.3vw,2rem)!important; line-height:1.35!important; margin:0!important; }
#main .cta .cta-inner h2 :is(span,em) { display:block; }
#main .cta .cta-inner p { font-size:1rem!important; line-height:1.6!important; margin:0 0 12px!important; }
footer.business-footer { padding-top:24px!important; }
footer.business-footer .footer-intro { padding-top:0!important; padding-bottom:20px!important; margin-bottom:0!important; }
footer.business-footer .footer-grid { gap:24px!important; padding-top:24px!important; padding-bottom:24px!important; }
footer.business-footer .footer-grid strong { margin-bottom:12px!important; }
footer.business-footer .footer-grid p { margin-bottom:10px!important; }
footer.business-footer .footer-grid a { line-height:1.5; }
footer.business-footer .footer-bottom { padding-top:14px!important; padding-bottom:14px!important; }
@media(max-width:1050px) {
  #main .teamwork-map { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #main .teamwork-map .team-venn { grid-column:1/-1!important; grid-row:1!important; justify-self:center; max-width:460px!important; }
  #main .team-venn svg { max-width:460px!important; }
}
@media(max-width:760px) {
  #main .support-grid { grid-template-columns:1fr; }
  #main .contact-grid #contact-form { grid-template-columns:1fr; padding:20px; }
  #main .teamwork-map { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #main .teamwork-map .team-role { padding:14px!important; }
  #main .teamwork-map .team-venn { max-width:360px!important; }
  #main .team-venn svg { max-width:360px!important; }
  #main .cta .cta-inner { grid-template-columns:1fr; gap:16px!important; }
  #main .soul-link-card { gap:16px!important; }
  footer.business-footer .footer-grid { gap:20px!important; }
}
