/* Limited to opted-in templates. Avoid changing site navigation, body typography, cards or existing grid algorithms. */
body.alo-on { --alo-gap:clamp(24px,3.7vw,52px); --alo-heading:clamp(1.65rem,3vw,2.9rem); }
body.alo-on.alo-level-1 { --alo-gap:clamp(30px,4.3vw,64px); }
body.alo-on.alo-level-3 { --alo-gap:clamp(18px,2.8vw,40px); }
/* Protect anchor targets and document flow. Reduce excessive blank areas only in primary content. */
body.alo-on main > section:not(.wp-block-cover):not(.has-background),
body.alo-on .site-main > section:not(.wp-block-cover):not(.has-background),
body.alo-on .entry-content > section:not(.wp-block-cover):not(.has-background) {
  margin-block: 0 !important;
  padding-block: var(--alo-gap) !important;
  min-height: 0;
}
body.alo-on main > section + section,
body.alo-on .site-main > section + section { border-top:1px solid rgba(15,57,67,.065); }
body.alo-on :is(.page-header,.entry-header,.archive-header,.blog-header,.hero-content,.drs-hero,.drs-page-hero,.drs-archive-hero,.services-hero,.page-hero) {
  margin-block:0 clamp(12px,2vw,26px) !important;
  padding-block:clamp(16px,3vw,42px) !important;
  min-height:0;
}
body.alo-on :is(.page-header,.entry-header,.archive-header) + :is(.entry-content,.site-content,main) {margin-block-start:0 !important;}
body.alo-on :is(.entry-content,.page-content) > :is(h1,h2,h3,p):first-child {margin-block-start:0;}
body.alo-on :is(.entry-content,.page-content) > p:empty {display:none;}
/* Center the actual heading element AND its constrained layout box. Long titles must wrap. */
body.alo-center-headings :is(.entry-header,.page-header,.archive-header,.blog-header,.drs-hero,.drs-page-hero,.drs-archive-hero,.services-hero,.page-hero) :is(h1,h2,.entry-title,.page-title),
body.alo-center-headings main > section > h1,
body.alo-center-headings main > section > h2,
body.alo-center-headings .site-main > article > header :is(h1,h2),
body.alo-center-headings :is(article,.post,.drs-service-card,.service-card) > :is(h1,h2,h3,h4),
body.alo-center-headings :is(article,.post,.drs-service-card,.service-card) :is(.entry-title,.post-title,.service-title) {
  display:block;
  text-align:center !important;
  margin-inline:auto !important;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
  text-wrap:pretty;
}
body.alo-center-headings :is(.entry-header,.page-header,.archive-header,.blog-header,.drs-hero,.drs-page-hero,.drs-archive-hero,.services-hero,.page-hero) h1,
body.alo-center-headings .site-main > article > header h1 {font-size:var(--alo-heading) !important;line-height:1.45 !important;letter-spacing:normal !important;}
body.alo-center-headings :is(article,.post,.drs-service-card,.service-card) :is(h2,h3,h4,.entry-title,.post-title,.service-title) {line-height:1.5 !important;}
@media (max-width: 1024px){body.alo-on{--alo-gap:clamp(22px,3.4vw,38px);}body.alo-on.alo-level-1{--alo-gap:clamp(26px,4vw,48px);}body.alo-on.alo-level-3{--alo-gap:clamp(16px,2.8vw,30px);}}
@media (max-width: 767px){
 body.alo-on{--alo-gap:22px;--alo-heading:clamp(1.5rem,6vw,2rem);}
 body.alo-on.alo-level-1{--alo-gap:28px;}
 body.alo-on.alo-level-3{--alo-gap:16px;}
 body.alo-on :is(.page-header,.entry-header,.archive-header,.blog-header,.hero-content,.drs-hero,.drs-page-hero,.drs-archive-hero,.services-hero,.page-hero){padding-block:16px 22px !important;}
 body.alo-on main > section:not(.wp-block-cover):not(.has-background), body.alo-on .site-main > section:not(.wp-block-cover):not(.has-background), body.alo-on .entry-content > section:not(.wp-block-cover):not(.has-background){padding-block:var(--alo-gap) !important;}
}
@media (prefers-reduced-motion:reduce){body.alo-on * {scroll-behavior:auto !important;}}
