/* Synthvero Brand Reference v1.0 runtime foundation. */
:root {
    --sv-navy: #07152F;
    --sv-blue: #2457D6;
    --sv-cyan: #28C7E8;
    --sv-violet: #7B61FF;
    --sv-ink: #12213F;
    --sv-muted: #65738D;
    --sv-white: #FFFFFF;
    --sv-soft: #F4F7FC;
    --sv-border: #DFE6F2;
    --sv-blue-hover: #1C45AD;
    --sv-dark-surface: #102342;
    --sv-dark-text: #F4F7FC;
    --sv-dark-muted: #B7C5DD;
    --sv-control-border: #7E8CA6;
    --sv-success: #167347;
    --sv-success-soft: #EAF7EF;
    --sv-warning: #855600;
    --sv-warning-soft: #FFF5DD;
    --sv-danger: #B42336;
    --sv-danger-soft: #FDEDF0;
    --sv-info: #2457D6;
    --sv-info-soft: #EDF2FF;
    --sv-focus: #2457D6;
    --sv-space-1: 4px;
    --sv-space-2: 8px;
    --sv-space-3: 12px;
    --sv-space-4: 16px;
    --sv-space-5: 24px;
    --sv-space-6: 32px;
    --sv-space-7: 48px;
    --sv-space-8: 64px;
    --sv-space-9: 96px;
    --sv-radius-sm: 10px;
    --sv-radius-md: 16px;
    --sv-radius-lg: 24px;
    --sv-font-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    --sv-shadow-soft: 0 12px 32px rgba(7, 21, 47, .08);
    --sv-brand-gradient: linear-gradient(115deg, #28C7E8 0%, #2457D6 55%, #7B61FF 100%);
}

body.mi-marketing-page, body.sv-public-v3, body.sv-home-v3 { font-family: var(--sv-font-ui); }
.mi-sv-brand-mark { display: inline-flex; width: 40px; height: 40px; flex: 0 0 auto; align-items: center; justify-content: center; }
.mi-sv-brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
.mi-sv-brand-copy { display: flex; min-width: 0; flex-direction: column; justify-content: center; }
.mi-sv-brand-copy b { color: var(--sv-ink); font-size: 18px; font-weight: 700; line-height: 1; letter-spacing: -.025em; }
.mi-sv-brand-copy small { margin-top: 5px; color: var(--sv-muted); font-size: 10px; font-weight: 500; line-height: 1.2; letter-spacing: .04em; }
.mi-mkt-header .mi-sv-brand-copy b { color: var(--sv-white); }
.mi-mkt-header .mi-sv-brand-copy small { color: var(--sv-dark-muted); }
.mi-mkt-header .mi-mkt-brand:focus-visible { outline: 3px solid var(--sv-cyan); outline-offset: 6px; border-radius: var(--sv-radius-sm); }
.mi-mkt-footer .mi-sv-footer-brand { display: flex; align-items: flex-start; gap: 13px; }
.mi-mkt-footer .mi-sv-brand-mark { width: 42px; height: 42px; }
.mi-mkt-footer .mi-sv-brand-copy b { color: inherit; }
.sv-gradient-text { background: var(--sv-brand-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }

.sv-ui-container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.sv-ui-section { padding-block: clamp(48px, 8vw, 96px); }
.sv-ui-section-heading { max-width: 760px; margin-bottom: var(--sv-space-7); }
.sv-ui-section-heading.is-centered { margin-inline: auto; text-align: center; }
.sv-ui-eyebrow { display: inline-block; margin-bottom: var(--sv-space-3); color: var(--sv-blue); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.sv-ui-grid { display: grid; gap: var(--sv-space-5); }
.sv-ui-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sv-ui-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sv-ui-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sv-ui-card, .sv-ui-feature-card, .sv-ui-pricing-card { padding: var(--sv-space-6); border: 1px solid var(--sv-border); border-radius: var(--sv-radius-md); background: var(--sv-white); box-shadow: var(--sv-shadow-soft); }
.sv-ui-divider { border: 0; border-top: 1px solid var(--sv-border); }
.sv-ui-button, .sv-ui-icon-button, .sv-ui-field, .sv-ui-select { min-height: 48px; font: inherit; box-sizing: border-box; }
.sv-ui-button { display: inline-flex; align-items: center; justify-content: center; gap: var(--sv-space-2); padding: 12px 20px; border: 1px solid transparent; border-radius: var(--sv-radius-sm); font-weight: 700; line-height: 1.2; text-decoration: none; cursor: pointer; transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease; }
.sv-ui-button--primary { color: var(--sv-white); background: var(--sv-blue); }
.sv-ui-button--primary:hover { background: var(--sv-blue-hover); }
.sv-ui-button--secondary { color: var(--sv-blue); border-color: var(--sv-blue); background: var(--sv-white); }
.sv-ui-button--secondary:hover { color: var(--sv-blue-hover); border-color: var(--sv-blue-hover); background: var(--sv-info-soft); }
.sv-ui-button--tertiary { min-height: auto; padding: 8px 0; color: var(--sv-blue); background: transparent; }
.sv-ui-icon-button { display: inline-grid; width: 48px; place-items: center; padding: 10px; border: 1px solid transparent; border-radius: 50%; color: currentColor; background: transparent; cursor: pointer; }
.sv-ui-button:disabled, .sv-ui-icon-button:disabled { cursor: not-allowed; opacity: .55; }
.sv-ui-field, .sv-ui-select { width: 100%; padding: 12px 14px; border: 1px solid var(--sv-control-border); border-radius: var(--sv-radius-sm); color: var(--sv-ink); background: var(--sv-white); }
.sv-ui-field:disabled, .sv-ui-select:disabled { color: var(--sv-muted); background: var(--sv-soft); }
.sv-ui-field[aria-invalid="true"], .sv-ui-select[aria-invalid="true"] { border-color: var(--sv-danger); }
.sv-ui-field[aria-invalid="false"], .sv-ui-select[aria-invalid="false"] { border-color: var(--sv-success); }
.sv-ui-field-help, .sv-ui-field-error { margin-top: var(--sv-space-2); font-size: 14px; }
.sv-ui-field-help { color: var(--sv-muted); }
.sv-ui-field-error { color: var(--sv-danger); }
.sv-ui-notice { display: flex; gap: var(--sv-space-3); padding: var(--sv-space-4); border: 1px solid var(--sv-border); border-radius: var(--sv-radius-sm); color: var(--sv-ink); background: var(--sv-info-soft); }
.sv-ui-notice--success { border-color: #9ad1ae; background: var(--sv-success-soft); }
.sv-ui-notice--warning { border-color: #e1bd72; background: var(--sv-warning-soft); }
.sv-ui-notice--error { border-color: #e9a9b4; background: var(--sv-danger-soft); }
.sv-ui-badge { display: inline-flex; align-items: center; min-height: 28px; padding: 4px 10px; border-radius: 999px; color: var(--sv-blue); background: var(--sv-info-soft); font-size: 12px; font-weight: 700; }
.sv-ui-dialog { width: min(640px, calc(100% - 32px)); max-height: min(720px, calc(100vh - 32px)); padding: 0; border: 1px solid var(--sv-border); border-radius: var(--sv-radius-md); color: var(--sv-ink); background: var(--sv-white); box-shadow: 0 24px 80px rgba(7, 21, 47, .22); }
.sv-ui-dialog::backdrop { background: rgba(7, 21, 47, .64); }
.sv-ui-loading { color: var(--sv-muted); }
.sv-ui-loading[aria-busy="true"] { cursor: progress; }
.sv-ui-empty, .sv-ui-error { padding: var(--sv-space-7); border: 1px dashed var(--sv-control-border); border-radius: var(--sv-radius-md); text-align: center; }
.sv-ui-error { color: var(--sv-danger); border-color: var(--sv-danger); background: var(--sv-danger-soft); }
:where(.sv-ui-button, .sv-ui-icon-button, .sv-ui-field, .sv-ui-select, a):focus-visible { outline: 3px solid var(--sv-focus); outline-offset: 3px; }
@media (max-width: 900px) { .sv-ui-grid--3, .sv-ui-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .sv-ui-container { width: min(100% - 30px, 1180px); } .sv-ui-grid--2, .sv-ui-grid--3, .sv-ui-grid--4 { grid-template-columns: 1fr; } .sv-ui-card, .sv-ui-feature-card, .sv-ui-pricing-card { padding: var(--sv-space-5); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
