/* Generated from domain/brand/registry.tokens.json. Brand 2.1.0. Run npm run brand:sync. */
@font-face { font-family: 'Inter'; src: url('/portal/font.woff2') format('woff2'); font-style: normal; font-weight: 300 600; font-display: swap; }
@font-face { font-family: 'Space Grotesk'; src: url('/brand/wordmark.woff2') format('woff2'); font-style: normal; font-weight: 300 600; font-display: swap; }
.ib-root, [data-ib-theme] {
  --ib-palette-ivory: #f0ede4;
  --ib-palette-black: #23231f;
  --ib-palette-dim: #b5b1a6;
  --ib-palette-signal: #5267ff;
  --ib-palette-signal-hover: #acb8ff;
  --ib-palette-light-surface: #f3eee4;
  --ib-palette-light-raised: #fffdfa;
  --ib-palette-light-muted: #625f58;
  --ib-palette-light-subtle: #706b62;
  --ib-palette-light-border: #ded8cd;
  --ib-palette-light-boundary: #8a8275;
  --ib-palette-light-link: #43583d;
  --ib-palette-dark-surface: #2c2d27;
  --ib-palette-dark-raised: #383a32;
  --ib-palette-dark-subtle: #b5b1a6;
  --ib-palette-dark-border: #373730;
  --ib-palette-dark-boundary: #a39b8c;
  --ib-palette-dark-link: #c7d3be;
  --ib-palette-light-success: #216742;
  --ib-palette-light-success-bg: #e5eee5;
  --ib-palette-dark-success: #9ccfac;
  --ib-palette-dark-success-bg: #14251b;
  --ib-palette-light-warning: #80550d;
  --ib-palette-light-warning-bg: #f5ead3;
  --ib-palette-dark-warning: #e8c276;
  --ib-palette-dark-warning-bg: #302712;
  --ib-palette-light-danger: #a32929;
  --ib-palette-light-danger-bg: #f7e4de;
  --ib-palette-dark-danger: #ffa5a0;
  --ib-palette-dark-danger-bg: #321b1b;
  --ib-palette-light-info: #334eba;
  --ib-palette-light-info-bg: #e7ebfa;
  --ib-palette-dark-info: #acb8ff;
  --ib-palette-dark-info-bg: #1c2340;
  --ib-palette-line: rgba(252,250,246,.18);
  --ib-palette-darkline: rgba(35,35,31,.18);
  --ib-palette-signal-blue: #5267ff;
  --ib-typography-family: Inter;
  --ib-typography-fallback: system-ui,sans-serif;
  --ib-typography-weights-300: 300;
  --ib-typography-weights-400: 400;
  --ib-typography-weights-500: 500;
  --ib-typography-weights-600: 600;
  --ib-typography-weights-700: 700;
  --ib-typography-wordmark-family: 'Space Grotesk';
  --ib-typography-editorial-family: Georgia,'Times New Roman',serif;
  --ib-typography-editorial-leading: 1.65;
  --ib-typography-editorial-tracking: 0;
  --ib-radius-small: 6px;
  --ib-radius-control: 12px;
  --ib-radius-surface: 24px;
  --ib-radius-dialog: 28px;
  --ib-radius-pill: 999px;
  --ib-border-width: 1px;
  --ib-space-1: 4px;
  --ib-space-2: 8px;
  --ib-space-3: 12px;
  --ib-space-4: 16px;
  --ib-space-5: 20px;
  --ib-space-6: 24px;
  --ib-space-7: 28px;
  --ib-space-8: 32px;
  --ib-space-9: 36px;
  --ib-space-10: 40px;
  --ib-space-11: 44px;
  --ib-space-12: 48px;
  --ib-space-13: 52px;
  --ib-space-14: 56px;
  --ib-space-15: 60px;
  --ib-space-16: 64px;
  --ib-type-caption: 12px;
  --ib-type-small: 14px;
  --ib-type-body: 16px;
  --ib-type-title: 32px;
  --ib-type-display: 68px;
  --ib-type-subheading: 20px;
  --ib-type-lead: 22px;
  --ib-type-hero-mobile: 44px;
  --ib-type-section: 44px;
  --ib-line-height-body: 1.5;
  --ib-line-height-heading: 1.15;
  --ib-line-height-display: 1.08;
  --ib-control-small: 36px;
  --ib-control-medium: 44px;
  --ib-control-large: 52px;
  --ib-motion-instant: 0ms;
  --ib-motion-fast: 120ms;
  --ib-motion-normal: 180ms;
  --ib-motion-slow: 240ms;
  --ib-motion-ease: cubic-bezier(0.2,0,0,1);
  --ib-motion-spin: 800ms;
  --ib-motion-personal-reveal: 700ms;
  --ib-focus-width: 2px;
  --ib-focus-offset: 3px;
  --ib-layer-base: 0;
  --ib-layer-dropdown: 20;
  --ib-layer-sticky: 30;
  --ib-layer-overlay: 40;
  --ib-layer-toast: 50;
  --ib-elevation-overlay: 0px 8px 32px 0px rgba(0,0,0,.18);
  --ib-tracking-heading: -0.04em;
  --ib-tracking-tight: -0.035em;
  --ib-tracking-label: 0.08em;
  --ib-tracking-wordmark: 0.14em;
  --ib-responsive-mobile: 760px;
  --ib-responsive-tablet: 1000px;
  --ib-responsive-wide: 1100px;
  --ib-font: var(--ib-typography-family), var(--ib-typography-fallback);
  --ib-font-wordmark: var(--ib-typography-wordmark-family), var(--ib-typography-fallback);
  color-scheme: light;
  --ib-canvas: var(--ib-palette-ivory);
  --ib-surface: var(--ib-palette-light-surface);
  --ib-surface-raised: var(--ib-palette-light-raised);
  --ib-text: var(--ib-palette-black);
  --ib-muted: var(--ib-palette-light-muted);
  --ib-subtle: var(--ib-palette-light-subtle);
  --ib-border: var(--ib-palette-light-border);
  --ib-border-strong: var(--ib-palette-light-boundary);
  --ib-accent: var(--ib-palette-light-info);
  --ib-on-accent: var(--ib-palette-ivory);
  --ib-accent-hover: var(--ib-palette-black);
  --ib-link: var(--ib-palette-light-info);
  --ib-focus: var(--ib-palette-light-info);
  --ib-success: var(--ib-palette-light-info);
  --ib-success-bg: var(--ib-palette-light-info-bg);
  --ib-warning: var(--ib-palette-light-warning);
  --ib-warning-bg: var(--ib-palette-light-warning-bg);
  --ib-danger: var(--ib-palette-light-danger);
  --ib-danger-bg: var(--ib-palette-light-danger-bg);
  --ib-info: var(--ib-palette-light-info);
  --ib-info-bg: var(--ib-palette-light-info-bg);
  --ib-brand-accent: var(--ib-palette-signal-blue);
  --ib-button-primary-bg: var(--ib-text);
  --ib-button-primary-fg: var(--ib-canvas);
  --ib-button-primary-hover-bg: var(--ib-palette-dark-raised);
  --ib-field-bg: var(--ib-surface);
  --ib-field-border: var(--ib-border-strong);
}
[data-ib-theme="light"] {
  color-scheme: light;
  --ib-canvas: var(--ib-palette-ivory);
  --ib-surface: var(--ib-palette-light-surface);
  --ib-surface-raised: var(--ib-palette-light-raised);
  --ib-text: var(--ib-palette-black);
  --ib-muted: var(--ib-palette-light-muted);
  --ib-subtle: var(--ib-palette-light-subtle);
  --ib-border: var(--ib-palette-light-border);
  --ib-border-strong: var(--ib-palette-light-boundary);
  --ib-accent: var(--ib-palette-light-info);
  --ib-on-accent: var(--ib-palette-ivory);
  --ib-accent-hover: var(--ib-palette-black);
  --ib-link: var(--ib-palette-light-info);
  --ib-focus: var(--ib-palette-light-info);
  --ib-success: var(--ib-palette-light-info);
  --ib-success-bg: var(--ib-palette-light-info-bg);
  --ib-warning: var(--ib-palette-light-warning);
  --ib-warning-bg: var(--ib-palette-light-warning-bg);
  --ib-danger: var(--ib-palette-light-danger);
  --ib-danger-bg: var(--ib-palette-light-danger-bg);
  --ib-info: var(--ib-palette-light-info);
  --ib-info-bg: var(--ib-palette-light-info-bg);
  --ib-brand-accent: var(--ib-palette-signal-blue);
  --ib-button-primary-bg: var(--ib-text);
  --ib-button-primary-fg: var(--ib-canvas);
  --ib-button-primary-hover-bg: var(--ib-palette-dark-raised);
  --ib-field-bg: var(--ib-surface);
  --ib-field-border: var(--ib-border-strong);
}
[data-ib-theme="dark"] {
  color-scheme: dark;
  --ib-canvas: var(--ib-palette-black);
  --ib-surface: var(--ib-palette-dark-surface);
  --ib-surface-raised: var(--ib-palette-dark-raised);
  --ib-text: var(--ib-palette-ivory);
  --ib-muted: var(--ib-palette-dim);
  --ib-subtle: var(--ib-palette-dark-subtle);
  --ib-border: var(--ib-palette-dark-border);
  --ib-border-strong: var(--ib-palette-dark-boundary);
  --ib-accent: var(--ib-palette-dark-info);
  --ib-on-accent: var(--ib-palette-black);
  --ib-accent-hover: var(--ib-palette-ivory);
  --ib-link: var(--ib-palette-dark-info);
  --ib-focus: var(--ib-palette-dark-info);
  --ib-success: var(--ib-palette-dark-info);
  --ib-success-bg: var(--ib-palette-dark-info-bg);
  --ib-warning: var(--ib-palette-dark-warning);
  --ib-warning-bg: var(--ib-palette-dark-warning-bg);
  --ib-danger: var(--ib-palette-dark-danger);
  --ib-danger-bg: var(--ib-palette-dark-danger-bg);
  --ib-info: var(--ib-palette-dark-info);
  --ib-info-bg: var(--ib-palette-dark-info-bg);
  --ib-brand-accent: var(--ib-palette-signal-blue);
  --ib-button-primary-bg: var(--ib-text);
  --ib-button-primary-fg: var(--ib-canvas);
  --ib-button-primary-hover-bg: var(--ib-palette-light-raised);
  --ib-field-bg: var(--ib-surface);
  --ib-field-border: var(--ib-border-strong);
}
@media (prefers-color-scheme: dark) {
  .ib-root:not([data-ib-theme="light"]):not([data-ib-theme="dark"]), [data-ib-theme="system"] {
    color-scheme: dark;
    --ib-canvas: var(--ib-palette-black);
    --ib-surface: var(--ib-palette-dark-surface);
    --ib-surface-raised: var(--ib-palette-dark-raised);
    --ib-text: var(--ib-palette-ivory);
    --ib-muted: var(--ib-palette-dim);
    --ib-subtle: var(--ib-palette-dark-subtle);
    --ib-border: var(--ib-palette-dark-border);
    --ib-border-strong: var(--ib-palette-dark-boundary);
    --ib-accent: var(--ib-palette-dark-info);
    --ib-on-accent: var(--ib-palette-black);
    --ib-accent-hover: var(--ib-palette-ivory);
    --ib-link: var(--ib-palette-dark-info);
    --ib-focus: var(--ib-palette-dark-info);
    --ib-success: var(--ib-palette-dark-info);
    --ib-success-bg: var(--ib-palette-dark-info-bg);
    --ib-warning: var(--ib-palette-dark-warning);
    --ib-warning-bg: var(--ib-palette-dark-warning-bg);
    --ib-danger: var(--ib-palette-dark-danger);
    --ib-danger-bg: var(--ib-palette-dark-danger-bg);
    --ib-info: var(--ib-palette-dark-info);
    --ib-info-bg: var(--ib-palette-dark-info-bg);
    --ib-brand-accent: var(--ib-palette-signal-blue);
    --ib-button-primary-bg: var(--ib-text);
    --ib-button-primary-fg: var(--ib-canvas);
    --ib-button-primary-hover-bg: var(--ib-palette-light-raised);
    --ib-field-bg: var(--ib-surface);
    --ib-field-border: var(--ib-border-strong);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ib-root, [data-ib-theme] {
    --ib-motion-instant: 0ms;
    --ib-motion-fast: 0ms;
    --ib-motion-normal: 0ms;
    --ib-motion-slow: 0ms;
    --ib-motion-spin: 0ms;
  }
}

.ib-root{font-family:var(--ib-font);font-size:var(--ib-type-body);line-height:var(--ib-line-height-body);background:var(--ib-canvas);color:var(--ib-text);min-width:0;-webkit-font-smoothing:antialiased}
.ib-root *,.ib-root *::before,.ib-root *::after{box-sizing:border-box}.ib-root :where(h1,h2,h3,h4,p,dl,dd,figure){margin:0}.ib-root :where(button,input,select,textarea){font:inherit}.ib-root :where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:var(--ib-focus-width) solid var(--ib-focus);outline-offset:var(--ib-focus-offset)}
.ib-root ::selection{background:var(--ib-accent);color:var(--ib-on-accent)}.ib-root :where(a){color:inherit}.ib-root :where(button){cursor:pointer}.ib-root :where(button,input,select,textarea):disabled{cursor:not-allowed}
.ib-stack{display:flex;flex-direction:column;gap:var(--ib-space-4)}.ib-inline{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ib-space-3)}.ib-root [data-gap='1']{gap:var(--ib-space-1)}.ib-root [data-gap='2']{gap:var(--ib-space-2)}.ib-root [data-gap='3']{gap:var(--ib-space-3)}.ib-root [data-gap='4']{gap:var(--ib-space-4)}.ib-root [data-gap='6']{gap:var(--ib-space-6)}.ib-root [data-gap='8']{gap:var(--ib-space-8)}
.ib-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ib-space-6)}.ib-grid[data-columns='3']{grid-template-columns:repeat(3,minmax(0,1fr))}.ib-grid[data-columns='4']{grid-template-columns:repeat(4,minmax(0,1fr))}
.ib-page{max-width:1440px;margin-inline:auto;padding:var(--ib-space-8)}.ib-section{padding-block:var(--ib-space-10);border-top:var(--ib-border-width) solid var(--ib-border)}.ib-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ib-space-6);margin-bottom:var(--ib-space-6)}.ib-section-heading h2{font-size:var(--ib-type-title);font-weight:var(--ib-typography-weights-500);letter-spacing:var(--ib-tracking-heading);line-height:var(--ib-line-height-heading)}.ib-section-heading p{font-size:var(--ib-type-small);color:var(--ib-muted);max-width:32rem}
.ib-surface{background:var(--ib-surface);border:var(--ib-border-width) solid var(--ib-border);border-radius:var(--ib-radius-surface);padding:var(--ib-space-6)}.ib-heading{font-weight:var(--ib-typography-weights-500);letter-spacing:var(--ib-tracking-tight);line-height:var(--ib-line-height-heading)}h1.ib-heading{font-size:var(--ib-type-display)}h2.ib-heading{font-size:var(--ib-type-title)}h3.ib-heading{font-size:var(--ib-type-subheading)}h4.ib-heading{font-size:1em}.ib-text[data-tone='muted']{color:var(--ib-muted)}.ib-text[data-size='small']{font-size:var(--ib-type-small)}.ib-text[data-size='caption']{font-size:var(--ib-type-caption)}.ib-label{font-size:var(--ib-type-small);font-weight:var(--ib-typography-weights-500)}.ib-link{color:var(--ib-link);text-decoration:underline;text-underline-offset:.22em}.ib-link:hover{text-decoration-thickness:2px}.ib-separator{border:0;border-top:var(--ib-border-width) solid var(--ib-border);margin-block:var(--ib-space-6)}
.ib-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ib-brand{display:inline-flex;align-items:center;gap:var(--ib-space-3);white-space:nowrap}.ib-brand img{border-radius:18%;object-fit:contain}.ib-brand>span{font-family:var(--ib-font-wordmark);font-size:var(--ib-type-caption);font-weight:var(--ib-typography-weights-400);letter-spacing:var(--ib-tracking-wordmark);text-transform:uppercase}.ib-icon{flex:none;vertical-align:middle}
.ib-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--ib-space-2);min-height:var(--ib-control-medium);padding:var(--ib-space-2) var(--ib-space-4);border:var(--ib-border-width) solid var(--ib-border-strong);border-radius:var(--ib-radius-control);background:transparent;color:var(--ib-text);font-size:var(--ib-type-small);font-weight:var(--ib-typography-weights-500);text-decoration:none;transition:background var(--ib-motion-fast) var(--ib-motion-ease),border-color var(--ib-motion-fast) var(--ib-motion-ease)}.ib-button:hover{background:var(--ib-surface-raised)}.ib-button:active{transform:translateY(1px)}.ib-button[data-variant='primary']{background:var(--ib-button-primary-bg);color:var(--ib-button-primary-fg);border-color:var(--ib-button-primary-bg)}.ib-button[data-variant='primary']:hover:not(:disabled){background:var(--ib-button-primary-hover-bg);border-color:var(--ib-button-primary-hover-bg)}.ib-button[data-variant='ghost']{border-color:transparent}.ib-button[data-variant='danger']{color:var(--ib-danger);border-color:var(--ib-danger);background:var(--ib-danger-bg)}.ib-button[data-size='sm']{min-height:var(--ib-control-small);padding-inline:var(--ib-space-3)}.ib-button[data-size='lg']{min-height:var(--ib-control-large);padding-inline:var(--ib-space-6)}.ib-button:disabled{opacity:.55;transform:none}.ib-button[aria-busy='true']{opacity:1}.ib-button-group{display:inline-flex;flex-wrap:wrap;gap:var(--ib-space-2)}
.ib-badge,.ib-status{display:inline-flex;align-items:center;flex:0 0 auto;inline-size:fit-content;max-inline-size:100%;min-inline-size:0;white-space:nowrap;gap:var(--ib-space-2);font-size:var(--ib-type-caption);font-weight:var(--ib-typography-weights-500)}.ib-badge{border-radius:var(--ib-radius-pill);padding:var(--ib-space-1) var(--ib-space-3);background:var(--ib-surface-raised);color:var(--ib-muted);border:var(--ib-border-width) solid var(--ib-border)}.ib-badge-label,.ib-status-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.ib-status-indicator{flex:none;width:6px;height:6px;border-radius:var(--ib-radius-pill);background:currentColor}.ib-root [data-intent='success']{color:var(--ib-success);--ib-intent-bg:var(--ib-success-bg)}.ib-root [data-intent='warning']{color:var(--ib-warning);--ib-intent-bg:var(--ib-warning-bg)}.ib-root [data-intent='danger']{color:var(--ib-danger);--ib-intent-bg:var(--ib-danger-bg)}.ib-root [data-intent='info']{color:var(--ib-info);--ib-intent-bg:var(--ib-info-bg)}.ib-badge[data-intent]:not([data-intent='neutral']){background:var(--ib-intent-bg);border-color:currentColor}
.ib-avatar{display:inline-flex;width:var(--ib-control-medium);height:var(--ib-control-medium);object-fit:cover;align-items:center;justify-content:center;border-radius:var(--ib-radius-pill);background:var(--ib-surface-raised);border:var(--ib-border-width) solid var(--ib-border);font-size:var(--ib-type-small)}.ib-key-values>div{display:flex;justify-content:space-between;gap:var(--ib-space-6);padding-block:var(--ib-space-3);border-bottom:var(--ib-border-width) solid var(--ib-border)}.ib-key-values dt{color:var(--ib-muted);font-size:var(--ib-type-small)}.ib-key-values dd{text-align:right}.ib-list-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ib-space-4);padding-block:var(--ib-space-4);border-bottom:var(--ib-border-width) solid var(--ib-border)}
.ib-grid>*{min-width:0}.ib-list-row-content{flex:1 1 12rem;min-width:0;overflow-wrap:anywhere}.ib-list-row-trailing{display:flex;align-items:center;flex:0 1 auto;max-width:100%;min-width:0}.ib-key-values>div{flex-wrap:wrap;align-items:baseline}.ib-key-values dt{flex:1 1 7rem}.ib-key-values dd{max-width:100%;min-width:0;overflow-wrap:anywhere}.ib-field{display:flex;flex-direction:column;gap:var(--ib-space-2)}.ib-field>label{font-size:var(--ib-type-small);font-weight:var(--ib-typography-weights-500)}.ib-input{width:100%;min-height:var(--ib-control-medium);padding:var(--ib-space-3);border:var(--ib-border-width) solid var(--ib-border-strong);border-radius:var(--ib-radius-control);color:var(--ib-text);background:var(--ib-canvas);accent-color:var(--ib-accent)}.ib-input::placeholder{color:var(--ib-muted)}.ib-input:hover:not(:disabled){border-color:var(--ib-text)}.ib-input:disabled{background:var(--ib-surface-raised);color:var(--ib-muted)}.ib-input[aria-invalid='true']{border-color:var(--ib-danger)}.ib-field-hint{color:var(--ib-muted);font-size:var(--ib-type-small)}.ib-field-error{color:var(--ib-danger);font-size:var(--ib-type-small)}.ib-textarea{resize:vertical}.ib-select{padding-right:var(--ib-space-8)}.ib-choice{display:flex;align-items:center;gap:var(--ib-space-3);min-height:var(--ib-control-medium);font-size:var(--ib-type-small)}.ib-choice input{accent-color:var(--ib-accent);width:18px;height:18px}.ib-radio-group{border:0;padding:0;margin:0}.ib-radio-group legend{font-size:var(--ib-type-small);font-weight:var(--ib-typography-weights-500)}.ib-switch{width:40px;height:24px;padding:3px;border:var(--ib-border-width) solid var(--ib-border-strong);background:var(--ib-surface-raised);border-radius:var(--ib-radius-pill)}.ib-switch[data-state='checked']{background:var(--ib-accent);border-color:var(--ib-accent)}.ib-switch-thumb{display:block;width:16px;height:16px;background:var(--ib-text);border-radius:var(--ib-radius-pill);transition:transform var(--ib-motion-fast)}.ib-switch[data-state='checked'] .ib-switch-thumb{transform:translateX(16px);background:var(--ib-on-accent)}
.ib-notice,.ib-validation{border:var(--ib-border-width) solid currentColor;border-radius:var(--ib-radius-control);padding:var(--ib-space-4);font-size:var(--ib-type-small)}.ib-notice{background:var(--ib-intent-bg,var(--ib-surface))}.ib-notice>div{margin-top:var(--ib-space-2)}.ib-validation{color:var(--ib-danger);background:var(--ib-danger-bg)}.ib-table-scroll{overflow-x:auto;border-block:var(--ib-border-width) solid var(--ib-border)}.ib-table{border-collapse:collapse;width:100%;text-align:left;font-size:var(--ib-type-small)}.ib-table th,.ib-table td{padding:var(--ib-space-4);border-bottom:var(--ib-border-width) solid var(--ib-border);white-space:nowrap}.ib-table thead th{font-weight:var(--ib-typography-weights-400);color:var(--ib-muted);background:var(--ib-surface)}.ib-table tbody th{font-weight:var(--ib-typography-weights-500)}.ib-table tbody tr:last-child>*{border-bottom:0}.ib-progress{display:flex;flex-direction:column;gap:var(--ib-space-2);font-size:var(--ib-type-small)}.ib-progress progress{width:100%;height:8px;accent-color:var(--ib-accent)}
.ib-spinner{display:inline-block;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ib-spin var(--ib-motion-spin) linear infinite}.ib-skeleton{display:flex;flex-direction:column;gap:var(--ib-space-3)}.ib-skeleton span{height:var(--ib-space-4);border-radius:var(--ib-radius-small);background:var(--ib-surface-raised)}.ib-skeleton span:nth-child(2){width:80%}.ib-skeleton span:nth-child(3){width:55%}.ib-empty{padding:var(--ib-space-10) var(--ib-space-6);display:flex;flex-direction:column;gap:var(--ib-space-3);align-items:center;text-align:center;border:var(--ib-border-width) dashed var(--ib-border-strong);border-radius:var(--ib-radius-surface)}
.ib-nav-item{display:block;text-decoration:none;padding:var(--ib-space-3) var(--ib-space-4);border-radius:var(--ib-radius-control);color:var(--ib-muted);font-size:var(--ib-type-small)}.ib-nav-item:hover{background:var(--ib-surface)}.ib-nav-item[aria-current='page']{background:var(--ib-surface-raised);color:var(--ib-text);font-weight:var(--ib-typography-weights-500)}.ib-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ib-space-2);padding:0;margin:0;list-style:none;font-size:var(--ib-type-small);color:var(--ib-muted)}.ib-breadcrumbs li+li:before{content:'/';margin-right:var(--ib-space-2);color:var(--ib-subtle)}
.ib-theme-toggle{border:var(--ib-border-width) solid var(--ib-border);border-radius:var(--ib-radius-control);display:flex;padding:var(--ib-space-1);margin:0;gap:var(--ib-space-1);font-size:var(--ib-type-caption)}.ib-theme-toggle label{position:relative;cursor:pointer}.ib-theme-toggle input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.ib-theme-toggle span{display:block;padding:var(--ib-space-2) var(--ib-space-3);border-radius:var(--ib-radius-small)}.ib-theme-toggle input:checked+span{background:var(--ib-text);color:var(--ib-canvas)}.ib-theme-toggle input:focus-visible+span{outline:var(--ib-focus-width) solid var(--ib-focus);outline-offset:var(--ib-focus-offset)}
.ib-overlay{position:fixed;inset:0;z-index:var(--ib-layer-overlay);background:color-mix(in srgb,var(--ib-text) 35%,transparent)}.ib-dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:var(--ib-layer-overlay);width:min(92vw,520px);max-height:85dvh;overflow:auto;background:var(--ib-canvas);color:var(--ib-text);padding:var(--ib-space-6);border:var(--ib-border-width) solid var(--ib-border-strong);border-radius:var(--ib-radius-dialog);box-shadow:var(--ib-elevation-overlay)}.ib-dialog[data-drawer='true']{left:auto;right:0;top:0;transform:none;height:100dvh;max-height:100dvh;width:min(88vw,400px);border-radius:var(--ib-radius-dialog) 0 0 var(--ib-radius-dialog)}.ib-dialog-header{display:flex;justify-content:space-between;align-items:center;gap:var(--ib-space-3)}.ib-dialog h2{font-size:var(--ib-type-title);font-weight:var(--ib-typography-weights-500);letter-spacing:var(--ib-tracking-heading)}.ib-dialog-description{color:var(--ib-muted);margin:var(--ib-space-3) 0 var(--ib-space-6);font-size:var(--ib-type-small)}
.ib-menu,.ib-popover,.ib-tooltip{background:var(--ib-surface-raised);color:var(--ib-text);border:var(--ib-border-width) solid var(--ib-border-strong);border-radius:var(--ib-radius-control);box-shadow:var(--ib-elevation-overlay);z-index:var(--ib-layer-overlay)}.ib-menu{min-width:180px;padding:var(--ib-space-1)}.ib-menu-item{padding:var(--ib-space-3);border-radius:var(--ib-radius-small);font-size:var(--ib-type-small);outline:none;cursor:pointer}.ib-menu-item[data-highlighted]{background:var(--ib-canvas);outline:var(--ib-border-width) solid var(--ib-focus)}.ib-menu-item[data-disabled]{opacity:.5;cursor:default}.ib-menu-item[data-danger]{color:var(--ib-danger)}.ib-popover{max-width:min(88vw,320px);padding:var(--ib-space-4);display:flex;flex-direction:column;gap:var(--ib-space-3)}.ib-tooltip{max-width:260px;padding:var(--ib-space-2) var(--ib-space-3);font-size:var(--ib-type-caption)}
.ib-tabs{display:flex;gap:var(--ib-space-1);border-bottom:var(--ib-border-width) solid var(--ib-border);overflow:auto}.ib-tab{border:0;border-bottom:2px solid transparent;background:none;color:var(--ib-muted);min-height:var(--ib-control-medium);padding:var(--ib-space-3) var(--ib-space-4);white-space:nowrap}.ib-tab[data-state='active']{color:var(--ib-text);border-bottom-color:var(--ib-accent)}.ib-tab-panel{padding-top:var(--ib-space-6)}.ib-toast-viewport{position:fixed;bottom:var(--ib-space-6);right:var(--ib-space-6);width:min(88vw,400px);padding:0;margin:0;list-style:none;z-index:var(--ib-layer-toast)}.ib-toast{display:flex;align-items:center;justify-content:space-between;gap:var(--ib-space-4);padding:var(--ib-space-3) var(--ib-space-4);border:var(--ib-border-width) solid var(--ib-border-strong);border-radius:var(--ib-radius-control);background:var(--ib-surface-raised);color:var(--ib-text);box-shadow:var(--ib-elevation-overlay);font-size:var(--ib-type-small)}
@keyframes ib-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.ib-grid,.ib-grid[data-columns='3'],.ib-grid[data-columns='4']{grid-template-columns:1fr}.ib-page{padding:var(--ib-space-5)}.ib-section-heading{flex-direction:column;gap:var(--ib-space-2)}.ib-input{font-size:16px}.ib-button[data-size='sm']{min-height:var(--ib-control-medium)}}
@media(prefers-reduced-motion:reduce){.ib-root *,.ib-root *::before,.ib-root *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.ib-button,.ib-input,.ib-switch,.ib-badge{border:1px solid ButtonText}.ib-status-indicator{background:CanvasText}.ib-theme-toggle input:checked+span{outline:2px solid Highlight}}
.ib-shell{min-height:100dvh}.ib-shell-header{display:flex;align-items:center;justify-content:space-between;gap:var(--ib-space-4);padding:var(--ib-space-5) var(--ib-space-8);border-bottom:var(--ib-border-width) solid var(--ib-border);background:var(--ib-canvas)}.ib-shell-label{border-left:var(--ib-border-width) solid var(--ib-border);padding-left:var(--ib-space-4);color:var(--ib-muted);font-size:var(--ib-type-small)}.ib-shell-body{display:grid;grid-template-columns:224px minmax(0,1fr);max-width:1600px;margin:auto}.ib-shell-sidebar{padding:var(--ib-space-8) var(--ib-space-5);border-right:var(--ib-border-width) solid var(--ib-border)}.ib-shell-main{max-width:none;margin:0;padding:var(--ib-space-12);min-width:0}.ib-shell-mobile{display:none}.ib-skip{position:fixed;left:var(--ib-space-4);top:var(--ib-space-4);transform:translateY(-200%);z-index:var(--ib-layer-toast);background:var(--ib-text);color:var(--ib-canvas);padding:var(--ib-space-3)}.ib-skip:focus{transform:none}
@media(max-width:1000px){.ib-shell-body{grid-template-columns:190px minmax(0,1fr)}.ib-shell-main{max-width:none;margin:0;padding:var(--ib-space-8)}.ib-shell-header{padding-inline:var(--ib-space-5)}}
@media(max-width:760px){.ib-shell-body{display:block}.ib-shell-sidebar{display:none}.ib-shell-main{max-width:none;margin:0;padding:var(--ib-space-5)}.ib-shell-mobile{display:block}.ib-shell-label{display:none}.ib-shell-header{flex-wrap:wrap}.ib-shell-header>.ib-inline:last-child{margin-left:auto}}

/* Public marketing compositions. All visual roles come from the canonical registry. */
html{scroll-behavior:smooth;scroll-padding-top:32px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.m-skip{position:absolute;top:0;left:var(--ib-space-5);transform:translateY(-150%);padding:var(--ib-space-3);background:var(--ib-text);color:var(--ib-canvas);z-index:10}
.m-skip:focus{transform:translateY(0)}
.m-menu[hidden]{display:none}
.m-faq summary:focus-visible{outline:var(--ib-focus-width) solid var(--ib-focus);outline-offset:var(--ib-focus-offset)}
body.ib-marketing{margin:0}
.ib-marketing a{text-underline-offset:.22em}
.ib-marketing .m-wrap{width:min(1200px,calc(100% - var(--ib-space-12) * 2));margin-inline:auto}
.m-header{display:flex;align-items:center;justify-content:space-between;gap:var(--ib-space-6);padding-block:var(--ib-space-6)}
.m-brand{display:inline-flex;align-items:center;gap:var(--ib-space-3);text-decoration:none;white-space:nowrap}
.m-brand img{display:block;width:44px;height:44px;object-fit:contain}
.m-brand span{font-family:var(--ib-font-wordmark);font-size:var(--ib-type-caption);font-weight:var(--ib-typography-weights-400);letter-spacing:var(--ib-tracking-wordmark);text-transform:uppercase}
.m-nav{display:flex;align-items:center;gap:var(--ib-space-8)}
.m-nav>a:not(.ib-button){font-size:var(--ib-type-small);text-decoration:none;padding-block:var(--ib-space-3)}
.m-nav>a:not(.ib-button):hover{text-decoration:underline}
.m-menu{display:none;width:var(--ib-control-medium);padding:var(--ib-space-2)}
.m-menu svg{width:24px;height:24px}
.m-menu [data-icon='close'],.m-menu[aria-expanded='true'] [data-icon='menu']{display:none}
.m-menu[aria-expanded='true'] [data-icon='close']{display:block}
.m-hero{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:var(--ib-space-8);padding-block:var(--ib-space-16) var(--ib-space-10)}
.m-eyebrow{display:block;color:var(--ib-muted);font-size:var(--ib-type-small);font-weight:var(--ib-typography-weights-500);margin-bottom:var(--ib-space-5)}
.m-hero h1{font-size:clamp(var(--ib-type-hero-mobile),5.3vw,var(--ib-type-display));font-weight:var(--ib-typography-weights-700);line-height:var(--ib-line-height-display);letter-spacing:var(--ib-tracking-heading);max-width:10em}
.m-hero .m-lead{font-size:var(--ib-type-lead);line-height:var(--ib-line-height-body);color:var(--ib-muted);max-width:28em;margin-block:var(--ib-space-6) var(--ib-space-8)}
.m-hero-art{width:100%;height:auto;display:block;mix-blend-mode:multiply}
.m-actions{display:flex;align-items:center;gap:var(--ib-space-6);flex-wrap:wrap}
.m-actions .ib-button{font-size:var(--ib-type-body)}
.m-text-link{ text-decoration-color:var(--ib-brand-accent);font-size:var(--ib-type-small);font-weight:var(--ib-typography-weights-500)}
.m-scope{display:flex;flex-wrap:wrap;gap:var(--ib-space-3) var(--ib-space-6);padding:0;margin:0 0 var(--ib-space-8);list-style:none;color:var(--ib-muted);font-size:var(--ib-type-small)}
.m-scope li{display:flex;align-items:center;gap:var(--ib-space-3)}
.m-scope li:before{content:'';width:5px;height:5px;flex:none;border-radius:50%;background:var(--ib-brand-accent)}
.m-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ib-space-5)}
.m-service{padding:var(--ib-space-8);border-radius:var(--ib-radius-surface);background:var(--ib-surface)}
.m-service h2{font-size:var(--ib-type-subheading);font-weight:var(--ib-typography-weights-600);line-height:var(--ib-line-height-heading);letter-spacing:var(--ib-tracking-tight);margin-block:var(--ib-space-5) var(--ib-space-3)}
.m-service p{color:var(--ib-muted);font-size:var(--ib-type-body);line-height:var(--ib-line-height-body);max-width:27em}
.m-doodle{width:60px;height:56px;display:block;color:var(--ib-text)}
.m-section{padding-block:calc(var(--ib-space-16) * 1.6)}
.m-section h2,.m-contact h2{font-size:clamp(var(--ib-type-title),3.6vw,var(--ib-type-section));font-weight:var(--ib-typography-weights-600);letter-spacing:var(--ib-tracking-heading);line-height:var(--ib-line-height-heading);max-width:15em}
.m-section-intro{margin-top:var(--ib-space-5);font-size:var(--ib-type-body);color:var(--ib-muted);max-width:39em}
.m-problems{display:grid;grid-template-columns:1fr 1.1fr;gap:calc(var(--ib-space-16) * 1.5);align-items:start}
.m-problem-list{list-style:none;padding:0;margin:0}
.m-problem-list li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:var(--ib-space-5);padding-block:var(--ib-space-6);border-bottom:var(--ib-border-width) solid var(--ib-border)}
.m-problem-icon{width:48px;height:48px;color:var(--ib-text)}
.m-problem-list h3{font-size:var(--ib-type-subheading);font-weight:var(--ib-typography-weights-600);line-height:var(--ib-line-height-heading);letter-spacing:var(--ib-tracking-tight)}
.m-problem-list p{font-size:var(--ib-type-body);color:var(--ib-muted);line-height:var(--ib-line-height-body);margin-top:var(--ib-space-3)}
.m-problem-list li:first-child{padding-top:0}
.m-problem-list span{display:block;font-size:var(--ib-type-body);letter-spacing:inherit;color:var(--ib-muted);margin-top:var(--ib-space-2)}
.m-band{background:var(--ib-surface)}
.m-how{padding-block:var(--ib-space-12)}
.m-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ib-space-6);margin-top:var(--ib-space-12);padding:0;list-style:none}
.m-steps>li{border-top:var(--ib-border-width) solid var(--ib-border-strong);padding-top:var(--ib-space-6)}
.m-step-number{display:flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:var(--ib-radius-pill);background:var(--ib-info-bg);color:var(--ib-link);font-size:var(--ib-type-body);font-weight:var(--ib-typography-weights-600);margin-bottom:var(--ib-space-5)}
.m-steps h3{font-size:var(--ib-type-subheading);font-weight:var(--ib-typography-weights-600);letter-spacing:var(--ib-tracking-tight);margin-bottom:var(--ib-space-3)}
.m-steps p{font-size:var(--ib-type-body);color:var(--ib-muted)}
.m-about{display:grid;grid-template-columns:1fr 1.4fr;gap:calc(var(--ib-space-16) * 1.25);align-items:center}
.m-portrait{width:100%;height:auto;max-width:350px;aspect-ratio:1;object-fit:cover;border-radius:var(--ib-radius-surface);display:block}
.m-about p{max-width:36em;margin-top:var(--ib-space-5);color:var(--ib-muted);font-size:var(--ib-type-body)}
.m-about .m-text-link{display:inline-flex;margin-top:var(--ib-space-6)}
.m-faq{border-top:var(--ib-border-width) solid var(--ib-border);padding-top:var(--ib-space-12)}
.m-faq-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--ib-space-16)}
.m-faq h2{font-size:var(--ib-type-title)}
.m-faq details{border-bottom:var(--ib-border-width) solid var(--ib-border);padding-block:var(--ib-space-5)}
.m-faq details:first-child{padding-top:0}
.m-faq summary{cursor:pointer;font-size:var(--ib-type-body);font-weight:var(--ib-typography-weights-500);min-height:var(--ib-control-medium);display:flex;align-items:center;justify-content:space-between;gap:var(--ib-space-5);list-style:none}
.m-faq summary::-webkit-details-marker{display:none}
.m-faq summary:after{content:'+';font-size:var(--ib-type-lead);font-weight:var(--ib-typography-weights-400)}
.m-faq details[open] summary:after{content:'−'}
.m-faq details p{color:var(--ib-muted);font-size:var(--ib-type-body);padding-block:var(--ib-space-3);max-width:36em}
.m-contact{text-align:center;background:var(--ib-surface);padding:var(--ib-space-16) var(--ib-space-8);border-radius:var(--ib-radius-dialog);margin-bottom:var(--ib-space-16)}
.m-contact h2{margin-inline:auto}
.m-contact p{font-size:var(--ib-type-body);color:var(--ib-muted);max-width:33em;margin:var(--ib-space-5) auto var(--ib-space-7)}
.m-contact .m-email{display:block;font-size:var(--ib-type-small);color:var(--ib-muted);margin-top:var(--ib-space-5)}
.m-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--ib-space-6);padding-block:var(--ib-space-8);border-top:var(--ib-border-width) solid var(--ib-border)}
.m-footer p,.m-footer>a{font-size:var(--ib-type-small);color:var(--ib-muted)}
@media(max-width:1000px){.ib-marketing .m-wrap{width:calc(100% - var(--ib-space-8) * 2)}.m-hero{gap:var(--ib-space-5)}.m-hero .m-lead{font-size:var(--ib-type-subheading)}.m-problems,.m-about{gap:var(--ib-space-12)}.m-services{gap:var(--ib-space-3)}.m-service{padding:var(--ib-space-6)}}
@media(max-width:760px){.ib-marketing .m-wrap{width:calc(100% - var(--ib-space-5) * 2)}.m-header{flex-wrap:wrap;padding-block:var(--ib-space-4);gap:var(--ib-space-3)}.m-brand img{width:36px;height:36px}.m-brand span{font-size:var(--ib-type-caption)}.m-menu{display:inline-flex}.m-nav{width:100%;display:flex;flex-wrap:wrap;gap:var(--ib-space-3);padding-block:var(--ib-space-3)}.m-nav>a:not(.ib-button){padding:var(--ib-space-3)}.m-nav[hidden]{display:none}.m-hero{grid-template-columns:1fr;padding-block:var(--ib-space-10) var(--ib-space-6);gap:var(--ib-space-6)}.m-eyebrow{margin-bottom:var(--ib-space-4)}.m-hero h1{font-size:clamp(var(--ib-type-title),11.3vw,var(--ib-type-hero-mobile));max-width:11em}.m-hero .m-lead{font-size:var(--ib-type-body);margin-block:var(--ib-space-5) var(--ib-space-6)}.m-hero-art{width:min(100%,420px);margin:auto}.m-scope{font-size:var(--ib-type-caption);gap:var(--ib-space-3) var(--ib-space-5)}.m-services,.m-problems,.m-steps,.m-about,.m-faq-layout{grid-template-columns:1fr;gap:var(--ib-space-8)}.m-service{display:grid;grid-template-columns:50px 1fr;gap:0 var(--ib-space-5)}.m-service .m-doodle{width:48px;grid-row:1/3}.m-service h2{margin:0 0 var(--ib-space-2);font-size:var(--ib-type-subheading)}.m-service p{grid-column:2;font-size:var(--ib-type-small)}.m-section{padding-block:var(--ib-space-16)}.m-section h2,.m-contact h2{font-size:var(--ib-type-title)}.m-steps{margin-top:var(--ib-space-8)}.m-step-number{margin-bottom:var(--ib-space-3)}.m-portrait{max-width:230px}.m-faq-layout{gap:var(--ib-space-8)}.m-contact{padding:var(--ib-space-12) var(--ib-space-6);margin-bottom:var(--ib-space-10)}.m-footer{flex-wrap:wrap}.m-footer .m-brand{width:100%}.m-footer p{margin-right:auto}}

.m-text-link>span{color:var(--ib-brand-accent)}

@media(max-width:760px){.m-steps{gap:var(--ib-space-6)}.m-steps article{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:var(--ib-space-5)}.m-steps .m-step-number{grid-row:1/3;margin:0}.m-steps h3,.m-steps p{grid-column:2}}
