/* WealthOS / Fieldwork — an operational interpretation of Sutéra's lab world.
   This replaces Spectral + Prism. Existing routes, semantics and controls remain.
   Licensed Manrope is self-hosted; no reference-site fonts or artwork are copied. */
@font-face {
  font-family: 'Manrope'; font-style: normal; font-weight: 200 800; font-display: swap;
  src: url('fonts/manrope-cyrillic-wght-normal.woff2') format('woff2');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family: 'Manrope'; font-style: normal; font-weight: 200 800; font-display: swap;
  src: url('fonts/manrope-latin-ext-wght-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope'; font-style: normal; font-weight: 200 800; font-display: swap;
  src: url('fonts/manrope-latin-wght-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

html[data-visual-language='sutera'] {
  --sutera-canvas: #FAFAFA;
  --sutera-paper: #FFFFFF;
  --sutera-subtle: #EFEFEF;
  --sutera-ink: #171717;
  --sutera-secondary: #434343;
  --sutera-muted: #5B5B5B;
  --sutera-line: #BDBDBD;
  --sutera-grid: #E4E4E4;
  --sutera-control: #737373;
  --sutera-alert: #923519;
  --sutera-success: #235F49;
  --sutera-focus: #171717;
  --sutera-font: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --sutera-mono: ui-monospace, 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
  --sutera-display: clamp(2.8rem, 4.8vw, 5.2rem);
  --sutera-ease: cubic-bezier(.2, 0, 0, 1);
  color-scheme: light;
  background: var(--sutera-canvas);
  scrollbar-color: var(--sutera-control) var(--sutera-canvas);
  accent-color: var(--sutera-ink);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html[data-visual-language='sutera'][data-color-mode='dark'] {
  --sutera-canvas: #161616; --sutera-paper: #1C1C1C; --sutera-subtle: #292929;
  --sutera-ink: #F5F5F5; --sutera-secondary: #D1D1D1; --sutera-muted: #AEAEAE;
  --sutera-line: #5E5E5E; --sutera-grid: #303030; --sutera-control: #919191;
  --sutera-alert: #FFB398; --sutera-success: #9FD4BC; --sutera-focus: #F5F5F5;
  color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
  html[data-visual-language='sutera']:not([data-color-mode]) {
    --sutera-canvas: #161616; --sutera-paper: #1C1C1C; --sutera-subtle: #292929;
    --sutera-ink: #F5F5F5; --sutera-secondary: #D1D1D1; --sutera-muted: #AEAEAE;
    --sutera-line: #5E5E5E; --sutera-grid: #303030; --sutera-control: #919191;
    --sutera-alert: #FFB398; --sutera-success: #9FD4BC; --sutera-focus: #F5F5F5;
    color-scheme: dark;
  }
}

/* Preferences survive the world change. Color is confined to selection/focus,
   leaving the lab's neutral canvas, typography and primary controls intact. */
html[data-visual-language='sutera'][data-theme-palette='sage'] { --sutera-focus: #235F49; }
html[data-visual-language='sutera'][data-theme-palette='mineral'] { --sutera-focus: #284F91; }
html[data-visual-language='sutera'][data-theme-palette='clay'] { --sutera-focus: #923519; }
html[data-visual-language='sutera'][data-color-mode='dark'][data-theme-palette='sage'] { --sutera-focus: #9FD4BC; }
html[data-visual-language='sutera'][data-color-mode='dark'][data-theme-palette='mineral'] { --sutera-focus: #ACC6F3; }
html[data-visual-language='sutera'][data-color-mode='dark'][data-theme-palette='clay'] { --sutera-focus: #FFB398; }
@media (prefers-color-scheme: dark) {
  html[data-visual-language='sutera']:not([data-color-mode])[data-theme-palette='sage'] { --sutera-focus: #9FD4BC; }
  html[data-visual-language='sutera']:not([data-color-mode])[data-theme-palette='mineral'] { --sutera-focus: #ACC6F3; }
  html[data-visual-language='sutera']:not([data-color-mode])[data-theme-palette='clay'] { --sutera-focus: #FFB398; }
}

/* The final alias bridge must outrank the older per-role and palette themes. */
html[data-visual-language='sutera'] body,
html[data-visual-language='sutera'][data-theme-palette] body[data-view-role] {
  --bg: var(--sutera-canvas); --surface: var(--sutera-paper); --surface-2: var(--sutera-subtle);
  --ink: var(--sutera-ink); --ink-2: var(--sutera-secondary); --ink-3: var(--sutera-muted);
  --line: var(--sutera-line); --line-soft: var(--sutera-grid); --control-line: var(--sutera-control);
  --accent: var(--sutera-ink); --accent-2: var(--sutera-secondary); --accent-soft: var(--sutera-subtle);
  --on-accent: var(--sutera-canvas); --alert: var(--sutera-alert); --warm: var(--sutera-muted);
  --font: var(--sutera-font); --r: 1px; --r2: 2px;
  --t-xs: .75rem; --t-sm: .875rem; --t-b: 1rem; --t-sec: 1.375rem; --t-title: 2rem; --t-hero: 3.25rem;
  --client-radius: 1px; --client-radius-small: 1px;
  --client-type-body: 1rem; --client-type-ui: .9375rem; --client-type-meta: .8125rem; --client-type-section: 1.375rem;
  --advisor-radius: 1px; --advisor-radius-small: 1px;
  --advisor-type-meta: .8125rem; --advisor-type-body: .9375rem; --advisor-type-title: clamp(2.1rem, 3.4vw, 3rem);
  --motion-fast: 120ms; --motion-base: 220ms; --motion-slow: 360ms;
  --ease-standard: var(--sutera-ease); --ease-enter: var(--sutera-ease); --ease: var(--sutera-ease);
  font-family: var(--sutera-font);
  letter-spacing: -.015em;
  background: var(--bg);
  color: var(--ink);
}
html[data-visual-language='sutera'] ::selection { background: var(--sutera-ink); color: var(--sutera-canvas); }
html[data-visual-language='sutera'] input, html[data-visual-language='sutera'] textarea { caret-color: var(--sutera-focus); }
html[data-visual-language='sutera'] ::placeholder { color: var(--sutera-muted); opacity: 1; }
html[data-visual-language='sutera'] :focus-visible { outline: 2px solid var(--sutera-focus); outline-offset: 4px; }
html[data-visual-language='sutera'] .main:focus { outline: none; }
html[data-theme-switching] *, html[data-theme-switching] *::before, html[data-theme-switching] *::after { transition: none !important; }
html[data-visual-language='sutera'] h1, html[data-visual-language='sutera'] h2, html[data-visual-language='sutera'] h3 { letter-spacing: -.035em; text-wrap: balance; }
html[data-visual-language='sutera'] a { text-underline-offset: .22em; text-decoration-thickness: 1px; }
html[data-visual-language='sutera'] :is(.v, dd, time, .slice-amount) { font-variant-numeric: tabular-nums; }
html[data-visual-language='sutera'] .t-hero { font-weight: 450; letter-spacing: -.04em; }

/* Sparse drafting lines use the page's real columns, never an animated texture. */
html[data-visual-language='sutera'] .shell {
  background-color: var(--bg);
  background-image: linear-gradient(90deg, transparent calc(100% - 1px), var(--line-soft) 0);
  background-size: calc((100% - var(--nav-w)) / 3) 100%;
  background-position: var(--nav-w) 0;
}
html[data-visual-language='sutera'] .side { background: var(--bg); border-color: var(--line); }
html[data-visual-language='sutera'] .side-top { padding-block: 30px 28px; }
html[data-visual-language='sutera'] .brand { font-size: 20px; letter-spacing: -.055em; font-weight: 750; line-height: 1; }
html[data-visual-language='sutera'] .brand-sub { margin-top: 14px; font-size: .75rem; letter-spacing: 0; }
html[data-visual-language='sutera'] body[data-view-role] .nav-item { min-height: 46px; border-radius: 1px; font-size: .875rem; letter-spacing: -.01em; }
html[data-visual-language='sutera'] body[data-view-role] .nav-item.is-active { background: var(--ink); color: var(--bg); font-weight: 600; }
html[data-visual-language='sutera'] .nav-item.is-active svg { color: inherit; }
html[data-visual-language='sutera'] .nav-badge { border: 1px solid currentColor; border-radius: 1px; background: var(--surface); color: var(--ink); }
html[data-visual-language='sutera'] :is(.nav-group, .role-switch-label) { font-size: .75rem; letter-spacing: .04em; }
html[data-visual-language='sutera'] body[data-view-role] .top { min-height: 76px; background: var(--bg); border-color: var(--line); }
html[data-visual-language='sutera'] body[data-view-role] .top-sync { border-radius: 1px; font-size: .75rem; }
html[data-visual-language='sutera'] body[data-view-role] .top-acts .icon-btn { border-radius: 1px; }
html[data-visual-language='sutera'] body[data-view-role] .main { max-width: 1560px; }
html[data-visual-language='sutera'] body[data-view-role] :is(.side-profile, .side-avatar, .mobile-profile, .mobile-advisor-avatar, .advisor-rail-profile, .advisor-rail-avatar) { border-radius: 1px; }
html[data-visual-language='sutera'] :is(.role-switch, .role-btn) { border-radius: 1px; }
html[data-visual-language='sutera'] .side-profile-copy small { font-size: .75rem; }

/* Controls are rectangular instruments. Only protected overlays receive depth. */
html[data-visual-language='sutera'] body[data-view-role] .btn,
html[data-visual-language='sutera'] .auth-form .btn {
  min-height: 44px; padding: 10px 18px; border-radius: 1px; font-size: .875rem;
  font-weight: 600; letter-spacing: -.01em; border-color: var(--control-line);
}
html[data-visual-language='sutera'] .btn-primary { background: var(--ink); color: var(--bg); border-color: var(--ink); }
html[data-visual-language='sutera'] .btn-danger { background: var(--alert); color: var(--surface); border-color: var(--alert); }
html[data-visual-language='sutera'] .icon-btn { border-radius: 1px; min-width: 40px; min-height: 40px; }
html[data-visual-language='sutera'] :is(.btn, .icon-btn) svg { stroke-width: 1.5; }
html[data-visual-language='sutera'] .field :is(input, select, textarea),
html[data-visual-language='sutera'] .auth-form input {
  border: 1px solid var(--control-line); border-radius: 1px; background: var(--surface); color: var(--ink);
}
html[data-visual-language='sutera'] body[data-view-role] :is(.seg, .seg button, .chip, .advisor-segment, .advisor-segment button, .advisor-type-filter, .advisor-type-filter button, .advisor-filter-button, .advisor-filter-button b, .palette-choice-item, .palette-preview, .palette-preview i, .slice-variant-nav a) { border-radius: 1px; }
html[data-visual-language='sutera'] .palette-choice-item.is-selected { border-color: var(--sutera-focus); }
html[data-visual-language='sutera'] .chip, html[data-visual-language='sutera'] .advisor-filter-button { min-height: 36px; }
html[data-visual-language='sutera'] .panel { border: 1px solid var(--line); border-radius: 0; background: var(--surface); box-shadow: -12px 0 40px #00000014; }
html[data-visual-language='sutera'] .panel-head { padding-block: 24px; border-color: var(--line); }
html[data-visual-language='sutera'] .panel-head h2 { font-size: 1.5rem; font-weight: 550; }
html[data-visual-language='sutera'] .search-box { border-radius: 1px; border-color: var(--control-line); background: var(--surface); box-shadow: 0 16px 56px #00000020; }
html[data-visual-language='sutera'] .toast { border-radius: 1px; background: var(--ink); color: var(--bg); }
html[data-visual-language='sutera'] .network-state { background: var(--surface); color: var(--alert); border-bottom: 1px solid var(--alert); }

/* Today: a statement and a model. The causal spine remains the explanation. */
html[data-visual-language='sutera'] .slice-page { max-width: 1380px; }
html[data-visual-language='sutera'] .slice-today { position: relative; isolation: isolate; }
html[data-visual-language='sutera'] .slice-today::before,
html[data-visual-language='sutera'] .slice-today::after {
  content: ''; position: absolute; width: 17px; height: 17px; pointer-events: none;
  background: linear-gradient(var(--control-line), var(--control-line)) center / 1px 17px no-repeat,
              linear-gradient(var(--control-line), var(--control-line)) center / 17px 1px no-repeat;
}
html[data-visual-language='sutera'] .slice-today::before { inset: -9px auto auto -9px; }
html[data-visual-language='sutera'] .slice-today::after { inset: auto -9px 0 auto; }
html[data-visual-language='sutera'] .slice-attention-scene {
  display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr);
  gap: 0 48px; max-width: none; padding-block: 40px 56px;
}
html[data-visual-language='sutera'] .spectral-status-copy { min-width: 0; }
html[data-visual-language='sutera'] :is(.spectral-status-copy h1, .slice-status-scene h1, .slice-today-head h1) {
  margin: 0; max-width: 15ch; font-size: var(--sutera-display); font-weight: 450;
  line-height: 1.06; letter-spacing: -.04em; text-transform: uppercase;
}
html[data-visual-language='sutera'] .spectral-status-label {
  display: flex; align-items: center; gap: 10px; margin-top: 28px !important;
  color: var(--ink); font-size: .75rem; letter-spacing: .03em; line-height: 1.5;
}
html[data-visual-language='sutera'] .spectral-status-label::before { content: ''; flex: none; width: 7px; height: 7px; background: var(--sutera-success); }
html[data-visual-language='sutera'] body:is([data-case-stage='awaiting_decision'], [data-case-stage='deferred'], [data-case-stage='exception']) .spectral-status-label::before { background: var(--alert); }
html[data-visual-language='sutera'] .slice-lead { max-width: 48ch; margin-top: 15px !important; font-size: 1rem; line-height: 1.6; }
html[data-visual-language='sutera'] .slice-primary-link {
  min-height: 48px; gap: 24px; margin-top: 28px; padding: 12px 18px;
  border: 1px solid var(--ink); border-radius: 1px; background: var(--ink); color: var(--bg);
  font-size: .875rem; font-weight: 600;
}
html[data-visual-language='sutera'] .slice-primary-link svg { width: 20px; height: 20px; margin-inline-start: auto; }
html[data-visual-language='sutera'] .slice-amount { margin-top: 24px !important; font-size: clamp(1.8rem, 3.2vw, 2.8rem); font-weight: 450; letter-spacing: -.04em; }
html[data-visual-language='sutera'] .sutera-context-map { align-self: end; min-width: 0; margin: 0; padding-top: 20px; }
html[data-visual-language='sutera'] .slice-page .sutera-context-diagram { position: relative; min-height: 238px; margin-top: 24px; color: var(--ink); }
html[data-visual-language='sutera'] .sutera-context-diagram > svg { position: absolute; inset: 0; display: block; width: 100%; height: 230px; overflow: visible; color: var(--ink); pointer-events: none; }
html[data-visual-language='sutera'] .sutera-map-values { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 110px 20px; padding-top: 24px; }
html[data-visual-language='sutera'] .sutera-map-values > div { min-width: 0; width: fit-content; background: var(--bg); }
html[data-visual-language='sutera'] .sutera-map-total { grid-column: 1 / -1; justify-self: center; text-align: center; }
html[data-visual-language='sutera'] .sutera-map-other { justify-self: end; text-align: right; }
html[data-visual-language='sutera'] .sutera-map-values dt { color: var(--ink-3); font-size: .75rem; line-height: 1.5; }
html[data-visual-language='sutera'] .sutera-map-values dd { margin-top: 4px; font-size: 1.2rem; line-height: 1.3; font-weight: 550; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
html[data-visual-language='sutera'] .sutera-context-map svg :is(line, path, circle, rect, polygon) { vector-effect: non-scaling-stroke; }
html[data-visual-language='sutera'] .sutera-context-map svg text { fill: currentColor; font-family: var(--sutera-font); }
html[data-visual-language='sutera'] .sutera-map-label { font-size: 12px; fill: var(--ink-3); }
html[data-visual-language='sutera'] .sutera-map-value { font-size: 17px; font-weight: 550; font-variant-numeric: tabular-nums; }
html[data-visual-language='sutera'] .sutera-map-caption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--line); color: var(--ink-3); font-size: .75rem; line-height: 1.5; }
html[data-visual-language='sutera'] .sutera-map-caption a { min-height: 32px; display: inline-flex; align-items: center; gap: 8px; color: var(--ink); }
html[data-visual-language='sutera'] .spectral-capital-mark { align-self: end; min-width: 0; padding: 20px 0; margin-top: 32px; border-block: 1px solid var(--line); background: var(--bg); }
html[data-visual-language='sutera'] .spectral-capital-mark > span { display: block; color: var(--ink-3); font-size: .75rem; }
html[data-visual-language='sutera'] .spectral-capital-mark strong { display: block; margin-top: 8px; font-size: clamp(1.75rem, 3vw, 2.7rem); font-weight: 450; line-height: 1.15; letter-spacing: -.04em; overflow-wrap: anywhere; }
html[data-visual-language='sutera'] .slice-causal { grid-column: 1 / -1; margin-top: 64px !important; background: var(--bg); }
html[data-visual-language='sutera'] .slice-causal li { padding: 24px 20px 0 0; animation: none; }
html[data-visual-language='sutera'] .slice-causal li::before { width: 7px; height: 7px; top: -4px; border-radius: 0; background: var(--ink); }
html[data-visual-language='sutera'] .slice-causal span { font-size: .75rem; font-weight: 500; letter-spacing: .02em; }
html[data-visual-language='sutera'] .slice-causal b { font-size: .875rem; font-weight: 600; line-height: 1.5; }
html[data-visual-language='sutera'] .slice-causal small { font-size: .75rem; line-height: 1.5; }
html[data-visual-language='sutera'] .slice-guardrail { grid-column: 1 / -1; font-size: .8125rem; }
html[data-visual-language='sutera'] .slice-calm { min-height: min(680px, calc(100dvh - 180px)); max-width: 960px; padding-block: 64px 112px; }
html[data-visual-language='sutera'] .slice-calm h1 { max-width: 10ch; font-size: clamp(3.5rem, 7vw, 6rem); font-weight: 450; line-height: 1.04; letter-spacing: -.04em; text-transform: uppercase; }
html[data-visual-language='sutera'] .slice-calm .slice-capital-line { margin-top: 38px !important; font-size: 1.0625rem; }
html[data-visual-language='sutera'] .slice-calm .slice-muted { max-width: 53ch; }
html[data-visual-language='sutera'] .slice-status-scene { max-width: 940px; }
html[data-visual-language='sutera'] :is(.slice-status-facts, .slice-timeline-scene) { background: var(--bg); }

/* Decision work is legible before it is expressive. No data hides in effects. */
html[data-visual-language='sutera'] .slice-case-head h1 { font-size: clamp(2rem, 3.8vw, 3.5rem); font-weight: 450; line-height: 1.08; letter-spacing: -.04em; text-transform: uppercase; }
html[data-visual-language='sutera'] .slice-case-head { padding-bottom: 32px; }
html[data-visual-language='sutera'] :is(.slice-client-wait h2, .slice-decision h2, .slice-advisor-review h2) { font-weight: 550; letter-spacing: -.025em; }
html[data-visual-language='sutera'] .slice-stage-track li { font-size: .75rem; }
html[data-visual-language='sutera'] .slice-option { padding: 24px 16px; margin-top: 10px; border: 1px solid var(--line); border-radius: 1px; background: var(--surface); }
html[data-visual-language='sutera'] .slice-options { border: 0; }
html[data-visual-language='sutera'] .slice-option.is-selected { padding-inline: 16px; border-color: var(--ink); background: var(--surface-2); }
html[data-visual-language='sutera'] .slice-option-number { font-family: var(--sutera-mono); font-size: .8125rem; }
html[data-visual-language='sutera'] .slice-option-title { font-size: 1.125rem; font-weight: 600; }
html[data-visual-language='sutera'] .slice-option-title em { font-size: .75rem; }
html[data-visual-language='sutera'] :is(.slice-receipt, .slice-agent-trace) { padding: 24px; border-radius: 1px; background: var(--surface); }
html[data-visual-language='sutera'] :is(.slice-evidence-grid dt, .slice-agent-trace dt, .slice-receipt dt, .slice-snapshot-compare dt, .slice-advisor-evidence li span) { font-size: .75rem; }
html[data-visual-language='sutera'] :is(.slice-evidence-grid dd, .slice-agent-trace dd, .slice-advisor-evidence li b) { font-size: .8125rem; line-height: 1.55; }
html[data-visual-language='sutera'] .slice-outcome-mark { border-radius: 1px; color: var(--sutera-success); border-color: var(--sutera-success); }

/* Client capital, family and goals become registers and annotated sheets. */
html[data-visual-language='sutera'] body[data-view-role='client'] .mobile-summary-value { font-size: clamp(2.4rem, 4.6vw, 4rem); font-weight: 450; letter-spacing: -.04em; line-height: 1.12; }
html[data-visual-language='sutera'] body[data-view-role='client'] .mobile-summary-facts dd { font-weight: 500; }
html[data-visual-language='sutera'] body[data-view-role='client'] :is(.mobile-summary-facts dt, .mobile-summary-facts small, .mobile-capital-card small, .mobile-capital-details button small, .mobile-goal-rail span, .mobile-goal-rail small, .mobile-family-rail small, .client-tax-list button small, .tl-copy small, .tl-date, .access-toggle small, .access-toggle-state, .client-family-transition dt, .client-capital-register > summary span, .mobile-demo-note, .client-future-summary > p:not(.mobile-overline)) { font-size: .75rem; line-height: 1.5; }
html[data-visual-language='sutera'] body[data-view-role='client'] :is(.mobile-overline, .mobile-brief-kicker, .mobile-capital-profile-overline, .mobile-capital-profile-label, .client-section-head p, .client-side-card > p, .client-side-card header p, .client-family-transition header p, .client-access-card header p) { font-size: .75rem; letter-spacing: .03em; }
html[data-visual-language='sutera'] body[data-view-role='client'] :is(.mobile-capital-card, .mobile-capital-profile, .mobile-brief, .client-capital-selection, .client-side-card, .client-family-transition, .client-access-card, .mobile-goal-card, .mobile-family-card, .mobile-service-card, .mobile-advisor-card, .client-future-summary, .client-family-summary, .client-timeline, .mobile-goal-rail > *, .mobile-family-rail > *) { border-radius: 1px; box-shadow: none; background: var(--surface); border-color: var(--line); }
html[data-visual-language='sutera'] body[data-view-role='client'] :is(.mobile-capital-profile, .mobile-brief, .client-family-summary, .client-future-summary, .client-timeline) { border-inline: 0; background: var(--bg); padding-inline: 0; }
html[data-visual-language='sutera'] body[data-view-role='client'] .mobile-capital-card { padding: 22px 18px; }
html[data-visual-language='sutera'] body[data-view-role='client'] .mobile-capital-card b { font-size: 1.65rem; font-weight: 450; letter-spacing: -.03em; }
html[data-visual-language='sutera'] body[data-view-role='client'] .mobile-capital-card.is-selected { border-color: var(--ink); background: var(--ink); color: var(--bg); }
html[data-visual-language='sutera'] body[data-view-role='client'] .mobile-capital-card.is-selected :is(b, span, small) { color: var(--bg); }
html[data-visual-language='sutera'] body[data-view-role='client'] :is(.mobile-capital-profile, .mobile-brief)::after { display: none; }
html[data-visual-language='sutera'] body[data-view-role='client'] :is(.mobile-currency, .mobile-sync-status, .mobile-service-icon, .mobile-goal-icon, .mobile-advisor-button, .tl-row.is-nearest) { border-radius: 1px; }
html[data-visual-language='sutera'] body[data-view-role='client'] .mobile-currency { background: var(--surface); border: 1px solid var(--line); font-size: .75rem; }
html[data-visual-language='sutera'] :is(.client-context-strip, .client-capital-arithmetic, .advisor-summary-strip, .client-timeline, .rows, .stats, .sc-grid, .draft, .basis) { border-color: var(--line); }
html[data-visual-language='sutera'] .rows th { color: var(--ink-3); font-size: .75rem; font-weight: 500; letter-spacing: .02em; }
html[data-visual-language='sutera'] .rows td { border-color: var(--line-soft); padding-block: 18px; }
html[data-visual-language='sutera'] .rows .cell { font-size: .875rem; }
html[data-visual-language='sutera'] .rows .cell small { margin-top: 4px; font-size: .75rem; line-height: 1.5; }
html[data-visual-language='sutera'] .cell b { font-weight: 550; }
html[data-visual-language='sutera'] .map-wrap { background: var(--bg); border-color: var(--line); }
html[data-visual-language='sutera'] .map-hub-value { fill: var(--bg) !important; }
html[data-visual-language='sutera'] .map-hub-name { fill: var(--bg) !important; }

/* Advisor density stays operational: normal-case headings, wider data region. */
html[data-visual-language='sutera'] body[data-view-role='advisor'] .advisor-page-head h1 { font-weight: 450; line-height: 1.12; }
html[data-visual-language='sutera'] body[data-view-role='advisor'] .slice-case-head h1 { font-size: clamp(2rem, 3.2vw, 3rem); text-transform: none; }
html[data-visual-language='sutera'] body[data-view-role='advisor'] .advisor-page-lead { max-width: 65ch; font-size: .9375rem; }
html[data-visual-language='sutera'] body[data-view-role='advisor'] :is(.advisor-context-card, .advisor-draft-card, .advisor-client-preview) { border-radius: 1px; background: var(--surface); border-color: var(--line); box-shadow: none; }
html[data-visual-language='sutera'] body[data-view-role='advisor'] .advisor-context-featured::after { display: none; }
html[data-visual-language='sutera'] body[data-view-role='advisor'] .advisor-summary-strip dd { font-weight: 450; font-size: 1.65rem; }
html[data-visual-language='sutera'] body[data-view-role='advisor'] :is(.advisor-event-row, .advisor-family-row, .advisor-scenario-list a, .advisor-decision-row, .advisor-source-row) { border-radius: 1px; border-color: var(--line-soft); }
html[data-visual-language='sutera'] body[data-view-role='advisor'] .advisor-section-head h2 { font-weight: 550; }
html[data-visual-language='sutera'] body[data-view-role='advisor'] .advisor-eyebrow { font-size: .75rem; letter-spacing: .04em; }
html[data-visual-language='sutera'] body[data-view-role='advisor'] .advisor-formula { border-left-width: 1px; }
html[data-visual-language='sutera'] .access-denied-card { border-radius: 1px; }
html[data-visual-language='sutera'] .theme-preview { border-radius: 1px; background: linear-gradient(90deg, #FAFAFA 50%, #161616 50%); }
html[data-visual-language='sutera'] .theme-preview.is-light { background: #FAFAFA; }
html[data-visual-language='sutera'] .theme-preview.is-dark { background: #161616; }

/* The sign-in is a sheet in the same space, not an unrelated marketing page. */
html[data-visual-language='sutera'] .auth { justify-items: start; padding: clamp(28px, 8vw, 128px); background-color: var(--bg); background-image: linear-gradient(90deg, transparent calc(100% - 1px), var(--line-soft) 0); background-size: 25% 100%; }
html[data-visual-language='sutera'] .auth-card { width: min(100%, 560px); padding: 0; border: 0; border-radius: 0; background: transparent; overflow: visible; }
html[data-visual-language='sutera'] .auth-card::after { display: none; }
html[data-visual-language='sutera'] .auth-brand { font-size: 1.25rem; color: var(--ink); font-weight: 750; letter-spacing: -.05em; }
html[data-visual-language='sutera'] .auth-card h1 { max-width: 13ch; margin-top: 72px; font-size: clamp(2.8rem, 5.4vw, 5rem); line-height: 1.06; letter-spacing: -.04em; text-transform: uppercase; font-weight: 450; }
html[data-visual-language='sutera'] .auth-form { max-width: 400px; margin-top: 36px; }
html[data-visual-language='sutera'] .auth-form label { font-size: .8125rem; }
html[data-visual-language='sutera'] .auth-note { max-width: 400px; }

@media (hover: hover) and (pointer: fine) {
  html[data-visual-language='sutera'] :is(.btn-primary, .slice-primary-link):hover { background: var(--ink-2); border-color: var(--ink-2); color: var(--bg); }
  html[data-visual-language='sutera'] body[data-view-role] .nav-item:hover { background: var(--surface-2); color: var(--ink); }
  html[data-visual-language='sutera'] body[data-view-role] .nav-item.is-active:hover { background: var(--ink-2); color: var(--bg); }
  html[data-visual-language='sutera'] .slice-option:hover { border-color: var(--control-line); }
  html[data-visual-language='sutera'] .slice-option.is-selected:hover { border-color: var(--ink); }
  html[data-visual-language='sutera'] .rows :is(tr[data-go], tr[data-panel]):hover { background: var(--surface-2); }
}
@media (min-width: 1200px) {
  html[data-visual-language='sutera'] body[data-view-role='client'] { --nav-w: 214px; --pad: 42px; }
  html[data-visual-language='sutera'] body[data-view-role='advisor'] { --pad: 40px; }
  html[data-visual-language='sutera'] body[data-view-role='client'] .brand { font-size: 20px; letter-spacing: -.055em; }
  html[data-visual-language='sutera'] body[data-view-role='client'] .main { padding-top: 40px; }
  html[data-visual-language='sutera'] body[data-view-role='client'] .mobile-capital-rail { gap: 0; }
  html[data-visual-language='sutera'] body[data-view-role='client'] .mobile-capital-card + .mobile-capital-card { border-inline-start: 0; }
}
@media (min-width: 720px) and (max-width: 1199px) {
  html[data-visual-language='sutera'] body[data-view-role] { --nav-w: 94px; }
  html[data-visual-language='sutera'] .slice-attention-scene { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 0 28px; }
  html[data-visual-language='sutera'] .spectral-status-copy h1 { font-size: clamp(2.5rem, 4.8vw, 3.75rem); }
  html[data-visual-language='sutera'] body[data-view-role='client'] .brand { font-size: 0; }
  html[data-visual-language='sutera'] body[data-view-role='client'] .brand::after { content: 'W'; font-size: 24px; letter-spacing: -.06em; }
  html[data-visual-language='sutera'] body[data-view-role='client'] .nav-item { font-size: .75rem; min-height: 66px; }
  html[data-visual-language='sutera'] body[data-view-role='advisor'] .nav-item { font-size: .75rem; min-height: 66px; }
  html[data-visual-language='sutera'] body[data-view-role='client'] .mobile-capital-card { padding: 18px; }
  html[data-visual-language='sutera'] body[data-view-role='client'] .mobile-summary-value { font-size: 2.6rem; }
  html[data-visual-language='sutera'] .slice-causal { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 28px; }
}
@media (max-width: 719px) {
  html[data-visual-language='sutera'] body[data-view-role] { --pad: 22px; --sutera-display: clamp(2.2rem, 9.4vw, 3.6rem); }
  html[data-visual-language='sutera'] .shell { background-size: calc(100% - 44px) 100%; background-position: 22px 0; }
  html[data-visual-language='sutera'] body[data-view-role] .main { padding-inline: 22px; padding-top: 28px; }
  html[data-visual-language='sutera'] body[data-view-role] .top { min-height: 64px; background: var(--bg); }
  html[data-visual-language='sutera'] .mobile-appbar { padding-block: 12px; }
  html[data-visual-language='sutera'] .mobile-appbar-copy small { font-size: .75rem; line-height: 1.5; }
  html[data-visual-language='sutera'] body[data-view-role] .mnav { background: var(--surface); border-color: var(--line); border-radius: 0; backdrop-filter: none; box-shadow: none; }
  html[data-visual-language='sutera'] body[data-view-role] .mnav :is(a, button) { border-radius: 0; min-height: 54px; font-size: .75rem; letter-spacing: -.035em; }
  html[data-visual-language='sutera'] .mnav .is-active { color: var(--ink); background: var(--surface-2); }
  html[data-visual-language='sutera'] .mnav .is-active svg { color: var(--ink); }
  html[data-visual-language='sutera'] .slice-attention-scene { grid-template-columns: minmax(0, 1fr); gap: 0; padding-top: 12px; padding-bottom: 36px; }
  html[data-visual-language='sutera'] .spectral-status-copy h1 { max-width: 15ch; font-size: var(--sutera-display); line-height: 1.08; }
  html[data-visual-language='sutera'] .spectral-status-label { margin-top: 24px !important; }
  html[data-visual-language='sutera'] .slice-lead { max-width: 42ch; font-size: .9375rem; line-height: 1.6; }
  html[data-visual-language='sutera'] .slice-primary-link { margin-top: 24px; min-height: 48px; }
  html[data-visual-language='sutera'] .sutera-context-map { margin-top: 38px; padding-top: 18px; border-top: 1px solid var(--line); }
  html[data-visual-language='sutera'] .sutera-context-map svg { max-height: 280px; }
  html[data-visual-language='sutera'] .spectral-capital-mark { margin-top: 24px; padding-block: 18px; display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; }
  html[data-visual-language='sutera'] .spectral-capital-mark strong { margin: 0; font-size: 1.65rem; }
  html[data-visual-language='sutera'] .slice-causal { grid-template-columns: minmax(0, 1fr); margin-top: 40px !important; }
  html[data-visual-language='sutera'] .slice-causal li { padding: 0 0 26px 22px; border-top: 0; border-left: 1px solid var(--line); }
  html[data-visual-language='sutera'] .slice-causal li::before { top: 4px; left: -4px; }
  html[data-visual-language='sutera'] .slice-causal b { font-size: .9375rem; }
  html[data-visual-language='sutera'] .slice-calm { padding-block: 48px 88px; min-height: calc(100dvh - 220px); }
  html[data-visual-language='sutera'] .slice-calm h1 { font-size: clamp(3.2rem, 13vw, 5rem); }
  html[data-visual-language='sutera'] .slice-calm .slice-capital-line { margin-top: 30px !important; font-size: 1rem; }
  html[data-visual-language='sutera'] .slice-calm .slice-muted { font-size: .875rem; }
  html[data-visual-language='sutera'] .slice-case-head h1 { font-size: clamp(1.8rem, 7.5vw, 2.5rem); }
  html[data-visual-language='sutera'] .slice-option { grid-template-columns: 24px minmax(0, 1fr); padding: 22px 14px; gap: 10px; }
  html[data-visual-language='sutera'] .slice-option.is-selected { padding-inline: 14px; }
  html[data-visual-language='sutera'] .slice-option-title { font-size: 1rem; }
  html[data-visual-language='sutera'] :is(.slice-receipt, .slice-agent-trace) { padding: 20px; }
  html[data-visual-language='sutera'] .slice-decision-actions { background: var(--bg); backdrop-filter: none; }
  html[data-visual-language='sutera'] .panel { border-radius: 0; }
  html[data-visual-language='sutera'] body[data-view-role] :is(input, select, textarea),
  html[data-visual-language='sutera'] .auth-form input { font-size: 1rem; }
  html[data-visual-language='sutera'] .icon-btn { min-width: 44px; min-height: 44px; }
  html[data-visual-language='sutera'] body[data-view-role='client'] .mobile-summary-value { font-size: clamp(2rem, 8.8vw, 3rem); }
  html[data-visual-language='sutera'] body[data-view-role='client'] .mobile-capital-rail { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row; grid-auto-columns: auto; overflow: visible; gap: 0; }
  html[data-visual-language='sutera'] body[data-view-role='client'] .mobile-capital-card { min-width: 0; padding: 18px 14px; }
  html[data-visual-language='sutera'] body[data-view-role='client'] .mobile-capital-card b { font-size: 1.5rem; }
  html[data-visual-language='sutera'] body[data-view-role='advisor'] .advisor-page-head h1 { font-size: 2rem; }
  html[data-visual-language='sutera'] body[data-view-role='advisor'] .advisor-summary-strip dd { font-size: 1.35rem; }
  html[data-visual-language='sutera'] .auth { padding: 28px; background-size: calc(100% - 56px) 100%; background-position: 28px 0; }
  html[data-visual-language='sutera'] .auth-card h1 { margin-top: 60px; font-size: clamp(2.5rem, 11vw, 3.75rem); }
  html[data-visual-language='sutera'] .auth-form { margin-top: 32px; }
}

/* One short sequence expresses cause → effect. All information starts visible. */
@media (prefers-reduced-motion: no-preference) {
  html[data-visual-language='sutera'] :is(.btn, .icon-btn, .slice-primary-link) { transition: transform 120ms var(--sutera-ease), background-color 120ms var(--sutera-ease), border-color 120ms var(--sutera-ease); }
  html[data-visual-language='sutera'] :is(.btn, .icon-btn, .slice-primary-link):active { transform: scale(.96); }
  html[data-visual-language='sutera'] .slice-causal li { animation: sutera-causal 320ms var(--sutera-ease) both; animation-delay: calc(var(--slice-order) * 80ms); }
  @keyframes sutera-causal { from { opacity: .55; transform: translateY(4px); } to { opacity: 1; transform: none; } }
}
@media (prefers-reduced-motion: reduce) {
  html[data-visual-language='sutera'] *, html[data-visual-language='sutera'] *::before, html[data-visual-language='sutera'] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
  html[data-visual-language='sutera'] :is(.shell, .auth) { background-image: none; }
  html[data-visual-language='sutera'] .slice-today::before, html[data-visual-language='sutera'] .slice-today::after { display: none; }
  html[data-visual-language='sutera'] :focus-visible { outline-color: Highlight; }
  html[data-visual-language='sutera'] :is(.btn, .slice-primary-link) { border: 1px solid ButtonText; }
}
@media print {
  html[data-visual-language='sutera'][data-theme-palette] body[data-view-role] {
    --bg: #FFFFFF; --surface: #FFFFFF; --surface-2: #EEEEEE; --ink: #000000; --ink-2: #222222; --ink-3: #444444;
    --line: #777777; --line-soft: #CCCCCC; --accent: #000000; --accent-2: #222222; --on-accent: #FFFFFF;
    background: #FFFFFF; color: #000000;
  }
  html[data-visual-language='sutera'] :is(.shell, .auth) { background-image: none; }
  html[data-visual-language='sutera'] .slice-today::before, html[data-visual-language='sutera'] .slice-today::after { display: none; }
}
