@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Inter+Tight:wght@500;600&display=swap');

:root {
  --ink: #0b1720;
  --ink-deep: #06121b;
  --ink-soft: #142b38;
  --paper: #f4f2ed;
  --paper-deep: #dedbd3;
  --white: #fff;
  --brass: #c6a66a;
  --brass-light: #dec38f;
  --muted: #5b686f;
  --line: rgba(11, 23, 32, .17);
  --shadow: 0 28px 80px rgba(8, 22, 32, .10);
  --max: 1500px;
  --font-body: "Inter", "Aptos", "Segoe UI", Helvetica, Arial, sans-serif;
  --font-display: "Inter Tight", "Inter", "Aptos Display", "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font-body); font-size: 16px; line-height: 1.55; text-rendering: optimizeLegibility; }
body.dashboard-body { background: #e9e7e1; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { color: inherit; font: inherit; }
button { cursor: pointer; }
::selection { background: var(--brass); color: var(--ink-deep); }
.shell { width: min(100% - 2.5rem, var(--max)); margin-inline: auto; }
.font-display { font-family: var(--font-display); font-weight: 500; }
.micro-label { margin: 0; color: #79643f; font-size: .7rem; font-weight: 700; letter-spacing: .2em; line-height: 1.3; text-transform: uppercase; }
.micro-label--light { color: var(--brass-light); }
.muted-light { color: rgba(255,255,255,.46); }
.skip-link { position: fixed; top: .6rem; left: .6rem; z-index: 9999; transform: translateY(-160%); background: var(--white); padding: .7rem 1rem; font-weight: 700; }
.skip-link:focus { transform: none; }
.visually-hidden, .honeypot { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* Header */
.site-header { z-index: 50; width: 100%; color: var(--white); border-bottom: 1px solid rgba(255,255,255,.14); }
.site-header--overlay { position: absolute; inset: 0 0 auto; background: rgba(6,18,27,.78); backdrop-filter: blur(16px); }
.site-header--solid { position: relative; background: var(--ink-deep); }
.header-inner { display: flex; min-height: 88px; align-items: center; justify-content: space-between; gap: 1.5rem; }
.brand { display: inline-flex; align-items: center; gap: .8rem; flex-shrink: 0; }
.brand-mark { display: grid; width: 2.55rem; height: 2.55rem; place-items: center; border: 1px solid rgba(11,23,32,.55); font-size: .67rem; font-weight: 800; letter-spacing: .12em; }
.brand-copy { line-height: 1; }
.brand-copy strong { display: block; font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.brand-copy small { display: block; margin-top: .43rem; color: #5e6970; font-size: .58rem; letter-spacing: .15em; text-transform: uppercase; }
.brand--inverse .brand-mark { border-color: rgba(255,255,255,.55); }
.brand--inverse .brand-copy small { color: rgba(255,255,255,.54); }
.header-brand { padding-right: .35rem; }
.header-brand .brand-copy strong { font-size: .83rem; letter-spacing: .16em; }
.desktop-nav { display: flex; align-items: center; gap: 1.35rem; }
.desktop-nav a, .header-actions .text-link { color: rgba(255,255,255,.68); font-size: .82rem; transition: color .2s ease; }
.desktop-nav a:hover, .desktop-nav a.is-active, .header-actions .text-link:hover { color: #fff; }
.desktop-nav a.is-active { box-shadow: 0 2px 0 var(--brass); }
.header-actions { display: flex; align-items: center; gap: 1rem; }
.language-switch { display: inline-flex; align-items: center; padding: .2rem; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.04); }
.language-switch a { display: inline-flex; min-width: 3.2rem; min-height: 2rem; align-items: center; justify-content: center; gap: .32rem; padding: .25rem .48rem; color: rgba(255,255,255,.55); font-size: .65rem; font-weight: 700; letter-spacing: .08em; }
.language-switch img { width: 1.05rem; height: .72rem; border: 1px solid rgba(255,255,255,.2); object-fit: cover; }
.language-switch a:hover, .language-switch a.is-active { background: rgba(255,255,255,.12); color: #fff; }
.mobile-menu { display: none; position: relative; }
.mobile-menu summary { display: grid; width: 2.75rem; height: 2.75rem; place-content: center; gap: 5px; border: 1px solid rgba(255,255,255,.28); list-style: none; }
.mobile-menu summary::-webkit-details-marker { display: none; }
.mobile-menu summary span { display: block; width: 18px; height: 1px; background: #fff; }
.mobile-menu nav { position: absolute; right: 0; top: 3.25rem; width: min(82vw, 21rem); padding: .75rem; border: 1px solid rgba(255,255,255,.14); background: var(--ink-deep); box-shadow: var(--shadow); }
.mobile-menu nav a { display: block; padding: .9rem .75rem; border-bottom: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.78); font-size: .92rem; }
.mobile-menu nav a:last-child { border: 0; }
.mobile-menu nav .mobile-login { margin-top: .55rem; background: var(--brass); color: var(--ink-deep); font-weight: 700; text-align: center; }
.mobile-language { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; margin: .65rem 0; }
.mobile-menu nav .mobile-language a { display: flex; align-items: center; justify-content: center; gap: .45rem; border: 1px solid rgba(255,255,255,.16); text-align: center; }
.mobile-language img { width: 1.15rem; height: .78rem; object-fit: cover; }
.mobile-menu nav .mobile-language a.is-active { border-color: var(--brass); color: #fff; }

/* Controls */
.button { display: inline-flex; min-height: 3.2rem; align-items: center; justify-content: center; gap: .7rem; padding: .78rem 1.35rem; border: 1px solid transparent; border-radius: 0; font-size: .86rem; font-weight: 700; transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.button:hover { transform: translateY(-1px); }
.button--small { min-height: 2.75rem; padding: .6rem 1rem; }
.button--brass { background: var(--brass); color: var(--ink-deep); }
.button--brass:hover { background: var(--brass-light); }
.button--dark { background: var(--ink); color: #fff; }
.button--dark:hover { background: #1c3341; }
.button--outline-light { border-color: rgba(255,255,255,.36); color: #fff; }
.button--outline-light:hover { border-color: #fff; background: #fff; color: var(--ink); }

/* Home */
.home-hero { position: relative; isolation: isolate; min-height: 800px; color: #fff; background: var(--ink-deep); overflow: hidden; }
.home-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(4,15,24,.99) 0%, rgba(4,15,24,.93) 37%, rgba(4,15,24,.46) 72%, rgba(4,15,24,.2) 100%); }
.home-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(4,15,24,.52), transparent 32%, rgba(4,15,24,.72)); }
.home-hero-grid { display: grid; min-height: 800px; grid-template-columns: minmax(0,1.12fr) minmax(330px,.5fr); align-items: center; gap: 4rem; padding-top: 7rem; }
.hero-eyebrow { display: flex; align-items: center; gap: .8rem; margin: 0 0 1.5rem; color: rgba(255,255,255,.72); font-size: .72rem; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; }
.hero-eyebrow::before { content: ""; width: 2rem; height: 1px; background: var(--brass); }
.home-hero h1 { max-width: 940px; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(4rem, 7vw, 7.4rem); font-weight: 400; letter-spacing: -.048em; line-height: .9; }
.home-hero h1 span { display: block; color: #d8c39b; }
.hero-lead { max-width: 720px; margin: 2rem 0 0; color: rgba(255,255,255,.76); font-size: 1.16rem; line-height: 1.75; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2.35rem; }
.entry-desk { width: min(100%, 430px); margin-left: auto; padding: clamp(1.5rem, 3vw, 2rem); border: 1px solid rgba(255,255,255,.24); background: rgba(5,17,27,.9); backdrop-filter: blur(16px); box-shadow: 0 30px 70px rgba(2,10,16,.28); }
.entry-desk-head { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.entry-desk-head p { margin: 0; }
.focus-status { color: rgba(255,255,255,.62); font-size: .72rem; }
.focus-status::before { content: ""; display: inline-block; width: .46rem; height: .46rem; margin-right: .4rem; border-radius: 50%; background: var(--brass); }
.entry-desk h2 { max-width: 330px; margin: 1.65rem 0 .75rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 3.3vw, 3rem); font-weight: 400; letter-spacing: -.035em; line-height: 1.02; }
.entry-desk-copy { max-width: 340px; margin: 0 0 1.55rem; color: rgba(255,255,255,.61); font-size: .88rem; line-height: 1.65; }
.entry-paths { border-top: 1px solid rgba(255,255,255,.18); }
.entry-paths a { display: grid; grid-template-columns: 34px 1fr auto; gap: .9rem; align-items: center; min-height: 92px; padding: 1rem .35rem; border-bottom: 1px solid rgba(255,255,255,.18); transition: background .2s ease, padding .2s ease; }
.entry-paths a:hover, .entry-paths a:focus-visible { padding-inline: .8rem; background: rgba(255,255,255,.07); outline: none; }
.entry-path-number { color: var(--brass-light); font-family: Georgia, serif; font-size: 1rem; }
.entry-paths small, .entry-paths strong { display: block; }
.entry-paths small { margin-bottom: .26rem; color: rgba(255,255,255,.46); font-size: .64rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.entry-paths strong { font-size: .96rem; font-weight: 600; }
.entry-paths i { color: var(--brass-light); font-size: 1.05rem; font-style: normal; }
.entry-assurance { margin: 1.2rem 0 0; color: rgba(255,255,255,.48); font-size: .73rem; }
/* Editorial sections */
.section { padding-block: clamp(5rem, 8vw, 8rem); }
.section--paper-deep { background: var(--paper-deep); }
.section--dark { background: #081722; color: #fff; }
.section-heading-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(3rem, 7vw, 7rem); }
.section-title { max-width: 820px; margin: 1.15rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3rem, 5.1vw, 5.35rem); font-weight: 400; letter-spacing: -.04em; line-height: .98; }
.section-copy { max-width: 720px; margin: 1.5rem 0 0; color: var(--muted); font-size: 1.05rem; line-height: 1.82; }
.section--dark .section-copy { color: rgba(255,255,255,.62); }
.institutional-intro { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 8vw, 9rem); }
.editorial-copy { align-self: end; max-width: 760px; }
.editorial-copy p { color: var(--muted); line-height: 1.85; }
.editorial-copy .editorial-lead { margin-top: 0; color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.7rem,2.8vw,2.55rem); line-height: 1.34; letter-spacing: -.02em; }
.editorial-copy .button { margin-top: 1.25rem; }
.pillar-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; margin-top: 4.5rem; background: rgba(255,255,255,.16); }
.pillar-card { min-height: 300px; padding: 1.8rem; background: #07141e; }
.pillar-card > span { color: var(--brass); font-family: Georgia, serif; font-size: 1.35rem; }
.pillar-card h3 { margin: 4rem 0 0; font-family: Georgia, serif; font-size: 1.8rem; font-weight: 400; }
.pillar-card p { margin: 1rem 0 0; color: rgba(255,255,255,.56); font-size: .88rem; line-height: 1.72; }
.asset-heading .button { margin-top: 1.5rem; }
.asset-universe-grid { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 4rem; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.asset-universe-item { display: grid; min-height: 112px; grid-template-columns: 42px 1fr auto; align-items: center; gap: 1rem; padding: 1.2rem 1.4rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.42); transition: background .2s ease, color .2s ease; }
.asset-universe-item:hover { background: var(--ink); color: #fff; }
.asset-universe-item span { color: #9a7e4d; font-family: Georgia, serif; }
.asset-universe-item strong { font-size: 1rem; font-weight: 600; }
.asset-universe-item i { font-style: normal; opacity: .5; }
.capital-band { padding-block: clamp(5rem,8vw,8rem); background: #102532; color: #fff; }
.capital-band-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem,8vw,9rem); align-items: start; }
.capital-band h2, .mandate-cta h2, .confidentiality-band h2 { max-width: 700px; margin: 1rem 0 0; font-family: Georgia, serif; font-size: clamp(3rem,5vw,5.2rem); font-weight: 400; letter-spacing: -.04em; line-height: .98; }
.counterparty-list { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid rgba(255,255,255,.16); }
.counterparty-list span { min-height: 84px; padding: 1.35rem 1rem; border-right: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.73); font-size: .9rem; }
.content-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(3rem, 7vw, 7rem); }
.sticky-copy { position: sticky; top: 2rem; align-self: start; }
.process-list { border-top: 1px solid var(--line); }
.process-row { display: grid; grid-template-columns: 68px 155px 1fr; gap: 1.4rem; padding: 1.75rem 0; border-bottom: 1px solid var(--line); }
.process-row .number { color: #a88a55; font-family: Georgia, serif; font-size: 1.45rem; }
.process-row strong { font-size: .95rem; }
.process-row p { margin: 0; color: var(--muted); }
.mandate-cta { padding-block: clamp(5rem,8vw,8rem); background: var(--ink-deep); color: #fff; }
.mandate-cta-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(3rem,8vw,9rem); }
.mandate-actions { border-top: 1px solid rgba(255,255,255,.18); }
.mandate-actions a { display: grid; grid-template-columns: .75fr 1.25fr auto; gap: 1rem; align-items: center; min-height: 128px; padding: 1.3rem; border-bottom: 1px solid rgba(255,255,255,.18); transition: background .2s ease; }
.mandate-actions a:hover { background: rgba(255,255,255,.06); }
.mandate-actions span { color: var(--brass-light); font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; }
.mandate-actions strong { font-family: Georgia, serif; font-size: 1.35rem; font-weight: 400; }
.mandate-actions i { font-style: normal; }

/* Interior pages */
.practice-hero { background: #081722; color: #fff; }
.practice-hero-grid { display: grid; grid-template-columns: 1.2fr .5fr; align-items: end; gap: 4rem; padding-block: clamp(5rem, 8vw, 8rem); }
.practice-hero h1 { max-width: 1100px; margin: 1.5rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3.5rem, 7vw, 7rem); font-weight: 400; letter-spacing: -.045em; line-height: .9; }
.practice-hero .lead { max-width: 830px; margin: 2rem 0 0; color: rgba(255,255,255,.66); font-size: 1.08rem; line-height: 1.82; }
.practice-aside { padding-left: 1.5rem; border-left: 1px solid rgba(198,166,106,.55); color: rgba(255,255,255,.58); font-size: .84rem; line-height: 1.9; }
.practice-aside strong { display: block; color: #fff; }
.capability-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 4rem; background: rgba(11,23,32,.16); }
.capability-grid article { min-height: 260px; padding: 1.7rem; background: #f7f6f2; }
.capability-grid span, .engagement-grid span { color: #9a7e4d; font-family: Georgia, serif; font-size: 1.25rem; }
.capability-grid h3, .engagement-grid h3 { margin: 3rem 0 0; font-family: Georgia, serif; font-size: 1.45rem; font-weight: 400; }
.capability-grid p, .engagement-grid p { color: var(--muted); font-size: .87rem; line-height: 1.72; }
.confidentiality-band { padding-block: clamp(4.5rem,7vw,7rem); background: #102532; color: #fff; }
.confidentiality-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(3rem,8vw,8rem); align-items: end; }
.confidentiality-grid > p { max-width: 680px; margin: 0; color: rgba(255,255,255,.62); font-size: 1.05rem; line-height: 1.82; }
.action-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: .75rem; }
.action-card { display: grid; min-height: 190px; grid-template-rows: auto 1fr auto; gap: 1rem; padding: 1.5rem; border: 1px solid var(--line); background: rgba(255,255,255,.55); transition: transform .2s ease, background .2s ease; }
.action-card:hover { transform: translateY(-3px); background: #fff; }
.action-card strong { max-width: 17rem; font-size: 1.12rem; line-height: 1.38; }
.action-card > span:last-child { justify-self: end; }
.engagement-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; margin-top: 4rem; background: var(--line); }
.engagement-grid article { min-height: 250px; padding: 1.6rem; background: #fff; }
.criteria-list { border-top: 1px solid var(--line); }
.criteria-list > div { display: grid; grid-template-columns: 58px 190px 1fr; gap: 1.2rem; padding: 1.55rem 0; border-bottom: 1px solid var(--line); }
.criteria-list span { color: #9a7e4d; font-family: Georgia, serif; }
.criteria-list p { margin: 0; color: var(--muted); }
.form-section-grid { display: grid; grid-template-columns: .65fr 1.35fr; gap: clamp(3rem,7vw,7rem); align-items: start; }
.form-priority-section { scroll-margin-top: 1rem; }
.form-intro { position: sticky; top: 2rem; align-self: start; }
.form-direct-note { display: flex; align-items: center; gap: .65rem; margin-top: 1.8rem; color: rgba(255,255,255,.64); font-size: .78rem; }
.section--paper-deep .form-direct-note { color: var(--muted); }
.form-direct-note::before { content: ""; width: 1.8rem; height: 1px; flex: 0 0 auto; background: var(--brass); }
.asset-detail-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 4rem; background: var(--line); }
.asset-detail-card { min-height: 300px; padding: 1.7rem; background: #fff; }
.asset-detail-card > span { color: #9a7e4d; font-family: Georgia, serif; font-size: 1.25rem; }
.asset-detail-card h2 { margin: 3.5rem 0 0; font-family: Georgia, serif; font-size: 1.8rem; font-weight: 400; }
.asset-detail-card p { color: var(--muted); font-size: .88rem; line-height: 1.75; }

/* Forms */
.lead-form { padding: clamp(1.3rem, 3vw, 2.2rem); border: 1px solid var(--line); background: #fff; color: var(--ink); }
.form-title { margin: 0 0 1.75rem; font-size: 2rem; }
.form-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1.2rem; }
.form-field { display: grid; gap: .5rem; }
.form-field > span { font-size: .84rem; font-weight: 600; }
.form-span { grid-column: 1 / -1; }
.form-field input, .form-field select, .form-field textarea { width: 100%; min-height: 3.1rem; border: 1px solid rgba(11,23,32,.22); border-radius: 0; outline: none; background: #faf9f6; padding: .75rem 1rem; font-size: .96rem; transition: border .2s ease, box-shadow .2s ease; }
.form-field textarea { min-height: 8rem; resize: vertical; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: #9b7d49; box-shadow: 0 0 0 3px rgba(198,166,106,.24); }
.form-multi-field { position: relative; align-content: start; }
.form-multi-field > small { color: #6d777d; font-size: .71rem; line-height: 1.5; }
.lead-multi-picker { position: relative; }
.lead-multi-picker > summary { display: flex; min-height: 3.1rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 1rem; border: 1px solid rgba(11,23,32,.22); background: #faf9f6; cursor: pointer; list-style: none; }
.lead-multi-picker > summary::-webkit-details-marker { display: none; }
.lead-multi-picker > summary span { overflow: hidden; color: #263a44; font-size: .9rem; text-overflow: ellipsis; white-space: nowrap; }
.lead-multi-picker > summary i { color: #78909a; font-style: normal; }
.lead-multi-picker[open] > summary { border-color: #9b7d49; box-shadow: 0 0 0 3px rgba(198,166,106,.18); }
.form-multi-field.is-invalid .lead-multi-picker > summary { border-color: #a54537; box-shadow: 0 0 0 3px rgba(165,69,55,.12); }
.lead-multi-panel { position: absolute; z-index: 50; top: calc(100% + .45rem); right: 0; left: 0; padding: .8rem; border: 1px solid rgba(11,23,32,.2); background: #fff; box-shadow: 0 24px 60px rgba(4,17,26,.18); }
.lead-multi-options { display: grid; max-height: 360px; overflow-y: auto; gap: .2rem; padding-right: .25rem; }
.lead-multi-option { display: flex; align-items: flex-start; gap: .7rem; padding: .62rem .65rem; color: #40535c; cursor: pointer; }
.lead-multi-option:hover { background: #f2f4f1; }
.form-field .lead-multi-option input { width: 1rem; min-height: 1rem; margin: .15rem 0 0; flex: 0 0 1rem; accent-color: #315b6a; }
.lead-multi-option > span { display: grid; gap: .2rem; }
.lead-multi-option strong { color: #1d343d; font-size: .78rem; font-weight: 700; }
.lead-multi-option small { color: #6d7c82; font-size: .68rem; line-height: 1.5; }
.lead-multi-panel > button { width: 100%; min-height: 2.55rem; margin-top: .7rem; border: 0; background: var(--ink); color: #fff; cursor: pointer; font-size: .72rem; font-weight: 700; }
.consent { display: flex; align-items: flex-start; gap: .7rem; margin-top: 1.25rem; color: #657078; font-size: .73rem; line-height: 1.6; }
.consent input { width: 1rem; height: 1rem; margin-top: .18rem; accent-color: var(--ink); flex: 0 0 auto; }
.form-submit { margin-top: 1.5rem; }
.form-submit[disabled] { cursor: wait; opacity: .62; }
.form-status { min-height: 0; margin-top: 0; font-size: .88rem; }
.form-status:not(:empty) { min-height: 2.75rem; margin-top: 1.2rem; padding: .75rem 1rem; }
.form-status.is-success { background: #e4ede2; color: #35523a; }
.form-status.is-error { background: #f5e5e1; color: #8b3024; }
.form-note { color: #657078; font-size: .8rem; }

/* Profile and utility pages */
.profile-grid { display: grid; grid-template-columns: .68fr 1.32fr; gap: clamp(3rem, 7vw, 7rem); }
.profile-card { padding: .85rem; background: #081722; color: #fff; }
.profile-photo { position: relative; aspect-ratio: 4 / 5; overflow: hidden; border: 1px solid rgba(255,255,255,.15); }
.profile-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 38%; }
.profile-photo::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(5,17,27,.92)); }
.profile-caption { position: absolute; z-index: 1; inset: auto 1.25rem 1.25rem; }
.profile-caption p { margin: .35rem 0 0; }
.profile-links { display: flex; justify-content: space-between; gap: 1rem; padding: 1.4rem .5rem .5rem; color: rgba(255,255,255,.58); font-size: .82rem; }
.profile-links a { color: #d8c39b; }
.prose { max-width: 880px; padding-top: 1rem; }
.prose p { color: var(--muted); font-size: 1.03rem; line-height: 1.86; }
.credential-list { display: grid; grid-template-columns: repeat(2,1fr); gap: .9rem 2rem; margin: 2rem 0; padding: 1.5rem 0; border-block: 1px solid var(--line); font-size: .86rem; }
.credential-list span::before { content: "—"; margin-right: .7rem; color: #9b7d49; }
.credential-panel { border-top: 1px solid var(--line); }
.credential-panel > div { display: grid; grid-template-columns: .65fr 1.35fr; gap: 1rem; padding: 1.2rem 0; border-bottom: 1px solid var(--line); }
.credential-panel span { color: var(--muted); font-size: .78rem; }
.credential-panel strong { font-weight: 600; }
.contact-grid { display: grid; grid-template-columns: .55fr 1.45fr; gap: clamp(3rem, 7vw, 7rem); }
.contact-name { font-size: clamp(2.8rem,4vw,4.6rem); }
.contact-links { display: grid; gap: .7rem; margin-top: 2rem; }
.contact-links a { display: flex; min-height: 3rem; align-items: center; gap: .75rem; padding: .7rem 1rem; border: 1px solid var(--line); background: #fff; font-size: .86rem; }
.contact-affiliations { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.contact-affiliations p:last-child { color: var(--muted); font-size: .84rem; line-height: 1.8; }
.legal-copy { max-width: 920px; }
.legal-copy h2 { margin-top: 2.5rem; font-family: Georgia, serif; font-size: 2rem; font-weight: 400; }
.legal-copy p, .legal-copy li { color: var(--muted); line-height: 1.82; }

/* Login and setup */
.auth-page { min-height: 100vh; background: #07141e; color: #fff; }
.auth-shell { display: grid; min-height: 100vh; grid-template-columns: minmax(0,1fr) minmax(420px,.7fr); }
.auth-brand-panel { display: flex; flex-direction: column; justify-content: space-between; padding: clamp(2rem,5vw,5rem); background: linear-gradient(145deg, rgba(7,20,30,.84), rgba(7,20,30,.97)), url('/assets/images/miami-waterfront-hero.webp') center/cover; }
.auth-brand-panel h1 { max-width: 700px; margin: 3rem 0; font-family: Georgia, serif; font-size: clamp(3.5rem, 7vw, 7rem); font-weight: 400; letter-spacing: -.045em; line-height: .9; }
.auth-brand-panel h1 span { color: #d8c39b; }
.auth-brand-panel > p { color: rgba(255,255,255,.5); font-size: .82rem; }
.auth-form-panel { position: relative; display: grid; place-items: center; padding: 5.5rem 2rem 2rem; background: var(--paper); color: var(--ink); }
.auth-language { position: absolute; top: 1.5rem; right: 1.5rem; }
.language-switch--light { border-color: rgba(11,23,32,.18); background: rgba(255,255,255,.7); }
.language-switch--light a { color: rgba(11,23,32,.5); }
.language-switch--light a:hover, .language-switch--light a.is-active { background: var(--ink); color: #fff; }
.auth-card { width: min(100%, 470px); padding: clamp(1.5rem,4vw,3rem); border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); }
.auth-card h2 { margin: .8rem 0 0; font-family: Georgia, serif; font-size: 2.7rem; font-weight: 400; }
.auth-card > p { color: var(--muted); }
.auth-card .form-field { margin-top: 1rem; }
.auth-card .button { width: 100%; margin-top: 1.3rem; }
.auth-form-meta { display: flex; justify-content: flex-end; margin-top: .75rem; font-size: .78rem; }
.auth-form-meta a, .auth-return a { color: #6d5938; text-decoration: underline; text-decoration-color: rgba(109,89,56,.35); text-underline-offset: .18em; }
.auth-return { margin-top: 1.3rem; font-size: .78rem; }
.auth-message { padding: .8rem 1rem; background: #f5e5e1; color: #8b3024; font-size: .86rem; }
.auth-success { background: #e4ede2; color: #35523a; }
.config-steps { margin: 1.5rem 0 0; padding-left: 1.25rem; color: var(--muted); }

/* Dashboard */
.dashboard-shell { display: grid; min-height: 100vh; grid-template-columns: 275px minmax(0,1fr); }
.dashboard-sidebar { position: sticky; top: 0; height: 100vh; padding: 1.5rem; background: #07141e; color: #fff; }
.dashboard-sidebar .brand-copy strong { font-size: .72rem; }
.dashboard-nav { display: grid; gap: .25rem; margin-top: 3rem; }
.dashboard-nav a { padding: .8rem .9rem; color: rgba(255,255,255,.58); font-size: .88rem; }
.dashboard-nav a:hover, .dashboard-nav a.is-active { background: rgba(255,255,255,.08); color: #fff; }
.dashboard-nav a.is-active { box-shadow: inset 2px 0 0 var(--brass); }
.dashboard-user { position: absolute; inset: auto 1.5rem 1.5rem; padding-top: 1.2rem; border-top: 1px solid rgba(255,255,255,.12); }
.dashboard-user strong, .dashboard-user small { display: block; }
.dashboard-user small { margin-top: .3rem; color: rgba(255,255,255,.42); }
.dashboard-main { min-width: 0; }
.dashboard-topbar { display: flex; min-height: 75px; align-items: center; justify-content: space-between; gap: 1rem; padding: 0 2rem; border-bottom: 1px solid var(--line); background: rgba(244,242,237,.92); backdrop-filter: blur(10px); }
.dashboard-topbar p { margin: 0; font-size: .86rem; }
.dashboard-topbar-actions { display: flex; align-items: center; gap: .5rem; }
.dashboard-topbar-actions form { margin: 0; }
.dashboard-content { padding: clamp(1.25rem, 3vw, 2.5rem); }
.dashboard-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.dashboard-heading h1 { margin: .5rem 0 0; font-family: Georgia, serif; font-size: clamp(2.5rem,4vw,4.2rem); font-weight: 400; letter-spacing: -.035em; line-height: 1; }
.dashboard-heading p:not(.micro-label) { max-width: 650px; margin: .75rem 0 0; color: var(--muted); }
.metric-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: .8rem; margin-top: 2rem; }
.metric-card { padding: 1.3rem; border: 1px solid var(--line); background: #fff; }
.metric-card p { margin: 0; color: var(--muted); font-size: .82rem; }
.metric-card strong { display: block; margin-top: 1.2rem; font-family: Georgia, serif; font-size: 2.4rem; font-weight: 400; }
.panel { margin-top: 1.5rem; border: 1px solid var(--line); background: #fff; }
.panel-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.15rem 1.3rem; border-bottom: 1px solid var(--line); }
.panel-head h2 { margin: 0; font-size: 1rem; }
.panel-head p { margin: .25rem 0 0; color: var(--muted); font-size: .8rem; }
.table-wrap { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; min-width: 780px; }
.data-table th { padding: .8rem 1rem; background: #f6f5f1; color: #68747a; font-size: .72rem; font-weight: 700; text-align: left; }
.data-table td { padding: 1rem; border-top: 1px solid rgba(11,23,32,.1); font-size: .85rem; vertical-align: top; }
.data-table td small { display: block; max-width: 270px; margin-top: .3rem; color: #788187; }
.status-pill { display: inline-block; padding: .28rem .55rem; background: #dce9ef; color: #31576a; font-size: .72rem; font-weight: 700; text-transform: capitalize; }
.status-qualified { background: #dfeadd; color: #36543b; }
.status-follow-up { background: #efe5d2; color: #715a33; }
.inline-form { display: flex; align-items: center; gap: .4rem; }
.inline-form select { min-height: 2.3rem; border: 1px solid var(--line); background: #fff; font-size: .75rem; }
.inline-form button { min-height: 2.3rem; border: 0; background: var(--ink); color: #fff; font-size: .72rem; }
.workspace-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: .8rem; margin-top: 1.5rem; }
.workspace-card { min-height: 220px; padding: 1.4rem; border: 1px solid var(--line); background: #fff; }
.workspace-card h3 { margin: 1.7rem 0 0; }
.workspace-card p { color: var(--muted); font-size: .85rem; }
.integration-grid, .team-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .8rem; margin-top: 1.5rem; }
.integration-card, .team-card { padding: 1.4rem; border: 1px solid var(--line); background: #fff; }
.integration-status { float: right; padding: .25rem .5rem; background: #edf0ef; color: #55646a; font-size: .7rem; }
.integration-card h3, .team-card h3 { margin: 1.5rem 0 .25rem; }
.integration-card p, .team-card p { color: var(--muted); font-size: .83rem; }
.dashboard-form { margin-top: 1.5rem; max-width: 900px; }
.dashboard-form .lead-form { padding: 1.5rem; }
.flash { margin: 0 0 1.2rem; padding: .85rem 1rem; background: #e4ede2; color: #35523a; }
.flash--error { background: #f5e5e1; color: #8b3024; }
.mobile-dashboard-nav { display: none; }
.results-state { display: grid; min-height: 220px; place-items: center; padding: 2rem; color: var(--muted); text-align: center; }
.results-state strong { display: block; color: var(--ink); font-family: Georgia, serif; font-size: 1.8rem; font-weight: 400; }

/* Footer */
.site-footer { background: var(--ink-deep); color: #fff; }
.footer-inner { padding-block: 4rem 2rem; }
.footer-grid { display: grid; grid-template-columns: 1.35fr .65fr .65fr; gap: 3rem; padding-bottom: 3.5rem; border-bottom: 1px solid rgba(255,255,255,.14); }
.footer-intro { max-width: 500px; margin: 1.7rem 0 0; color: rgba(255,255,255,.52); font-size: .84rem; line-height: 1.85; }
.footer-links { display: grid; gap: .65rem; margin-top: 1.2rem; }
.footer-links a { color: rgba(255,255,255,.7); font-size: .84rem; }
.footer-links a:hover { color: #fff; }
.footer-legal { display: grid; grid-template-columns: 1fr auto; gap: 2rem; padding-top: 1.6rem; color: rgba(255,255,255,.38); font-size: .72rem; line-height: 1.65; }
.footer-legal p { margin: 0; }
.footer-policy { display: flex; gap: 1rem; margin-top: 1rem; color: rgba(255,255,255,.45); font-size: .72rem; }

@media (max-width: 1220px) {
  .desktop-nav { display: none; }
  .mobile-menu { display: block; }
  .header-actions { margin-left: auto; }
  .pillar-grid, .engagement-grid { grid-template-columns: repeat(2,1fr); }
  .asset-detail-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 900px) {
  .header-actions { display: none; }
  .home-hero { min-height: 900px; }
  .home-hero-grid { min-height: 900px; grid-template-columns: 1fr; align-content: end; gap: 2rem; padding-top: 8rem; padding-bottom: 3rem; }
  .entry-desk { width: 100%; margin: 0; }
  .institutional-intro, .section-heading-grid, .capital-band-grid, .content-grid, .mandate-cta-grid, .practice-hero-grid, .confidentiality-grid, .form-section-grid, .profile-grid, .contact-grid { grid-template-columns: 1fr; }
  .practice-hero-grid { gap: 2.5rem; }
  .practice-aside { max-width: 520px; }
  .sticky-copy, .form-intro { position: static; }
  .asset-universe-grid { grid-template-columns: repeat(2,1fr); }
  .capability-grid { grid-template-columns: repeat(2,1fr); }
  .criteria-list > div { grid-template-columns: 50px 165px 1fr; }
  .footer-grid, .footer-legal { grid-template-columns: 1fr; }
  .auth-shell { grid-template-columns: 1fr; }
  .auth-brand-panel { display: none; }
  .dashboard-shell { grid-template-columns: 1fr; }
  .dashboard-sidebar { display: none; }
  .mobile-dashboard-nav { display: flex; overflow-x: auto; gap: .35rem; padding: .7rem 1rem; background: #07141e; color: #fff; }
  .mobile-dashboard-nav a { white-space: nowrap; padding: .5rem .7rem; color: rgba(255,255,255,.65); font-size: .78rem; }
  .mobile-dashboard-nav a.is-active { background: rgba(255,255,255,.1); color: #fff; }
  .metric-grid, .workspace-cards, .integration-grid, .team-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 620px) {
  .shell { width: min(100% - 2rem, var(--max)); }
  .brand-copy strong { font-size: .68rem; }
  .brand-copy small { display: none; }
  .home-hero h1 { font-size: clamp(3.25rem,15.5vw,5rem); }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .pillar-grid, .asset-universe-grid, .counterparty-list, .capability-grid, .engagement-grid, .asset-detail-grid, .action-grid, .form-grid, .credential-list, .metric-grid, .workspace-cards, .integration-grid, .team-grid { grid-template-columns: 1fr; }
  .section-title { font-size: clamp(2.7rem,12vw,4rem); }
  .mandate-actions a { grid-template-columns: 1fr auto; }
  .mandate-actions a span { grid-column: 1 / -1; }
  .process-row { grid-template-columns: 48px 1fr; }
  .process-row p { grid-column: 2; }
  .criteria-list > div { grid-template-columns: 42px 1fr; }
  .criteria-list p { grid-column: 2; }
  .form-span { grid-column: auto; }
  .profile-links { flex-direction: column; }
  .credential-panel > div { grid-template-columns: 1fr; gap: .35rem; }
  .dashboard-topbar { padding-inline: 1rem; }
  .dashboard-topbar > p, .dashboard-topbar .button--dark { display: none; }
  .dashboard-topbar { justify-content: flex-end; }
  .dashboard-content { padding: 1rem; }
  .dashboard-heading { align-items: stretch; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Institutional CRM — v3 */
.dashboard-body { --workspace-bg: #ebe9e3; --workspace-card: #fdfcf9; --workspace-muted: #6c757a; background: var(--workspace-bg); }
.dashboard-body .dashboard-shell { grid-template-columns: 292px minmax(0,1fr); }
.dashboard-body .dashboard-sidebar { z-index: 20; display: flex; overflow-y: auto; flex-direction: column; padding: 2rem 1.35rem 1.35rem; background: linear-gradient(180deg,#07141e 0%,#0b1d28 100%); }
.dashboard-wordmark { display: block; padding: 0 .7rem 1.5rem; border-bottom: 1px solid rgba(255,255,255,.12); }
.dashboard-wordmark strong { display: block; color: #fff; font-size: .82rem; letter-spacing: .14em; line-height: 1.35; text-transform: uppercase; }
.dashboard-wordmark small { display: block; margin-top: .55rem; color: rgba(255,255,255,.4); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; }
.dashboard-body .dashboard-nav { gap: .15rem; margin-top: 1.4rem; }
.dashboard-body .dashboard-nav a { display: grid; grid-template-columns: 2rem 1fr; align-items: center; padding: .72rem .7rem; border-left: 1px solid transparent; background: transparent; color: rgba(255,255,255,.56); font-size: .8rem; }
.dashboard-body .dashboard-nav a span { color: rgba(198,166,106,.65); font-family: Georgia,serif; font-size: .68rem; }
.dashboard-body .dashboard-nav a:hover,.dashboard-body .dashboard-nav a.is-active { border-left-color: var(--brass); background: rgba(255,255,255,.06); box-shadow: none; color: #fff; }
.dashboard-body .dashboard-user { position: static; margin-top: auto; padding: 1.25rem .7rem 0; }
.dashboard-body .dashboard-user strong { font-size: .82rem; }
.dashboard-body .dashboard-user small { overflow: hidden; font-size: .67rem; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-body .dashboard-user button { margin-top: .8rem; padding: 0; border: 0; background: none; color: var(--brass-light); font-size: .72rem; }
.dashboard-body .dashboard-topbar { position: sticky; z-index: 15; top: 0; min-height: 68px; background: rgba(244,242,237,.94); }
.dashboard-topbar .live-dot { display: inline-block; width: .42rem; height: .42rem; margin-right: .55rem; border-radius: 50%; background: #668c6b; box-shadow: 0 0 0 4px rgba(102,140,107,.12); }
.dashboard-body .dashboard-content { width: min(100%,1780px); margin-inline: auto; padding: clamp(1.4rem,2.8vw,2.8rem); }
.dashboard-body .dashboard-heading { align-items: flex-end; }
.dashboard-body .dashboard-heading h1 { max-width: 900px; font-size: clamp(2.55rem,4.2vw,4.65rem); }
.dashboard-body .dashboard-heading p:not(.micro-label) { max-width: 820px; }
.heading-actions { display: flex; flex-wrap: wrap; gap: .55rem; }
.metric-grid--five { grid-template-columns: repeat(5,1fr); }
.metric-grid--three { grid-template-columns: repeat(3,1fr); }
.dashboard-body .metric-card { min-height: 150px; transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.dashboard-body a.metric-card:hover { transform: translateY(-2px); border-color: rgba(11,23,32,.35); box-shadow: 0 15px 35px rgba(7,20,30,.07); }
.dashboard-body .metric-card strong { margin-top: .8rem; font-size: 2.8rem; }
.metric-card span { display: block; margin-top: .45rem; color: #876d41; font-size: .7rem; }
.dashboard-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.dashboard-columns--wide { grid-template-columns: minmax(0,1.25fr) minmax(360px,.75fr); }
.dashboard-columns > .panel { min-width: 0; }
.dashboard-body .panel { background: var(--workspace-card); }
.dashboard-body .panel-head > a { color: #755e38; font-size: .76rem; font-weight: 700; }
.panel-head--tools { flex-wrap: wrap; }
.panel-search { display: flex; min-width: min(100%,420px); }
.panel-search input { width: 100%; min-height: 2.65rem; border: 1px solid var(--line); background: #fff; padding: .55rem .8rem; outline: 0; }
.panel-search button { border: 0; background: var(--ink); color: #fff; padding-inline: 1rem; font-size: .74rem; font-weight: 700; }
.empty-state { display: grid; min-height: 230px; place-content: center; justify-items: center; padding: 2.4rem; color: var(--workspace-muted); text-align: center; }
.empty-state--compact { min-height: 130px; }
.empty-state--large { min-height: 440px; margin-top: 1.5rem; border: 1px solid var(--line); background: #fff; }
.empty-state h2,.empty-state strong { color: var(--ink); font-family: Georgia,serif; font-size: 1.8rem; font-weight: 400; }
.empty-state p { max-width: 600px; margin: .7rem 0 1rem; }
.empty-state a:not(.button) { color: #755e38; font-size: .82rem; font-weight: 700; }
.record-list { display: grid; }
.record-row { display: grid; grid-template-columns: 90px minmax(190px,1fr) minmax(120px,.45fr) auto; align-items: center; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid rgba(11,23,32,.1); }
.record-row:hover { background: #f6f4ef; }
.record-row:last-child { border-bottom: 0; }
.record-row > span { min-width: 0; }
.record-row strong,.record-row small { display: block; }
.record-row small { margin-top: .25rem; color: var(--workspace-muted); font-size: .72rem; }
.record-code { color: #8d7448; font-family: Georgia,serif; font-size: .72rem; }
.record-row--simple { grid-template-columns: 1fr auto; }
.timeline-list { display: grid; }
.timeline-item { display: grid; grid-template-columns: 12px minmax(0,1fr) auto; align-items: start; gap: .8rem; padding: 1rem 1.25rem; border-bottom: 1px solid rgba(11,23,32,.1); }
.timeline-item p,.timeline-item small { margin: .18rem 0 0; color: var(--workspace-muted); font-size: .72rem; }
.timeline-dot { width: .5rem; height: .5rem; margin-top: .35rem; border-radius: 50%; background: #a86b60; }
.timeline-dot.is-success { background: #65876a; }
.method-strip { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 1.5rem; border: 1px solid var(--line); background: #102532; color: #fff; }
.method-strip > div { min-height: 190px; padding: 1.3rem; border-right: 1px solid rgba(255,255,255,.12); }
.method-strip > div:last-child { border-right: 0; }
.method-strip span { color: var(--brass-light); font-family: Georgia,serif; }
.method-strip strong { display: block; margin-top: 2rem; font-family: Georgia,serif; font-size: 1.25rem; font-weight: 400; }
.method-strip p { color: rgba(255,255,255,.55); font-size: .78rem; }
.workspace-error { max-width: 850px; margin: 8vh auto; padding: 2rem; border: 1px solid #d6b8ae; background: #fff; }
.workspace-error h1 { font-family: Georgia,serif; font-weight: 400; }
.workspace-error p { color: var(--muted); }

/* CRM forms */
.crm-editor-card { scroll-margin-top: 5rem; margin-top: 1.5rem; border: 1px solid var(--line); background: #fff; }
.crm-editor-card > summary { display: flex; min-height: 84px; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.35rem; cursor: pointer; list-style: none; }
.crm-editor-card > summary::-webkit-details-marker { display: none; }
.crm-editor-card > summary small,.crm-editor-card > summary strong { display: block; }
.crm-editor-card > summary small { color: #8a7145; font-size: .66rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.crm-editor-card > summary strong { margin-top: .25rem; font-family: Georgia,serif; font-size: 1.3rem; font-weight: 400; }
.summary-action { color: var(--workspace-muted); font-size: .7rem; }
.crm-editor-card[open] > summary { border-bottom: 1px solid var(--line); }
.crm-form { padding: 0 1.4rem 1.4rem; }
.crm-form--compact { padding: 1.25rem; }
.form-section { display: grid; grid-template-columns: 210px minmax(0,1fr); gap: 2rem; padding: 1.6rem 0; border-bottom: 1px solid rgba(11,23,32,.11); }
.form-section > div:first-child > span { color: #9a7e4d; font-family: Georgia,serif; }
.form-section h3 { margin: .5rem 0 0; font-family: Georgia,serif; font-size: 1.2rem; font-weight: 400; }
.form-grid--three { grid-template-columns: repeat(3,1fr); }
.form-span-2 { grid-column: span 2; }
.form-span-3 { grid-column: 1 / -1; }
.crm-form .form-field > span { font-size: .75rem; }
.crm-form .form-field small { color: var(--workspace-muted); font-size: .66rem; }
.crm-form .form-field input,.crm-form .form-field select,.crm-form .form-field textarea { min-height: 2.85rem; background: #fbfaf7; font-size: .84rem; }
.crm-form .form-field textarea { min-height: 5.9rem; }
.form-actions { display: flex; flex-wrap: wrap; gap: .55rem; padding-top: 1.3rem; }

/* Asset and company records */
.asset-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: var(--line); }
.asset-card { min-width: 0; background: #fff; }
.asset-card-visual { position: relative; display: flex; min-height: 115px; align-items: flex-end; justify-content: space-between; gap: 1rem; padding: 1rem; isolation: isolate; background: linear-gradient(135deg,#0b1d28,#29414e); background-position: center; background-size: cover; color: #fff; }
.asset-card-visual > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.asset-card-visual::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg,rgba(4,14,22,.18),rgba(4,14,22,.78)); }
.asset-card-visual span { font-size: .66rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.asset-card-visual small { color: rgba(255,255,255,.7); }
.asset-card-body { padding: 1.2rem; }
.card-meta { display: flex; align-items: center; justify-content: space-between; gap: .7rem; color: var(--workspace-muted); font-size: .7rem; }
.asset-card h3,.company-card h3 { margin: 1rem 0 .55rem; font-family: Georgia,serif; font-size: 1.35rem; font-weight: 400; line-height: 1.2; }
.asset-card-body > p,.company-card > p:not(.micro-label) { min-height: 3.9rem; color: var(--workspace-muted); font-size: .76rem; }
.asset-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: .5rem; padding: .85rem 0; border-block: 1px solid rgba(11,23,32,.1); }
.asset-stats small,.asset-stats strong { display: block; }
.asset-stats small { color: var(--workspace-muted); font-size: .62rem; }
.asset-stats strong { margin-top: .2rem; font-size: .78rem; }
.card-actions { display: flex; justify-content: space-between; gap: 1rem; padding-top: .9rem; color: #755e38; font-size: .72rem; font-weight: 700; }
.company-workspace { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(360px,.9fr); gap: 1rem; }
.company-profile-body { padding: 1.35rem; }
.company-thesis { margin: 0 0 1.2rem; color: var(--workspace-muted); }
.profile-facts { display: grid; grid-template-columns: repeat(2,1fr); gap: .8rem; margin: 0; }
.profile-facts div { padding-top: .7rem; border-top: 1px solid rgba(11,23,32,.1); }
.profile-facts dt { color: var(--workspace-muted); font-size: .63rem; text-transform: uppercase; }
.profile-facts dd { margin: .25rem 0 0; font-size: .76rem; }
.contact-list { display: grid; }
.contact-row { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: .75rem; padding: .8rem 1.15rem; border-bottom: 1px solid rgba(11,23,32,.1); }
.contact-row:hover { background: #f6f4ef; }
.contact-row strong,.contact-row small { display: block; }
.contact-row small { color: var(--workspace-muted); font-size: .68rem; }
.contact-avatar { display: grid; width: 2.4rem; height: 2.4rem; place-items: center; flex: 0 0 auto; border-radius: 50%; background: #e5ddce; color: #68532f; font-family: Georgia,serif; font-size: .72rem; }
.company-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; background: var(--line); }
.company-card { min-height: 265px; padding: 1.2rem; background: #fff; }
.company-card:hover { background: #f8f6f1; }
.company-card-top { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.company-card .micro-label { margin-top: 1.4rem; font-size: .58rem; }
.company-card-stats { display: flex; gap: 1.5rem; margin-top: 1rem; padding-top: .8rem; border-top: 1px solid rgba(11,23,32,.1); color: var(--workspace-muted); font-size: .65rem; }
.company-card-stats strong { display: block; color: var(--ink); font-family: Georgia,serif; font-size: 1.15rem; font-weight: 400; }
.buyer-directory { overflow: hidden; }
.company-filter-bar { display: grid; grid-template-columns: minmax(220px,1.35fr) repeat(3,minmax(155px,.72fr)) auto; align-items: end; gap: .75rem; padding: 1rem 1.25rem 1.15rem; border-block: 1px solid rgba(8,23,34,.11); background: linear-gradient(100deg,rgba(239,241,238,.82),rgba(250,250,247,.96)); }
.company-filter-bar label { display: grid; min-width: 0; gap: .38rem; }
.company-filter-bar label > span { color: #687176; font-size: .61rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.company-filter-bar input,.company-filter-bar select { width: 100%; min-width: 0; min-height: 2.75rem; border: 1px solid rgba(8,23,34,.17); border-radius: 3px; outline: 0; background: rgba(255,255,252,.98); padding: .6rem .72rem; color: var(--ink); font: inherit; font-size: .75rem; }
.company-filter-bar input:focus,.company-filter-bar select:focus { border-color: rgba(8,23,34,.52); box-shadow: 0 0 0 3px rgba(122,166,180,.10); }
.company-filter-actions { display: flex; min-height: 2.75rem; align-items: center; gap: .7rem; white-space: nowrap; }
.company-filter-actions > a { color: #755e38; font-size: .69rem; font-weight: 700; }
.directory-pagination { display: flex; align-items: center; justify-content: center; gap: .35rem; padding: 1.15rem; border-top: 1px solid rgba(8,23,34,.11); }
.directory-pagination a { display: grid; width: 2.35rem; height: 2.35rem; place-items: center; border: 1px solid rgba(8,23,34,.14); border-radius: 50%; background: rgba(255,255,252,.9); color: #657076; font-size: .72rem; }
.directory-pagination a:hover,.directory-pagination a.is-current { border-color: var(--ink); background: var(--ink); color: #fff; }

/* Mandates and matching */
.legend-note { max-width: 400px; color: var(--workspace-muted); font-size: .68rem; }
.legend-note i { display: inline-block; width: .45rem; height: .45rem; margin-right: .35rem; border-radius: 50%; background: #bc8a3e; }
.mandate-list { display: grid; }
.mandate-row { display: grid; grid-template-columns: minmax(180px,.7fr) minmax(300px,1.4fr) minmax(180px,.7fr) 110px; align-items: center; gap: 1rem; padding: 1.15rem; border-bottom: 1px solid rgba(11,23,32,.1); }
.mandate-company { display: flex; align-items: center; gap: .7rem; }
.mandate-company strong,.mandate-company small { display: block; }
.mandate-company small { color: var(--workspace-muted); font-size: .66rem; }
.mandate-main h3 { margin: .55rem 0 .2rem; font-size: .95rem; }
.mandate-main p,.mandate-main small { margin: 0; color: var(--workspace-muted); font-size: .72rem; }
.mandate-range small,.mandate-range strong,.mandate-range span { display: block; }
.mandate-range small,.mandate-range span { color: var(--workspace-muted); font-size: .65rem; }
.mandate-range strong { margin: .25rem 0; font-size: .76rem; }
.mandate-row-actions { display: grid; gap: .35rem; justify-items: end; color: #755e38; font-size: .72rem; font-weight: 700; }
.status-priority,.status-warning { background: #f0e4ce; color: #765a2b; }
.match-context { display: grid; grid-template-columns: minmax(300px,.7fr) minmax(0,1.3fr); margin-top: 1.5rem; border: 1px solid var(--line); background: #fff; }
.asset-selector { padding: 1.25rem; border-right: 1px solid var(--line); }
.asset-selector label,.asset-selector span { display: block; }
.asset-selector span { margin-bottom: .5rem; color: var(--workspace-muted); font-size: .68rem; font-weight: 700; text-transform: uppercase; }
.asset-selector select { width: 100%; min-height: 3rem; border: 1px solid var(--line); background: #fbfaf7; padding: .7rem; }
.match-asset-summary { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.25rem 1.5rem; }
.match-asset-summary h2 { margin: .25rem 0; font-family: Georgia,serif; font-size: 1.4rem; font-weight: 400; }
.match-asset-summary p,.match-asset-summary small { margin: 0; color: var(--workspace-muted); font-size: .72rem; }
.match-asset-summary > div:last-child { text-align: right; }
.match-asset-summary > div:last-child strong { display: block; margin-top: .3rem; }
.scoring-note { display: grid; grid-template-columns: minmax(300px,.7fr) minmax(0,1.3fr); align-items: center; margin-top: 1rem; padding: 1rem 1.25rem; background: #102532; color: #fff; }
.scoring-note > div { display: flex; align-items: center; gap: .9rem; }
.scoring-note p { margin: .2rem 0 0; color: rgba(255,255,255,.54); font-size: .7rem; }
.score-seal { display: grid; width: 3.1rem; height: 3.1rem; place-items: center; flex: 0 0 auto; border: 1px solid rgba(198,166,106,.65); border-radius: 50%; color: var(--brass-light); font-family: Georgia,serif; }
.scoring-note ul { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.scoring-note li { padding: .35rem .5rem; background: rgba(255,255,255,.07); color: rgba(255,255,255,.62); font-size: .63rem; }
.scoring-note li b { color: var(--brass-light); }
.match-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; }
.tier-filters { display: flex; flex-wrap: wrap; gap: .35rem; }
.tier-filters button { min-height: 2.5rem; border: 1px solid var(--line); background: #fff; padding: .5rem .75rem; font-size: .7rem; }
.tier-filters button.is-active { border-color: var(--ink); background: var(--ink); color: #fff; }
.tier-filters span { margin-left: .25rem; opacity: .62; }
.match-toolbar > input { width: min(100%,330px); min-height: 2.5rem; border: 1px solid var(--line); background: #fff; padding: .55rem .75rem; }
.match-list { display: grid; gap: .65rem; margin-top: .7rem; }
.match-card { display: grid; grid-template-columns: 112px minmax(0,1fr) 165px; border: 1px solid var(--line); background: #fff; }
.match-card[hidden] { display: none; }
.match-score { display: grid; place-content: center; justify-items: center; padding: 1rem; border-right: 1px solid var(--line); background: #edf0ed; }
.match-score strong { font-family: Georgia,serif; font-size: 2.2rem; font-weight: 400; line-height: 1; }
.match-score span,.match-score small { color: var(--workspace-muted); font-size: .62rem; }
.match-score.score-high { background: #dce9df; color: #31573a; }
.match-score.score-strong { background: #e8eadb; color: #586038; }
.match-score.score-review { background: #efe7d6; color: #745f37; }
.match-score.score-low { background: #ecebea; color: #6f7375; }
.match-company { min-width: 0; padding: 1.1rem 1.25rem; }
.match-company-head { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.match-company h3 { margin: .25rem 0; font-family: Georgia,serif; font-size: 1.3rem; font-weight: 400; }
.match-company > p { margin: .55rem 0; color: var(--workspace-muted); font-size: .76rem; }
.match-meta { display: flex; flex-wrap: wrap; gap: 1rem; color: var(--workspace-muted); font-size: .67rem; }
.score-breakdown { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .8rem; }
.score-breakdown span { display: inline-flex; align-items: center; gap: .28rem; padding: .28rem .42rem; background: #f1f0ed; color: #7b8285; font-size: .6rem; }
.score-breakdown i { width: .32rem; height: .32rem; border-radius: 50%; background: #b5b5b1; }
.score-breakdown span.is-match { background: #e5ede4; color: #3d6042; }
.score-breakdown span.is-match i { background: #668b6b; }
.score-breakdown b { font-weight: 700; }
.match-actions { display: flex; flex-direction: column; align-items: stretch; justify-content: center; gap: .55rem; padding: 1rem; border-left: 1px solid var(--line); font-size: .68rem; text-align: center; }
.match-actions > a:not(.button) { color: #755e38; font-weight: 700; }
.button.is-disabled { cursor: not-allowed; opacity: .35; }
.match-actions details { position: relative; }
.match-actions details > summary { cursor: pointer; color: #755e38; font-weight: 700; list-style: none; }
.match-actions details > form { position: absolute; z-index: 10; right: 0; top: 1.8rem; display: grid; width: 320px; gap: .7rem; padding: 1rem; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); text-align: left; }
.match-actions form label,.match-actions form span { display: grid; gap: .25rem; }
.match-actions form select,.match-actions form textarea { width: 100%; border: 1px solid var(--line); padding: .5rem; }

/* Outreach composer */
.outreach-context-panel { display: grid; grid-template-columns: minmax(0,1fr) minmax(380px,.7fr); margin-top: 1.5rem; border: 1px solid var(--line); background: #fff; }
.outreach-context-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)) auto; align-items: end; gap: .7rem; padding: 1.2rem; border-right: 1px solid var(--line); }
.outreach-context-form label,.outreach-context-form span { display: grid; gap: .4rem; }
.outreach-context-form span { color: var(--workspace-muted); font-size: .66rem; font-weight: 700; text-transform: uppercase; }
.outreach-context-form select { min-width: 0; min-height: 2.75rem; border: 1px solid var(--line); background: #fbfaf7; padding: .6rem; }
.outreach-context-summary { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; padding: 1.2rem; }
.outreach-context-summary small,.outreach-context-summary strong,.outreach-context-summary span { display: block; }
.outreach-context-summary small { color: var(--workspace-muted); font-size: .62rem; text-transform: uppercase; }
.outreach-context-summary strong { margin-top: .35rem; font-size: .78rem; }
.outreach-context-summary span { margin-top: .2rem; color: var(--workspace-muted); font-size: .68rem; }
.collision-warning { display: flex; align-items: center; gap: .9rem; margin-top: 1rem; padding: .9rem 1rem; border: 1px solid #d6b67d; background: #f2e8d4; color: #664f29; }
.collision-warning > span { display: grid; width: 2rem; height: 2rem; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-family: Georgia,serif; }
.collision-warning p { margin: .15rem 0 0; font-size: .73rem; }
.email-composer { margin-top: 1rem; border: 1px solid var(--line); background: #fff; box-shadow: 0 18px 45px rgba(7,20,30,.06); }
.composer-header { display: grid; border-bottom: 1px solid var(--line); }
.composer-field,.composer-subject { display: grid; grid-template-columns: 80px minmax(0,1fr); align-items: center; min-height: 52px; padding: 0 1rem; border-bottom: 1px solid rgba(11,23,32,.09); }
.composer-field > span,.composer-subject > span { color: var(--workspace-muted); font-size: .72rem; }
.composer-field select,.composer-subject input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; padding: .7rem 0; font-size: .82rem; }
.composer-cc { position: relative; justify-self: end; margin: -45px 1rem 0 0; }
.composer-cc > summary { cursor: pointer; color: #755e38; font-size: .72rem; list-style: none; }
.composer-cc > div { position: absolute; z-index: 12; top: 1.7rem; right: 0; width: min(88vw,390px); max-height: 430px; overflow-y: auto; padding: 1rem; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); }
.composer-cc p { margin: .6rem 0; color: var(--workspace-muted); font-size: .65rem; font-weight: 700; text-transform: uppercase; }
.check-list { display: grid; gap: .35rem; }
.check-list label { display: flex; align-items: flex-start; gap: .55rem; padding: .45rem; background: #f7f5f0; font-size: .74rem; }
.check-list small { display: block; color: var(--workspace-muted); font-size: .62rem; }
.editor-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: .2rem; padding: .55rem .85rem; border-bottom: 1px solid var(--line); background: #f6f4ef; }
.editor-toolbar button { min-width: 2rem; min-height: 2rem; border: 0; background: transparent; padding: .35rem .5rem; font-size: .72rem; }
.editor-toolbar button:hover { background: #e6e2d9; }
.editor-toolbar > span { width: 1px; height: 1.5rem; margin: 0 .3rem; background: var(--line); }
.email-editor { min-height: 330px; padding: 1.5rem; outline: 0; font-family: Arial,Helvetica,sans-serif; font-size: .91rem; line-height: 1.65; }
.email-editor:focus { box-shadow: inset 3px 0 0 var(--brass); }
.email-editor.has-error { box-shadow: inset 3px 0 0 #a44d40; }
.email-editor a { color: #315f85; text-decoration: underline; }
.composer-footer { padding: 1rem; border-top: 1px solid var(--line); background: #fbfaf7; }
.attachment-control { display: inline-flex; align-items: center; gap: .6rem; cursor: pointer; color: #755e38; font-size: .74rem; font-weight: 700; }
.attachment-control input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.attachment-control small { color: var(--workspace-muted); font-size: .62rem; font-weight: 400; }
.attachment-list { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .6rem; }
.attachment-list span { padding: .35rem .5rem; background: #eae7df; font-size: .65rem; }
.collision-confirm { display: flex; align-items: flex-start; gap: .55rem; margin-top: 1rem; color: #6a5128; font-size: .72rem; }
.send-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid rgba(11,23,32,.1); }
.send-row p { margin: 0; color: var(--workspace-muted); font-size: .66rem; }
.send-row button:disabled { cursor: wait; opacity: .5; }
.outreach-history { margin-top: 1rem; }
.status-sent { background: #dfeadd; color: #36543b; }
.status-failed { background: #f1ded8; color: #803a30; }
.table-copy { display: block; max-width: 300px; }
.nowrap { white-space: nowrap; }
.team-admin-panel { max-width: 1100px; }

@media (max-width: 1380px) {
  .metric-grid--five { grid-template-columns: repeat(3,1fr); }
  .asset-card-grid,.company-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .outreach-context-panel { grid-template-columns: 1fr; }
  .outreach-context-form { border-right: 0; border-bottom: 1px solid var(--line); }
  .company-filter-bar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .company-filter-actions { justify-content: flex-start; }
}

@media (max-width: 1100px) {
  .dashboard-body .dashboard-shell { grid-template-columns: 250px minmax(0,1fr); }
  .dashboard-columns,.dashboard-columns--wide,.company-workspace { grid-template-columns: 1fr; }
  .method-strip { grid-template-columns: repeat(2,1fr); }
  .method-strip > div:nth-child(2) { border-right: 0; }
  .form-section { grid-template-columns: 1fr; gap: 1rem; }
  .form-grid--three { grid-template-columns: repeat(2,1fr); }
  .form-span-3 { grid-column: 1 / -1; }
  .mandate-row { grid-template-columns: minmax(160px,.7fr) minmax(250px,1.3fr) minmax(150px,.7fr); }
  .mandate-row-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; }
  .match-context,.scoring-note { grid-template-columns: 1fr; }
  .asset-selector { border-right: 0; border-bottom: 1px solid var(--line); }
  .scoring-note ul { justify-content: flex-start; margin-top: 1rem; }
  .match-card { grid-template-columns: 95px minmax(0,1fr); }
  .match-actions { grid-column: 1 / -1; flex-direction: row; align-items: center; border-top: 1px solid var(--line); border-left: 0; }
}

@media (max-width: 900px) {
  .dashboard-body .dashboard-shell { grid-template-columns: 1fr; }
  .dashboard-body .dashboard-content { padding: 1rem; }
  .metric-grid--five,.metric-grid--three { grid-template-columns: repeat(2,1fr); }
  .company-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mandate-row { grid-template-columns: 1fr 1.5fr; }
  .mandate-range { grid-column: 2; }
  .outreach-context-form { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .dashboard-body .dashboard-heading h1 { font-size: 2.65rem; }
  .metric-grid--five,.metric-grid--three,.asset-card-grid,.company-grid,.method-strip,.profile-facts,.outreach-context-summary { grid-template-columns: 1fr; }
  .method-strip > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .record-row { grid-template-columns: 1fr; gap: .45rem; }
  .record-row .status-pill { justify-self: start; }
  .form-grid--three { grid-template-columns: 1fr; }
  .form-span-2,.form-span-3 { grid-column: auto; }
  .crm-form { padding-inline: .9rem; }
  .company-filter-bar { grid-template-columns: 1fr; padding-inline: .9rem; }
  .company-filter-actions { align-items: stretch; flex-direction: column; }
  .company-filter-actions .button { width: 100%; }
  .mandate-row { grid-template-columns: 1fr; }
  .mandate-main,.mandate-range,.mandate-row-actions { grid-column: 1; }
  .mandate-row-actions { justify-content: flex-start; }
  .match-toolbar { align-items: stretch; flex-direction: column; }
  .match-toolbar > input { width: 100%; }
  .match-card { grid-template-columns: 1fr; }
  .match-score { display: flex; align-items: baseline; justify-content: flex-start; gap: .3rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .match-score small { margin-left: auto; }
  .match-company-head { flex-direction: column; }
  .match-actions { align-items: stretch; flex-direction: column; }
  .match-actions details > form { position: fixed; inset: auto .75rem .75rem; width: auto; }
  .composer-field,.composer-subject { grid-template-columns: 58px minmax(0,1fr); }
  .attachment-control,.send-row { align-items: stretch; flex-direction: column; }
  .send-row button { width: 100%; }
  .email-editor { min-height: 260px; padding: 1rem; }
}

/* PropTech refinement — v3.1 */
:root {
  --ink: #081722;
  --ink-deep: #04111a;
  --paper: #f3f3ef;
  --paper-deep: #e3e4df;
  --brass: #bda16b;
  --brass-light: #dbc28d;
  --tech: #7aa6b4;
  --tech-soft: rgba(122,166,180,.16);
  --line: rgba(8,23,34,.14);
  --shadow: 0 24px 70px rgba(4,17,26,.09);
}

body { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; letter-spacing: -.006em; }
.button { border-radius: 3px; }
.site-header--overlay { background: rgba(4,17,26,.72); backdrop-filter: blur(22px) saturate(130%); }
.site-header--solid { background: rgba(4,17,26,.98); }
.header-inner { min-height: 82px; }
.desktop-nav { gap: clamp(.9rem,1.5vw,1.5rem); }
.desktop-nav a { position: relative; letter-spacing: .01em; }
.desktop-nav a.is-active { box-shadow: none; }
.desktop-nav a.is-active::after { content:""; position:absolute; right:0; bottom:-.65rem; left:0; height:1px; background:linear-gradient(90deg,var(--brass),var(--tech)); }

.home-hero { min-height: 850px; }
.home-hero::before { background: linear-gradient(90deg,rgba(3,14,22,.99) 0%,rgba(3,14,22,.94) 44%,rgba(3,14,22,.56) 76%,rgba(3,14,22,.30) 100%); }
.home-hero::after { background: linear-gradient(180deg,rgba(3,14,22,.48),transparent 27%,rgba(3,14,22,.82)),repeating-linear-gradient(90deg,transparent 0,transparent calc(12.5% - 1px),rgba(255,255,255,.035) calc(12.5% - 1px),rgba(255,255,255,.035) 12.5%); }
.home-hero-grid { min-height: 850px; grid-template-columns:minmax(0,1.2fr) minmax(350px,.48fr); padding-top:8rem; }
.home-hero h1 { max-width:1000px; font-size:clamp(4.2rem,7.2vw,7.8rem); }
.hero-lead { max-width:740px; }
.entry-desk { position:relative; overflow:hidden; border-color:rgba(122,166,180,.35); border-radius:4px; background:linear-gradient(155deg,rgba(8,25,36,.93),rgba(4,16,25,.86)); box-shadow:0 34px 90px rgba(0,0,0,.28); }
.entry-desk::before { content:""; position:absolute; width:180px; height:180px; top:-120px; right:-80px; border:1px solid rgba(122,166,180,.24); border-radius:50%; box-shadow:0 0 0 30px rgba(122,166,180,.025),0 0 0 60px rgba(122,166,180,.018); }
.entry-paths a { grid-template-columns:40px 1fr auto; }
.entry-path-number { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.76rem; letter-spacing:.08em; }
.capability-rail { display:grid; max-width:830px; grid-template-columns:repeat(3,1fr); margin-top:2.7rem; border-top:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.capability-rail span { display:grid; grid-template-columns:auto 1fr; gap:.7rem; align-items:center; min-height:68px; padding:.8rem 1rem .8rem 0; border-right:1px solid rgba(255,255,255,.13); color:rgba(255,255,255,.64); }
.capability-rail span:last-child { border-right:0; padding-left:1rem; }
.capability-rail span:nth-child(2) { padding-left:1rem; }
.capability-rail i { color:var(--tech); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.64rem; font-style:normal; }
.capability-rail strong { font-size:.7rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }

.intelligence-band { position:relative; overflow:hidden; padding-block:clamp(5rem,8vw,8rem); border-block:1px solid rgba(8,23,34,.13); background:#e9ebe7; }
.intelligence-band::before { content:""; position:absolute; inset:0; opacity:.45; background-image:linear-gradient(rgba(8,23,34,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(8,23,34,.055) 1px,transparent 1px); background-size:56px 56px; mask-image:linear-gradient(90deg,#000,transparent 90%); }
.intelligence-grid { position:relative; display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(3rem,7vw,8rem); }
.intelligence-heading h2 { max-width:680px; margin:1rem 0 0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(3rem,5.2vw,5.4rem); font-weight:400; letter-spacing:-.045em; line-height:.98; }
.intelligence-modules { border-top:1px solid rgba(8,23,34,.22); }
.intelligence-modules article { display:grid; grid-template-columns:155px minmax(180px,.8fr) minmax(240px,1fr); gap:1.2rem; padding:1.55rem 0; border-bottom:1px solid rgba(8,23,34,.18); }
.intelligence-modules span { color:#677d86; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.64rem; letter-spacing:.08em; }
.intelligence-modules strong { font-size:.88rem; }
.intelligence-modules p { margin:0; color:var(--muted); font-size:.78rem; line-height:1.65; }
.section--dark,.capital-band,.mandate-cta { position:relative; background-color:#061620; background-image:linear-gradient(rgba(122,166,180,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(122,166,180,.045) 1px,transparent 1px); background-size:64px 64px; }
.pillar-card { position:relative; overflow:hidden; background:rgba(5,19,29,.9); transition:background .25s ease,transform .25s ease; }
.pillar-card::after { content:""; position:absolute; right:1.5rem; bottom:1.5rem; width:28px; height:28px; border-right:1px solid rgba(122,166,180,.28); border-bottom:1px solid rgba(122,166,180,.28); }
.pillar-card:hover { transform:translateY(-3px); background:#0a202c; }

.dashboard-body { --workspace-bg:#eff0ed; --workspace-card:rgba(255,255,252,.94); background-color:var(--workspace-bg); background-image:linear-gradient(rgba(8,23,34,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(8,23,34,.028) 1px,transparent 1px); background-size:48px 48px; }
.dashboard-body .dashboard-sidebar { background:radial-gradient(circle at 15% 0,rgba(122,166,180,.13),transparent 28%),linear-gradient(180deg,#04131d 0%,#0a202b 100%); }
.dashboard-wordmark { position:relative; }
.dashboard-wordmark::after { content:"SYS / 3.9"; position:absolute; right:.7rem; bottom:.35rem; color:rgba(122,166,180,.65); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.52rem; letter-spacing:.12em; }
.dashboard-body .dashboard-nav a { border-radius:3px; }
.dashboard-body .dashboard-nav a span { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.dashboard-body .dashboard-topbar { border-bottom:1px solid rgba(8,23,34,.1); background:rgba(243,243,239,.82); backdrop-filter:blur(18px) saturate(130%); }
.dashboard-body .dashboard-content { padding-top:clamp(2rem,3.2vw,3.4rem); }
.dashboard-body .dashboard-heading { position:relative; padding-bottom:1.25rem; border-bottom:1px solid rgba(8,23,34,.15); }
.dashboard-body .dashboard-heading::after { content:""; position:absolute; bottom:-1px; left:0; width:92px; height:1px; background:linear-gradient(90deg,var(--brass),var(--tech)); }
.dashboard-body .panel,.crm-editor-card,.match-context,.email-composer { border-radius:4px; border-color:rgba(8,23,34,.13); box-shadow:0 14px 38px rgba(4,17,26,.045); }

/* CRM 3.4 — global assets, protected files and distribution routes */
.form-section > div:first-child > p { max-width:190px; margin:.65rem 0 0; color:var(--workspace-muted); font-size:.68rem; line-height:1.55; }
.field-assurance { display:flex; align-items:center; gap:.8rem; min-height:3.5rem; padding:.8rem 1rem; border-left:2px solid #a68a58; background:linear-gradient(90deg,rgba(219,207,183,.3),rgba(248,248,245,.35)); }
.field-assurance strong { color:#5e4e32; font-size:.69rem; text-transform:uppercase; letter-spacing:.08em; }
.field-assurance span { color:var(--workspace-muted); font-size:.69rem; line-height:1.5; }
[hidden] { display:none !important; }
.address-field { position:relative; }
.address-field > small { padding-left:1rem; position:relative; }
.address-field > small::before { content:""; position:absolute; left:0; top:.25rem; width:.5rem; height:.5rem; border-radius:50%; background:#b5a993; box-shadow:0 0 0 3px rgba(181,169,147,.15); }
.address-field > small.is-verified { color:#3d6647; }
.address-field > small.is-verified::before { background:#5e8d68; box-shadow:0 0 0 3px rgba(94,141,104,.15); }
.map-review-link { width:max-content; color:#755e38; font-size:.66rem; font-weight:700; }
.pac-container { z-index:10000 !important; border:1px solid rgba(8,23,34,.16); border-radius:3px; box-shadow:0 20px 50px rgba(5,18,27,.16); font-family:Arial,sans-serif; }
.pac-item { padding:.55rem .75rem; }
.file-drop { position:relative; min-height:132px; align-content:center; padding:1rem 1.1rem; border:1px dashed rgba(18,48,61,.3); border-radius:4px; background:linear-gradient(135deg,rgba(239,243,241,.82),rgba(252,251,247,.95)); }
.file-drop:hover { border-color:#7c9aa5; background:#f5f8f6; }
.file-drop input[type=file] { position:absolute; inset:0; width:100%; height:100%; cursor:pointer; opacity:0; }
.file-drop b { font-family:Georgia,serif; font-size:1.02rem; font-weight:400; }
.file-drop small { max-width:95%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.asset-cover-preview { min-height:132px; overflow:hidden; border-radius:4px; background:#102532; }
.asset-cover-preview img { width:100%; height:100%; min-height:132px; max-height:190px; object-fit:cover; }
.asset-operations-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr); gap:1rem; margin-top:1rem; scroll-margin-top:1.5rem; }
.asset-route-panel,.asset-files-panel { margin-top:0 !important; overflow:visible; }
.route-count { display:grid; width:2.8rem; height:2.8rem; place-items:center; border:1px solid rgba(8,23,34,.14); border-radius:50%; color:#6c5838; font-family:Georgia,serif; }
.compact-empty { min-height:165px; padding:1.5rem; }
.compact-empty strong { font-size:1.25rem; }
.route-list { display:grid; padding:0 1.2rem; }
.route-card { display:grid; grid-template-columns:minmax(0,1fr) 70px; align-items:center; gap:1rem; padding:1rem .8rem; border-bottom:1px solid rgba(8,23,34,.1); color:inherit; }
.route-card:hover,.route-card.is-active { background:#f3f5f2; }
.route-card.is-active { box-shadow:inset 2px 0 #8e7446; }
.route-card span:first-child small,.route-card span:first-child strong,.route-card span:first-child em,.route-card span:last-child b,.route-card span:last-child small { display:block; }
.route-card span:first-child small { color:#8a7145; font-size:.6rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.route-card span:first-child strong { margin:.28rem 0; font-family:Georgia,serif; font-size:1.06rem; font-weight:400; }
.route-card span:first-child em { overflow:hidden; color:var(--workspace-muted); font-size:.65rem; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.route-card span:last-child { text-align:right; }
.route-card span:last-child b { font-family:Georgia,serif; font-size:1.35rem; font-weight:400; }
.route-card span:last-child small { color:var(--workspace-muted); font-size:.6rem; }
.inline-route-editor { margin:1rem 1.2rem 1.2rem; border:1px solid rgba(8,23,34,.12); background:#faf9f5; }
.inline-route-editor > summary { padding:.9rem 1rem; cursor:pointer; color:#6e5937; font-size:.7rem; font-weight:700; list-style:none; }
.inline-route-editor[open] > summary { border-bottom:1px solid rgba(8,23,34,.1); }
.inline-route-editor .taxonomy-picker-panel { z-index:45; }
.document-list { display:grid; }
.document-row { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:.7rem; padding:.85rem 1rem; border-bottom:1px solid rgba(8,23,34,.1); }
.document-row:hover { background:#f6f6f2; }
.document-icon { display:grid; width:2.4rem; height:2.4rem; place-items:center; border-radius:3px; background:#e7e4dc; color:#665636; font-size:.55rem; font-weight:800; }
.document-row a,.document-row small { display:block; }
.document-row a { overflow:hidden; color:var(--ink); font-size:.72rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.document-row small { margin-top:.22rem; color:var(--workspace-muted); font-size:.59rem; }
.document-row button { width:1.9rem; height:1.9rem; border:0; border-radius:50%; background:transparent; color:#9d6e66; font-size:1.1rem; }
.document-row button:hover { background:#f1e3df; }
.route-target-panel { margin-top:1rem; overflow:hidden; }
.route-match-table { display:grid; }
.route-match-head,.route-match-row { display:grid; grid-template-columns:minmax(210px,1.25fr) minmax(160px,.8fr) 70px 70px minmax(130px,.65fr); align-items:center; gap:1rem; padding:.8rem 1.2rem; }
.route-match-head { border-block:1px solid rgba(8,23,34,.1); background:#f1f3f0; color:var(--workspace-muted); font-size:.61rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.route-match-row { min-height:76px; border-bottom:1px solid rgba(8,23,34,.09); }
.route-match-row:hover { background:#f8f8f4; }
.route-match-row.is-muted { opacity:.52; }
.route-match-row strong,.route-match-row small { display:block; }
.route-match-row strong { font-family:Georgia,serif; font-size:1rem; font-weight:400; }
.route-match-row small { margin-top:.2rem; color:var(--workspace-muted); font-size:.62rem; }
.route-match-row em { width:max-content; margin-top:.35rem; font-style:normal; }
.route-score { color:#325741; font-family:Georgia,serif; font-size:1.45rem; }
.route-match-row > span:last-child a { color:#755e38; font-size:.66rem; font-weight:700; }
.dashboard-body .metric-card { position:relative; overflow:hidden; border-radius:4px; background:linear-gradient(145deg,rgba(255,255,252,.98),rgba(242,244,241,.94)); }
.dashboard-body .metric-card::before { content:""; position:absolute; top:0; right:0; left:0; height:2px; background:linear-gradient(90deg,var(--brass),transparent 42%,var(--tech)); opacity:.55; }
.dashboard-body .metric-card strong,.record-code,.score-seal { font-variant-numeric:tabular-nums; }
.dashboard-body .form-field input,.dashboard-body .form-field select,.dashboard-body .form-field textarea,.panel-search input,.asset-selector select,.outreach-context-form select { border-radius:3px; border-color:rgba(8,23,34,.17); background:rgba(250,250,247,.96); }
.field-assurance { margin:0; padding:.78rem; border-left:2px solid var(--tech); background:var(--tech-soft); color:#536970; font-size:.74rem; line-height:1.55; }

.taxonomy-field { min-width:0; }
.taxonomy-picker { position:relative; }
.taxonomy-picker > summary { display:flex; min-height:2.85rem; align-items:center; justify-content:space-between; gap:1rem; padding:.7rem .85rem; border:1px solid rgba(8,23,34,.17); border-radius:3px; background:#fbfaf7; cursor:pointer; list-style:none; }
.taxonomy-picker > summary::-webkit-details-marker { display:none; }
.taxonomy-picker > summary span { overflow:hidden; color:#263a44; font-size:.78rem; text-overflow:ellipsis; white-space:nowrap; }
.taxonomy-picker > summary i { color:#77919b; font-style:normal; }
.taxonomy-picker[open] > summary { border-color:#668896; box-shadow:0 0 0 3px rgba(122,166,180,.14); }
.taxonomy-picker-panel { position:absolute; z-index:35; top:calc(100% + .4rem); right:0; left:0; min-width:min(88vw,420px); padding:.75rem; border:1px solid rgba(8,23,34,.2); border-radius:4px; background:#fff; box-shadow:0 24px 60px rgba(4,17,26,.16); }
.taxonomy-picker-panel > input { width:100%; min-height:2.5rem !important; margin-bottom:.55rem; }
.taxonomy-option-list { display:grid; max-height:310px; overflow-y:auto; gap:.18rem; padding-right:.2rem; }
.taxonomy-option { display:flex; align-items:center; gap:.6rem; min-height:2.2rem; padding:.4rem .5rem; border-radius:2px; color:#40535c; font-size:.74rem; }
.taxonomy-option:hover { background:#f0f3f1; }
.taxonomy-option input { width:1rem !important; min-height:1rem !important; flex:0 0 1rem; accent-color:#315b6a; }
.taxonomy-option--described { align-items:flex-start; padding:.65rem .55rem; }
.taxonomy-option--described > input { margin-top:.16rem; }
.taxonomy-option-copy { display:grid; min-width:0; gap:.18rem; }
.taxonomy-option-copy b { color:#203b45; font-size:.73rem; }
.taxonomy-option-copy small { color:#6b7e85; font-size:.62rem; line-height:1.45; }
.taxonomy-option[hidden] { display:none; }
.taxonomy-group-label { margin:.6rem .45rem .2rem; color:#8a7145; font-size:.58rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.taxonomy-picker-panel > button { width:100%; min-height:2.35rem; margin-top:.65rem; border:0; border-radius:2px; background:var(--ink); color:#fff; font-size:.7rem; font-weight:700; }

.eligibility-eligible { background:#dceadd; color:#31573a; }
.eligibility-review { background:#e9e4d7; color:#6c5932; }
.eligibility-excluded { background:#f0ded9; color:#7d392f; }
.hard-stop-list { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.7rem; }
.hard-stop-list span { padding:.3rem .48rem; border:1px solid #dfbbb1; background:#fbefeb; color:#7d392f; font-size:.6rem; }
.match-card[data-tier="excluded"] { opacity:.76; }
.match-card[data-tier="excluded"] .match-score { background:#f1e2de; color:#783b32; }

.import-protocol { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin:1.5rem 0 1rem; border:1px solid rgba(8,23,34,.13); border-radius:4px; overflow:hidden; background:rgba(8,23,34,.13); }
.import-protocol > div { min-height:150px; padding:1.15rem; background:rgba(255,255,252,.94); }
.import-protocol span { color:#668896; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.62rem; }
.import-protocol strong { display:block; margin-top:1.2rem; font-size:.86rem; }
.import-protocol p { margin:.55rem 0 0; color:var(--workspace-muted); font-size:.7rem; line-height:1.6; }
.import-source-grid { align-items:start; }
.source-sync-badge { display:inline-flex; align-items:center; gap:.4rem; color:#486950; font-size:.67rem; }
.source-sync-badge i { width:.45rem; height:.45rem; border-radius:50%; background:#5e8a68; box-shadow:0 0 0 4px rgba(94,138,104,.12); }
.prepared-source-list { display:grid; }
.prepared-source { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:1rem; padding:1.2rem; border-bottom:1px solid rgba(8,23,34,.1); }
.prepared-source:last-child { border-bottom:0; }
.prepared-source h3 { margin:.4rem 0; font-family:Georgia,serif; font-size:1.25rem; font-weight:400; }
.prepared-source p:not(.micro-label) { max-width:650px; margin:0; color:var(--workspace-muted); font-size:.72rem; }
.import-upload { display:grid; gap:1rem; padding:1.2rem; }
.import-drop { display:grid; min-height:210px; place-content:center; justify-items:center; padding:1.4rem; border:1px dashed rgba(8,23,34,.28); border-radius:4px; background:linear-gradient(145deg,#fafaf7,#f0f2ef); text-align:center; }
.import-drop > span { color:#668896; font-size:.62rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.import-drop input { width:min(100%,280px); margin:1rem 0; font-size:.72rem; }
.import-drop strong { font-size:.82rem; }
.import-drop small { margin-top:.35rem; color:var(--workspace-muted); font-size:.65rem; }
.import-review { margin-top:1rem; }
.import-metrics { display:grid; grid-template-columns:repeat(5,1fr); border-bottom:1px solid rgba(8,23,34,.1); }
.import-metrics > div { padding:1rem 1.2rem; border-right:1px solid rgba(8,23,34,.1); }
.import-metrics > div:last-child { border-right:0; }
.import-metrics small,.import-metrics strong { display:block; }
.import-metrics small { color:var(--workspace-muted); font-size:.62rem; text-transform:uppercase; }
.import-metrics strong { margin-top:.3rem; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:1.55rem; font-weight:500; }
.import-metrics .has-errors { background:#fbefeb; color:#7d392f; }
.import-confirm-bar { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1rem 1.2rem; border-bottom:1px solid rgba(8,23,34,.1); background:#f5f6f3; }
.import-confirm-bar p { max-width:760px; margin:0; color:var(--workspace-muted); font-size:.72rem; }
.import-table td small,.import-table td strong { display:block; }
.import-table td small { max-width:340px; margin-top:.25rem; color:var(--workspace-muted); font-size:.62rem; }
.validation-state { font-size:.68rem; font-weight:700; }
.validation-valid,.validation-imported { color:#426c4b; }
.validation-error { color:#8a3f34; }
.table-limit-note { margin:0; padding:.8rem 1.2rem; border-top:1px solid rgba(8,23,34,.1); color:var(--workspace-muted); font-size:.65rem; }
.status-completed { background:#dceadd; color:#31573a; }
.status-preview { background:#e4e9eb; color:#365867; }

@media (max-width:1100px) {
  .intelligence-grid { grid-template-columns:1fr; }
  .intelligence-modules article { grid-template-columns:130px minmax(160px,.75fr) minmax(220px,1fr); }
  .import-protocol { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:900px) {
  .home-hero-grid { grid-template-columns:1fr; }
  .capability-rail { max-width:none; }
  .intelligence-modules article { grid-template-columns:120px 1fr; }
  .intelligence-modules p { grid-column:2; }
  .import-metrics { grid-template-columns:repeat(3,1fr); }
}

@media (max-width:620px) {
  .capability-rail { grid-template-columns:1fr; }
  .capability-rail span,.capability-rail span:nth-child(2),.capability-rail span:last-child { min-height:52px; padding:.65rem 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
  .intelligence-modules article { grid-template-columns:1fr; }
  .intelligence-modules p { grid-column:1; }
  .import-protocol,.import-metrics { grid-template-columns:1fr; }
  .prepared-source { grid-template-columns:1fr; }
  .import-confirm-bar { align-items:stretch; flex-direction:column; }
  .taxonomy-picker-panel { position:fixed; inset:auto .75rem .75rem; min-width:0; }
}

/* Dynamic institutional hero — v3.3 */
.home-hero {
  min-height: max(1080px, 138svh);
  overflow: clip;
  background: #06151e;
}
.home-hero::before,
.home-hero::after { content: none; }
.home-hero-stage {
  position: sticky;
  top: 0;
  isolation: isolate;
  min-height: max(840px, 100svh);
  overflow: hidden;
  background:
    radial-gradient(ellipse at 78% 42%, rgba(227,235,234,.105), transparent 36%),
    radial-gradient(circle at 73% 38%, rgba(92,135,145,.10), transparent 24%),
    linear-gradient(132deg,#06141d 0%,#0a2029 58%,#071821 100%);
}
.home-hero-stage::before,
.home-hero-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
.home-hero-stage::before {
  background: linear-gradient(90deg,rgba(4,15,23,.985) 0%,rgba(4,15,23,.94) 40%,rgba(4,15,23,.55) 64%,rgba(4,15,23,.07) 100%);
}
.home-hero-stage::after {
  opacity: .68;
  background:
    linear-gradient(180deg,rgba(3,13,20,.40),transparent 25%,rgba(3,13,20,.62)),
    radial-gradient(ellipse at 78% 48%,transparent 0%,transparent 45%,rgba(3,13,20,.24) 78%,rgba(3,13,20,.56) 100%);
}
.home-hero-dynamic {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.hero-network-canvas {
  display: block;
  width: 100%;
  height: 100%;
  opacity: .88;
}
.hero-network-index {
  position: absolute;
  right: max(1.25rem,calc((100vw - var(--max))/2));
  bottom: 1.65rem;
  left: max(1.25rem,calc((100vw - var(--max))/2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  color: rgba(214,226,229,.48);
  font-family: ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size: .58rem;
  letter-spacing: .16em;
  line-height: 1;
}
.hero-network-index > span:last-child { display: inline-flex; align-items: center; gap: .65rem; }
.hero-network-index i {
  width: .38rem;
  height: .38rem;
  border-radius: 50%;
  background: var(--tech);
  box-shadow: 0 0 0 5px rgba(122,166,180,.1),0 0 18px rgba(122,166,180,.62);
}
.hero-network-index b { font-weight: 500; }
.hero-scroll-cue {
  position: absolute;
  right: 1.4rem;
  top: 50%;
  display: flex;
  align-items: center;
  gap: .75rem;
  transform: translateY(-50%) rotate(90deg);
  transform-origin: center;
  color: rgba(255,255,255,.43);
  font-size: .54rem;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
  transition: opacity .25s ease;
}
.hero-scroll-cue i {
  position: relative;
  width: 58px;
  height: 1px;
  overflow: hidden;
  background: rgba(255,255,255,.22);
}
.hero-scroll-cue i::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,transparent,var(--brass-light),transparent);
  animation: hero-cue 2.4s ease-in-out infinite;
}
@keyframes hero-cue {
  0% { transform: translateX(-100%); }
  68%,100% { transform: translateX(100%); }
}
.home-hero-grid {
  position: relative;
  z-index: 2;
  min-height: max(840px, 100svh);
  grid-template-columns: minmax(0,1.14fr) minmax(340px,.46fr);
  gap: clamp(2.5rem,4vw,5rem);
  padding-top: 7.5rem;
  padding-bottom: 5rem;
}
.home-hero h1 {
  max-width: 1000px;
  font-size: clamp(3.65rem,5.25vw,6.15rem);
  line-height: .91;
  text-wrap: balance;
}
.hero-lead { max-width: 730px; font-size: clamp(1rem,1.15vw,1.16rem); }
.entry-desk {
  border-color: rgba(122,166,180,.34);
  background: linear-gradient(155deg,rgba(8,25,36,.82),rgba(4,16,25,.72));
  backdrop-filter: blur(22px) saturate(125%);
}

@media (max-width:1220px) {
  .hero-network-index { display: none; }
  .hero-scroll-cue { right: .25rem; }
}

@media (max-width:900px) {
  .home-hero { min-height: auto; }
  .home-hero-stage { position: relative; min-height: 0; }
  .home-hero-stage::before { background: linear-gradient(180deg,rgba(4,15,23,.94) 0%,rgba(4,15,23,.74) 50%,rgba(4,15,23,.92) 100%); }
  .home-hero-grid {
    min-height: 0;
    grid-template-columns: 1fr;
    align-content: start;
    gap: 2.4rem;
    padding-top: 8.75rem;
    padding-bottom: 3.25rem;
  }
  .home-hero h1 { max-width: 820px; font-size: clamp(3.4rem,9.5vw,5.7rem); }
  .hero-scroll-cue { display: none; }
  .entry-desk { width: min(100%,640px); margin: 0; }
}

@media (max-width:620px) {
  .home-hero-grid { padding-top: 7.5rem; padding-bottom: 2.4rem; }
  .home-hero h1 { font-size: clamp(3rem,13.2vw,4.55rem); line-height: .92; }
  .hero-eyebrow { max-width: 92%; font-size: .62rem; letter-spacing: .18em; line-height: 1.55; }
  .hero-lead { margin-top: 1.5rem; font-size: .98rem; line-height: 1.66; }
  .capability-rail { margin-top: 2rem; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-scroll-cue i::after { animation: none; }
}

@media (max-width:1050px) {
  .asset-operations-grid { grid-template-columns:1fr; }
  .route-match-head,.route-match-row { grid-template-columns:minmax(180px,1fr) minmax(130px,.7fr) 55px 55px; }
  .route-match-head span:last-child,.route-match-row > span:last-child { grid-column:1 / -1; }
  .route-match-head span:last-child { display:none; }
}

@media (max-width:700px) {
  .field-assurance { align-items:flex-start; flex-direction:column; }
  .route-match-head { display:none; }
  .route-match-row { grid-template-columns:minmax(0,1fr) auto; gap:.7rem; }
  .route-match-row > span:last-child { grid-column:1 / -1; }
  .route-card { grid-template-columns:minmax(0,1fr) 58px; }
  .document-row { grid-template-columns:36px minmax(0,1fr) auto; }
}

/* CRM 3.5 — modern type system, delivery controls and sender identity */
body,
button,
input,
select,
textarea { font-family:var(--font-body); }
:is(h1,h2,h3,h4,.font-display,.entry-path-number,.pillar-card>span,.asset-universe-item span,.process-row .number,.capability-grid span,.engagement-grid span,.criteria-list span,.asset-detail-card>span,.dashboard-nav a span,.metric-card strong,.record-code,.method-strip span,.form-section>div:first-child>span,.contact-avatar,.company-card-stats strong,.score-seal,.match-score strong,.collision-warning>span,.file-drop b,.route-count,.route-card span:first-child strong,.route-card span:last-child b,.route-match-row strong,.route-score,.prepared-source h3) { font-family:var(--font-display) !important; }
body :is(h1,h2,h3,h4) { font-weight:500; }
.home-hero h1,.practice-hero h1,.section-title,.capital-band h2,.mandate-cta h2,.confidentiality-band h2,.intelligence-heading h2,.auth-brand-panel h1,.dashboard-heading h1 { letter-spacing:-.055em; }
.home-hero h1 { max-width:1060px; font-size:clamp(3.45rem,5vw,5.9rem); line-height:.94; }
.practice-hero h1 { font-size:clamp(3.2rem,6.2vw,6.2rem); line-height:.94; }
.section-title,.capital-band h2,.mandate-cta h2,.confidentiality-band h2,.intelligence-heading h2 { line-height:1.02; }
.editorial-copy .editorial-lead { font-family:var(--font-body); font-weight:500; letter-spacing:-.03em; }
.brand-copy strong,.desktop-nav a,.button,.micro-label { letter-spacing:.09em; }
.email-editor,.composer-signature-preview { font-family:Arial,Helvetica,sans-serif; }

.asset-portfolio-strip { display:grid; grid-template-columns:repeat(4,1fr); margin:1.35rem 0 1rem; border:1px solid rgba(8,23,34,.13); border-radius:7px; overflow:hidden; background:linear-gradient(115deg,#0b202c,#132f3b 70%,#153844); color:#fff; box-shadow:0 18px 42px rgba(5,19,28,.10); }
.asset-portfolio-strip>div { position:relative; min-height:118px; padding:1.05rem 1.15rem; border-right:1px solid rgba(255,255,255,.1); }
.asset-portfolio-strip>div:last-child { border-right:0; }
.asset-portfolio-strip span,.asset-portfolio-strip small,.asset-portfolio-strip strong { display:block; }
.asset-portfolio-strip span { color:rgba(144,191,204,.76); font:500 .57rem/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.14em; }
.asset-portfolio-strip small { margin-top:1.2rem; color:rgba(255,255,255,.57); font-size:.62rem; letter-spacing:.04em; }
.asset-portfolio-strip strong { position:absolute; right:1.15rem; bottom:.85rem; font:500 2.2rem/1 var(--font-display); letter-spacing:-.06em; }
.asset-card--global { border-radius:7px; overflow:hidden; box-shadow:0 12px 34px rgba(6,21,30,.055); transition:transform .2s ease,box-shadow .2s ease; }
.asset-card--global:hover { transform:translateY(-3px); box-shadow:0 20px 46px rgba(6,21,30,.1); }
.asset-card--global .asset-card-visual { min-height:190px; justify-content:space-between; padding:1rem; }
.asset-card--global .asset-card-visual::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.28; background-image:linear-gradient(rgba(163,202,212,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(163,202,212,.18) 1px,transparent 1px); background-size:28px 28px; }
.asset-visual-top,.asset-visual-bottom { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.asset-visual-bottom { align-items:flex-end; }
.asset-country-code { display:grid; width:2.45rem; height:2.45rem; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:rgba(3,14,21,.28); font:600 .67rem/1 var(--font-display); letter-spacing:.08em !important; }
.asset-verified { display:inline-flex; align-items:center; gap:.42rem; color:rgba(255,255,255,.74) !important; font-size:.58rem !important; }
.asset-verified i { width:.4rem; height:.4rem; border-radius:50%; background:#8ec3aa; box-shadow:0 0 0 4px rgba(142,195,170,.12); }
.asset-stats--four { grid-template-columns:repeat(4,1fr); }
.asset-stats--four span { padding-left:.6rem; border-left:1px solid rgba(8,23,34,.08); }
.asset-stats--four span:first-child { padding-left:0; border-left:0; }

.match-toolbar--advanced { align-items:stretch; padding:1rem; border:1px solid rgba(8,23,34,.13); border-radius:6px; background:rgba(255,255,252,.82); }
.match-filter-stack { display:grid; gap:.55rem; }
.delivery-filters { display:flex; flex-wrap:wrap; gap:.35rem; }
.delivery-filters button { min-height:2.7rem; border:1px solid rgba(8,23,34,.14); border-radius:4px; background:#f2f3ef; padding:.55rem .9rem; font-size:.7rem; font-weight:700; }
.delivery-filters button.is-active { border-color:#173643; background:#173643; color:#fff; box-shadow:0 8px 20px rgba(8,30,40,.13); }
.delivery-filters span { margin-left:.3rem; opacity:.62; }
.match-search-controls { display:grid; grid-template-columns:minmax(190px,.72fr) minmax(230px,1fr); align-items:end; gap:.65rem; }
.match-search-controls label { display:grid; gap:.35rem; }
.match-search-controls label>span { color:var(--workspace-muted); font-size:.59rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.match-search-controls select,.match-search-controls input { width:100%; min-height:2.65rem; border:1px solid rgba(8,23,34,.17); border-radius:4px; background:#fff; padding:.55rem .7rem; font-size:.72rem; }
.match-card { border-radius:5px; overflow:visible; }
.match-card.is-sent { border-color:rgba(69,115,80,.28); background:linear-gradient(90deg,rgba(238,245,239,.72),#fff 28%); }
.sent-lock { display:grid; justify-items:center; gap:.12rem; padding:.55rem; border:1px solid rgba(69,115,80,.2); border-radius:4px; background:#edf5ee; color:#31573a; }
.sent-lock i { display:grid; width:1.5rem; height:1.5rem; place-items:center; border-radius:50%; background:#4d7957; color:#fff; font-style:normal; }
.sent-lock strong { margin-top:.25rem; font-size:.66rem; }
.sent-lock small { color:#6c7c70; font-size:.56rem; }

.composer-signature-lock { display:grid; grid-template-columns:210px minmax(0,1fr); gap:1.2rem; padding:1rem 1.5rem; border-top:1px solid rgba(8,23,34,.1); background:linear-gradient(100deg,#f1f5f3,#fafaf7); }
.composer-signature-lock>div:first-child { display:flex; align-items:flex-start; flex-direction:column; justify-content:center; }
.composer-signature-lock>div:first-child span { color:#607177; font-size:.58rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.composer-signature-lock>div:first-child strong { margin:.32rem 0 .55rem; font-size:.76rem; }
.composer-signature-lock>div:first-child a { color:#6d5937; font-size:.65rem; font-weight:700; }
.composer-signature-preview { min-height:86px; padding:.7rem 1rem; border:1px solid rgba(8,23,34,.09); border-radius:4px; background:#fff; }
.composer-signature-preview>div { margin-top:0 !important; padding-top:0 !important; border-top:0 !important; }
.composer-signature-preview p { margin:.4rem 0; color:var(--workspace-muted); font-size:.72rem; }
.delivery-controls { display:flex; align-items:flex-end; justify-content:flex-end; gap:.7rem; }
.delivery-controls>label { display:grid; min-width:270px; gap:.32rem; }
.delivery-controls>label>span { color:var(--workspace-muted); font-size:.57rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.delivery-controls select { min-height:2.45rem; border:1px solid rgba(8,23,34,.16); border-radius:4px; background:#fff; padding:.5rem .65rem; font-size:.68rem; }
.delivery-controls>div { display:flex; gap:.45rem; }

.history-filter-bar { display:grid; grid-template-columns:repeat(3,minmax(140px,.65fr)) minmax(220px,1fr) auto auto; align-items:end; gap:.65rem; padding:1rem 1.2rem; border-block:1px solid rgba(8,23,34,.1); background:#f4f5f2; }
.history-filter-bar label { display:grid; gap:.35rem; }
.history-filter-bar label>span { color:var(--workspace-muted); font-size:.58rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.history-filter-bar input,.history-filter-bar select { width:100%; min-height:2.5rem; border:1px solid rgba(8,23,34,.16); border-radius:4px; background:#fff; padding:.5rem .65rem; font-size:.7rem; }
.history-filter-bar>a { align-self:center; color:#745d38; font-size:.67rem; font-weight:700; }
.delivery-kind { display:inline-flex; min-width:3.45rem; justify-content:center; padding:.3rem .5rem; border-radius:999px; font-size:.57rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.delivery-kind.is-live { background:#dcebdd; color:#31583a; }
.delivery-kind.is-test { background:#dfe9ed; color:#315d6a; }

.sender-profile-panel { max-width:none; margin-top:1rem; }
.signature-state { align-self:flex-start; padding:.4rem .6rem; border-radius:999px; background:#eee7db; color:#745d38; font-size:.59rem; font-weight:700; }
.signature-state.is-active { background:#dcebdd; color:#31583a; }
.sender-profile-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr); }
.sender-profile-form { border-right:1px solid rgba(8,23,34,.1); }
.profile-photo-control { display:flex; align-items:center; gap:1rem; margin-bottom:1.25rem; padding:1rem; border:1px solid rgba(8,23,34,.1); border-radius:5px; background:#f3f5f2; }
.profile-photo-preview { display:grid; width:76px; height:76px; place-items:center; flex:0 0 auto; overflow:hidden; border-radius:50%; background:#17323e; color:#fff; font:500 1.25rem/1 var(--font-display); }
.profile-photo-preview img { width:100%; height:100%; object-fit:cover; }
.profile-photo-control label { display:grid; gap:.25rem; }
.profile-photo-control label strong { font-size:.76rem; }
.profile-photo-control label span { color:var(--workspace-muted); font-size:.65rem; }
.profile-photo-control input { margin-top:.45rem; font-size:.66rem; }
.signature-preview-card { padding:1.4rem; background:linear-gradient(145deg,#f7f8f5,#eef2f0); }
.signature-preview-card>span { color:#66777d; font-size:.58rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.signature-preview-card>div { margin-top:1rem; padding:1.15rem; border:1px solid rgba(8,23,34,.1); border-radius:5px; background:#fff; }
.signature-preview-card>div>div { margin-top:0 !important; padding-top:0 !important; border-top:0 !important; }
.signature-preview-card>small { display:block; margin-top:.8rem; color:var(--workspace-muted); font-size:.62rem; line-height:1.55; }

@media (max-width:1180px) {
  .asset-portfolio-strip { grid-template-columns:repeat(2,1fr); }
  .asset-portfolio-strip>div:nth-child(2) { border-right:0; }
  .asset-portfolio-strip>div:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.1); }
  .match-toolbar--advanced { flex-direction:column; }
  .sender-profile-grid { grid-template-columns:1fr; }
  .sender-profile-form { border-right:0; border-bottom:1px solid rgba(8,23,34,.1); }
  .history-filter-bar { grid-template-columns:repeat(3,1fr); }
  .history-search { grid-column:1 / -1; }
}

@media (max-width:760px) {
  .asset-portfolio-strip { grid-template-columns:1fr; }
  .asset-portfolio-strip>div { min-height:96px; border-right:0; border-bottom:1px solid rgba(255,255,255,.1); }
  .asset-portfolio-strip>div:last-child { border-bottom:0; }
  .asset-portfolio-strip>div:nth-child(2) { border-bottom:1px solid rgba(255,255,255,.1); }
  .match-search-controls,.composer-signature-lock { grid-template-columns:1fr; }
  .delivery-controls,.send-row { align-items:stretch; flex-direction:column; }
  .delivery-controls>label { min-width:0; }
  .delivery-controls>div { flex-direction:column; }
  .history-filter-bar { grid-template-columns:1fr; }
  .history-search { grid-column:auto; }
  .asset-stats--four { grid-template-columns:repeat(2,1fr); }
}

/* ARG 3.6 — institutional typography, architectural motion and personal senders */
body { font-feature-settings:"liga" 1,"kern" 1,"cv05" 1,"cv08" 1; }
:is(h1,h2,h3,h4,.font-display) { font-family:var(--font-display) !important; }
body :is(h1,h2,h3,h4) { font-weight:500; }
.home-hero h1,
.practice-hero h1,
.section-title,
.capital-band h2,
.mandate-cta h2,
.confidentiality-band h2,
.intelligence-heading h2,
.auth-brand-panel h1,
.dashboard-heading h1 { letter-spacing:-.042em; }
.home-hero h1 { font-weight:500; line-height:.93; }
.section-title { font-weight:500; }
.hero-lead,.section-copy,.editorial-copy { letter-spacing:-.012em; }

.home-hero { min-height:max(1220px,158svh); background:#06141c; }
.home-hero-stage {
  background:
    radial-gradient(ellipse at 80% 45%,rgba(124,172,182,.13),transparent 31%),
    radial-gradient(circle at 79% 70%,rgba(198,166,106,.07),transparent 20%),
    linear-gradient(132deg,#04121a 0%,#08202a 59%,#061923 100%);
}
.home-hero-stage::before {
  background:linear-gradient(90deg,rgba(3,14,21,.99) 0%,rgba(3,14,21,.95) 41%,rgba(3,14,21,.58) 64%,rgba(3,14,21,.08) 100%);
}
.home-hero-stage::after {
  opacity:1;
  background:
    linear-gradient(180deg,rgba(3,13,20,.42),transparent 22%,rgba(3,13,20,.68)),
    linear-gradient(90deg,transparent 49.9%,rgba(161,198,206,.025) 50%,transparent 50.1%),
    radial-gradient(ellipse at 79% 48%,transparent 0%,transparent 38%,rgba(3,13,20,.18) 69%,rgba(3,13,20,.55) 100%);
}
.hero-network-canvas { opacity:.98; filter:brightness(1.18) saturate(1.04); }
.hero-network-index {
  padding-top:.7rem;
  border-top:1px solid rgba(194,214,216,.10);
  color:rgba(214,226,229,.42);
  letter-spacing:.17em;
}
.hero-network-index i { background:#91bcc5; box-shadow:0 0 0 5px rgba(122,166,180,.08),0 0 18px rgba(122,166,180,.42); }
.entry-desk {
  border-color:rgba(153,190,197,.27);
  background:linear-gradient(155deg,rgba(8,26,36,.78),rgba(4,16,24,.66));
  box-shadow:0 34px 80px rgba(0,8,13,.25);
}

.dashboard-user-profile { display:flex; align-items:center; gap:.7rem; min-width:0; padding:.55rem; margin:-.55rem; border-radius:6px; transition:background .2s ease; }
.dashboard-user-profile:hover { background:rgba(255,255,255,.06); }
.dashboard-user-profile>span:last-child { min-width:0; }
.dashboard-user-avatar { display:grid; width:2.35rem; height:2.35rem; place-items:center; flex:0 0 auto; overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:50%; background:#17323e; color:#fff; font:600 .68rem/1 var(--font-display); }
.dashboard-user-avatar img { width:100%; height:100%; object-fit:cover; }
.dashboard-body .dashboard-user form { margin-top:.85rem; }
.dashboard-body .dashboard-user button { margin-top:0; }

.asset-inventory-panel { margin-top:2rem; padding-bottom:1.25rem; overflow:hidden; }
.asset-inventory-panel>.panel-head { margin-bottom:0; background:linear-gradient(110deg,#fbfbf8,#f1f3f0); }
.asset-inventory-panel>.asset-card-grid { gap:1rem; margin:1.25rem; background:transparent; }
.asset-inventory-panel .asset-card--global { border:1px solid rgba(8,23,34,.12); }
.asset-inventory-panel>.empty-state { margin:1.25rem; border:1px solid rgba(8,23,34,.1); background:#fafaf7; }

.profile-heading { align-items:center !important; }
.sender-readiness { display:inline-flex; align-items:center; gap:.52rem; padding:.58rem .76rem; border:1px solid #daccc1; border-radius:999px; background:#f1e8e2; color:#765043; font-size:.65rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.sender-readiness i { width:.45rem; height:.45rem; border-radius:50%; background:#b16c5c; box-shadow:0 0 0 4px rgba(177,108,92,.1); }
.sender-readiness.is-ready { border-color:#bfd2c3; background:#e7f0e8; color:#31583a; }
.sender-readiness.is-ready i { background:#5a8c66; box-shadow:0 0 0 4px rgba(90,140,102,.1); }
.profile-identity-banner { display:grid; grid-template-columns:auto minmax(0,1fr) minmax(280px,.48fr); align-items:center; gap:1.15rem; margin-top:1.5rem; padding:1.2rem 1.35rem; border:1px solid rgba(8,23,34,.14); border-radius:7px; background:linear-gradient(112deg,#0a1f2b 0%,#153744 72%,#1b414c 100%); color:#fff; box-shadow:0 18px 44px rgba(5,19,28,.10); }
.profile-photo-preview--large { width:88px; height:88px; border:1px solid rgba(255,255,255,.24); background:rgba(255,255,255,.08); }
.profile-identity-banner h2 { margin:.35rem 0 .12rem; font-size:1.65rem; }
.profile-identity-banner>div:nth-child(2)>p:last-child { margin:0; color:rgba(255,255,255,.58); font-size:.76rem; }
.profile-identity-banner .micro-label { color:#d5bb89; }
.identity-routing { display:grid; gap:.28rem; padding-left:1.2rem; border-left:1px solid rgba(255,255,255,.15); }
.identity-routing span { color:rgba(255,255,255,.48); font-size:.58rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.identity-routing strong { font-size:.76rem; }
.identity-routing small { color:rgba(255,255,255,.5); font-size:.61rem; }
.profile-fieldset { min-width:0; margin:0 0 1.15rem; padding:1.1rem; border:1px solid rgba(8,23,34,.1); border-radius:5px; background:#fbfbf8; }
.profile-fieldset legend { padding:0 .45rem; color:#385e69; font:600 .68rem/1 var(--font-body); letter-spacing:.08em; text-transform:uppercase; }
.profile-fieldset>p { margin:0 0 .9rem; color:var(--workspace-muted); font-size:.68rem; line-height:1.55; }
.form-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.profile-security-panel { overflow:hidden; }
.sender-profile-form>.button { margin-top:.15rem; }
.dashboard-body .button:disabled { cursor:not-allowed; opacity:.42; transform:none; }
.send-row>p strong { color:#173c48; }

@media (max-width:900px) {
  .home-hero { min-height:auto; }
  .profile-identity-banner { grid-template-columns:auto minmax(0,1fr); }
  .identity-routing { grid-column:1 / -1; padding:1rem 0 0; border-top:1px solid rgba(255,255,255,.15); border-left:0; }
}

@media (max-width:760px) {
  .asset-inventory-panel>.asset-card-grid { margin:.8rem; }
  .profile-heading { align-items:flex-start !important; }
  .profile-identity-banner { grid-template-columns:1fr; }
  .profile-photo-preview--large { width:74px; height:74px; }
  .form-grid--two { grid-template-columns:1fr; }
  .profile-fieldset { padding:.85rem; }
}

/* ARG 3.9 — hard-isolated asset tests and separate live-delivery ledger */
.outreach-heading,.deliveries-heading { align-items:center; }
.outreach-heading>.button,.deliveries-heading>.button { flex:0 0 auto; }
.composer-recipient-section { border-bottom:1px solid rgba(8,23,34,.1); background:linear-gradient(145deg,#f3f6f4,#fafaf7); }
.composer-recipient-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.15rem; border-bottom:1px solid rgba(8,23,34,.09); }
.composer-recipient-heading>div { display:flex; align-items:center; gap:.7rem; }
.composer-recipient-heading>div>span { display:grid; width:1.85rem; height:1.85rem; place-items:center; border-radius:50%; background:#173643; color:#fff; font:600 .58rem/1 var(--font-display); }
.composer-recipient-heading strong { font-size:.8rem; }
.composer-recipient-heading>small { max-width:610px; color:var(--workspace-muted); font-size:.63rem; line-height:1.55; text-align:right; }
.composer-recipient-grid { display:grid; grid-template-columns:minmax(260px,1.15fr) repeat(2,minmax(220px,.925fr)); gap:1px; background:rgba(8,23,34,.1); }
.recipient-card { min-width:0; padding:1rem; background:#fff; }
.recipient-card--primary { background:linear-gradient(150deg,#fff,#f6f8f6); }
.recipient-card-head { display:flex; min-height:1.8rem; align-items:center; justify-content:space-between; gap:.65rem; margin-bottom:.65rem; }
.recipient-card-head>span { color:#536970; font-size:.58rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.recipient-card-head>b { padding:.25rem .42rem; border-radius:999px; background:#edf1ef; color:#587078; font-size:.52rem; font-weight:700; }
.recipient-card--primary .recipient-card-head>b { background:#e6eee7; color:#3f6848; }
.recipient-card>select { width:100%; min-height:2.8rem; border:1px solid rgba(8,23,34,.16); border-radius:4px; background:#fff; padding:.58rem .68rem; color:#152c36; font-size:.7rem; }
.recipient-card>p { margin:.6rem 0 0; color:var(--workspace-muted); font-size:.61rem; line-height:1.5; }
.check-list--recipients { max-height:152px; overflow-y:auto; padding-right:.15rem; }
.check-list--recipients label { align-items:center; border:1px solid transparent; border-radius:3px; background:#f4f5f2; transition:background .15s ease,border-color .15s ease,opacity .15s ease; }
.check-list--recipients label:hover { border-color:rgba(49,91,104,.22); background:#eef2ef; }
.check-list--recipients label.is-disabled { opacity:.43; }
.check-list--recipients input { margin-top:0; accent-color:#173643; }
.check-list--recipients>p { margin:.5rem 0; color:var(--workspace-muted); font-size:.64rem; }
.composer-subject--standalone { grid-template-columns:90px minmax(0,1fr); border-bottom:1px solid rgba(8,23,34,.1); }
.sender-route-bar { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; padding:1rem; border:1px solid rgba(8,23,34,.1); border-radius:5px; background:#fff; }
.sender-route-bar>div { display:grid; gap:.18rem; }
.sender-route-bar span { color:#65777d; font-size:.56rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.sender-route-bar strong { color:#173c48; font-size:.72rem; }
.sender-route-bar small { color:var(--workspace-muted); font-size:.6rem; }
.sender-route-bar>a { color:#725c38; font-size:.64rem; font-weight:700; }
.delivery-action-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; margin-top:.8rem; }
.delivery-action-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:1rem; min-height:170px; padding:1.1rem; border:1px solid rgba(8,23,34,.11); border-radius:6px; background:#fff; }
.delivery-action-card>div { grid-column:1 / -1; }
.delivery-action-card>div>span { color:#5d737a; font-size:.55rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.delivery-action-card h3 { margin:.45rem 0 .35rem; font-size:1.1rem; }
.delivery-action-card p { max-width:610px; margin:0; color:var(--workspace-muted); font-size:.66rem; line-height:1.58; }
.delivery-action-card>label { display:grid; gap:.3rem; min-width:250px; }
.delivery-action-card>label>span { color:#65777d; font-size:.55rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.delivery-action-card select { width:100%; min-height:2.55rem; border:1px solid rgba(8,23,34,.16); border-radius:4px; background:#fff; padding:.5rem .65rem; font-size:.67rem; }
.delivery-action-card--test { background:linear-gradient(145deg,#f5f8f7,#edf3f2); }
.delivery-action-card--live { background:linear-gradient(145deg,#fff,#f3f0e8); }
.test-delivery-rule { display:grid; gap:.25rem; min-width:250px; padding:.65rem .75rem; border-left:2px solid #7198a3; background:rgba(255,255,255,.66); }
.test-delivery-rule span { color:#65777d; font-size:.52rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.test-delivery-rule strong { color:#244854; font-size:.64rem; line-height:1.4; }
.delivery-action-card--live>.button { grid-column:1 / -1; justify-self:end; }
.delivery-action-card .button:disabled { cursor:not-allowed; opacity:.4; }
.test-email-dialog { width:min(570px,calc(100vw - 2rem)); max-width:none; padding:0; overflow:visible; border:0; border-radius:8px; background:transparent; color:#132d37; box-shadow:0 28px 90px rgba(3,17,25,.28); }
.test-email-dialog::backdrop { background:rgba(5,18,25,.64); backdrop-filter:blur(5px); }
.test-email-dialog[open] { animation:test-dialog-in .16s ease-out; }
.test-email-dialog-shell { overflow:hidden; border:1px solid rgba(255,255,255,.2); border-radius:8px; background:#f8f9f6; }
.test-email-dialog header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1.25rem 1.35rem; background:linear-gradient(120deg,#0c2732,#1e4854); color:#fff; }
.test-email-dialog header span { color:rgba(255,255,255,.58); font-size:.54rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.test-email-dialog h2 { margin:.45rem 0 0; color:#fff; font-size:1.35rem; line-height:1.15; }
.test-email-dialog header>button { display:grid; flex:0 0 2rem; width:2rem; height:2rem; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:50%; background:rgba(255,255,255,.08); color:#fff; cursor:pointer; font-size:1.2rem; }
.test-email-dialog-shell>p { margin:0; padding:1.15rem 1.35rem 0; color:#607178; font-size:.7rem; line-height:1.65; }
.test-email-dialog label { display:grid; gap:.45rem; padding:1.05rem 1.35rem; }
.test-email-dialog label>span { color:#49636d; font-size:.57rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.test-email-dialog input { width:100%; min-height:3.2rem; border:1px solid rgba(12,47,60,.2); border-radius:5px; background:#fff; padding:.75rem .85rem; color:#102d38; font:600 .78rem/1.2 var(--font-sans); outline:none; }
.test-email-dialog input:focus { border-color:#5c8c98; box-shadow:0 0 0 3px rgba(92,140,152,.12); }
.test-email-safeguards { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin:0 1.35rem 1.1rem; overflow:hidden; border:1px solid rgba(12,47,60,.1); border-radius:4px; background:rgba(12,47,60,.1); }
.test-email-safeguards span { padding:.6rem .5rem; background:#eef3f1; color:#4b6871; font-size:.53rem; font-weight:750; text-align:center; }
.test-email-dialog footer { display:flex; justify-content:flex-end; gap:.55rem; padding:1rem 1.35rem; border-top:1px solid rgba(12,47,60,.1); background:#fff; }
@keyframes test-dialog-in { from { opacity:0; transform:translateY(8px) scale(.985); } to { opacity:1; transform:none; } }
.asset-test-launcher { display:grid; grid-template-columns:auto minmax(260px,1fr) minmax(220px,.58fr) auto; align-items:center; gap:1rem; margin:1.5rem 0 1rem; padding:1.05rem 1.15rem; border:1px solid rgba(50,102,116,.2); border-radius:7px; background:linear-gradient(118deg,#eef5f3 0%,#f9faf7 52%,#f2eee5 100%); box-shadow:0 14px 36px rgba(9,34,44,.06); }
.asset-test-launcher__signal { display:grid; width:3rem; height:3rem; place-items:center; position:relative; border:1px solid rgba(32,82,96,.18); border-radius:50%; background:#fff; }
.asset-test-launcher__signal span { position:absolute; width:max-content; transform:translateY(2.45rem); color:#61767c; font-size:.46rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.asset-test-launcher__signal i { width:.65rem; height:.65rem; border-radius:50%; background:#4f8b7b; box-shadow:0 0 0 6px rgba(79,139,123,.11); }
.asset-test-launcher__copy h2 { margin:.35rem 0 .25rem; font-size:1rem; line-height:1.25; }
.asset-test-launcher__copy>p:last-child { max-width:680px; margin:0; color:var(--workspace-muted); font-size:.64rem; line-height:1.55; }
.asset-test-picker { display:grid; grid-template-columns:minmax(180px,1fr) auto; align-items:end; gap:.45rem; }
.asset-test-picker label { display:grid; gap:.3rem; }
.asset-test-picker label>span { color:#61757b; font-size:.53rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.asset-test-picker select { width:100%; min-height:2.55rem; border:1px solid rgba(8,23,34,.16); border-radius:4px; background:#fff; padding:.5rem .62rem; color:#17323c; font-size:.65rem; }
.asset-test-launcher__action { display:grid; justify-items:end; gap:.45rem; }
.asset-test-launcher__action small { max-width:230px; overflow:hidden; color:#65777d; font-size:.57rem; text-overflow:ellipsis; white-space:nowrap; }
.asset-test-dialog { width:min(860px,calc(100vw - 2rem)); }
.asset-test-form__context { display:grid; gap:.22rem; padding:.85rem 1.35rem; border-bottom:1px solid rgba(12,47,60,.1); background:#eef3f1; }
.asset-test-form__context span { color:#60747b; font-size:.52rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.asset-test-form__context strong { color:#173b46; font-size:.72rem; }
.asset-test-form__fields { display:grid; grid-template-columns:minmax(220px,.75fr) minmax(300px,1.25fr); gap:.8rem; padding:1rem 1.35rem; }
.test-email-dialog .asset-test-form__fields label { padding:0; }
.asset-test-editor-wrap { margin:0 1.35rem 1rem; border:1px solid rgba(12,47,60,.15); border-radius:5px; background:#fff; }
.asset-test-editor-wrap .editor-toolbar { border:0; border-bottom:1px solid rgba(12,47,60,.11); }
.asset-test-editor { min-height:210px; border:0; }
.asset-test-form__signature { margin:0 1.35rem 1rem; padding:.8rem 1rem; border-left:2px solid #bea46f; background:#f1eee6; color:#334e57; font-size:.63rem; line-height:1.5; }
.asset-test-form__signature>span { display:block; margin-bottom:.55rem; color:#6c725f; font-size:.53rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.delivery-action-card--single { min-height:140px; margin-top:.8rem; }
.isolated-test-ledger { margin-bottom:1.1rem; overflow:hidden; border-color:rgba(51,106,119,.18); }
.isolated-test-table { min-width:1050px; }
.isolated-test-table td { vertical-align:middle; }
.isolated-test-table td>strong,.isolated-test-table td>small,.isolated-test-table td>.status-pill { display:block; }
.isolated-test-table td>small { margin-top:.28rem; }
.outreach-recent { overflow:hidden; }
.outreach-recent .panel-head>a { color:#735d39; font-size:.65rem; font-weight:700; }
.recent-delivery-list { display:grid; }
.recent-delivery-list article { display:grid; grid-template-columns:70px minmax(220px,1fr) 90px 130px; align-items:center; gap:.9rem; padding:.85rem 1.1rem; border-top:1px solid rgba(8,23,34,.08); }
.recent-delivery-list article:first-child { border-top:0; }
.recent-delivery-list article>div { min-width:0; }
.recent-delivery-list strong,.recent-delivery-list small { display:block; }
.recent-delivery-list strong { overflow:hidden; font-size:.73rem; text-overflow:ellipsis; white-space:nowrap; }
.recent-delivery-list small,.recent-delivery-list time { margin-top:.24rem; color:var(--workspace-muted); font-size:.61rem; }
.recent-delivery-list time { margin:0; text-align:right; }

.delivery-transport-notice { display:grid; grid-template-columns:minmax(230px,.7fr) minmax(360px,1.3fr) auto; align-items:center; gap:1.2rem; margin-top:1.5rem; padding:1.1rem 1.2rem; border:1px solid rgba(42,102,118,.2); border-radius:6px; background:linear-gradient(110deg,#0c2530,#173d49); color:#fff; }
.delivery-transport-notice>div { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:.2rem .65rem; }
.delivery-transport-notice i { grid-row:1 / 3; width:.55rem; height:.55rem; border-radius:50%; background:#8fc4ac; box-shadow:0 0 0 5px rgba(143,196,172,.1); }
.delivery-transport-notice span { color:rgba(255,255,255,.5); font-size:.55rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.delivery-transport-notice strong { font-size:.8rem; }
.delivery-transport-notice p { margin:0; color:rgba(255,255,255,.65); font-size:.65rem; line-height:1.6; }
.delivery-transport-notice>a { color:#e1c995; font-size:.63rem; font-weight:700; white-space:nowrap; }
.delivery-metric-grid .metric-card { border-radius:5px; }
.delivery-metric-grid .metric-card>small { display:block; margin-top:.25rem; color:var(--workspace-muted); font-size:.58rem; }
.delivery-metric-grid .metric-date { max-width:180px; font-size:1rem; line-height:1.2; }
.delivery-ledger { overflow:hidden; }
.delivery-filter-bar { display:grid; grid-template-columns:repeat(4,minmax(125px,.7fr)) minmax(200px,1fr) auto auto; align-items:end; gap:.6rem; padding:1rem 1.1rem; border-bottom:1px solid rgba(8,23,34,.1); background:#f3f5f2; }
.delivery-filter-bar label { display:grid; gap:.3rem; min-width:0; }
.delivery-filter-bar label>span { color:var(--workspace-muted); font-size:.54rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.delivery-filter-bar input,.delivery-filter-bar select { width:100%; min-width:0; min-height:2.5rem; border:1px solid rgba(8,23,34,.16); border-radius:4px; background:#fff; padding:.48rem .58rem; font-size:.65rem; }
.delivery-filter-bar>a { align-self:center; color:#725c38; font-size:.63rem; font-weight:700; }
.delivery-table { min-width:1250px; }
.delivery-table td { vertical-align:middle; }
.delivery-table td>strong,.delivery-table td>small { display:block; }
.delivery-table td>small { margin-top:.28rem; }
.delivery-record-details { margin-top:.45rem; }
.delivery-record-details summary { cursor:pointer; color:#725c38; font-size:.6rem; font-weight:700; list-style:none; }
.delivery-record-details summary::before { content:"+"; display:inline-block; margin-right:.35rem; }
.delivery-record-details[open] summary::before { content:"−"; }
.delivery-record-details>div { width:min(430px,70vw); margin-top:.5rem; padding:.7rem; border:1px solid rgba(8,23,34,.1); border-radius:4px; background:#f7f8f5; }
.delivery-record-details p { margin:.25rem 0; color:var(--workspace-muted); font-size:.61rem; line-height:1.5; overflow-wrap:anywhere; }
.delivery-record-details b { color:#294d59; }
.delivery-error { max-width:190px !important; color:#8a4035 !important; }
.delivery-repeat-link { display:block; margin-top:.45rem; color:#725c38; font-size:.59rem; font-weight:700; }

.delivery-connection-panel { scroll-margin-top:1rem; overflow:hidden; }
.transport-status-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:rgba(8,23,34,.1); }
.transport-card { padding:1.3rem; background:#fff; }
.transport-card>div { display:flex; align-items:center; gap:.55rem; }
.transport-card>div i { width:.5rem; height:.5rem; border-radius:50%; background:#a8b2b3; box-shadow:0 0 0 5px rgba(100,120,125,.08); }
.transport-card.is-active>div i { background:#5b9069; box-shadow:0 0 0 5px rgba(91,144,105,.1); }
.transport-card>div span { color:#5c7077; font-size:.55rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.transport-card h3 { margin:1.1rem 0 .4rem; font-size:1.15rem; }
.transport-card p { margin:0; color:var(--workspace-muted); font-size:.69rem; line-height:1.6; }
.transport-card>small { display:block; margin-top:.85rem; padding-top:.7rem; border-top:1px solid rgba(8,23,34,.08); color:#63757b; font-size:.61rem; line-height:1.55; }
.transport-card.is-pending { background:linear-gradient(145deg,#f7f8f5,#eef2f0); }
.transport-security-note { display:flex; gap:.8rem; padding:.85rem 1.2rem; border-top:1px solid rgba(8,23,34,.1); background:#fbfaf7; }
.transport-security-note strong { flex:0 0 auto; color:#385e69; font-size:.62rem; }
.transport-security-note p { margin:0; color:var(--workspace-muted); font-size:.62rem; line-height:1.5; }

.transaction-type-field { align-content:start; }
.transaction-type-field>label { display:grid; gap:.5rem; }
.transaction-type-field>label>span { font-size:.75rem; font-weight:600; }
.transaction-type-field select { white-space:normal; }
.transaction-reference { position:relative; min-height:84px; margin-top:.15rem; padding:.75rem .8rem .75rem 1rem; border:1px solid rgba(46,93,106,.16); border-radius:4px; background:linear-gradient(135deg,#f1f5f3,#fafaf7); }
.transaction-reference::before { content:""; position:absolute; inset:.75rem auto .75rem .55rem; width:2px; border-radius:2px; background:#6e9daa; }
.transaction-reference>span { display:block; color:#3e6873; font-size:.54rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.transaction-reference>p { margin:.38rem 0 0; color:#5c6d72; font-size:.63rem; line-height:1.52; }
.transaction-type-field--route { grid-column:auto; }
.transaction-type-field--route .transaction-reference { min-height:72px; }

@media (max-width:1280px) {
  .asset-test-launcher { grid-template-columns:auto minmax(0,1fr) minmax(260px,.7fr); }
  .asset-test-launcher__action { grid-column:2 / -1; grid-template-columns:minmax(0,1fr) auto; align-items:center; justify-items:start; }
  .composer-recipient-grid { grid-template-columns:1fr 1fr; }
  .recipient-card--primary { grid-column:1 / -1; }
  .delivery-filter-bar { grid-template-columns:repeat(3,minmax(150px,1fr)); }
  .delivery-filter-search { grid-column:1 / -1; }
}

@media (max-width:900px) {
  .outreach-heading,.deliveries-heading { align-items:flex-start; flex-direction:column; }
  .asset-test-launcher { grid-template-columns:auto minmax(0,1fr); }
  .asset-test-picker,.asset-test-launcher__action { grid-column:1 / -1; width:100%; }
  .asset-test-launcher__action { grid-template-columns:minmax(0,1fr) auto; }
  .asset-test-form__fields { grid-template-columns:1fr; }
  .delivery-action-grid,.transport-status-grid { grid-template-columns:1fr; }
  .delivery-transport-notice { grid-template-columns:1fr; }
  .delivery-transport-notice>a { white-space:normal; }
  .delivery-metric-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:700px) {
  .asset-test-launcher { grid-template-columns:1fr; }
  .asset-test-launcher__signal { display:none; }
  .asset-test-picker,.asset-test-launcher__action { grid-column:auto; grid-template-columns:1fr; justify-items:stretch; }
  .asset-test-launcher__action small { max-width:100%; }
  .asset-test-form__fields { padding:.85rem 1rem; }
  .asset-test-editor-wrap,.asset-test-form__signature { margin-right:1rem; margin-left:1rem; }
  .composer-recipient-heading { align-items:flex-start; flex-direction:column; }
  .composer-recipient-heading>small { text-align:left; }
  .composer-recipient-grid { grid-template-columns:1fr; }
  .recipient-card--primary { grid-column:auto; }
  .composer-subject--standalone { grid-template-columns:64px minmax(0,1fr); }
  .sender-route-bar { align-items:flex-start; flex-direction:column; }
  .delivery-action-card { grid-template-columns:1fr; }
  .delivery-action-card>label { min-width:0; }
  .delivery-action-card>.button,.delivery-action-card--live>.button { grid-column:auto; width:100%; justify-self:stretch; }
  .test-delivery-rule { min-width:0; }
  .test-email-safeguards { grid-template-columns:1fr; }
  .test-email-dialog footer { flex-direction:column-reverse; }
  .test-email-dialog footer .button { width:100%; }
  .recent-delivery-list article { grid-template-columns:60px minmax(0,1fr); }
  .recent-delivery-list article>.status-pill,.recent-delivery-list article>time { justify-self:start; text-align:left; }
  .delivery-filter-bar { grid-template-columns:1fr; }
  .delivery-filter-search { grid-column:auto; }
  .delivery-metric-grid { grid-template-columns:1fr; }
  .transport-security-note { flex-direction:column; }
}

/* ARG 4.0 — asset-centered matching and distribution workspace */
.dashboard-wordmark::after { content:"SYS / 4.0"; }
.asset-workspace { margin:1rem 0 1.35rem; scroll-margin-top:1rem; border:1px solid rgba(8,23,34,.14); border-radius:9px; overflow:hidden; background:#f5f6f3; box-shadow:0 24px 60px rgba(5,19,28,.09); }
.asset-workspace-hero { position:relative; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.35rem 1.5rem; overflow:hidden; background:linear-gradient(118deg,#071a24 0%,#102f3b 72%,#18414d 100%); color:#fff; }
.asset-workspace-hero::after { content:""; position:absolute; inset:0 0 0 auto; width:42%; opacity:.34; background-image:linear-gradient(rgba(174,210,217,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(174,210,217,.16) 1px,transparent 1px); background-size:24px 24px; mask-image:linear-gradient(90deg,transparent,#000); pointer-events:none; }
.asset-workspace-identity,.asset-workspace-actions { position:relative; z-index:1; display:flex; align-items:center; gap:1.1rem; }
.asset-workspace-code { display:grid; min-width:112px; gap:.55rem; padding-right:1.15rem; border-right:1px solid rgba(255,255,255,.16); }
.asset-workspace-code span { color:rgba(255,255,255,.52); font-size:.54rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.asset-workspace-code strong { font:600 .8rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.04em; }
.asset-workspace-identity h2 { margin:.22rem 0 .28rem; color:#fff; font-size:clamp(1.35rem,2.2vw,2rem); letter-spacing:-.035em; }
.asset-workspace-identity>div:last-child>p:last-child { margin:0; color:rgba(255,255,255,.57); font-size:.7rem; }
.asset-workspace-identity .micro-label { color:#d4bc8c; }
.asset-workspace-actions { justify-content:flex-end; flex-wrap:wrap; }
.asset-workspace-actions>.status-pill { border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.08); color:#fff; }
.asset-workspace-actions>.button:not(.button--dark) { border-color:rgba(255,255,255,.25); background:rgba(255,255,255,.08); color:#fff; }
.asset-workspace-actions>.button--dark { border-color:#d1b77f; background:#d1b77f; color:#10242d; }

.asset-workspace-nav { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid rgba(8,23,34,.11); background:#fff; }
.asset-workspace-nav a { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.65rem; min-height:62px; padding:.8rem 1rem; border-right:1px solid rgba(8,23,34,.09); color:#1c343e; font-size:.65rem; font-weight:700; }
.asset-workspace-nav a:last-child { border-right:0; }
.asset-workspace-nav a:hover { background:#f0f4f2; }
.asset-workspace-nav span { color:#79919a; font:600 .56rem/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.asset-workspace-nav b { display:grid; min-width:1.65rem; height:1.65rem; place-items:center; border-radius:50%; background:#e9eeeb; font-size:.6rem; }
.asset-workspace-metrics { display:grid; grid-template-columns:repeat(4,1fr); margin:1rem; border:1px solid rgba(8,23,34,.1); border-radius:6px; overflow:hidden; background:#fff; }
.asset-workspace-metrics article { position:relative; min-height:108px; padding:1rem 1.1rem; border-right:1px solid rgba(8,23,34,.09); }
.asset-workspace-metrics article:last-child { border-right:0; }
.asset-workspace-metrics span,.asset-workspace-metrics small { display:block; color:var(--workspace-muted); font-size:.59rem; }
.asset-workspace-metrics span { font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.asset-workspace-metrics strong { display:block; margin:.48rem 0 .35rem; color:#17343f; font:500 1.85rem/1 var(--font-display); }
.asset-workspace-metrics article.is-ready::before,.asset-workspace-metrics article.needs-attention::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:#588463; }
.asset-workspace-metrics article.needs-attention::before { background:#b17a4e; }

.asset-matching-panel,.asset-history-panel,.asset-test-history { margin:1rem; border:1px solid rgba(8,23,34,.11); border-radius:7px; overflow:visible; background:#fff; scroll-margin-top:1rem; }
.asset-workspace-section-head { display:flex; align-items:center; justify-content:space-between; gap:1.2rem; padding:1.2rem 1.3rem; border-bottom:1px solid rgba(8,23,34,.09); }
.asset-workspace-section-head h3 { margin:.24rem 0 .3rem; font-size:1.28rem; }
.asset-workspace-section-head p:last-child { max-width:760px; margin:0; color:var(--workspace-muted); font-size:.68rem; line-height:1.55; }
.asset-score-integrity { display:flex; align-items:center; gap:.9rem; margin:1rem; padding:.85rem 1rem; border:1px solid rgba(67,107,120,.18); border-radius:5px; background:linear-gradient(105deg,#edf3f2,#f8f8f5); }
.asset-score-integrity>span { display:grid; width:2.7rem; height:2.7rem; place-items:center; flex:0 0 auto; border:1px solid #6f9099; border-radius:50%; color:#315866; font:600 .66rem/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.asset-score-integrity strong { display:block; font-size:.72rem; }
.asset-score-integrity p { margin:.2rem 0 0; color:var(--workspace-muted); font-size:.64rem; }
.asset-match-toolbar { margin:0 1rem 1rem; }
.asset-match-list { margin:0 1rem 1rem; }
.asset-workspace-empty { margin:1rem; border:1px dashed rgba(8,23,34,.18); border-radius:5px; background:#fafaf7; }
.asset-filter-empty { margin:0 1rem 1rem; }
.asset-filter-empty[hidden] { display:none; }
.asset-history-panel .table-wrap { border:0; }
.asset-history-table th:first-child { width:150px; }
.asset-history-table th:last-child { width:72px; }
.asset-history-table td>a { color:#6e5938; font-size:.66rem; font-weight:700; white-space:nowrap; }
.asset-history-table td>small,.asset-history-table td>strong { display:block; }
.asset-history-table td>small { margin-top:.25rem; color:var(--workspace-muted); font-size:.59rem; }
.asset-test-records { display:grid; }
.asset-test-records article { display:grid; grid-template-columns:74px minmax(0,1fr) auto; align-items:center; gap:1rem; min-height:68px; padding:.75rem 1.2rem; border-bottom:1px solid rgba(8,23,34,.08); }
.asset-test-records article:last-child { border-bottom:0; }
.asset-test-records strong,.asset-test-records small,.asset-test-records time { display:block; }
.asset-test-records strong { font-size:.7rem; }
.asset-test-records small,.asset-test-records time { margin-top:.2rem; color:var(--workspace-muted); font-size:.59rem; }
.asset-test-records article>div:last-child { text-align:right; }
.crm-editor-card { scroll-margin-top:1rem; }

@media (max-width:1180px) {
  .asset-workspace-hero { align-items:flex-start; flex-direction:column; }
  .asset-workspace-actions { justify-content:flex-start; }
  .asset-workspace-nav,.asset-workspace-metrics { grid-template-columns:repeat(2,1fr); }
  .asset-workspace-nav a:nth-child(2),.asset-workspace-metrics article:nth-child(2) { border-right:0; }
  .asset-workspace-nav a:nth-child(-n+2),.asset-workspace-metrics article:nth-child(-n+2) { border-bottom:1px solid rgba(8,23,34,.09); }
}

@media (max-width:760px) {
  .asset-workspace-identity { align-items:flex-start; flex-direction:column; }
  .asset-workspace-code { width:100%; padding:0 0 .8rem; border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }
  .asset-workspace-actions { width:100%; }
  .asset-workspace-actions>.button { width:100%; }
  .asset-workspace-nav,.asset-workspace-metrics { grid-template-columns:1fr; }
  .asset-workspace-nav a,.asset-workspace-metrics article { border-right:0; border-bottom:1px solid rgba(8,23,34,.09); }
  .asset-workspace-nav a:last-child,.asset-workspace-metrics article:last-child { border-bottom:0; }
  .asset-workspace-metrics article { min-height:92px; }
  .asset-workspace-section-head { align-items:flex-start; flex-direction:column; }
  .asset-workspace-section-head>.button,.asset-workspace-section-head>form,.asset-workspace-section-head form>.button { width:100%; }
  .asset-test-records article { grid-template-columns:62px minmax(0,1fr); }
  .asset-test-records article>div:last-child { grid-column:2; text-align:left; }
}

/* ARG 4.1 — complete asset intelligence above commercialization */
.dashboard-wordmark::after { content:"SYS / 4.1"; }
.asset-workspace-nav { grid-template-columns:repeat(5,1fr); }
.asset-profile-panel,.asset-documents-panel,.asset-route-workspace { margin:1rem; border:1px solid rgba(8,23,34,.11); border-radius:7px; overflow:hidden; background:#fff; scroll-margin-top:1rem; }
.asset-profile-layout { display:grid; grid-template-columns:minmax(280px,.78fr) minmax(0,1.42fr); gap:1.35rem; padding:1.25rem; }
.asset-profile-cover { position:relative; min-height:355px; margin:0; overflow:hidden; border-radius:6px; background:linear-gradient(145deg,#0a202a,#183e49); }
.asset-profile-cover img { width:100%; height:100%; min-height:355px; object-fit:cover; }
.asset-profile-cover.is-empty { display:grid; place-items:center; }
.asset-profile-cover.is-empty::before { content:""; position:absolute; inset:0; opacity:.35; background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px); background-size:28px 28px; mask-image:linear-gradient(155deg,#000,transparent 82%); }
.asset-profile-cover.is-empty>div { position:relative; z-index:1; display:grid; justify-items:center; gap:.75rem; color:#fff; }
.asset-profile-cover.is-empty span,.asset-profile-cover.is-empty small { color:rgba(255,255,255,.58); font-size:.58rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.asset-profile-cover.is-empty strong { font:500 4rem/1 var(--font-display); letter-spacing:-.08em; }
.asset-profile-cover figcaption { position:absolute; inset:auto 0 0; display:flex; justify-content:space-between; gap:1rem; padding:.9rem 1rem; background:linear-gradient(transparent,rgba(4,16,23,.88)); color:#fff; font:600 .58rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.06em; }
.asset-profile-content { align-self:center; min-width:0; }
.asset-classification-line { display:flex; flex-wrap:wrap; gap:.45rem; }
.asset-classification-line span { padding:.38rem .58rem; border:1px solid rgba(28,62,73,.15); border-radius:999px; background:#f3f6f4; color:#345763; font-size:.55rem; font-weight:700; }
.asset-profile-content>h3 { margin:1rem 0 .35rem; font-size:clamp(1.55rem,2.8vw,2.55rem); letter-spacing:-.045em; }
.asset-profile-location { margin:0 0 1.2rem; color:var(--workspace-muted); font-size:.72rem; }
.asset-fact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; border:1px solid rgba(8,23,34,.1); border-radius:5px; overflow:hidden; }
.asset-fact-grid>div { min-height:76px; padding:.8rem .9rem; border-right:1px solid rgba(8,23,34,.08); border-bottom:1px solid rgba(8,23,34,.08); }
.asset-fact-grid>div:nth-child(2n) { border-right:0; }
.asset-fact-grid>div:nth-last-child(-n+2) { border-bottom:0; }
.asset-fact-grid dt { color:#70858c; font-size:.54rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.asset-fact-grid dd { margin:.38rem 0 0; color:#142f39; font-size:.69rem; font-weight:700; line-height:1.35; }
.asset-transaction-reference { margin-top:.75rem; padding:.72rem .82rem; border-left:3px solid #bca16e; background:#f6f3ec; }
.asset-transaction-reference span { color:#7a6a4b; font-size:.53rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.asset-transaction-reference p { margin:.3rem 0 0; color:#42565d; font-size:.62rem; line-height:1.5; }
.asset-transaction-reference ul { display:grid; gap:.65rem; margin:.58rem 0 0; padding:0; list-style:none; }
.asset-transaction-reference li { padding-top:.65rem; border-top:1px solid rgba(122,106,75,.16); }
.asset-transaction-reference li:first-child { padding-top:0; border-top:0; }
.asset-transaction-reference li strong { display:block; color:#263e47; font-size:.64rem; }
.asset-intelligence-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin:0 1.25rem 1.25rem; overflow:hidden; border:1px solid rgba(8,23,34,.1); border-radius:6px; background:rgba(8,23,34,.1); }
.asset-intelligence-grid article { min-height:170px; padding:1rem 1.05rem; background:#fbfbf8; }
.asset-intelligence-grid article.is-private { background:#f4f1e9; }
.asset-intelligence-grid span { color:#5e757d; font-size:.56rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.asset-intelligence-grid p { margin:.7rem 0 0; color:#29434c; font-size:.68rem; line-height:1.7; }
.asset-location-record { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:1rem; margin:0 1.25rem 1.25rem; padding:.9rem 1rem; border:1px solid rgba(8,23,34,.1); border-radius:5px; background:#f7f8f5; }
.asset-location-record span,.asset-location-record strong,.asset-location-record small { display:block; }
.asset-location-record>div>span { color:#70858c; font-size:.54rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.asset-location-record strong { margin:.32rem 0 .18rem; font-size:.72rem; }
.asset-location-record small { color:var(--workspace-muted); font-size:.6rem; }
.asset-location-record>a { color:#735f3d; font-size:.62rem; font-weight:700; white-space:nowrap; }
.address-verification { padding:.38rem .55rem; border-radius:999px; background:#eee8db; color:#7b5e2c; font-size:.55rem; font-weight:800; }
.address-verification.is-verified { background:#e4eee7; color:#356242; }
.asset-data-room { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:1rem; margin:1rem; padding:.85rem 1rem; border:1px solid rgba(69,99,109,.2); border-radius:5px; background:#eef3f2; }
.asset-data-room span { color:#5e757d; font-size:.56rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.asset-data-room strong { overflow:hidden; color:#173641; font-size:.68rem; text-overflow:ellipsis; white-space:nowrap; }
.asset-workspace-documents { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; padding:1rem; }
.asset-workspace-documents article { display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:.8rem; min-height:78px; padding:.75rem; border:1px solid rgba(8,23,34,.1); border-radius:5px; background:#fafbf8; }
.asset-workspace-documents article>div { min-width:0; }
.asset-workspace-documents article>div>a,.asset-workspace-documents article small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.asset-workspace-documents article>div>a { color:#173641; font-size:.67rem; font-weight:800; }
.asset-workspace-documents article small { margin-top:.26rem; color:var(--workspace-muted); font-size:.55rem; }
.asset-workspace-documents .document-icon { display:grid; width:42px; height:42px; place-items:center; border-radius:4px; background:#183a45; color:#fff; font:700 .52rem/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.document-download { display:inline-grid; width:32px; height:32px; flex:0 0 32px; padding:0; place-items:center; border:1px solid rgba(8,23,34,.13); border-radius:50%; color:#234953; line-height:0; }
.document-download svg { display:block; width:15px; height:15px; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.document-controls { display:flex; align-items:center; justify-content:flex-end; gap:.35rem; }
.document-controls form { margin:0; }
.document-controls button { display:grid; width:32px; height:32px; padding:0 0 2px; place-items:center; border:1px solid rgba(143,78,67,.17); border-radius:50%; background:#fff; color:#945e54; cursor:pointer; font-size:.92rem; line-height:1; }
.asset-commercialization-header { display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; margin:2.2rem 1rem 1rem; padding:1.35rem 1.45rem; scroll-margin-top:1rem; border-radius:7px; background:linear-gradient(115deg,#071a24,#143844); color:#fff; }
.asset-commercialization-header h3 { margin:.24rem 0 .35rem; color:#fff; font-size:1.55rem; }
.asset-commercialization-header p:last-child { max-width:790px; margin:0; color:rgba(255,255,255,.62); font-size:.67rem; line-height:1.6; }
.asset-commercialization-header>span { flex:0 0 auto; padding:.48rem .7rem; border:1px solid rgba(255,255,255,.17); border-radius:999px; color:#d5c094; font-size:.55rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.asset-route-workspace { overflow:visible; }
.asset-workspace-route-list { padding:1rem; }
.asset-workspace-route-editor { margin:0 1rem 1rem; }
.asset-route-targets { margin-top:1rem; border-top:1px solid rgba(8,23,34,.1); }
.asset-route-targets .route-match-table { padding-bottom:.2rem; }

/* ARG 4.3 — multi-structure assets, mandates and public criteria */
.dashboard-wordmark::after { content:"SYS / 4.3"; }
.asset-workspace-route-editor .taxonomy-field > small { max-width:34rem; }

@media (max-width:1180px) {
  .asset-workspace-nav { grid-template-columns:repeat(3,1fr); }
  .asset-workspace-nav a:nth-child(2) { border-right:1px solid rgba(8,23,34,.09); }
  .asset-workspace-nav a:nth-child(3) { border-right:0; }
  .asset-workspace-nav a:nth-child(-n+3) { border-bottom:1px solid rgba(8,23,34,.09); }
  .asset-profile-layout { grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr); }
  .asset-intelligence-grid { grid-template-columns:1fr; }
  .asset-intelligence-grid article { min-height:auto; }
}

@media (max-width:820px) {
  .asset-profile-layout { grid-template-columns:1fr; }
  .asset-profile-cover,.asset-profile-cover img { min-height:300px; }
  .asset-workspace-documents { grid-template-columns:1fr; }
  .asset-location-record { grid-template-columns:1fr; align-items:start; }
  .asset-commercialization-header { align-items:flex-start; flex-direction:column; }
}

@media (max-width:760px) {
  .lead-multi-panel { position:relative; top:auto; margin-top:.45rem; box-shadow:0 14px 34px rgba(4,17,26,.13); }
  .asset-workspace-nav { grid-template-columns:1fr; }
  .asset-workspace-nav a:nth-child(n) { border-right:0; border-bottom:1px solid rgba(8,23,34,.09); }
  .asset-workspace-nav a:last-child { border-bottom:0; }
  .asset-profile-layout { padding:1rem; }
  .asset-profile-cover,.asset-profile-cover img { min-height:250px; }
  .asset-fact-grid { grid-template-columns:1fr; }
  .asset-fact-grid>div:nth-child(n) { border-right:0; border-bottom:1px solid rgba(8,23,34,.08); }
  .asset-fact-grid>div:last-child { border-bottom:0; }
  .asset-intelligence-grid,.asset-location-record { margin-right:1rem; margin-left:1rem; }
  .asset-workspace-documents article { grid-template-columns:40px minmax(0,1fr) auto; }
}

/* Plain dark backgrounds on home-page content sections. */
.home-page .section--dark,
.home-page .capital-band,
.home-page .mandate-cta { background-image: none; }
