/* UMNEO core: opt-in class namespace only, no changes to user app's global CSS. */
.um-shell, .um-shell *, .um-shell *::before, .um-shell *::after { box-sizing: border-box; }
.um-shell { min-height: 100vh; background: var(--um-bg, #FBF7F0); color: var(--um-text, #242044); font: 400 15px/1.6 var(--um-font-body, Inter, sans-serif); }
.um-shell button, .um-shell input, .um-shell textarea, .um-shell select { font: inherit; }
.um-shell a { color: inherit; text-decoration: none; }
.um-shell img { max-width: 100%; display: block; }
.um-shell h1, .um-shell h2, .um-shell h3, .um-shell h4 { font-family: var(--um-font-heading, Manrope, sans-serif); letter-spacing: -.035em; line-height: 1.17; margin: 0; }
.um-shell p { margin: 0; }
.um-container { width: min(calc(100% - 40px), var(--um-width, 1200px)); margin-inline: auto; }
.um-section { padding-block: var(--um-space-section, 80px); }
.um-section--surface { background: var(--um-surface); }
.um-eyebrow { display: inline-flex; align-items: center; background: var(--um-primary-soft); color: var(--um-primary-hover); padding: 7px 13px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.um-title-xl { font-weight: 800; font-size: clamp(38px, 5vw, 64px); line-height: 1.12; }
.um-title-lg { font-weight: 800; font-size: clamp(28px, 3.1vw, 43px); }
.um-title-md { font-weight: 800; font-size: clamp(20px, 2.3vw, 28px); }
.um-text-muted { color: var(--um-muted); }
.um-divider { border: 0; border-top: 1px solid var(--um-border); margin: 20px 0; }
.um-grid { display: grid; gap: 20px; }
.um-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.um-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.um-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.um-stack { display: flex; flex-direction: column; gap: 16px; }
.um-inline { display: inline-flex; gap: 10px; align-items: center; }
.um-iconbox { width: 42px; height: 42px; border-radius: 14px; display: inline-grid; place-items: center; color: var(--um-primary); background: var(--um-primary-soft); flex: none; }
.um-shell :where(button,a,input,textarea,select):focus-visible { outline: 3px solid var(--um-focus); outline-offset: 2px; }
.um-shell :where(button):disabled { opacity: .55; cursor: not-allowed; }
@media (prefers-reduced-motion: reduce) { .um-shell *, .um-shell *::before, .um-shell *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; } }
