/* DNventory — Registry Noir 3.0 refinement layer */
:root {
  color-scheme: dark;
  --canvas: #080c0b;
  --canvas-raised: #0b100e;
  --surface: #101714;
  --surface-alt: #151e1a;
  --surface-raised: #19231f;
  --surface-deep: #0c1210;
  --rail: #070a09;
  --ink: #f1f4ef;
  --ink-soft: #d4dcd7;
  --muted: #99a8a1;
  --muted-dim: #6f8078;
  --line: #26332e;
  --line-strong: #384a43;
  --line-bright: #50645b;
  --brand: #43b383;
  --brand-dark: #76d5ad;
  --brand-soft: #15372a;
  --brand-glow: rgba(67, 179, 131, .2);
  --signal: #82a9ff;
  --signal-soft: #17264a;
  --brass: #c8a66a;
  --brass-soft: #312817;
  --warning: #e5a35b;
  --warning-soft: #3b2818;
  --danger: #f07875;
  --danger-soft: #3d1f20;
  --success: #5dcc96;
  --shadow-soft: 0 1px 0 rgba(255, 255, 255, .025) inset, 0 18px 48px rgba(0, 0, 0, .22);
  --shadow-raised: 0 1px 0 rgba(255,255,255,.04) inset, 0 24px 70px rgba(0,0,0,.34);
  --radius: 12px;
  --radius-sm: 8px;
  --duration-fast: 140ms;
  --duration: 200ms;
  --duration-slow: 280ms;
  --ease: cubic-bezier(.2, .75, .2, 1);
  --ease-spring: cubic-bezier(.16, 1, .3, 1);
  --font-heading: "Aptos Display", "Arial Narrow", "Segoe UI", sans-serif;
  --font-body: "Segoe UI Variable", Aptos, "Segoe UI", sans-serif;
  --font-mono: "Cascadia Code", "Cascadia Mono", "SFMono-Regular", Consolas, monospace;
}

html { scrollbar-gutter: stable; }
body { font-feature-settings: "kern" 1, "tnum" 1; text-rendering: optimizeLegibility; }
::selection { background: #2b624c; color: #fff; }
a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
h1, h2, h3, h4 { text-wrap: balance; }
p { text-wrap: pretty; }

/* Controls */
.btn {
  min-height: 42px;
  border-radius: var(--radius-sm);
  letter-spacing: -.005em;
  transition: background-color .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease), box-shadow .15s var(--ease);
}
.btn:hover { transform: none; box-shadow: 0 3px 10px rgba(17, 30, 25, .08); }
.btn:active { box-shadow: inset 0 1px 3px rgba(17, 30, 25, .12); }
.btn-primary { box-shadow: 0 1px 2px rgba(15, 74, 53, .18); }
.btn-quiet:hover { box-shadow: none; background: rgba(19, 32, 28, .055); }
.btn-small { min-height: 35px; }
.icon-btn { cursor: pointer; color: var(--ink); }

/* Application shell */
.app-shell { grid-template-columns: 260px minmax(0, 1fr); }
.rail {
  width: 260px;
  padding: 24px 16px 18px;
  border-right: 1px solid rgba(255, 255, 255, .055);
  box-shadow: 8px 0 26px rgba(4, 12, 9, .055);
}
.rail-brand { padding: 0 10px 20px; }
.brand-link { display: inline-flex; align-items: center; color: inherit; text-decoration: none; }
.brand-link:hover { color: inherit; }
.brand-logo-full { display: block; width: auto; height: 32px; }
.brand-logo-mark { display: none; width: 34px; height: 34px; }
.public-brand .brand-logo-full { height: 34px; }
.rail-brand-link .brand-logo-full { height: 32px; }
.topbar-brand { display: none; flex: 0 0 auto; }
.topbar-brand .brand-logo-full { height: 27px; }
.workspace-mark { display: flex; align-items: center; gap: 10px; margin-top: 19px; }
.workspace-mark > span {
  width: 32px; height: 32px; display: grid; place-items: center;
  border: 1px solid #3d4b46; border-radius: 7px; background: #1b2824;
  color: #9fd0bc; font-weight: 800;
}
.workspace-mark p { display: grid; min-width: 0; margin: 0; color: #d8e1dd; font-weight: 650; line-height: 1.25; }
.workspace-mark small { color: #879992; font: 700 .62rem var(--font-body); text-transform: uppercase; letter-spacing: .1em; }
.rail nav { margin-top: 14px; overflow-y: auto; scrollbar-width: thin; }
.nav-group + .nav-group { margin-top: 17px; }
.nav-label { margin: 0 11px 6px; color: #71837c; font-size: .63rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.rail nav a {
  position: relative; min-height: 42px; margin: 1px 0; border-radius: 6px;
  color: #aebbb6; font-size: .9rem; font-weight: 630;
}
.rail nav a::before { content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; width: 2px; border-radius: 2px; background: transparent; }
.rail nav a:hover { background: #182521; color: #f7fbf9; }
.rail nav a.active { background: #1d342b; color: #fff; }
.rail nav a.active::before { background: #73b99d; }
.rail nav a .icon { width: 19px; height: 19px; opacity: .9; }
.rail-footer { gap: 2px; padding: 12px 2px 0; }
.rail-footer a { display: flex; align-items: center; gap: 10px; min-height: 38px; padding: 7px 10px; border-radius: 6px; color: #92a29c; text-decoration: none; }
.rail-footer a:hover { background: #182521; color: #fff; }
.rail-footer .icon { width: 18px; height: 18px; }
.rail-footer .version { padding: 8px 10px 0; color: #687a73; font: 600 .65rem var(--font-mono); }
.app-main { grid-column: 2; }

.topbar {
  height: 68px; padding: 0 34px; gap: 14px;
  background: rgba(255, 254, 250, .96); box-shadow: 0 1px 0 rgba(17, 30, 25, .03);
}
.topbar-wordmark { display: none; color: var(--ink); font-family: var(--font-heading); font-size: 1.18rem; font-weight: 650; letter-spacing: -.04em; text-decoration: none; }
.topbar-wordmark span { font-weight: 900; }
.global-search { max-width: 610px; }
.global-search input { height: 40px; padding-right: 42px; border-color: transparent; background: #f0f1ec; }
.global-search input:hover { border-color: var(--line); background: #f7f7f3; }
.global-search input:focus { border-color: var(--signal); background: #fff; box-shadow: 0 0 0 3px rgba(45, 85, 199, .12); outline: 0; }
.global-search kbd {
  position: absolute; right: 9px; min-width: 23px; height: 23px; display: grid; place-items: center;
  border: 1px solid #cbd1ca; border-bottom-color: #aeb8b0; border-radius: 5px; background: #fff;
  color: var(--muted); font: 700 .7rem var(--font-mono); box-shadow: 0 1px 0 #c6cec7;
}
.notification-link { border-radius: 7px; text-decoration: none; }
.notification-link:hover { background: var(--surface-alt); color: var(--ink); }
.user-chip { padding: 5px 7px; border-radius: 8px; color: var(--ink); text-decoration: none; }
.user-chip:hover { background: var(--surface-alt); color: var(--ink); }
.user-chip > span { width: 34px; height: 34px; border-radius: 7px; }
.user-chip strong { font-size: .84rem; line-height: 1.2; }
.user-chip small { font-size: .7rem; line-height: 1.2; }
.user-chip > .icon { width: 15px; transform: rotate(90deg); color: var(--muted); }
.nav-scrim { display: none; }

/* Page architecture */
.content { padding: 34px; }
.content-inner { max-width: 1500px; }
.page-header {
  align-items: center; margin: 0 0 24px; padding: 3px 0 23px;
  border-bottom: 1px solid var(--line);
}
.page-header h1 { margin-bottom: .42rem; font-size: clamp(2rem, 3vw, 2.6rem); letter-spacing: -.04em; }
.page-header .eyebrow { margin-bottom: .42rem; }
.page-description { max-width: 760px; font-size: .96rem; line-height: 1.55; }
.page-actions { justify-content: flex-end; }
.panel { border-radius: var(--radius); box-shadow: var(--shadow-soft); overflow: clip; }
.panel-header { min-height: 64px; padding: 17px 20px; }
.panel-header h2 { font-size: 1.35rem; }
.panel-body { padding: 21px; }
.panel-footer { padding: 14px 20px; background: #fbfaf6; }

/* Overview */
.metric-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; overflow: hidden;
  margin-bottom: 20px; border: 1px solid var(--line); border-radius: var(--radius);
  background: var(--surface); box-shadow: var(--shadow-soft);
}
.metric-card { position: relative; border: 0; border-right: 1px solid var(--line); border-radius: 0; padding: 19px 20px 18px; }
.metric-card:last-child { border-right: 0; }
.metric-card::before { content: ""; position: absolute; left: 19px; top: 0; width: 30px; height: 2px; background: var(--brand); }
.metric-card .metric-label { font-size: .76rem; letter-spacing: .025em; }
.metric-card strong { margin-top: 10px; font-size: clamp(1.45rem, 2.1vw, 1.85rem); }
.metric-card small { line-height: 1.35; }
.dashboard-grid { grid-template-columns: minmax(0, 1.55fr) minmax(300px, .72fr); gap: 18px; }
.dashboard-stack { gap: 18px; }
.rank-row { grid-template-columns: minmax(105px, .7fr) minmax(130px, 1.5fr) auto; }
.signal-item { padding: 14px 0; }
.signal-item > a { white-space: nowrap; }
.renewal-runway { grid-template-columns: repeat(12, minmax(76px, 1fr)); gap: 5px; }
.runway-month { min-height: 130px; border-top-width: 3px; border-radius: 5px; padding: 10px 8px; }

/* Filters, tables and record lists */
.filter-toggle { display: none; width: 100%; justify-content: space-between; margin-bottom: 10px; }
.filter-toggle .icon { width: 18px; }
.filter-bar { gap: 12px; margin-bottom: 16px; padding: 15px; border-radius: var(--radius); box-shadow: 0 1px 2px rgba(17, 30, 25, .025); }
.filter-bar .btn { margin-bottom: 0; }
.data-table { font-size: .88rem; }
.data-table caption { padding: 14px 18px; font-size: .82rem; font-weight: 650; }
.data-table th { position: sticky; top: 0; z-index: 1; padding: 11px 14px; background: #f2f3ee; color: #56635e; font-size: .69rem; }
.data-table td { padding: 13px 14px; }
.data-table tbody tr { transition: background-color .12s var(--ease); }
.data-table tbody tr:hover, .data-table tbody tr:focus-within { background: #f5f8f3; }
.data-table .domain-link { font-size: .9rem; white-space: nowrap; }
.data-table th:first-child, .data-table td:first-child { min-width: 132px; }
.domain-link { text-decoration-color: transparent; transition: color .15s, text-decoration-color .15s; }
.domain-link:hover { color: var(--brand-dark); text-decoration-color: currentColor; }
.badge { min-height: 22px; border: 1px solid transparent; border-radius: 999px; padding: 2px 8px; font-size: .68rem; letter-spacing: .01em; }
.badge-owned, .badge-active, .badge-success, .badge-hold { border-color: #c5dfd1; }
.badge-watchlisted, .badge-normal, .badge-info { border-color: #cad4f2; }
.badge-sold, .badge-high, .badge-urgent { border-color: #edc9c7; }
.badge-soon, .badge-warning, .badge-undecided { border-color: #ebd0b5; }
.pagination a, .pagination span { border-radius: 6px; font-weight: 650; }
.pagination a:hover { border-color: var(--brand); background: var(--brand-soft); color: var(--brand-dark); }

/* Forms */
.field { gap: 7px; }
.field label, .label-row label { color: #293732; font-size: .82rem; }
.field input, .field select, .field textarea, .input {
  min-height: 44px; border-color: var(--line-strong); border-radius: var(--radius-sm);
  padding: 9px 12px; background: #fffefa; transition: border-color .14s, box-shadow .14s, background .14s;
}
.field input:hover, .field select:hover, .field textarea:hover { border-color: #8fa097; }
.field input:focus, .field select:focus, .field textarea:focus {
  border-color: var(--signal); background: #fff; box-shadow: 0 0 0 3px rgba(45, 85, 199, .11); outline: 0;
}
.field input::placeholder, .field textarea::placeholder { color: #87938e; opacity: 1; }
.field input:disabled, .field select:disabled, .field textarea:disabled { background: #eceeea; color: #7b8681; cursor: not-allowed; }
.field small { font-size: .76rem; line-height: 1.35; }
.field [aria-invalid="true"] { border-color: var(--danger); box-shadow: 0 0 0 3px rgba(180, 55, 53, .09); }
.form-grid { gap: 0 20px; }
.form-section { margin-bottom: 29px; }
.form-section legend { padding-bottom: 11px; font-size: 1.08rem; letter-spacing: -.015em; }
.form-actions { position: sticky; bottom: 0; z-index: 3; margin: 0 -21px -21px; padding: 14px 21px; background: rgba(255, 254, 250, .96); backdrop-filter: blur(8px); }
.checkbox-field { min-height: 28px; }
.checkbox-field input { accent-color: var(--brand); }
.error-summary { border: 1px solid #e7b7b5; border-left-width: 4px; border-radius: 6px; }

/* Detail workspace */
.detail-grid { grid-template-columns: minmax(0, 1fr) 294px; gap: 18px; }
.detail-sidebar { top: 86px; }
.tabs { position: sticky; top: 68px; z-index: 8; background: rgba(255, 254, 250, .97); scrollbar-width: thin; }
.tabs button, .tabs a { min-height: 49px; padding: 14px 13px; font-size: .84rem; }
.tabs button:hover, .tabs a:hover { background: #f4f5f0; color: var(--ink); }
.definition-list > div { padding: 10px 0; }
.definition-list dt { font-size: .82rem; }
.definition-list dd { font-size: .86rem; overflow-wrap: anywhere; }
.ledger-row > div { display: grid; gap: 2px; min-width: 0; }
.ledger-row > div small { color: var(--muted); overflow-wrap: anywhere; }
.note-card { border-radius: var(--radius-sm); box-shadow: 0 1px 3px rgba(17, 30, 25, .03); }
.contract-list, .restriction-list { display: grid; gap: 14px; }
.contract-card { border: 1px solid var(--line); border-radius: var(--radius-sm); overflow: hidden; }
.contract-card > header { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; padding: 16px 18px; background: #f7f7f2; border-bottom: 1px solid var(--line); }
.contract-card h3, .restriction-row h3 { margin: 0; }
.contract-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; }
.contract-metrics > div { padding: 13px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.contract-metrics dt { color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; }
.contract-metrics dd { margin: 4px 0 0; font-weight: 700; }
.compact-table { font-size: .82rem; }
.inline-details { padding: 14px 17px; border-top: 1px solid var(--line); }
.inline-details summary { cursor: pointer; color: var(--brand-dark); font-weight: 750; }
.inline-details form { padding-top: 14px; }
.inline-status-form { display: flex; align-items: flex-end; gap: 8px; padding: 13px 17px; border-top: 1px solid var(--line); }
.inline-status-form label { display: grid; gap: 5px; color: var(--muted); font-size: .74rem; }
.inline-status-form select { min-height: 35px; border: 1px solid var(--line-strong); border-radius: 6px; background: #fff; padding: 5px 9px; }
.restriction-row { display: flex; justify-content: space-between; gap: 18px; padding: 17px; border: 1px solid var(--line); border-left: 3px solid var(--warning); border-radius: var(--radius-sm); }
.restriction-row p { margin-bottom: 0; color: var(--muted); }
.restriction-row > div:last-child { display: grid; justify-items: end; align-content: start; gap: 8px; }

/* Reports and folders */
.report-nav { display: flex; gap: 3px; overflow-x: auto; margin-bottom: 12px; padding: 5px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); scrollbar-width: thin; }
.report-nav a { flex: 0 0 auto; padding: 9px 12px; border-radius: 5px; color: var(--muted); font-size: .8rem; font-weight: 750; text-decoration: none; }
.report-nav a:hover { background: var(--surface-alt); color: var(--ink); }
.report-nav a.active { background: var(--rail); color: #fff; }
.report-export-row { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 10px 15px; margin-bottom: 18px; color: var(--muted); font-size: .76rem; }
.report-export-row a { font-weight: 700; }
.report-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.report-stat-list { margin: 0; }
.report-stat-list > div { display: flex; justify-content: space-between; gap: 18px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.report-stat-list > div:last-child { border-bottom: 0; }
.report-stat-list dt { color: var(--muted); }
.report-stat-list dd { margin: 0; font-weight: 750; text-align: right; }
.report-stat-list small { color: var(--muted); }
.ranked-domain-list { margin: 0; padding: 0; list-style: none; counter-reset: rank; }
.ranked-domain-list li { display: grid; grid-template-columns: 25px 1fr auto; gap: 8px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.ranked-domain-list li::before { counter-increment: rank; content: counter(rank); color: var(--muted); font: 700 .72rem var(--font-mono); }
.distribution-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.distribution-list { display: grid; gap: 15px; margin: 0; padding: 0; list-style: none; }
.distribution-list li > div { display: flex; justify-content: space-between; gap: 12px; }
.distribution-track { display: block; height: 6px; margin-top: 6px; border-radius: 3px; overflow: hidden; background: var(--surface-alt); }
.distribution-track i { display: block; height: 100%; background: var(--brand); }
.distribution-list small { color: var(--muted); }
.folder-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.folder-card { border-top: 3px solid var(--folder-color); }
.folder-card .panel-header p { margin: 2px 0 0; color: var(--muted); }
.folder-swatch { width: 20px; height: 20px; border-radius: 5px; background: var(--folder-color); }
.folder-choice-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.folder-choice { display: flex; gap: 9px; padding: 11px; border: 1px solid var(--line); border-left: 3px solid var(--folder-color); border-radius: 6px; cursor: pointer; }
.folder-choice input { accent-color: var(--folder-color); }
.folder-choice span { display: grid; }
.folder-choice small { color: var(--muted); }
.folder-chip-list { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 4px; }
.folder-chip { padding: 2px 7px; border: 1px solid var(--folder-color); border-radius: 999px; font-size: .68rem; }
.folder-inline { color: var(--brand-dark); font-weight: 700; }
.notification-rule-set { margin: 18px 0; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.notification-rule-set legend { padding: 0 7px; font-weight: 750; }
.checkbox-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px 18px; }
.watch-alert-form .checkbox-field { margin: 5px 0; }

/* Feedback and empty states */
.flash { align-items: center; border-radius: var(--radius-sm); box-shadow: 0 4px 15px rgba(17, 30, 25, .04); }
.flash button { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 5px; }
.flash button:hover { background: rgba(19, 32, 28, .08); }
.empty-inline { padding: 38px 24px; }
.empty-inline strong { display: block; color: var(--ink); font: 700 1.15rem var(--font-heading); }
.empty-state { border-radius: var(--radius); box-shadow: var(--shadow-soft); }
.app-footer, .public-footer { display: flex; justify-content: space-between; align-items: center; gap: 16px; color: var(--muted); font-size: .76rem; }
.app-footer { margin-top: 42px; padding: 19px 2px 4px; border-top: 1px solid var(--line); }
.app-footer a, .public-footer a { color: var(--brand-dark); font-weight: 700; }
.footer-links { display: flex; align-items: center; justify-content: center; gap: 16px; flex-wrap: wrap; }
.footer-links a { text-decoration: none; }
.footer-links a:hover { text-decoration: underline; }
.footer-product { display: grid; gap: 2px; }
.footer-product strong { color: var(--ink); font-family: var(--font-heading); font-size: .86rem; }
.footer-product strong small { color: var(--muted); font: 600 .62rem var(--font-mono); }
.footer-product > small { color: var(--muted); }
.footer-studio { max-width: 480px; line-height: 1.5; text-align: right; }

/* Domain operations stay visible before the tabbed record. */
.domain-operations { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: -8px 0 18px; }
.domain-operation-card { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 13px; align-items: center; min-height: 92px; padding: 15px 17px; color: var(--ink); text-decoration: none; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-sm); box-shadow: 0 3px 14px rgba(20,32,29,.035); }
.domain-operation-card:hover { border-color: #96aca3; transform: translateY(-1px); }
.domain-operation-card > span:nth-child(2) { display: grid; gap: 2px; }
.domain-operation-card small { color: var(--muted); font-size: .72rem; font-weight: 750; text-transform: uppercase; letter-spacing: .055em; }
.domain-operation-card strong { font: 750 1.15rem var(--font-heading); }
.domain-operation-card em { color: var(--muted); font-size: .77rem; font-style: normal; }
.domain-operation-card b { color: var(--brand-dark); font-size: .78rem; }
.operation-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 10px; font: 750 1rem var(--font-mono); }
.operation-icon .icon { width: 19px; height: 19px; }
.operation-plan { color: var(--brand-dark); background: var(--brand-soft); }
.operation-lock { color: #77400f; background: var(--warning-soft); }

/* Portfolio folder workspace */
.portfolio-workspace { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 18px; align-items: start; }
.portfolio-results { min-width: 0; }
.portfolio-folders { position: sticky; top: 92px; overflow: hidden; }
.folder-panel-heading { display: flex; justify-content: space-between; align-items: center; padding: 17px; border-bottom: 1px solid var(--line); }
.folder-panel-heading h2 { margin: 2px 0 0; font-size: 1.25rem; }
.folder-panel-heading .eyebrow { margin: 0; }
.folder-add-trigger {
  min-height: 36px; display: inline-flex; flex: 0 0 auto; align-items: center; gap: 6px; padding: 7px 9px;
  border: 1px solid var(--line-strong); border-radius: 7px; background: var(--surface);
  color: var(--brand-dark); font-size: .72rem; font-weight: 750; white-space: nowrap; cursor: pointer;
}
.folder-add-trigger .icon { width: 16px; height: 16px; }
.folder-add-trigger:hover { border-color: var(--brand); background: var(--brand-soft); }
.folder-add-trigger[aria-expanded="true"] { border-color: #9bbdac; background: var(--brand-soft); }
.folder-tree { padding: 8px; display: grid; gap: 2px; }
.folder-tree a { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 9px 7px calc(9px + var(--folder-depth,0) * 15px); color: var(--muted); text-decoration: none; border-radius: 6px; }
.folder-tree a:hover { color: var(--ink); background: #f5f5ef; }
.folder-tree a.active { color: var(--brand-dark); background: var(--brand-soft); font-weight: 750; }
.folder-tree a span { display: flex; align-items: center; min-width: 0; gap: 8px; overflow-wrap: anywhere; }
.folder-tree a strong { flex: 0 0 auto; color: inherit; font: 650 .7rem var(--font-mono); }
.folder-tree a .icon { width: 17px; }
.folder-tree a i { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 3px; background: var(--folder-color); box-shadow: 0 0 0 1px rgba(0,0,0,.08); }
.folder-branch { color: #93a19b; font: 700 .8rem var(--font-mono); }
.folder-create-inline { padding: 14px; border-top: 1px solid var(--line); background: #fbfaf6; }
.folder-create-inline .field { margin-bottom: 10px; }
.folder-color-row { display: flex; gap: 8px; align-items: center; }
.folder-color-row input[type="color"] { width: 42px; min-height: 34px; padding: 2px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.folder-manager { margin: 0 9px 10px; border-top: 1px solid var(--line); }
.folder-manager > summary { padding: 12px 7px; color: var(--brand-dark); font-size: .78rem; font-weight: 750; cursor: pointer; }
.folder-manager-list { display: grid; gap: 6px; padding-bottom: 8px; }
.folder-manager-list > details { border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.folder-manager-list > details > summary { padding: 9px; font-size: .76rem; font-weight: 700; cursor: pointer; overflow-wrap: anywhere; }
.folder-manager-list form { padding: 9px; border-top: 1px solid var(--line); }
.folder-manager-list .field { margin-bottom: 8px; }
.folder-manager-list textarea { min-height: 64px; }
.bulk-folder-bar { display: flex; align-items: center; gap: 8px; min-height: 50px; margin-bottom: 10px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 8px; background: #f7f7f2; }
.bulk-folder-bar strong { margin-right: auto; font-size: .82rem; }
.bulk-folder-bar select { width: auto; min-height: 34px; padding: 5px 28px 5px 8px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.select-cell { width: 36px; text-align: center !important; }
.select-cell input,.mobile-domain-select input { width: 17px; height: 17px; accent-color: var(--brand); }
.organization-cell { position: relative; min-width: 190px; padding: 0 !important; cursor: pointer; }
.organization-cell:hover { background: #f2f5f0; }
.folder-inline-list { display: flex; flex-wrap: wrap; gap: 4px; margin: 5px 0; }
.folder-inline-list > span { padding: 3px 7px; border-left: 3px solid var(--folder-color); border-radius: 4px; color: var(--brand-dark); background: #f2f4ef; font-size: .67rem; font-weight: 700; }
.row-organizer { position: relative; display: block; min-height: 68px; }
.organization-summary {
  position: relative; min-height: 68px; display: flex; align-items: center; padding: 12px 34px 12px 16px;
  list-style: none; color: var(--ink); cursor: pointer;
}
.organization-summary::-webkit-details-marker { display: none; }
.organization-summary::after {
  content: ""; position: absolute; right: 16px; top: 50%; width: 7px; height: 7px;
  border-right: 1.5px solid var(--muted); border-bottom: 1.5px solid var(--muted);
  transform: translateY(-65%) rotate(45deg); transition: transform .15s var(--ease);
}
.row-organizer[open] > .organization-summary::after { transform: translateY(-20%) rotate(225deg); }
.organization-summary .folder-inline-list { margin: 0; }
.row-organizer[open] form { position: absolute; z-index: 12; right: 8px; top: calc(100% - 5px); width: 270px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: 0 14px 36px rgba(16,30,25,.16); cursor: default; }
.folder-check-list { display: grid; max-height: 260px; overflow: auto; margin-bottom: 10px; }
.folder-check-list label { display: flex; align-items: center; gap: 8px; min-height: 34px; padding: 5px 7px 5px calc(7px + var(--folder-depth,0) * 13px); border-radius: 5px; font-size: .76rem; }
.folder-check-list label:hover { background: #f4f5f0; }
.folder-check-list label span { border-left: 3px solid var(--folder-color); padding-left: 7px; }
.mobile-organizer { margin-top: 10px; }
.mobile-organizer > summary { list-style: none; cursor: pointer; }
.mobile-organizer > summary::-webkit-details-marker { display: none; }
.mobile-organizer form { margin-top: 9px; padding: 10px; border: 1px solid var(--line); border-radius: 7px; background: #f8f8f4; }

/* Scheduled watch alerts */
.custom-alert-fieldset { margin: 18px 0; padding: 15px 17px 0; border: 1px solid var(--line); border-radius: 8px; background: #fbfaf6; }
.custom-alert-fieldset legend { padding: 0 6px; font-weight: 750; }
.watch-reminder-grid { align-items: start; }
.watch-reminder-grid > .field { width: 100%; align-self: start; align-content: start; }
.watch-reference-link::after { content: "↗"; margin-left: 5px; color: var(--brand); font: 750 .72em var(--font-body); }
.watch-domain-label { display: inline-block; text-decoration: none; cursor: default; }
.watch-edit-panel { width: 560px; max-width: calc(100vw - 150px); margin-top: 9px; margin-left: calc(100% - 560px); padding: 16px; border: 1px solid #aac7b9; border-radius: 8px; background: #f4f8f4; box-shadow: 0 12px 32px rgba(16,51,38,.12); }
.watch-edit-panel .form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.watch-edit-panel .field { margin-bottom: 13px; }
.watch-edit-panel textarea { min-height: 88px; }
.watch-panel-heading { display: grid; gap: 2px; margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid #d2e0d8; }
.watch-panel-heading strong { color: var(--brand-dark); }
.watch-panel-heading small { color: var(--muted); }
.watch-panel-actions { display: flex; align-items: center; gap: 7px; }
.watch-alert-panel { width: 310px; margin-top: 9px; margin-left: calc(100% - 310px); padding: 13px; border: 1px solid #cfd5e7; border-radius: 8px; background: #f5f6fd; box-shadow: 0 12px 32px rgba(25,38,74,.12); }
.watch-alert-panel .watch-alert-form { padding-bottom: 13px; border-bottom: 1px solid #d8dcec; }
.scheduled-alerts { display: grid; gap: 9px; padding-top: 13px; }
.scheduled-alerts > p { margin: 0; }
.scheduled-alert-row { display: flex; justify-content: space-between; gap: 8px; align-items: start; padding: 8px; border: 1px solid #d8dcec; border-radius: 6px; background: #fff; }
.scheduled-alert-row > span { display: grid; gap: 2px; }
.scheduled-alert-row time { font: 700 .72rem var(--font-mono); }
.scheduled-alert-row small { color: var(--muted); }
.schedule-alert-form { padding-top: 4px; }
.schedule-alert-form .field { margin-bottom: 9px; }
.scheduled-alert-label { color: #324aa5; font-weight: 750; }
.mobile-watch-alerts { display: grid; gap: 9px; margin-top: 9px; padding: 11px; border: 1px solid #d8dcec; border-radius: 7px; background: #f5f6fd; }
.watch-card-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.watch-row-actions { display:grid; grid-template-columns:repeat(3,minmax(74px,1fr)); gap:7px; width:min(100%,340px); align-items:stretch; }
.watch-row-actions > .btn, .watch-row-actions > form > .btn { width:100%; min-width:0; white-space:nowrap; }
.watch-row-actions .watch-action-view { grid-column:span 2; }
.watch-row-actions .watch-action-acquire { grid-column:3; grid-row:1; }
.watch-archive-form { min-width:0; margin:0; }
.watch-action-count { display:inline-grid; place-items:center; min-width:19px; height:19px; margin-left:1px; padding:0 5px; border-radius:999px; font:800 .69rem var(--font-mono); line-height:1; }
.watch-row-actions.is-readonly { display:inline-grid; grid-template-columns:auto; width:auto; }
.watch-row-actions.is-readonly .watch-action-view { grid-column:auto; }

/* Public surfaces */
.public-nav { border-bottom: 1px solid rgba(19, 32, 28, .07); }
.hero { margin-top: 32px; }
.hero-copy h1 { letter-spacing: -.055em; }
.hero-record { transform: rotate(.5deg); box-shadow: 0 18px 55px rgba(17, 30, 25, .1); }
.auth-card { box-shadow: var(--shadow-soft); }

@media (max-width: 1199px) {
  .app-shell { grid-template-columns: 78px minmax(0, 1fr); }
  .rail { width: 78px; padding-inline: 11px; }
  .rail-brand { padding-inline: 5px; text-align: center; }
  .rail-brand-link { justify-content: center; }
  .rail-brand-link .brand-logo-full { display: none; }
  .rail-brand-link .brand-logo-mark { display: block; }
  .workspace-mark { justify-content: center; }
  .workspace-mark p, .nav-label, .rail nav a span, .rail nav a strong, .rail-footer { display: none; }
  .rail nav a { justify-content: center; padding-inline: 10px; }
  .app-main { grid-column: 2; }
  .content { padding: 28px; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric-card:nth-child(2) { border-right: 0; }
  .metric-card:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .dashboard-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 767px) {
  body { padding-bottom: calc(67px + env(safe-area-inset-bottom)); }
  body.nav-open { overflow: hidden; }
  .app-shell { display: block; }
  .rail {
    display: flex; width: min(87vw, 308px); padding: 22px 16px;
    transform: translateX(-105%); visibility: hidden;
    transition: transform .22s var(--ease), visibility .22s;
  }
  .rail.is-open { display: flex; transform: translateX(0); visibility: visible; }
  .rail-brand { text-align: left; padding-inline: 10px; }
  .rail-brand-link { justify-content: flex-start; }
  .rail-brand-link .brand-logo-full { display: block; }
  .rail-brand-link .brand-logo-mark { display: none; }
  .workspace-mark { justify-content: flex-start; }
  .workspace-mark p, .nav-label, .rail nav a span, .rail nav a strong, .rail-footer { display: grid; }
  .nav-label { display: block; }
  .rail nav a { justify-content: flex-start; }
  .rail-footer a { display: flex; }
  .nav-scrim {
    position: fixed; z-index: 29; inset: 0; width: 100%; border: 0; background: rgba(5, 12, 9, .52);
    opacity: 0; visibility: hidden; display: block; transition: opacity .2s, visibility .2s; cursor: pointer;
  }
  body.nav-open .nav-scrim { opacity: 1; visibility: visible; }
  .topbar { height: 60px; padding: 0 12px; gap: 8px; }
  .nav-toggle { display: grid; flex: 0 0 auto; }
  .topbar-brand { display: inline-flex; }
  .global-search { margin-left: auto; flex: 0 1 220px; }
  .global-search input { padding-left: 38px; padding-right: 10px; }
  .global-search input::placeholder { color: transparent; }
  .global-search kbd { display: none; }
  .notification-link { width: 38px; height: 38px; }
  .content { padding: 20px 16px; }
  .page-header { display: block; padding-bottom: 18px; margin-bottom: 18px; }
  .page-header h1 { font-size: 2rem; }
  .page-actions { justify-content: flex-start; margin-top: 15px; }
  .page-actions .btn { min-height: 40px; }
  .panel-header { align-items: flex-start; padding: 16px; }
  .panel-body { padding: 17px; }
  .panel-footer { padding-inline: 17px; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric-card { padding: 15px 14px; }
  .metric-card strong { font-size: 1.25rem; letter-spacing: -.045em; }
  .metric-card small { font-size: .7rem; }
  .renewal-runway { grid-template-columns: repeat(12, 82px); }
  .runway-month { min-height: 118px; }
  .filter-toggle { display: inline-flex; }
  .filter-bar { display: none; align-items: stretch; padding: 14px; }
  .filter-bar.is-open, .filter-bar.has-active-filters { display: flex; }
  .filter-bar .field { width: 100%; }
  .filter-bar .btn { flex: 1; }
  .domain-mobile-card { border-radius: var(--radius-sm); padding: 15px; box-shadow: 0 1px 2px rgba(17, 30, 25, .035); }
  .domain-mobile-card header { align-items: flex-start; }
  .domain-mobile-card dl { gap: 0 12px; }
  .mobile-nav { min-height: 64px; box-shadow: 0 -5px 20px rgba(5, 12, 9, .14); }
  .mobile-nav a { min-width: 0; }
  .mobile-nav a.active { color: #fff; background: rgba(255, 255, 255, .075); }
  .mobile-nav .mobile-add { margin: 7px 5px; border-radius: 8px; }
  .mobile-nav .mobile-add.active { background: var(--brand-dark); }
  .detail-grid { grid-template-columns: minmax(0, 1fr); }
  .detail-sidebar { position: static; order: -1; }
  .tabs { top: 60px; margin-inline: -17px; padding-inline: 8px; }
  .form-actions { margin-inline: -17px; margin-bottom: -17px; padding-inline: 17px; padding-bottom: calc(14px + env(safe-area-inset-bottom)); }
  .flash { padding: 11px 12px; }
  .contract-metrics, .report-grid, .distribution-grid, .folder-grid, .folder-choice-grid, .checkbox-grid { grid-template-columns: 1fr; }
  .restriction-row { flex-direction: column; }
  .restriction-row > div:last-child { justify-items: start; }
  .report-export-row { justify-content: flex-start; }
  .app-footer, .public-footer { align-items: flex-start; flex-direction: column; gap: 5px; }
  .footer-links { justify-content: flex-start; gap: 8px 16px; margin-block: 8px; }
  .app-footer { margin-top: 28px; padding-bottom: 8px; }
}

@media (max-width: 1050px) {
  .portfolio-workspace { grid-template-columns: 210px minmax(0,1fr); }
  .domain-operation-card { grid-template-columns: 38px minmax(0,1fr); }
  .domain-operation-card > b { grid-column: 2; }
}

@media (max-width: 767px) {
  .footer-studio { text-align: left; }
  .domain-operations { grid-template-columns: 1fr; }
  .domain-operation-card { min-height: 82px; padding: 13px; }
  .portfolio-workspace { display: block; }
  .portfolio-folders { position: static; margin-bottom: 14px; }
  .folder-tree { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .folder-tree a { padding-left: 9px; }
  .folder-tree a:nth-child(n+3) { padding-left: calc(9px + var(--folder-depth,0) * 10px); }
  .bulk-folder-bar { align-items: stretch; flex-wrap: wrap; }
  .bulk-folder-bar strong { flex-basis: 100%; }
  .bulk-folder-bar select { flex: 1; min-width: 120px; }
  .mobile-domain-select { display: grid; place-items: center; }
  .watch-alert-panel { width: 100%; margin-left: 0; box-shadow: none; }
  .watch-edit-panel { width: 100%; max-width: none; margin-left: 0; box-shadow: none; }
  .watch-edit-panel .form-grid { grid-template-columns: 1fr; }
  .mobile-watch-edit { margin-top: 10px; }
}

@media (max-width: 420px) {
  .topbar-brand .brand-logo-full { display: none; }
  .topbar-brand .brand-logo-mark { display: block; width: 30px; height: 30px; }
  .global-search { flex-basis: 120px; }
  .metric-card::before { left: 13px; }
  .rank-row { grid-template-columns: minmax(90px, .8fr) 1fr auto; font-size: .8rem; }
}

@media (max-width: 330px) {
  .metric-grid { grid-template-columns: minmax(0, 1fr); }
  .metric-card { border-right: 0; border-bottom: 1px solid var(--line); }
  .metric-card:last-child { border-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .rail, .nav-scrim { transition: none; }
}

@media (forced-colors: active) {
  .rail nav a.active::before, .metric-card::before { background: Highlight; }
  .badge { border-color: currentColor; }
}

/* Registry Noir 0.17 operational and record surfaces */
.public-nav-actions,.actions-row,.action-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.registration-layout { width:min(1180px,calc(100% - 40px)); margin:clamp(36px,8vh,100px) auto; display:grid; grid-template-columns:minmax(0,.85fr) minmax(520px,1.15fr); gap:clamp(36px,7vw,90px); align-items:center; }
.registration-card { width:100%; max-width:none; }
.feature-check-list { padding:0; list-style:none; display:grid; gap:13px; color:var(--ink-soft); }
.feature-check-list li::before { content:'✓'; display:inline-grid; place-items:center; width:24px; height:24px; margin-right:10px; border:1px solid #315e49; border-radius:50%; background:var(--brand-soft); color:var(--brand-dark); }
.honeypot-field { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.notice-box { display:grid; gap:5px; margin:14px 0; padding:14px 16px; border:1px solid #405a50; border-radius:var(--radius-sm); background:#11231c; color:var(--ink-soft); }
.notice-box > span,.notice-box > p { color:var(--muted); margin:0; }
.reset-link-box input { width:100%; margin-top:8px; font-family:var(--font-mono); }
.settings-stack,.action-stack { display:grid; gap:12px; margin-bottom:22px; }
.platform-state-strip { display:flex; align-items:center; gap:20px; flex-wrap:wrap; padding:12px 16px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface-deep); box-shadow:var(--shadow-soft); }
.platform-state-strip span { display:flex; align-items:center; gap:8px; color:var(--muted); }
.platform-state-strip a { margin-left:auto; }
.admin-control-stack { display:grid; gap:14px; align-content:start; }
.pagination { display:flex; gap:6px; padding:14px; border-top:1px solid var(--line); }
.pagination a { min-width:36px; min-height:36px; display:grid; place-items:center; border:1px solid var(--line); border-radius:7px; text-decoration:none; }
.pagination a.active,.pagination a.current { border-color:var(--brand); background:var(--brand-soft); color:var(--brand-dark); }
.view-tabs { display:flex; gap:5px; margin-bottom:18px; border-bottom:1px solid var(--line); }
.view-tabs a { padding:11px 16px; border-bottom:2px solid transparent; color:var(--muted); text-decoration:none; }
.view-tabs a:hover { color:var(--ink); background:rgba(255,255,255,.03); }
.view-tabs a.active { border-color:var(--brand); color:var(--brand-dark); }
.tag-create-form { display:grid; grid-template-columns:minmax(220px,1fr) 100px auto; gap:12px; align-items:end; }
.tag-manager-list { display:grid; gap:8px; margin-top:20px; }
.tag-manager-list article { display:flex; gap:8px; align-items:center; padding:10px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--surface-deep); }
.tag-manager-list article form:first-child { flex:1; display:grid; grid-template-columns:42px minmax(180px,1fr) auto auto; gap:8px; align-items:center; }
.tag-chip-list { display:flex; flex-wrap:wrap; gap:5px; }
.tag-chip,.tag-choice span { display:inline-flex; align-items:center; min-height:25px; padding:3px 9px; border:1px solid color-mix(in srgb,var(--tag-color) 55%,var(--line)); border-radius:999px; background:color-mix(in srgb,var(--tag-color) 15%,var(--surface-deep)); color:var(--ink-soft); font-size:.78rem; font-weight:700; }
.tag-choice-grid { display:flex; gap:8px; flex-wrap:wrap; }
.tag-choice { cursor:pointer; }
.tag-choice input { position:absolute; opacity:0; }
.tag-choice input:checked + span { box-shadow:0 0 0 2px var(--tag-color); background:color-mix(in srgb,var(--tag-color) 28%,var(--surface)); }
.compact-choice-fieldset { min-width:0; padding:12px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--surface-deep); }
.choice-list { display:grid; gap:7px; max-height:230px; overflow:auto; }
.choice-list label { display:flex; gap:8px; align-items:center; min-height:34px; }
.watch-record-hero { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(360px,.8fr); gap:24px; padding:24px; border:1px solid #315845; border-radius:var(--radius); background:radial-gradient(circle at 85% 10%,rgba(67,179,131,.12),transparent 35%),var(--surface); box-shadow:var(--shadow-raised); }
.watch-record-hero > div > span { display:flex; gap:7px; flex-wrap:wrap; }
.watch-record-hero > div > p { max-width:72ch; color:var(--ink-soft); }
.watch-record-hero dl { margin:0; display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.watch-record-hero dl div,.renewal-exposure-strip div,.reconciliation-grid div { padding:12px; border:1px solid var(--line); border-radius:var(--radius-sm); background:rgba(0,0,0,.16); }
.watch-record-hero dt,.renewal-exposure-strip span,.reconciliation-grid span { display:block; color:var(--muted); font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; }
.watch-record-hero dd { margin:5px 0 0; color:var(--ink); font-weight:700; }
.tab-panels { border-top-left-radius:0; }
.lifecycle-action-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.lifecycle-action-grid details { border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--surface-deep); }
.lifecycle-action-grid summary { cursor:pointer; padding:14px; font-weight:750; color:var(--ink-soft); }
.lifecycle-action-grid details[open] summary { border-bottom:1px solid var(--line); color:var(--brand-dark); }
.lifecycle-action-grid form { display:grid; gap:10px; padding:14px; }
.research-list { display:grid; gap:14px; }
.research-note-full { padding:20px; }
.research-note-full > header,.research-note-full > footer { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.research-note-full > footer { margin-top:18px; padding-top:12px; border-top:1px solid var(--line); color:var(--muted); font-size:.82rem; }
.markdown-content { margin-top:18px; color:var(--ink-soft); line-height:1.7; }
.markdown-content p,.markdown-content ul { margin:0 0 12px; }
.inline-editor { margin-top:18px; padding:16px; border:1px solid var(--line-strong); border-radius:var(--radius-sm); background:var(--surface-alt); }
.metric-grid-secondary { margin-top:-8px; }
.metric-grid-secondary .metric-card strong { font-size:clamp(1.15rem,2vw,1.65rem); }
.renewal-exposure-strip,.reconciliation-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:18px; }
.renewal-exposure-strip strong,.reconciliation-grid strong { display:block; margin-top:5px; font:750 1.05rem var(--font-mono); color:var(--ink); }
.reconciliation-grid { grid-template-columns:repeat(5,1fr); padding:16px; border-bottom:1px solid var(--line); }
.breakdown-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:18px; }
.compact-rank-list { margin:0; padding:0; list-style:none; display:grid; gap:8px; }
.compact-rank-list li { display:flex; justify-content:space-between; gap:12px; padding-bottom:8px; border-bottom:1px solid var(--line); color:var(--muted); }
.compact-rank-list li:last-child { border:0; padding-bottom:0; }
.validation-message { display:block; color:#ffb8b5; font-size:.8rem; }
.notification-evidence { margin-top:10px; }
.notification-evidence summary { cursor:pointer; color:var(--signal); }
.notification-evidence .definition-list { margin-top:10px; }
.notification-evidence code { overflow-wrap:anywhere; white-space:normal; }

@media (max-width:1023px) {
  .registration-layout { grid-template-columns:1fr; width:min(680px,calc(100% - 32px)); }
  .registration-layout .auth-intro { text-align:left; }
  .watch-record-hero { grid-template-columns:1fr; }
  .breakdown-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .reconciliation-grid { grid-template-columns:repeat(3,1fr); }
  .lifecycle-action-grid { grid-template-columns:1fr; }
}
@media (max-width:767px) {
  .public-nav-actions .btn-ghost { display:none; }
  .registration-layout { width:calc(100% - 24px); margin:24px auto; }
  .tag-create-form,.tag-manager-list article form:first-child { grid-template-columns:1fr; }
  .tag-manager-list article { align-items:stretch; flex-direction:column; }
  .watch-record-hero { padding:17px; }
  .watch-record-hero dl,.renewal-exposure-strip,.reconciliation-grid,.breakdown-grid { grid-template-columns:1fr; }
  .research-note-full > header,.research-note-full > footer { flex-direction:column; }
}

/* Keep footers at the viewport edge on short pages without overlaying long content. */
.app-main {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.topbar { flex: 0 0 auto; }
.content {
  flex: 1 0 auto;
  display: flex;
}
.content-inner {
  width: 100%;
  margin: 0 auto;
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}
.app-footer {
  width: 100%;
  margin-top: auto;
}
.public-body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.public-main {
  width: 100%;
  min-height: 0;
  flex: 1 0 auto;
}
.public-footer {
  width: 100%;
  margin: 0 auto;
  flex: 0 0 auto;
}

@media (max-width: 767px) {
  .app-main { min-height: calc(100vh - 67px - env(safe-area-inset-bottom)); }
  .public-body { padding-bottom: 0; }
}

/* Registry Noir 3.0 — dark material, component states and motion */
.theme-noir {
  min-height: 100vh;
  background:
    radial-gradient(circle at 78% -12%, rgba(67,179,131,.09), transparent 34rem),
    radial-gradient(circle at 12% 88%, rgba(200,166,106,.045), transparent 32rem),
    var(--canvas);
  color: var(--ink);
}
.theme-noir::before {
  content: "";
  position: fixed;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: .12;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(to bottom, #000, transparent 78%);
}
.theme-noir a { color: var(--signal); }
.theme-noir a:hover { color: #a7c1ff; }
.theme-noir * { scrollbar-color: var(--line-bright) var(--surface-deep); }
.theme-noir *::-webkit-scrollbar { width: 11px; height: 11px; }
.theme-noir *::-webkit-scrollbar-track { background: var(--surface-deep); }
.theme-noir *::-webkit-scrollbar-thumb { border: 3px solid var(--surface-deep); border-radius: 999px; background: var(--line-bright); }
.theme-noir *:focus-visible { outline-color: var(--signal); box-shadow: 0 0 0 4px rgba(130,169,255,.15); }
.theme-noir .eyebrow { color: var(--brass); }
.theme-noir .muted { color: var(--muted); }

/* Public and authentication surfaces */
.theme-noir.public-body { background-color: var(--canvas); background-image: radial-gradient(circle at 72% 12%, rgba(67,179,131,.11), transparent 31rem), radial-gradient(circle at 20% 72%, rgba(200,166,106,.06), transparent 26rem); }
.theme-noir .public-nav { border-bottom-color: rgba(255,255,255,.065); background: rgba(8,12,11,.72); backdrop-filter: blur(18px) saturate(120%); }
.theme-noir .public-main { position: relative; overflow: clip; }
.theme-noir .public-main::before { content: "DN"; position: absolute; z-index: -1; right: -2vw; top: -5rem; color: rgba(255,255,255,.014); font: 900 clamp(18rem,38vw,38rem)/1 var(--font-heading); letter-spacing: -.12em; }
.theme-noir .hero-copy > p:not(.eyebrow), .theme-noir .feature-grid article p, .theme-noir .auth-intro > p, .theme-noir .auth-intro blockquote, .theme-noir .auth-footnote { color: var(--muted); }
.theme-noir .hero-copy h1 { color: var(--ink); text-shadow: 0 1px 32px rgba(255,255,255,.035); }
.theme-noir .hero-record { border-color: var(--line-strong); background: linear-gradient(145deg, var(--surface-raised), var(--surface)); box-shadow: var(--shadow-raised); }
.theme-noir .hero-record::before { border-color: var(--line); background: var(--surface-deep); }
.theme-noir .record-tab { border: 1px solid rgba(118,213,173,.24); background: #0d2c21; color: #a6e4c8; box-shadow: 0 8px 28px rgba(0,0,0,.28); }
.theme-noir .record-grid { border-color: var(--line); }
.theme-noir .record-grid span { border-color: var(--line); color: var(--muted); }
.theme-noir .record-grid strong { color: var(--ink); }
.theme-noir .registry-rule { border-color: var(--line-strong); }
.theme-noir .record-note { color: var(--ink-soft); }
.theme-noir .feature-section { background: linear-gradient(180deg, #0a0f0d, #070a09); border-block: 1px solid var(--line); }
.theme-noir .feature-section .eyebrow { color: var(--brass); }
.theme-noir .feature-grid { border-color: var(--line); background: var(--line); }
.theme-noir .feature-grid article { position: relative; background: var(--surface-deep); transition: background var(--duration) var(--ease), box-shadow var(--duration) var(--ease); }
.theme-noir .feature-grid article:hover { z-index: 1; background: var(--surface); box-shadow: inset 0 2px var(--brand); }
.theme-noir .feature-grid article span { color: var(--brass); }
.theme-noir .auth-card, .theme-noir .auth-card-single { border-color: var(--line-strong); background: linear-gradient(160deg, rgba(25,35,31,.98), rgba(14,20,18,.98)); box-shadow: var(--shadow-raised); }
.theme-noir .auth-intro blockquote { border-left-color: var(--brass); }
.theme-noir .local-link { border-left-color: var(--signal); background: var(--signal-soft); }

/* Controls */
.theme-noir .btn { position: relative; overflow: hidden; border-color: transparent; transition: color var(--duration-fast) var(--ease), background-color var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease), box-shadow var(--duration) var(--ease), translate var(--duration-fast) var(--ease); }
.theme-noir .btn:hover { box-shadow: 0 8px 24px rgba(0,0,0,.24); }
.theme-noir .btn:active { translate: 0 1px; box-shadow: inset 0 1px 5px rgba(0,0,0,.32); }
.theme-noir .btn-primary { border-color: #4fc08e; background: linear-gradient(180deg, #44b985, #32956b); color: #06120d; font-weight: 800; box-shadow: 0 1px rgba(255,255,255,.16) inset, 0 8px 22px rgba(36,126,88,.2); }
.theme-noir .btn-primary:hover { border-color: #72d7aa; background: linear-gradient(180deg, #55c996, #3ba978); color: #04100b; box-shadow: 0 1px rgba(255,255,255,.18) inset, 0 10px 30px rgba(48,166,116,.28); }
.theme-noir .btn-secondary { border-color: var(--line-strong); background: linear-gradient(180deg, var(--surface-raised), var(--surface)); color: var(--ink-soft); box-shadow: 0 1px rgba(255,255,255,.035) inset; }
.theme-noir .btn-secondary:hover { border-color: #587367; background: var(--surface-raised); color: var(--ink); }
.theme-noir .btn-quiet { color: var(--muted); background: transparent; }
.theme-noir .btn-quiet:hover { color: var(--ink); background: rgba(255,255,255,.05); }
.theme-noir .btn-danger { border-color: #a84645; background: #a84645; color: #fff; }
.theme-noir .btn.is-submitting { cursor: wait; padding-left: 2.45rem; opacity: .86; }
.theme-noir .btn.is-submitting::before { content: ""; position: absolute; left: .9rem; width: 14px; height: 14px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: noir-spin .65s linear infinite; }
.theme-noir .icon-btn { border-color: var(--line-strong); background: var(--surface); color: var(--ink); }

/* Shell and navigation */
.theme-noir .rail { border-right-color: var(--line); background: linear-gradient(180deg, #080c0b, #060908); box-shadow: 12px 0 38px rgba(0,0,0,.28); }
.theme-noir .rail-brand { border-bottom-color: var(--line); }
.theme-noir .workspace-mark > span { border-color: #315246; background: #11251d; color: #91d9ba; box-shadow: 0 0 0 3px rgba(67,179,131,.045); }
.theme-noir .workspace-mark p { color: var(--ink-soft); }
.theme-noir .workspace-mark small, .theme-noir .nav-label { color: var(--muted-dim); }
.theme-noir .rail nav a { color: #8f9f98; transition: color var(--duration) var(--ease), background var(--duration) var(--ease), padding var(--duration-slow) var(--ease-spring); }
.theme-noir .rail nav a::before { top: 9px; bottom: 9px; width: 3px; background: var(--brand); box-shadow: 0 0 16px var(--brand-glow); transform: scaleY(0); transition: transform var(--duration-slow) var(--ease-spring); }
.theme-noir .rail nav a:hover { padding-left: 15px; background: rgba(255,255,255,.045); color: var(--ink); }
.theme-noir .rail nav a.active { background: linear-gradient(90deg, rgba(67,179,131,.15), rgba(67,179,131,.055)); color: #effff7; box-shadow: 0 1px rgba(255,255,255,.025) inset; }
.theme-noir .rail nav a.active::before { transform: scaleY(1); }
.theme-noir .rail nav a strong { background: var(--brass-soft); color: #e5c182; }
.theme-noir .rail-footer { border-top-color: var(--line); }
.theme-noir .rail-footer a, .theme-noir .rail-footer span { color: var(--muted-dim); }
.theme-noir .rail-footer a:hover { background: rgba(255,255,255,.045); color: var(--ink); }
.theme-noir .topbar { border-bottom-color: var(--line); background: rgba(9,14,12,.88); box-shadow: 0 1px rgba(255,255,255,.025) inset, 0 10px 28px rgba(0,0,0,.16); backdrop-filter: blur(20px) saturate(130%); }
.theme-noir .global-search input { border-color: rgba(255,255,255,.045); background: #111815; color: var(--ink); }
.theme-noir .global-search input:hover { border-color: var(--line-strong); background: var(--surface-alt); }
.theme-noir .global-search input:focus { border-color: var(--signal); background: var(--surface-raised); box-shadow: 0 0 0 4px rgba(130,169,255,.12), 0 12px 30px rgba(0,0,0,.2); }
.theme-noir .global-search kbd { border-color: var(--line-strong); border-bottom-color: var(--line-bright); background: var(--surface-raised); color: var(--muted); box-shadow: 0 1px 0 #050706; }
.theme-noir .notification-link, .theme-noir .user-chip { color: var(--ink-soft); }
.theme-noir .notification-link:hover, .theme-noir .user-chip:hover { background: rgba(255,255,255,.055); color: var(--ink); }
.theme-noir .notification-link span { background: var(--danger); color: #180606; }
.theme-noir .user-chip > span { background: var(--brand-soft); color: var(--brand-dark); }
.theme-noir .nav-scrim { background: rgba(0,0,0,.7); backdrop-filter: blur(4px); }

/* Page surfaces and data */
.theme-noir .content { background: transparent; }
.theme-noir .page-header { border-bottom-color: var(--line); }
.theme-noir .page-header h1 { color: var(--ink); }
.theme-noir .page-description { color: var(--muted); }
.theme-noir .panel, .theme-noir .metric-grid, .theme-noir .filter-bar, .theme-noir .domain-mobile-card, .theme-noir .review-card, .theme-noir .empty-state { border-color: var(--line); background: linear-gradient(155deg, rgba(18,26,23,.98), rgba(13,19,17,.98)); box-shadow: var(--shadow-soft); }
.theme-noir .panel { box-shadow: 0 1px rgba(255,255,255,.026) inset, 0 18px 48px rgba(0,0,0,.16); }
.theme-noir .panel-header { border-bottom-color: var(--line); background: rgba(255,255,255,.012); }
.theme-noir .panel-footer { border-top-color: var(--line); background: var(--surface-deep); }
.theme-noir .metric-grid { background: var(--surface); }
.theme-noir .metric-card { border-right-color: var(--line); background: linear-gradient(180deg, rgba(255,255,255,.015), transparent); transition: background var(--duration) var(--ease); }
.theme-noir .metric-card:hover { background: rgba(67,179,131,.035); }
.theme-noir .metric-card::before { height: 3px; background: linear-gradient(90deg, var(--brass), var(--brand)); box-shadow: 0 0 16px rgba(67,179,131,.18); transform-origin: left; animation: noir-line-in .7s var(--ease-spring) both; }
.theme-noir .metric-card .icon { color: var(--brand-dark); }
.theme-noir .rank-track, .theme-noir progress { background: var(--surface-alt); }
.theme-noir progress::-webkit-progress-bar { background: var(--surface-alt); }
.theme-noir progress::-webkit-progress-value { background: linear-gradient(90deg, #287758, var(--brand)); animation: noir-progress-in .8s var(--ease-spring) both; }
.theme-noir progress::-moz-progress-bar { background: linear-gradient(90deg, #287758, var(--brand)); }
.theme-noir .runway-month { border-color: var(--line); background: var(--surface-deep); transition: border-color var(--duration) var(--ease), background var(--duration) var(--ease), translate var(--duration) var(--ease); }
.theme-noir .runway-month:hover { border-color: var(--line-bright); background: var(--surface-alt); translate: 0 -2px; }
.theme-noir .signal-dot { box-shadow: 0 0 0 4px rgba(130,169,255,.08), 0 0 14px currentColor; }
.theme-noir .timeline li::after { border-color: var(--line-strong); }
.theme-noir .table-wrap { background: transparent; }
.theme-noir .data-table caption { color: var(--muted); }
.theme-noir .data-table th { border-bottom-color: var(--line-strong); background: #111815; color: #9aa9a2; box-shadow: 0 1px rgba(255,255,255,.02) inset; }
.theme-noir .data-table td { border-bottom-color: var(--line); }
.theme-noir .data-table tbody tr { background: transparent; transition: background-color var(--duration-fast) var(--ease), box-shadow var(--duration-fast) var(--ease); }
.theme-noir .data-table tbody tr:hover, .theme-noir .data-table tbody tr:focus-within { background: rgba(67,179,131,.045); box-shadow: inset 3px 0 var(--brand); }
.theme-noir .domain-link { color: var(--ink); }
.theme-noir .domain-link:hover { color: var(--brand-dark); }
.theme-noir .watch-row-actions { padding:7px; border:1px solid var(--line); border-radius:10px; background:rgba(5,10,8,.36); box-shadow:0 1px rgba(255,255,255,.025) inset; }
.theme-noir .watch-row-actions .btn { min-height:36px; padding-inline:.72rem; border-radius:7px; box-shadow:none; }
.theme-noir .watch-row-actions .btn:hover { box-shadow:0 5px 16px rgba(0,0,0,.2); }
.theme-noir .watch-action-count { border:1px solid #466258; background:#1a2a24; color:#a9cdbd; }
.theme-noir .watch-archive-button { border-color:transparent; color:#9aa8a2; }
.theme-noir .watch-archive-button:hover { border-color:#613435; background:#2c191a; color:#ffaaa7; }
.theme-noir .badge { border-color: var(--line-strong); background: var(--surface-alt); color: var(--ink-soft); box-shadow: 0 1px rgba(255,255,255,.035) inset; }
.theme-noir .badge-owned, .theme-noir .badge-active, .theme-noir .badge-success, .theme-noir .badge-hold { border-color: #285942; background: #143326; color: #85d9b4; }
.theme-noir .badge-watchlisted, .theme-noir .badge-normal, .theme-noir .badge-info { border-color: #334879; background: #19284a; color: #a9c1ff; }
.theme-noir .badge-sold, .theme-noir .badge-high, .theme-noir .badge-urgent { border-color: #753c3d; background: #3b2021; color: #ffaaa7; }
.theme-noir .badge-dropped, .theme-noir .badge-archived, .theme-noir .badge-low { border-color: #3b4943; background: #202925; color: #a5b2ac; }
.theme-noir .badge-soon, .theme-noir .badge-warning, .theme-noir .badge-undecided { border-color: #735132; background: #3a2819; color: #f4bd7e; }

/* Forms and work areas */
.theme-noir .field label, .theme-noir .label-row label { color: var(--ink-soft); }
.theme-noir .field input, .theme-noir .field select, .theme-noir .field textarea, .theme-noir .input, .theme-noir .inline-status-form select, .theme-noir .bulk-folder-bar select { border-color: var(--line-strong); background: var(--surface-deep); color: var(--ink); box-shadow: 0 1px 0 rgba(255,255,255,.018) inset; }
.theme-noir .field input:hover, .theme-noir .field select:hover, .theme-noir .field textarea:hover { border-color: var(--line-bright); background: var(--surface); }
.theme-noir .field input:focus, .theme-noir .field select:focus, .theme-noir .field textarea:focus { border-color: var(--signal); background: var(--surface-raised); box-shadow: 0 0 0 4px rgba(130,169,255,.12), 0 10px 24px rgba(0,0,0,.16); }
.theme-noir .field input::placeholder, .theme-noir .field textarea::placeholder { color: #65766e; }
.theme-noir .field input:disabled, .theme-noir .field select:disabled, .theme-noir .field textarea:disabled { background: #111512; color: var(--muted-dim); }
.theme-noir .field small { color: var(--muted); }
.theme-noir .field [aria-invalid="true"] { border-color: var(--danger); box-shadow: 0 0 0 4px rgba(240,120,117,.1); }
.theme-noir .form-section legend { border-color: var(--line); color: var(--ink); }
.theme-noir .form-actions { border-top-color: var(--line); background: rgba(13,19,17,.94); backdrop-filter: blur(18px); }
.theme-noir input[type="checkbox"], .theme-noir input[type="radio"] { accent-color: var(--brand); }
.theme-noir .tabs { border-bottom-color: var(--line); background: rgba(15,22,19,.94); backdrop-filter: blur(16px); }
.theme-noir .tabs button, .theme-noir .tabs a { color: var(--muted); }
.theme-noir .tabs button:hover, .theme-noir .tabs a:hover { background: rgba(255,255,255,.04); color: var(--ink); }
.theme-noir .tabs [aria-selected="true"], .theme-noir .tabs a.active { color: var(--brand-dark); box-shadow: inset 0 -3px var(--brand), 0 8px 20px rgba(0,0,0,.12); }
.theme-noir .definition-list > div, .theme-noir .ledger-row, .theme-noir .report-stat-list > div, .theme-noir .ranked-domain-list li { border-color: var(--line); }
.theme-noir .note-card, .theme-noir .contract-card, .theme-noir .restriction-row { border-color: var(--line); background: var(--surface-deep); box-shadow: 0 1px rgba(255,255,255,.02) inset; }
.theme-noir .contract-card > header { border-color: var(--line); background: var(--surface-alt); }
.theme-noir .contract-metrics > div, .theme-noir .inline-details, .theme-noir .inline-status-form { border-color: var(--line); }
.theme-noir .restriction-row { border-left-color: var(--warning); }
.theme-noir .suggestion { border-color: #315845; background: #10281e; color: var(--ink-soft); }
.theme-noir .domain-operation-card { border-color: var(--line); background: linear-gradient(145deg, var(--surface-raised), var(--surface)); box-shadow: var(--shadow-soft); }
.theme-noir .domain-operation-card:hover { border-color: #4d6d60; background: var(--surface-raised); box-shadow: 0 16px 38px rgba(0,0,0,.22), 0 0 0 1px rgba(67,179,131,.08); }
.theme-noir .operation-lock { color: #f3bb79; background: var(--warning-soft); }

/* Reports, folders, watchlist and notifications */
.theme-noir .report-nav { border-color: var(--line); background: var(--surface-deep); }
.theme-noir .report-nav a { color: var(--muted); }
.theme-noir .report-nav a:hover { background: var(--surface-alt); color: var(--ink); }
.theme-noir .report-nav a.active { background: linear-gradient(180deg, #1f563f, #173e30); color: #effff7; box-shadow: 0 1px rgba(255,255,255,.08) inset, 0 8px 18px rgba(0,0,0,.2); }
.theme-noir .distribution-track { background: var(--surface-alt); }
.theme-noir .distribution-track i { background: linear-gradient(90deg, var(--brass), var(--brand)); }
.theme-noir .folder-choice { border-color: var(--line); background: var(--surface-deep); }
.theme-noir .folder-choice:hover { background: var(--surface-alt); }
.theme-noir .folder-chip, .theme-noir .folder-inline-list > span { background: rgba(255,255,255,.035); color: var(--ink-soft); }
.theme-noir .folder-add-trigger { border-color: var(--line-strong); background: var(--surface-deep); color: var(--brand-dark); }
.theme-noir .folder-add-trigger:hover, .theme-noir .folder-add-trigger[aria-expanded="true"] { border-color: var(--brand); background: var(--brand-soft); }
.theme-noir .folder-tree a:hover { color: var(--ink); background: rgba(255,255,255,.045); }
.theme-noir .folder-tree a.active { color: var(--brand-dark); background: var(--brand-soft); }
.theme-noir .folder-create-inline, .theme-noir .folder-manager-list > details, .theme-noir .bulk-folder-bar, .theme-noir .mobile-organizer form { border-color: var(--line); background: var(--surface-deep); }
.theme-noir .folder-color-row input[type="color"] { border-color: var(--line-strong); background: var(--surface-raised); }
.theme-noir .organization-cell:hover { background: rgba(67,179,131,.035); }
.theme-noir .row-organizer[open] form { border-color: var(--line-strong); background: var(--surface-raised); box-shadow: var(--shadow-raised); animation: noir-pop-in var(--duration) var(--ease-spring) both; }
.theme-noir .folder-check-list label:hover { background: rgba(255,255,255,.045); }
.theme-noir .custom-alert-fieldset, .theme-noir .notification-rule-set { border-color: var(--line); background: var(--surface-deep); }
.theme-noir .watch-edit-panel { border-color: #315845; background: #102019; box-shadow: var(--shadow-raised); }
.theme-noir .watch-panel-heading { border-color: #28473a; }
.theme-noir .watch-alert-panel, .theme-noir .mobile-watch-alerts { border-color: #344771; background: #111b33; box-shadow: var(--shadow-raised); }
.theme-noir .watch-alert-panel .watch-alert-form, .theme-noir .scheduled-alert-row { border-color: #2b3a5d; }
.theme-noir .scheduled-alert-row { background: #151f36; }
.theme-noir .scheduled-alert-label { color: #9db9ff; }
.theme-noir .notification-item { border-color: var(--line); transition: background var(--duration) var(--ease); }
.theme-noir .notification-item:hover { background: rgba(67,179,131,.035); }

/* Feedback, dialogs and footer */
.theme-noir .flash { border-color: var(--line-strong); background: var(--surface-raised); color: var(--ink); box-shadow: var(--shadow-raised); animation: noir-toast-in var(--duration-slow) var(--ease-spring) both; }
.theme-noir .flash-success { border-color: #315e49; background: #10281e; }
.theme-noir .flash-warning { border-color: #725033; background: #302116; }
.theme-noir .flash-danger { border-color: #743b3d; background: #321b1c; }
.theme-noir .flash button { color: var(--muted); }
.theme-noir .flash button:hover { background: rgba(255,255,255,.065); color: var(--ink); }
.theme-noir .flash.is-dismissing { pointer-events: none; animation: noir-toast-out var(--duration) var(--ease) both; }
.theme-noir .error-summary { border-color: #743b3d; background: var(--danger-soft); color: #ffb8b5; }
.theme-noir .empty-inline { color: var(--muted); }
.theme-noir .app-footer, .theme-noir .public-footer { border-color: var(--line); color: var(--muted-dim); }
.theme-noir .app-footer a, .theme-noir .public-footer a { color: var(--brass); }
.theme-noir .footer-product strong { color: var(--ink-soft); }
.confirm-dialog { width: min(440px, calc(100vw - 32px)); padding: 0; border: 1px solid var(--line-strong); border-radius: 14px; background: linear-gradient(155deg, var(--surface-raised), var(--surface-deep)); color: var(--ink); box-shadow: 0 36px 100px rgba(0,0,0,.58); }
.confirm-dialog[open] { animation: noir-dialog-in var(--duration-slow) var(--ease-spring) both; }
.confirm-dialog::backdrop { background: rgba(0,0,0,.72); backdrop-filter: blur(7px); animation: noir-fade-in var(--duration) ease both; }
.confirm-dialog__body { padding: 24px 24px 18px; }
.confirm-dialog__mark { width: 42px; height: 42px; display: grid; place-items: center; margin-bottom: 16px; border: 1px solid #754143; border-radius: 11px; background: var(--danger-soft); color: var(--danger); font: 800 1.15rem var(--font-heading); }
.confirm-dialog h2 { margin-bottom: 8px; font-size: 1.45rem; }
.confirm-dialog p { margin: 0; color: var(--muted); }
.confirm-dialog__actions { display: flex; justify-content: flex-end; gap: 8px; padding: 14px 18px; border-top: 1px solid var(--line); background: rgba(0,0,0,.12); }

/* Expressive entrances */
.theme-noir .page-header { animation: noir-rise-in .36s var(--ease-spring) both; }
.theme-noir .content-inner > :not(.page-header):not(.app-footer) { animation: noir-rise-in .4s var(--ease-spring) both; animation-delay: 30ms; }
.theme-noir .content-inner > :nth-child(3) { animation-delay: 55ms; }
.theme-noir .content-inner > :nth-child(4) { animation-delay: 80ms; }
.theme-noir .hero-copy > * { animation: noir-rise-in .6s var(--ease-spring) both; }
.theme-noir .hero-copy > :nth-child(2) { animation-delay: 70ms; }
.theme-noir .hero-copy > :nth-child(3) { animation-delay: 125ms; }
.theme-noir .hero-copy > :nth-child(4) { animation-delay: 180ms; }
.theme-noir .hero-record { animation: noir-record-in .72s var(--ease-spring) 100ms both; }
.theme-noir .feature-grid article { animation: noir-rise-in .5s var(--ease-spring) both; }
.theme-noir .feature-grid article:nth-child(2) { animation-delay: 45ms; }
.theme-noir .feature-grid article:nth-child(3) { animation-delay: 90ms; }
.theme-noir .feature-grid article:nth-child(4) { animation-delay: 135ms; }
.theme-noir .feature-grid article:nth-child(5) { animation-delay: 180ms; }
.theme-noir .feature-grid article:nth-child(6) { animation-delay: 225ms; }

@keyframes noir-rise-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes noir-record-in { from { opacity: 0; transform: translate3d(16px,14px,0) rotate(1.6deg) scale(.985); } to { opacity: 1; transform: rotate(.5deg); } }
@keyframes noir-pop-in { from { opacity: 0; transform: translateY(-6px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes noir-toast-in { from { opacity: 0; transform: translateY(-10px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes noir-toast-out { to { opacity: 0; transform: translateY(-8px) scale(.98); max-height: 0; padding-block: 0; margin-block: 0; border-width: 0; } }
@keyframes noir-dialog-in { from { opacity: 0; transform: translateY(12px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes noir-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes noir-spin { to { transform: rotate(360deg); } }
@keyframes noir-line-in { from { transform: scaleX(0); opacity: 0; } to { transform: scaleX(1); opacity: 1; } }
@keyframes noir-progress-in { from { transform: scaleX(0); transform-origin: left; } to { transform: scaleX(1); transform-origin: left; } }

@media (max-width: 767px) {
  .theme-noir .mobile-nav { border-top-color: var(--line); background: rgba(7,10,9,.95); box-shadow: 0 -14px 40px rgba(0,0,0,.38); backdrop-filter: blur(18px); }
  .theme-noir .mobile-nav a { color: var(--muted); transition: color var(--duration) var(--ease), background var(--duration) var(--ease); }
  .theme-noir .mobile-nav a.active { color: #dff8ec; background: rgba(67,179,131,.12); }
  .theme-noir .mobile-nav .mobile-add { margin: 7px 5px; border: 1px solid #4fc08e; border-radius: 10px; background: linear-gradient(180deg, #44b985, #32956b); color: #06120d; box-shadow: 0 8px 22px rgba(36,126,88,.25); }
  .theme-noir .rail { box-shadow: 24px 0 70px rgba(0,0,0,.52); }
  .theme-noir .folder-tree { border-top: 1px solid var(--line); }
  .theme-noir .content-inner > :not(.page-header):not(.app-footer) { animation-delay: 45ms; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .theme-noir *, .theme-noir *::before, .theme-noir *::after {
    animation-duration: .01ms !important;
    animation-delay: 0ms !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  .theme-noir .rail nav a:hover, .theme-noir .runway-month:hover, .theme-noir .btn:active { translate: none; }
}

@media (forced-colors: active) {
  .theme-noir { forced-color-adjust: auto; }
  .theme-noir .rail nav a.active, .theme-noir .tabs [aria-selected="true"] { outline: 2px solid Highlight; }
  .confirm-dialog { border: 2px solid CanvasText; }
}
.valuation-governance-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(18rem,.75fr);gap:var(--space-5);align-items:start}.evidence-stack,.snapshot-list{display:grid;gap:var(--space-4)}.evidence-editor{border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface-raised);overflow:hidden}.evidence-editor>summary{display:flex;justify-content:space-between;gap:var(--space-4);align-items:center;padding:var(--space-4);cursor:pointer}.evidence-editor>summary span:first-child{display:grid;gap:.25rem}.evidence-editor>summary small{color:var(--text-muted)}.evidence-editor>form,.evidence-editor>.button-row{padding:var(--space-4);border-top:1px solid var(--border-soft)}.snapshot-list article{display:grid;gap:.35rem;padding-bottom:var(--space-3);border-bottom:1px solid var(--border-soft)}.snapshot-list article:last-child{border-bottom:0}.snapshot-list small{color:var(--text-muted)}
@media(max-width:1023px){.valuation-governance-grid{grid-template-columns:1fr}}

/* DNventory marketing — Registry Ledger */
.public-nav { position:sticky; z-index:50; top:0; width:100%; max-width:none; height:72px; padding-inline:max(24px,calc((100vw - 1320px)/2)); }
.public-site-links { display:flex; align-items:center; gap:30px; margin-left:clamp(30px,6vw,90px); }
.public-site-links a { position:relative; color:var(--muted); font-size:.84rem; font-weight:700; text-decoration:none; }
.public-site-links a::after { content:""; position:absolute; right:0; bottom:-8px; left:0; height:1px; background:var(--brand); transform:scaleX(0); transform-origin:right; transition:transform var(--duration) var(--ease); }
.public-site-links a:hover { color:var(--ink); }
.public-site-links a:hover::after, .public-site-links a:focus-visible::after { transform:scaleX(1); transform-origin:left; }
.public-nav-actions { margin-left:auto; }
.marketing-page { overflow:clip; }
.marketing-page section[id] { scroll-margin-top:90px; }
.marketing-hero { width:min(1320px,calc(100% - 48px)); min-height:760px; margin:0 auto; padding:clamp(78px,9vw,132px) 0 92px; display:grid; grid-template-columns:minmax(390px,.78fr) minmax(600px,1.22fr); gap:clamp(48px,7vw,110px); align-items:center; }
.marketing-hero-copy { min-width:0; }
.marketing-kicker { display:flex; align-items:center; gap:11px; margin:0 0 24px; color:var(--muted); font-size:.72rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.marketing-kicker span { padding:5px 8px; border:1px solid #6f5a36; border-radius:4px; background:var(--brass-soft); color:#e1c58f; letter-spacing:.08em; }
.marketing-hero h1 { margin:0; color:var(--ink); font-size:clamp(3.7rem,6.2vw,6.7rem); line-height:.89; letter-spacing:-.067em; }
.marketing-hero h1 em { color:var(--brand-dark); font-family:Georgia,"Times New Roman",serif; font-size:.82em; font-weight:400; letter-spacing:-.055em; }
.marketing-lede { max-width:620px; margin:30px 0 0; color:var(--muted); font-size:clamp(1.04rem,1.35vw,1.2rem); line-height:1.7; }
.marketing-actions { display:flex; align-items:center; gap:24px; margin-top:34px; }
.marketing-text-link { display:inline-flex; align-items:center; gap:10px; color:var(--ink-soft)!important; font-size:.9rem; font-weight:750; text-decoration:none; }
.marketing-text-link span { color:var(--brass); transition:translate var(--duration) var(--ease); }
.marketing-text-link:hover span { translate:0 3px; }
.marketing-assurances { display:flex; flex-wrap:wrap; gap:10px 22px; margin:34px 0 0; padding:22px 0 0; border-top:1px solid var(--line); list-style:none; color:var(--muted-dim); font-size:.76rem; font-weight:700; }
.marketing-assurances li::before { content:""; display:inline-block; width:5px; height:5px; margin:0 8px 2px 0; border-radius:50%; background:var(--brand); box-shadow:0 0 10px var(--brand-glow); }

.product-window { min-width:0; margin:0; border:1px solid var(--line-strong); border-radius:15px; background:#0a0f0d; box-shadow:0 1px rgba(255,255,255,.04) inset,0 38px 100px rgba(0,0,0,.42),0 0 80px rgba(67,179,131,.055); overflow:hidden; }
.product-window-bar { min-height:45px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; padding:0 15px; border-bottom:1px solid var(--line); background:#0d1411; color:var(--muted-dim); font:650 .67rem var(--font-mono); }
.window-mark { display:flex; gap:6px; }
.window-mark i { width:7px; height:7px; border-radius:50%; background:#405149; }
.window-mark i:nth-child(2) { background:#715d39; }
.window-mark i:nth-child(3) { background:#2d6c50; }
.window-status { justify-self:end; color:#79b89e; }
.window-status::before { content:""; display:inline-block; width:6px; height:6px; margin-right:6px; border-radius:50%; background:var(--brand); box-shadow:0 0 9px var(--brand); }
.product-window-body { padding:23px; }
.preview-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-bottom:18px; }
.preview-heading > div { display:grid; gap:2px; }
.preview-heading small { color:var(--brass); font-size:.61rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.preview-heading strong { font-size:1.18rem; letter-spacing:-.025em; }
.preview-heading button { min-height:34px; padding:0 12px; border:1px solid #4fc08e; border-radius:6px; background:#3a9e72; color:#06120d; font-size:.74rem; font-weight:850; }
.preview-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--line); border-radius:8px 8px 0 0; overflow:hidden; }
.preview-metrics > div { min-width:0; padding:13px 14px; border-right:1px solid var(--line); background:#101714; }
.preview-metrics > div:last-child { border:0; }
.preview-metrics span, .preview-metrics small { display:block; overflow:hidden; color:var(--muted-dim); font-size:.61rem; white-space:nowrap; text-overflow:ellipsis; }
.preview-metrics strong { display:block; margin:7px 0 2px; font:700 1rem var(--font-mono); letter-spacing:-.045em; }
.portfolio-preview-grid { display:grid; grid-template-columns:minmax(168px,1.65fr) minmax(75px,.72fr) minmax(88px,.8fr) minmax(70px,.65fr) minmax(80px,.72fr); align-items:center; border:1px solid var(--line); border-top:0; font-size:.7rem; }
.portfolio-preview-grid > div { min-width:0; min-height:54px; display:flex; align-items:center; padding:9px 11px; border-bottom:1px solid var(--line); color:var(--muted); }
.portfolio-preview-grid > div:nth-last-child(-n+5) { border-bottom:0; }
.portfolio-preview-grid .preview-table-head { min-height:31px; background:#111815; color:var(--muted-dim); font-size:.57rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.preview-domain { gap:9px; }
.preview-domain > span:last-child { min-width:0; display:grid; }
.preview-domain strong { overflow:hidden; color:var(--ink); font:700 .69rem var(--font-mono); text-overflow:ellipsis; }
.preview-domain small { overflow:hidden; color:var(--muted-dim); font-size:.59rem; text-overflow:ellipsis; }
.domain-glyph { width:27px; height:27px; flex:0 0 auto; display:grid; place-items:center; border:1px solid #2f644d; border-radius:6px; background:#15372a; color:#93dbbc; font:800 .66rem var(--font-mono); }
.domain-glyph.brass { border-color:#654f2f; background:#2d2518; color:#dfc184; }
.domain-glyph.blue { border-color:#354a77; background:#17264a; color:#a9c1ff; }
.preview-badge { display:inline-flex; padding:3px 6px; border:1px solid; border-radius:4px; font-size:.56rem; font-weight:800; }
.preview-badge.owned,.preview-badge.active { border-color:#285942; background:#143326; color:#85d9b4; }
.preview-badge.watching { border-color:#334879; background:#19284a; color:#a9c1ff; }
.preview-warning { color:#efb16e; font-size:.66rem; }
.preview-signal { color:#9db9ff; font-size:.66rem; }
.preview-money { justify-content:flex-end; color:var(--ink-soft)!important; font-family:var(--font-mono); }
.preview-decision { display:grid; grid-template-columns:auto 1fr auto; gap:13px; align-items:center; margin-top:13px; padding:12px 14px; border:1px solid #564626; border-radius:7px; background:#1b1810; }
.preview-decision > span:first-child { color:#e1c58f; font-size:.62rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.preview-decision i { display:inline-block; width:6px; height:6px; margin-right:5px; border-radius:50%; background:var(--warning); box-shadow:0 0 10px rgba(229,163,91,.35); }
.preview-decision p { margin:0; color:var(--muted); font-size:.64rem; line-height:1.45; }
.preview-decision p strong { color:var(--ink-soft); font-family:var(--font-mono); }
.preview-review { color:#dfc184; font-size:.62rem; font-weight:750; white-space:nowrap; }
.product-window figcaption { padding:9px 15px; border-top:1px solid var(--line); color:var(--muted-dim); font-size:.59rem; text-align:right; }

.marketing-proof { width:min(1320px,calc(100% - 48px)); margin:0 auto; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-block:1px solid var(--line); }
.marketing-proof > div { min-width:0; padding:26px 24px; border-right:1px solid var(--line); }
.marketing-proof > div:last-child { border:0; }
.marketing-proof span { display:block; margin-bottom:16px; color:var(--brass); font:700 .65rem var(--font-mono); }
.marketing-proof strong,.marketing-proof small { display:block; }
.marketing-proof strong { color:var(--ink-soft); font-size:.88rem; }
.marketing-proof small { margin-top:5px; color:var(--muted-dim); font-size:.73rem; line-height:1.5; }

.marketing-section { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:clamp(90px,11vw,150px) 0; }
.marketing-section-heading { max-width:780px; margin-bottom:clamp(62px,8vw,100px); }
.marketing-section-heading.compact { margin-bottom:50px; }
.marketing-section-heading h2,.platform-section h2,.marketing-cta h2 { margin:0; color:var(--ink); font-size:clamp(2.65rem,5vw,5rem); line-height:.98; letter-spacing:-.057em; }
.marketing-section-heading > p:last-child { max-width:650px; margin:23px 0 0; color:var(--muted); font-size:1.03rem; line-height:1.7; }
.story-row { display:grid; grid-template-columns:minmax(0,.88fr) minmax(440px,1.12fr); gap:clamp(48px,9vw,120px); align-items:center; padding:80px 0; border-top:1px solid var(--line); }
.story-row:last-child { padding-bottom:0; }
.story-row-reverse .story-copy { order:2; }
.story-row-reverse .story-visual { order:1; }
.story-number { display:block; margin-bottom:18px; color:var(--brass); font:750 .7rem var(--font-mono); letter-spacing:.06em; text-transform:uppercase; }
.story-copy h3 { margin:0; color:var(--ink); font-size:clamp(1.9rem,3.2vw,3rem); line-height:1.06; letter-spacing:-.045em; }
.story-copy > p { margin:22px 0; color:var(--muted); line-height:1.72; }
.story-copy ul { display:grid; gap:11px; margin:0; padding:19px 0 0; border-top:1px solid var(--line); list-style:none; color:var(--ink-soft); font-size:.86rem; }
.story-copy li { position:relative; padding-left:18px; }
.story-copy li::before { content:""; position:absolute; left:0; top:.62em; width:6px; height:1px; background:var(--brand); }
.story-visual { min-width:0; min-height:390px; padding:24px; border:1px solid var(--line-strong); border-radius:13px; background:linear-gradient(150deg,#151e1a,#0c1210); box-shadow:var(--shadow-raised); }
.visual-label { display:flex; justify-content:space-between; gap:15px; margin-bottom:22px; padding-bottom:14px; border-bottom:1px solid var(--line); color:var(--ink-soft); font:750 .72rem var(--font-mono); }
.visual-label span { color:var(--muted-dim); font:650 .67rem var(--font-body); }
.folder-line { min-height:48px; display:grid; grid-template-columns:18px 1fr auto; gap:10px; align-items:center; padding:0 13px; border-bottom:1px solid var(--line); color:var(--muted); font-size:.84rem; }
.folder-line i { width:13px; height:10px; border:1px solid #5c6b65; border-radius:2px; }
.folder-line strong { color:var(--muted-dim); font:650 .7rem var(--font-mono); }
.folder-line.active { border:1px solid #315f4b; border-radius:7px; background:#13291f; color:#cfeade; }
.folder-line.active i { border-color:#5bbf91; background:#2f7656; }
.folder-line.nested { padding-left:41px; }
.folder-line.nested::before { content:"↳"; margin-left:-23px; color:var(--muted-dim); }
.folder-tags { display:flex; flex-wrap:wrap; gap:7px; padding-top:20px; }
.folder-tags span { padding:4px 8px; border:1px solid #465a51; border-radius:999px; background:#14201b; color:#aebeb7; font-size:.67rem; font-weight:750; }
.watch-pulse { display:flex; align-items:center; gap:13px; padding:17px; border:1px solid #315f4b; border-radius:8px; background:#12251d; }
.watch-pulse > span { width:12px; height:12px; flex:0 0 auto; border:3px solid #183d2d; border-radius:50%; background:var(--brand); box-shadow:0 0 0 5px rgba(67,179,131,.09),0 0 18px rgba(67,179,131,.28); }
.watch-pulse div { display:grid; }
.watch-pulse small { color:var(--muted); font-size:.67rem; }
.watch-visual ol { margin:25px 0 0; padding:0; list-style:none; }
.watch-visual li { position:relative; display:grid; grid-template-columns:70px 1fr; gap:16px; padding:0 0 25px 20px; }
.watch-visual li::before { content:""; position:absolute; left:0; top:5px; width:7px; height:7px; border:2px solid var(--brass); border-radius:50%; background:var(--surface); }
.watch-visual li::after { content:""; position:absolute; left:4px; top:16px; bottom:2px; border-left:1px solid var(--line-strong); }
.watch-visual li:last-child::after { display:none; }
.watch-visual time { color:var(--muted-dim); font:650 .68rem var(--font-mono); }
.watch-visual li > span { display:grid; gap:3px; }
.watch-visual li strong { color:var(--ink-soft); font-size:.81rem; }
.watch-visual li small { color:var(--muted); font-size:.69rem; }
.range-bar { display:grid; gap:16px; padding:12px 0 24px; }
.range-bar > span { position:relative; display:grid; grid-template-columns:50px 1fr; align-items:center; min-height:34px; padding:0 10px; isolation:isolate; }
.range-bar > span::before { content:""; position:absolute; z-index:-1; inset:0 auto 0 0; width:var(--range); border:1px solid #37634f; border-radius:5px; background:linear-gradient(90deg,#173326,#234d3b); }
.range-bar small { color:var(--muted); font-size:.68rem; }
.range-bar strong { color:var(--ink); font:750 .86rem var(--font-mono); }
.cash-lines { border-top:1px solid var(--line); }
.cash-lines p { display:flex; justify-content:space-between; gap:20px; margin:0; padding:12px 3px; border-bottom:1px solid var(--line); color:var(--muted); font-size:.76rem; }
.cash-lines strong { color:var(--ink-soft); font-family:var(--font-mono); }
.cash-lines .positive { color:#84d9b4; }
.visual-footnote { display:block; margin-top:18px; color:var(--muted-dim); font-size:.67rem; }

.capability-section { padding-top:30px; }
.capability-ledger { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.capability-ledger article { min-height:230px; padding:25px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(16,23,20,.5); transition:background var(--duration) var(--ease),box-shadow var(--duration) var(--ease); }
.capability-ledger article:hover { background:var(--surface); box-shadow:inset 0 2px var(--brand); }
.capability-ledger article > span { color:var(--brass); font:700 .66rem var(--font-mono); }
.capability-ledger h3 { margin:55px 0 9px; color:var(--ink-soft); font-size:1.12rem; }
.capability-ledger p { margin:0; color:var(--muted); font-size:.82rem; line-height:1.6; }
.workflow-section { border-top:1px solid var(--line); }
.workflow-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; padding:0; list-style:none; }
.workflow-steps li { position:relative; min-width:0; padding:0 26px 0 0; }
.workflow-steps li:not(:last-child)::after { content:""; position:absolute; top:17px; right:8px; left:44px; border-top:1px solid var(--line-strong); }
.workflow-steps > li > span { position:relative; z-index:1; width:35px; height:35px; display:grid; place-items:center; border:1px solid #6a5737; border-radius:50%; background:var(--canvas); color:var(--brass); font:700 .63rem var(--font-mono); }
.workflow-steps h3 { margin:24px 0 9px; color:var(--ink-soft); font-size:1.25rem; }
.workflow-steps p { margin:0; color:var(--muted); font-size:.83rem; line-height:1.65; }

.platform-section { width:min(1180px,calc(100% - 48px)); margin:0 auto 130px; padding:clamp(45px,7vw,80px); display:grid; grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr); gap:clamp(50px,8vw,100px); align-items:center; border:1px solid var(--line-strong); border-radius:16px; background:radial-gradient(circle at 85% 20%,rgba(67,179,131,.08),transparent 24rem),#0d1411; box-shadow:var(--shadow-raised); }
.platform-copy > p:not(.eyebrow) { max-width:650px; margin:24px 0 30px; color:var(--muted); line-height:1.72; }
.platform-points { display:grid; grid-template-columns:1fr 1fr; gap:10px 22px; }
.platform-points span { color:var(--ink-soft); font-size:.82rem; }
.platform-points span::before { content:"✓"; margin-right:8px; color:var(--brand); font-weight:850; }
.platform-console { border:1px solid var(--line-strong); border-radius:10px; background:#090e0c; box-shadow:0 22px 50px rgba(0,0,0,.28); overflow:hidden; }
.console-head { display:flex; justify-content:space-between; gap:15px; padding:15px 17px; border-bottom:1px solid var(--line); color:var(--ink-soft); font:750 .7rem var(--font-mono); }
.console-head small { color:#82c8a8; font:650 .64rem var(--font-body); }
.platform-console dl { margin:0; padding:8px 17px; }
.platform-console dl > div { display:flex; justify-content:space-between; gap:20px; padding:12px 0; border-bottom:1px solid var(--line); }
.platform-console dl > div:last-child { border:0; }
.platform-console dt { color:var(--muted); font-size:.74rem; }
.platform-console dd { margin:0; color:var(--ink-soft); font:700 .69rem var(--font-mono); }
.platform-console dd i { display:inline-block; width:6px; height:6px; margin:0 5px 1px 0; border-radius:50%; background:var(--brand); }
.console-line { height:66px; display:flex; align-items:end; gap:4px; padding:14px 17px; border-top:1px solid var(--line); }
.console-line span { flex:1; height:var(--h,45%); border-radius:2px 2px 0 0; background:#24513e; }
.console-line span:nth-child(2) { --h:72%; }.console-line span:nth-child(3) { --h:52%; }.console-line span:nth-child(4) { --h:88%; }.console-line span:nth-child(5) { --h:64%; }.console-line span:nth-child(6) { --h:78%; }.console-line span:nth-child(7) { --h:48%; }.console-line span:nth-child(8) { --h:68%; background:#b08e55; }

.marketing-cta { width:min(1000px,calc(100% - 48px)); margin:0 auto; padding:70px 0 120px; border-top:1px solid var(--line); text-align:center; }
.marketing-cta h2 { max-width:900px; margin-inline:auto; }
.marketing-cta > p:not(.eyebrow) { margin:23px 0 30px; color:var(--muted); font-size:1.05rem; }
.marketing-cta > small { display:block; margin-top:14px; color:var(--muted-dim); font-size:.7rem; }
.public-footer { max-width:1320px; padding-block:36px; border-top:1px solid var(--line); }
.marketing-hero-copy > * { animation:noir-rise-in .58s var(--ease-spring) both; }
.marketing-hero-copy > :nth-child(2) { animation-delay:65ms; }.marketing-hero-copy > :nth-child(3) { animation-delay:120ms; }.marketing-hero-copy > :nth-child(4) { animation-delay:175ms; }.marketing-hero-copy > :nth-child(5) { animation-delay:225ms; }
.product-window { animation:marketing-window-in .75s var(--ease-spring) 100ms both; }
@keyframes marketing-window-in { from { opacity:0; transform:translate3d(18px,16px,0) scale(.985); } to { opacity:1; transform:none; } }

@media(max-width:1100px){
  .marketing-hero { min-height:0; grid-template-columns:1fr; }
  .marketing-hero-copy { max-width:780px; }
  .marketing-hero h1 { max-width:800px; }
  .product-window { width:100%; }
  .marketing-proof { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .marketing-proof > div:nth-child(2) { border-right:0; }.marketing-proof > div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .capability-ledger { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:900px){
  .story-row { grid-template-columns:1fr; gap:44px; padding:65px 0; }
  .story-row-reverse .story-copy,.story-row-reverse .story-visual { order:initial; }
  .story-visual { min-height:0; }
  .workflow-steps { grid-template-columns:1fr 1fr; gap:38px 24px; }
  .workflow-steps li:nth-child(2)::after { display:none; }
  .platform-section { grid-template-columns:1fr; }
}
@media(max-width:767px){
  .public-nav { height:64px; padding-inline:16px; }
  .public-site-links { display:none; }
  .public-nav-actions { flex-wrap:nowrap; }
  .public-nav-actions .btn { min-height:38px; padding:.45rem .75rem; }
  .marketing-hero,.marketing-proof,.marketing-section,.platform-section,.marketing-cta { width:min(calc(100% - 32px),1180px); }
  .marketing-hero { padding:65px 0 70px; gap:45px; }
  .marketing-hero h1 { font-size:clamp(3rem,15.5vw,4.45rem); }
  .marketing-lede { margin-top:24px; font-size:1rem; }
  .marketing-actions { align-items:stretch; flex-direction:column; gap:15px; }
  .marketing-actions .btn { width:100%; }
  .marketing-text-link { justify-content:center; min-height:42px; }
  .marketing-assurances { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .product-window-bar { grid-template-columns:1fr 1fr; }
  .product-window-bar > span:nth-child(2) { display:none; }
  .product-window-body { padding:15px; }
  .preview-metrics { grid-template-columns:1fr 1fr; }
  .preview-metrics > div:nth-child(2) { border-right:0; }.preview-metrics > div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .portfolio-preview-grid { grid-template-columns:minmax(145px,1.5fr) minmax(72px,.75fr) minmax(62px,.65fr); }
  .preview-hide-mobile { display:none!important; }
  .portfolio-preview-grid > div:nth-last-child(-n+3) { border-bottom:0; }
  .preview-decision { grid-template-columns:1fr; gap:6px; }
  .preview-review { display:none; }
  .marketing-proof { grid-template-columns:1fr; }
  .marketing-proof > div { border-right:0; border-bottom:1px solid var(--line); padding:22px 4px; }
  .marketing-proof > div:last-child { border-bottom:0; }
  .marketing-proof span { margin-bottom:8px; }
  .marketing-section { padding:90px 0; }
  .marketing-section-heading { margin-bottom:58px; }
  .marketing-section-heading h2,.platform-section h2,.marketing-cta h2 { font-size:clamp(2.45rem,12vw,3.5rem); }
  .story-row { padding:55px 0; }
  .story-visual { padding:18px; }
  .capability-ledger { grid-template-columns:1fr; }
  .capability-ledger article { min-height:185px; }
  .capability-ledger h3 { margin-top:38px; }
  .workflow-steps { grid-template-columns:1fr; gap:32px; }
  .workflow-steps li::after { display:none; }
  .workflow-steps li { display:grid; grid-template-columns:42px 1fr; gap:14px; padding:0; }
  .workflow-steps h3 { margin:5px 0 7px; }
  .platform-section { margin-bottom:85px; padding:42px 22px; gap:40px; }
  .platform-points { grid-template-columns:1fr; }
  .marketing-cta { padding:55px 0 90px; }
  .public-footer { width:calc(100% - 32px); padding-inline:0; }
}
@media(max-width:420px){
  .marketing-assurances { grid-template-columns:1fr; }
  .preview-heading button { display:none; }
  .product-window-body { padding:11px; }
  .portfolio-preview-grid { grid-template-columns:minmax(130px,1.45fr) minmax(68px,.8fr) minmax(58px,.65fr); }
  .portfolio-preview-grid > div { padding-inline:7px; }
  .preview-domain { gap:6px; }
  .domain-glyph { display:none; }
  .folder-line { padding-inline:8px; }
  .watch-visual li { grid-template-columns:58px 1fr; padding-left:17px; }
}
@media(forced-colors:active){
  .marketing-assurances li::before,.window-status::before,.platform-console dd i { background:Highlight; }
  .product-window,.story-visual,.platform-section,.platform-console { border:2px solid CanvasText; }
}
