/* Typography controls use validated numeric settings and a fixed font list. */
body{font-family:var(--site-font-family,"Segoe UI",Arial,sans-serif);font-size:var(--body-font-size,16px);line-height:var(--body-line-height,1.75);font-weight:var(--body-font-weight,400)}
h1,h2,h3,.btn,.hero .btn,.form input,.form textarea{font-family:var(--site-font-family,"Segoe UI",Arial,sans-serif)}
#main .prose,#main .lead,#main .sub,#main .card-body p,#main .feat p{font-size:var(--body-font-size,16px);line-height:var(--body-line-height,1.75);font-weight:var(--body-font-weight,400);font-style:var(--body-font-style,normal)}
#main .prose{text-align:var(--body-text-align,left)}
#main .prose p{margin-bottom:var(--paragraph-spacing,16px);text-indent:var(--paragraph-indent,0px)}
#main h1{font-size:clamp(24px,4.3vw,var(--page-title-font-size,64px));font-weight:var(--heading-font-weight,700);font-style:var(--heading-font-style,normal)}
#main h2{font-size:clamp(20px,3vw,var(--heading-font-size,40px));font-weight:var(--heading-font-weight,700);font-style:var(--heading-font-style,normal)}
#main h3,#main .h3{font-size:var(--subheading-font-size,20px);font-weight:var(--heading-font-weight,700);font-style:var(--heading-font-style,normal)}
#main .hero h1{font-size:var(--hero-title-size,48px);font-weight:var(--hero-title-weight,600);font-style:var(--hero-title-style,normal);text-align:var(--hero-title-align,left);line-height:var(--hero-title-line-height,1.2);margin-bottom:var(--hero-title-spacing,28px);white-space:pre-line;text-wrap:wrap;letter-spacing:-.025em;max-width:100%;overflow-wrap:anywhere}
.wrap{max-width:var(--content-max-width,1320px);padding-left:var(--content-side-padding,40px);padding-right:var(--content-side-padding,40px)}
.wrap.narrow{max-width:min(var(--content-max-width,1320px),960px)}
#main .sec:not(.pagehead){padding-top:var(--section-spacing,82px);padding-bottom:var(--section-spacing,82px)}
@media(max-width:860px){.wrap{padding-left:min(var(--content-side-padding,40px),24px);padding-right:min(var(--content-side-padding,40px),24px)}#main .hero h1{font-size:var(--hero-title-mobile-size,30px)}#main .sec:not(.pagehead){padding-top:min(var(--section-spacing,82px),52px);padding-bottom:min(var(--section-spacing,82px),52px)}}
@media(max-width:560px){.wrap{padding-left:min(var(--content-side-padding,40px),20px);padding-right:min(var(--content-side-padding,40px),20px)}}
#main .hero .lead{white-space:pre-line}
#main .services-grid .card-body h3{font-size:var(--subheading-font-size,20px)}

/* A page title and its following content form one block, not two full sections. */
#main .sec.pagehead{padding-top:40px;padding-bottom:0}
#main .pagehead h1{margin-bottom:0}
#main .pagehead .lead,#main .pagehead .tags,#main .pagehead .prose{margin-top:12px;margin-bottom:0}
#main .pagehead + .sec:not(.pagehead){padding-top:24px}
#main .pagehead + .sec > .wrap > :first-child{margin-top:0}
#main .page-gallery{margin:28px 0}
#main .pagehead + .sec > .wrap > .page-gallery:first-child{margin-top:0}
@media(max-width:560px){#main .sec.pagehead{padding-top:28px}#main .pagehead + .sec:not(.pagehead){padding-top:20px}}
