/* Safe Visual CMS presets. Values map only to the existing Noir design tokens. */
:root{
  --cms-accent:var(--color-brass,#C89A45);
  --cms-hero-size:var(--type-hero,clamp(2.5rem,calc(1.7rem + 3vw),5.8rem));
  --cms-hero-padding:clamp(28px,4vw,52px)
}
.hero[data-cms-accent="brass"]{--cms-accent:var(--color-brass,#C89A45)}
.hero[data-cms-accent="bone"]{--cms-accent:var(--color-bone,#EFE6D8)}
.hero[data-cms-accent="white"]{--cms-accent:var(--color-text,#FFFFFF)}
.hero[data-cms-text-size="compact"]{--cms-hero-size:clamp(2.25rem,calc(1.55rem + 2.6vw),5rem)}
.hero[data-cms-text-size="standard"]{--cms-hero-size:var(--type-hero,clamp(2.5rem,calc(1.7rem + 3vw),5.8rem))}
.hero[data-cms-text-size="large"]{--cms-hero-size:clamp(2.65rem,calc(1.8rem + 3.35vw),6.25rem)}
.hero[data-cms-spacing="compact"]{--cms-hero-padding:clamp(22px,3vw,40px)}
.hero[data-cms-spacing="standard"]{--cms-hero-padding:clamp(28px,4vw,52px)}
.hero[data-cms-spacing="generous"]{--cms-hero-padding:clamp(36px,5vw,66px)}
.hero[data-cms-section] .hero-bottom{padding:var(--cms-hero-padding)}
.hero[data-cms-section] .hero-copy h1{font-size:var(--cms-hero-size)}
.hero[data-cms-section] .hero-heading-ai{color:var(--cms-accent)}
[data-cms-font-size="small"]{font-size:calc(var(--cms-base-font-size) * .875)!important}
[data-cms-font-size="standard"]{font-size:var(--cms-base-font-size)!important}
[data-cms-font-size="large"]{font-size:calc(var(--cms-base-font-size) * 1.15)!important}
.cms-footer-columns{display:contents}
@media(max-width:680px){.hero[data-cms-section] .hero-bottom{padding:24px 12px}}
