/* Shared section and card dimensions. Keep these after the page-specific styles. */
:root{--section-width:1440px;--section-inset:5%;--section-space:48px;--card-inset:28px;--card-gap:24px}
main>section:not(.page-hero):not(.editorial-hero),main>.resource-article-body{
  width:100%;max-width:var(--section-width);margin:0 auto;
  padding:var(--section-space) var(--section-inset);border-radius:0;
}
main>section:not(.page-hero):not(.editorial-hero):last-child{margin-bottom:70px}
main>.page-hero,main>.editorial-hero{width:100%;max-width:var(--section-width);padding-left:var(--section-inset);padding-right:var(--section-inset)}
main .soap-intro,main .university-hero-grid{display:block;max-width:1000px}
main .feature-callout,main>.university-note{border-top:0}
main .feature-callout h2,main>.university-note h2{font-size:clamp(30px,3.3vw,47px);line-height:1.16;letter-spacing:-1.7px}
main .feature-callout>p:not(.eyebrow){max-width:690px}
main .feature-callout>span{max-width:690px}
main .feature-callout>.eyebrow,main>.university-note>.eyebrow{font-size:11px;margin-bottom:25px}
main .university-note ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--card-gap)}
main .university-note li{padding:24px 0}
main .university-planning,main .demo-layout{grid-template-columns:minmax(0,1fr)}
main .university-agenda ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--card-gap)}
main .university-agenda li{margin:0;padding-bottom:0;border-bottom:0}
main .demo-aside h3{font-size:clamp(30px,3.3vw,47px);letter-spacing:-1.7px;line-height:1.16}
main .demo-aside hr{max-width:690px;margin-left:0}
main .demo-form,main .demo-review{padding:var(--card-inset)}
main .quote-note,main .access-notice{max-width:none;width:100%;padding:var(--card-inset)}
main .telehealth-band{gap:var(--card-gap);grid-template-columns:repeat(2,minmax(0,1fr))}
main .featured-story{grid-template-columns:repeat(2,minmax(0,1fr))}
main .story-art,main .featured-copy{padding:var(--card-inset)}
/* Cards stretch across rows as well as within each row. No fixed heights or clipped copy. */
main :is(.benefits-grid,.detail-grid,.practice-grid,.plan-grid,.article-grid,.soap-benefits,.vitals-graph-controls,.scheduling-filter-list,.routine-vital-options){
  gap:var(--card-gap);grid-auto-rows:1fr;align-items:stretch;
}
main :is(.benefits-grid,.detail-grid,.practice-grid,.plan-grid,.article-grid,.soap-benefits,.vitals-graph-controls,.scheduling-filter-list,.routine-vital-options)>:is(article,a,div){
  min-width:0;padding:var(--card-inset);display:flex;flex-direction:column;align-items:flex-start;
}
main :is(.soap-benefits,.vitals-graph-controls,.scheduling-filter-list,.routine-vital-options):has(>:last-child:nth-child(2)){grid-template-columns:repeat(2,minmax(0,1fr))}
main .inventory-adjustments{grid-template-columns:minmax(0,1fr)}
main .practice-grid p{min-height:0}
main .practice-grid b{margin-top:auto;padding-top:24px}
main .plan-card>ul,main .plan-bottom,main .article-category{width:100%}
main .detail-grid article>.feature-detail-link{margin-top:auto;padding-top:20px}
main .section-top{display:flex;flex-direction:column;align-items:flex-start;gap:0}
main .section-top>p{width:100%;max-width:690px;margin:14px 0 0}
main .resource-article-body{font-size:16px;line-height:1.9}
main .resource-prose{max-width:830px;margin:auto}
main .resource-article-navigation{padding-left:var(--section-inset);padding-right:var(--section-inset);max-width:var(--section-width);margin:auto}
@media(max-width:1100px) and (min-width:761px){
  main :is(.benefits-grid,.detail-grid,.practice-grid,.plan-grid,.article-grid,.vitals-graph-controls,.scheduling-filter-list){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  :root{--section-inset:6%;--section-space:34px;--card-inset:24px;--card-gap:24px}
  main>section:not(.page-hero):not(.editorial-hero):last-child{margin-bottom:45px}
  main :is(.benefits-grid,.detail-grid,.practice-grid,.plan-grid,.article-grid,.soap-benefits,.vitals-graph-controls,.scheduling-filter-list,.routine-vital-options),
  main :is(.soap-benefits,.vitals-graph-controls,.scheduling-filter-list,.routine-vital-options):has(>:last-child:nth-child(2)),
  main .university-note ul,main .university-agenda ul,main .telehealth-band,main .featured-story{grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr}
  main .feature-callout>.eyebrow,main>.university-note>.eyebrow{font-size:9px;margin-bottom:20px}
  main .demo-aside h3,main .feature-callout h2,main>.university-note h2{letter-spacing:-1.4px}
}

/* Compact text and section rhythm across the older page-specific styles. */
main p:not(.eyebrow),main dd,main li{line-height:1.35!important}
main .section-top{margin-bottom:28px}
main .section-top .eyebrow,main .feature-callout>.eyebrow,main>.university-note>.eyebrow{margin-bottom:16px}
main .feature-callout>p:not(.eyebrow){margin:14px 0}
main .university-body{margin:14px 0}
main .resource-article-body h2{margin:28px 0 14px}
main .inventory-invoicing .section-top,main .tasks-automation .section-top,main .reporting-custom .section-top,main .access-user .section-top,main .screen-layouts .section-top{margin-bottom:0}
@media(max-width:760px){main .section-top{margin-bottom:24px}}

/* Inventory adjustments follow the section's text edge, without nested card padding. */
main #inventory .section-top{margin-bottom:16px}
main #inventory .inventory-adjustments{margin:0;padding:16px 0 0}
main #inventory .inventory-adjustments>article{padding:0}
main #inventory .inventory-adjustments h2{margin:0 0 10px}
main>section#inventory{padding-bottom:24px}
main>section.soap-next.inventory-next{padding-top:24px}

/* Client portal screenshot: smaller, centered and responsive. */
main #portal-overview .client-portal-screen{max-width:960px;margin-left:auto;margin-right:auto}
