/* Native sections keep their original layout. Visual overrides target their
   original root, so anchors, forms, reveal behavior and content stay intact. */
.builder-section { isolation:isolate; }
.builder-background { position:relative; background-color:var(--bg); }
.builder-background::before { content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--builder-background);background-size:cover;background-position:center;filter:brightness(var(--builder-brightness,1)); }
.builder-section .section-effect-bg { position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none; }
.builder-section[data-section-effect]:not([data-section-effect="off"]) { position:relative; }
.builder-section .section-effect-bg canvas { width:100%;height:100%;display:block; }
.builder-section[style*="--builder-color"] :is(h1,h2,h3,h4,p,.lede,em) { color:var(--builder-color); }
.builder-template-heading { max-width:72ch;margin-bottom:32px; }
.builder-template-heading .lede { margin-top:20px;white-space:pre-line; }
.builder-template-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px; }
.builder-template-grid img { width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius); }
.builder-template-grid figcaption { padding:12px 0;color:var(--fg-soft); }
.builder-template--split>.wrap,.builder-template--hero>.wrap { display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:32px; }
.builder-template--split figure,.builder-template--hero figure { grid-column:2;grid-row:1/3; }
.builder-template--split figure img,.builder-template--hero figure img { width:100%;max-height:580px;object-fit:cover;border-radius:var(--radius); }
.builder-template--hero { padding-block:120px; }
.builder-template--cta { background:var(--bg-2);text-align:center; }
.builder-template--cta .builder-template-heading { margin-inline:auto; }
.builder-template--cta .lede { margin-inline:auto; }
.builder-template-actions { margin-top:24px; }
.builder-stat strong { font-family:var(--font-display);font-size:clamp(32px,5vw,64px);color:var(--accent); }
.builder-stat h3 { margin-block:12px; }
.builder-stat p { color:var(--fg-soft); }
@media(max-width:768px) {
  .builder-template-grid { grid-template-columns:1fr; }
  .builder-template--split>.wrap,.builder-template--hero>.wrap { grid-template-columns:1fr; }
  .builder-template--split figure,.builder-template--hero figure { grid-column:auto;grid-row:auto; }
  .builder-template--hero { padding-block:64px; }
}
.builder-image-credit { margin: 12px auto; padding: 0 20px; max-width: 1200px; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.builder-image-credit a { text-decoration: underline; color: inherit; }
