@font-face{font-family:'EB Garamond';src:url('/assets/fonts/garamond.woff2') format('woff2');font-style:normal;font-weight:400 600;font-display:swap}
@font-face{font-family:'EB Garamond';src:url('/assets/fonts/garamond-italic.woff2') format('woff2');font-style:italic;font-weight:400 600;font-display:swap}
:root{color-scheme:light;--bg:var(--paper);--panel:var(--white);--ink:#1A1613;--muted:var(--stone);--border:var(--rule);--grid:var(--rule);--blue:var(--slate-blue);--cyan:var(--data-teal);--green:var(--above);--orange:var(--brick);--red:var(--brick);--wine:var(--brick);--purple:var(--data-blue);--yellow:var(--amber);--pink:var(--brick)}
body{margin:0!important;padding:0!important;background:var(--paper)!important;color:var(--ink);font-family:Arial,sans-serif}body .shell,body .wrap{max-width:var(--page-width)}body button,body input,body select,body textarea,body .card,body .panel,body .kpi{border-radius:0!important;box-shadow:none!important}body .dashboard-navigation,body main.shell>header{display:none!important}
.milestone-library-shell{font:16px/1.5 Arial,sans-serif;color:var(--ink)}.milestone-library-shell *{box-sizing:border-box}.milestone-library-shell a{color:var(--lake);text-decoration:none}.milestone-library-shell .masthead{width:100%;max-width:none;margin:0;border-top:3px solid var(--lake);border-bottom:0;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:32px;padding:0 max(var(--page-gutter),calc((100% - var(--page-width))/2));height:72px;overflow:hidden}.milestone-library-shell .masthead-inner{padding:0}.milestone-library-shell .wordmark{display:block;color:var(--lake);font:500 32px/1 'EB Garamond',serif;letter-spacing:-.06em;white-space:nowrap}.milestone-library-shell .wordmark-rule{display:flex;align-items:center;margin-top:4px}.milestone-library-shell .wordmark-rule i{height:1px;background:var(--lake);flex:1}.milestone-library-shell .wordmark-rule b,.milestone-library-shell .wordmark-rule strong{width:8px;height:8px;border:1px solid var(--lake)}.milestone-library-shell .wordmark-rule strong{background:var(--lake)}.milestone-library-shell .top-nav{display:flex;flex-wrap:wrap;gap:24px}.milestone-library-shell .top-nav a{font:500 15px/1.45 Arial,sans-serif;color:var(--ink)}.milestone-library-shell .top-nav a:hover{color:var(--lake);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.milestone-library-nav{position:sticky;top:0;background:var(--slate-tint);z-index:20}.milestone-library-nav>div{max-width:calc(var(--page-width) + 2*var(--page-gutter));height:44px;margin:auto;padding:0 var(--page-gutter);display:flex;align-items:center;gap:24px;overflow:auto;white-space:nowrap;font:14px/1.5 Arial,sans-serif}.milestone-library-nav a{color:var(--slate-deep);text-decoration:none;padding:8px 0;border-bottom:2px solid transparent}.milestone-library-nav a:hover{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.milestone-library-nav a[aria-current]{color:var(--ink);font-weight:700;border-bottom-color:var(--slate-blue)}.milestone-library-nav a[aria-current]:hover{text-decoration:none}.milestone-library-shell .container{width:100%;max-width:calc(var(--page-width) + 2*var(--page-gutter));margin:auto;padding:0 var(--page-gutter)}.milestone-library-shell h2{font:500 32px/1.2 'EB Garamond',serif;color:inherit;margin:0 0 12px}.milestone-library-shell p{margin:0 0 16px}.milestone-library-shell .label{font:400 11px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:.16em;color:var(--lake)}.milestone-library-shell .signup{background:var(--paper);padding:48px 0;border-top:1px solid var(--rule)}.milestone-library-shell .signup-inner{display:grid;grid-template-columns:1fr 1fr;gap:48px}.milestone-library-shell .signup form{display:flex;flex-direction:column;gap:8px}.milestone-library-shell .signup-fields{display:flex;gap:8px}.milestone-library-shell input{flex:1;min-width:0;border:1px solid var(--stone);padding:12px 16px;background:var(--white);color:var(--ink);font:16px Arial,sans-serif}.milestone-library-shell button{border:0;padding:12px 24px;background:var(--lake);color:var(--white);font:700 16px Arial,sans-serif}.milestone-library-shell .footer{padding:48px 0 32px;background:var(--ink);color:var(--paper)}.milestone-library-shell .footer-inner{display:flex;justify-content:space-between;gap:48px}.milestone-library-shell .footer-name{font:500 32px/1.15 'EB Garamond',serif;color:var(--paper)}.milestone-library-shell .footer-name:hover{text-decoration:underline;text-decoration-thickness:1px}.milestone-library-shell .footer-brand p{margin:8px 0 0}.milestone-library-shell .footer-cols{display:flex;flex-wrap:wrap;gap:32px 64px}.milestone-library-shell .footer-cols nav{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.milestone-library-shell .footer-cols h3{font:500 19px/1.25 'EB Garamond',serif;color:var(--paper);margin:0 0 4px}.milestone-library-shell .footer-cols a{font-size:15px;color:var(--paper)}.milestone-library-shell .footer-cols a:hover{text-decoration:underline}.milestone-library-shell .footer-legal{margin:32px 0 0;padding-top:16px;border-top:1px solid var(--stone);font-size:13px;color:var(--pebble)}
@media(max-width:800px){.milestone-library-shell .masthead{flex-wrap:wrap;gap:16px;padding:16px;height:auto}.milestone-library-nav>div{height:40px}.milestone-library-shell .top-nav{gap:16px}.milestone-library-shell .signup-inner{grid-template-columns:1fr;gap:24px}.milestone-library-shell .footer-inner{flex-direction:column}.milestone-library-shell .container{padding:0 16px}.milestone-library-nav>div{padding:0 16px;gap:16px}}
.milestone-library-shell .masthead-inner{display:flex;align-items:center;justify-content:flex-start;gap:16px}.milestone-library-shell .masthead-inner:after{content:'DEAL LIBRARY';border-left:1px solid var(--lake);padding-left:16px;color:var(--stone);font:700 13px/1 Arial,sans-serif;letter-spacing:.14em;white-space:nowrap}
/* Shared visual language for the protected tools. These overrides do not alter calculations or data. */
:root,:root[data-theme]{--bg:var(--paper)!important;--panel:var(--white)!important;--tint:var(--paper-wash)!important;--ink:#1A1613!important;--muted:var(--stone)!important;--faint:var(--stone)!important;--rule:#DAD6CF!important;--border:var(--rule)!important;--grid:var(--rule)!important;--accent:var(--slate-blue)!important;--accent-soft:var(--mist)!important;--blue:var(--slate-blue)!important;--blue-soft:var(--mist)!important;--chip:var(--mist)!important;--dot:var(--pebble)!important;--up:var(--above)!important;--up-soft:var(--mist)!important;--down:var(--brick)!important;--down-soft:var(--paper-wash)!important;--buy-bg:var(--paper-wash)!important;--buy-rule:var(--rule)!important;--display:'EB Garamond',Georgia,serif!important;--body:Arial,sans-serif!important;color-scheme:light!important}
body main *,body>.wrap *,body main *::before,body main *::after,body>.wrap *::before,body>.wrap *::after{border-radius:0!important;box-shadow:none!important;background-image:none!important}
body .shell,body>.wrap{width:min(var(--page-width),calc(100% - 2*var(--page-gutter)))!important;max-width:var(--page-width)!important}body>.wrap{margin-bottom:48px!important}body>.milestone-library-shell+header{width:min(var(--page-width),calc(100% - 2*var(--page-gutter)))}@media(max-width:800px){body .shell,body>.wrap{width:calc(100% - 32px)!important}body>.milestone-library-shell+header{width:calc(100% - 32px)}}
body .dt-redesign{--lp:var(--slate-blue)!important;--sm:var(--data-teal)!important;--off:var(--pebble)!important;--soft:var(--mist)!important;--serif:'EB Garamond',Georgia,serif!important;--sans:Arial,sans-serif!important}
body .mb-bar-prior,body .focus-bar i.negative{background:var(--brick)!important}
body .seg button[aria-pressed=true],body .seg button.active,body .btn.primary,body .library-controls button[type=submit]{background:var(--slate-blue)!important;border-color:var(--slate-blue)!important;color:var(--white)!important}
body .section-tabs button.active,body .library-controls :focus-visible,body .dt-redesign button:focus-visible{border-color:var(--slate-blue)!important}
body .library-controls,body .dt-redesign,body .wrap,body .rpt{font-family:Arial,sans-serif}
body .dt-redesign h1,body .dt-redesign h2,body .dt-redesign h3,body .rpt-h2,body .rpt-h3{font-family:'EB Garamond',Georgia,serif}
/* The dashboard renderer emits small SVG attributes at runtime. */
body main svg text[font-size="8"],body main svg text[font-size="9"],body main svg text[font-size="10"],body main svg text[font-size="10.5"]{font-size:11px!important}

body .results th{font-size:11px!important}
/* The publication illustration belongs on the home page, not the compact library masthead. */
.milestone-library-shell .masthead-art{display:none!important}
.milestone-library-shell .top-nav{flex-wrap:nowrap;white-space:nowrap}
@media(max-width:800px){.milestone-library-shell .top-nav{flex-wrap:wrap;white-space:normal}}
body .protected-library strong{color:var(--ink)!important}
body .protected-library .lib-sub{color:var(--stone)!important}
body .protected-library .library-detail-action,body .protected-library a{color:var(--slate-blue)!important}
body .brand-footer{display:none!important}
/* Token-backed text and surfaces for the independently rendered tool content. */
body .ledger{--paper:var(--paper-wash)!important;--paper-rule:var(--rule)!important;--paper-ink:var(--ink)!important;--paper-muted:var(--stone)!important}
body .ledger .x,body .ledger .lw,body .wf-label .chev{color:var(--stone)!important}
body .ct td.terms{color:var(--stone)!important}
body .pref[aria-pressed="true"]{background:var(--slate-blue)!important;border-color:var(--slate-blue)!important;color:var(--white)!important}
body .pref:disabled{color:var(--stone)!important;border-color:var(--rule)!important}
body .dt-redesign{--bg:var(--paper)!important;--panel:var(--white)!important;--ink:#1A1613!important;--ink2:var(--stone)!important;--muted:var(--stone)!important;--border:var(--rule)!important;--grid:var(--rule)!important;--accent:var(--slate-blue)!important;--navy:#1A1613!important;--wine:var(--brick)!important}
body .dt-redesign th{background:var(--mist)!important;color:var(--stone)!important}
body .dt-redesign td{background:var(--white)}
body .protected-library h1,body .protected-library summary{color:var(--ink)!important}
body .protected-library label,body .protected-library .library-results-head,body .protected-library th{color:var(--stone)!important}
body .protected-library th{background:var(--mist)!important}
body .protected-library .library-eyebrow,body .protected-library button:not([type="submit"]){color:var(--slate-blue)}
body .rpt{--ink:#1A1613!important;--ink2:var(--stone)!important;--muted:var(--stone)!important;--faint:var(--stone)!important;--rule:#DAD6CF!important;--grid:var(--mist)!important;--lib:var(--pebble)!important;--lib-soft:var(--mist)!important;--rs:'EB Garamond',Georgia,serif!important;--rn:Arial,sans-serif!important}
body [data-protected-report="china"]{--t1:var(--brick)!important;--t2:var(--pebble)!important;--t3:var(--mist)!important;--t1ink:var(--brick)!important}
body [data-protected-report="rare"]{--t1:var(--data-teal)!important;--t2:var(--pebble)!important;--t3:var(--mist)!important;--t1ink:var(--data-teal)!important}
body [data-protected-report="ai-buyers"]{--t1:var(--slate-blue)!important;--t2:var(--data-blue)!important;--t3:var(--mist)!important;--t1ink:var(--slate-blue)!important}
body .rpt-report-expand{color:var(--slate-blue)!important}
/* Keep publication navigation at the upper right and the library tabs separate. */
.milestone-library-shell .masthead{display:grid;grid-template-areas:"brand nav";grid-template-columns:minmax(0,1fr) auto;align-items:center}
.milestone-library-shell .masthead-inner{grid-area:brand}.milestone-library-shell .top-nav{grid-area:nav;justify-self:end}
@media(max-width:800px){.milestone-library-shell .masthead{grid-template-areas:"nav" "brand";grid-template-columns:minmax(0,1fr);gap:12px}.milestone-library-shell .masthead-inner{justify-self:start}.milestone-library-shell .top-nav{justify-self:end;flex-wrap:nowrap;white-space:nowrap}}
/* Place the reset action alongside the asset heading at all viewport sizes. */
body>.wrap .rail{position:relative}
body>.wrap .rail-tools{position:absolute;top:12px;right:16px;margin:0}
body>.wrap .rail-h{padding-right:96px;min-height:32px}
/* Give the Price Builder title a full spacing step below the library tabs. */
body>.milestone-library-shell+header{padding-top:32px!important}
body>.wrap .rail-tools{top:16px}
body>.wrap .rail-h h2{font-size:19px;white-space:nowrap}
body .ct .x,body .ct .lw,body .set-line .flag,body .rpt .ak-w,body .rpt .ak-u,body .rpt .rpt-db-val{color:var(--stone)!important}
body .set-line,body .rpt .ak-row li{color:var(--ink)!important}
body .rpt [style*="background:#7d3b40"],body .rpt [style*="background: #7d3b40"]{background-color:var(--brick)!important}
body .rpt [style*="background:#b07a7e"],body .rpt [style*="background: #b07a7e"]{background-color:var(--pebble)!important}
body .rpt [style*="background:#4f857e"],body .rpt [style*="background: #4f857e"]{background-color:var(--data-teal)!important}
body .rpt [style*="background:#94bab3"],body .rpt [style*="background: #94bab3"]{background-color:var(--pebble)!important}
body .rpt [style*="background:#8ea2b8"],body .rpt [style*="background: #8ea2b8"]{background-color:var(--data-blue)!important}
/* Distinguish selected rows while keeping their surfaces on the palette. */
body .ct tr.ref td,body .dt-redesign tr.sel td{background:var(--mist)!important}
body .dt-redesign .mix-bars .lt,body .dt-redesign .mix-bars .bt u{background:var(--amber)!important}
body .rpt .rpt-nov-note,body .rpt .rpt-db-panel{background:var(--paper-wash)!important}
body .rpt .rpt-db-title{color:var(--stone)!important}
/* Older frozen chart SVGs carry literal presentation attributes. Map each
   recorded series to a token without altering values, geometry or ordering. */
body .rpt svg [fill="#7d3b40" i]{fill:var(--brick)!important}
body .rpt svg [stroke="#7d3b40" i]{stroke:var(--brick)!important}
body .rpt svg [fill="#4f857e" i]{fill:var(--data-teal)!important}
body .rpt svg [stroke="#4f857e" i]{stroke:var(--data-teal)!important}
body .rpt svg [fill="#8ea2b8" i]{fill:var(--data-blue)!important}
body .rpt svg rect[fill="#b0aba1" i],body .dt-redesign svg rect[fill="#c9c5bc" i],body .dt-redesign svg rect[fill="#8a1020" i]{fill:var(--brick)!important}
/* On paired China bars, keep the formerly red series distinct from Brick. */
body [data-protected-report="china"] svg:has(rect[fill="#b0aba1" i]) rect[fill="#7d3b40" i]{fill:var(--data-blue)!important}
body .rpt svg text[fill="#141414" i],body .rpt svg text[fill="#2b2925" i]{fill:var(--ink)!important}
body .rpt svg text[fill="#6b6963" i],body .rpt svg text[fill="#5b5852" i],body .rpt svg text[fill="#9a978f" i]{fill:var(--stone)!important}
body .rpt svg [stroke="#d8d5ce" i],body .rpt svg [stroke="#e3e0d9" i],body .rpt svg [stroke="#efede8" i],body .rpt svg [stroke="#bdb8ae" i]{stroke:var(--rule)!important}
/* Remaining observed labels, controls and series use the agreed shared tokens. */
body .dt-redesign{--amber:var(--below)!important}
body .dt-redesign .mix-legend .lt,body .dt-redesign .mix-bars .bt u{background:var(--below)!important}
body .dt-redesign .mix-legend span{color:var(--stone)!important}
body .dt-redesign .prof h5{color:var(--ink)!important}
body .dt-redesign i[style*="background:#c9c5bc" i]{background:var(--brick)!important}
body .protected-library [data-apply-filters]{background:var(--slate-blue)!important;color:var(--white)!important}
body .protected-library .library-archive-search p,body .protected-library [data-library-page],body .protected-library .library-heading p:not(.library-eyebrow){color:var(--stone)!important}
body .rpt .rpt-bullets li,body .rpt .rpt-price-lead,body .rpt .rpt-bullets b{color:var(--ink)!important}
body .rpt .ak-p,body .rpt .ak-d,body .rpt .ak-row li span,body .rpt .rpt-co-meta,body .rpt .rpt-co-row .d{color:var(--stone)!important}
body .rpt .ak-bar{background:var(--rule)!important}
body .rpt svg rect[fill="#b07a7e" i]{fill:var(--pebble)!important}
body .rpt svg circle[fill="#e3e0d9" i]{fill:var(--rule)!important}
body .protected-library h1+p,body .rpt .rpt-text,body .rpt .rpt-co-row p,body .rpt li>span.d{color:var(--stone)!important}
body .rpt .rpt-co-top b{color:var(--ink)!important}
body .rpt .ak-bar i[style*="#1f7a70" i]{background:var(--data-teal)!important}
body .rpt .ak-bar i[style*="#c08a2b" i]{background:var(--amber)!important}
/* Buyer behavior pairs retain distinct colors for large and smaller buyers. */
body .bb-report{--t1:var(--slate-blue)!important;--t2:var(--data-teal)!important;--t3:var(--mist)!important;--t1ink:var(--slate-blue)!important;--bb-large:var(--slate-blue)!important;--bb-other:var(--data-teal)!important;--bb-large-pale:var(--paper-wash)!important;--bb-other-pale:var(--mist)!important}
body .bb-report .bb-mix{background:var(--rule)!important}
body .bb-report svg [fill="#66528f" i]{fill:var(--slate-blue)!important}
body .bb-report svg [fill="#16858b" i]{fill:var(--data-teal)!important}
body .bb-report .bb-gcols .b.l{background:var(--slate-blue)!important}
body .bb-report .bb-gcols .b.o{background:var(--data-teal)!important}
body .rpt .rpt-co-row span.w{color:var(--stone)!important}
body .rpt .rpt-co-row span.w b{color:var(--ink)!important}
body .rpt li>span.w{color:var(--stone)!important}
body .rpt li>span.w b{color:var(--ink)!important}
body .bb-report details>span{color:var(--stone)!important}
body .bb-report i[style*="#66528f" i]{background:var(--slate-blue)!important}
body .bb-report i[style*="#16858b" i]{background:var(--data-teal)!important}
body .bb-report .bb-who-n span{color:var(--stone)!important}
body .bb-report .rpt-db-dot[style*="#66528f" i]{background:var(--slate-blue)!important}
body .bb-report .rpt-db-dot[style*="#16858b" i]{background:var(--data-teal)!important}
/* Price Builder adjustments. Baseline, increases and total in ink, reductions brick. */
body .wf-row.t-base .wf-bar{background:var(--ink)!important}
body .wf-row.go-up .wf-bar{background:var(--ink)!important}
body .wf-row.go-down .wf-bar{background:var(--brick)!important}
body .wf-row.go-up+.wf-detail{border-left-color:var(--ink)!important}
body .wf-row.go-down+.wf-detail{border-left-color:var(--brick)!important}
/* Start and end bars: dark with sparse diagonal lines, so they read apart from the solid increases. */
body>.wrap .wf-row.t-base .wf-bar,body>.wrap .wf-row.t-final .wf-bar{background-color:var(--ink)!important;background-image:repeating-linear-gradient(135deg,transparent 0 13px,var(--pebble) 13px 14px)!important}
/* Step labels are quiet: grey and regular weight. */
body .wf-row .wf-label b,body .wf-row.t-base .wf-label b{font-weight:400;color:var(--stone)}
body .sec .wf-label{text-wrap:pretty}
/* The total reads like an accounting total: a rule above it, no band, no heavier weight. */
body .wf-row.t-final,body .wf-row.t-final:hover{background:none!important;color:var(--ink)!important;margin:8px 0 0!important;padding:12px 4px 4px!important;border-top:1px solid var(--ink)}
body .wf-row.t-final .wf-num{font-size:15px!important;font-weight:400!important;color:var(--ink)!important}
body .wf-row.t-final .wf-label{text-align:right}
body .wf-row.t-final .wf-label b{font-size:13px!important;font-weight:400!important;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--ink)!important}
body .wf-row.t-final .wf-label b::after{content:':'}
body .wf-row.t-final .wf-bar{background:var(--ink)!important;opacity:1!important}
/* Long step names never run into the track: one line when there is room, wrapped when there is not. */
@media(min-width:561px){body .sec .wf-row{grid-template-columns:minmax(min(372px,56%),1.2fr) minmax(160px,1.5fr) 56px}body .sec .wf-label b{white-space:normal}}
/* Steps with no effect fold under one row (library.js). */
body .mf-no-effect-toggle{width:100%;border:0;background:none;font:inherit;color:inherit;text-align:left}
body .mf-no-effect-toggle:hover{background:var(--tint)}
/* Dashboard chrome: tabs, headings and summary figures in the publication's language, hairlines instead of boxes. Filters, charts and figures are untouched. */
body .dt-redesign .dbx-toc.dbx-topnav{justify-content:flex-start;gap:24px;margin:0 0 32px;padding:8px 0 0;background:var(--paper);border:0;border-bottom:1px solid var(--rule)}
body .dt-redesign .dbx-topnav button,body .dt-redesign .dbx-topnav button:nth-of-type(odd){gap:8px;padding:8px 0;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;font:700 14px/1.4 Arial,sans-serif;color:var(--stone)}
body .dt-redesign .dbx-topnav button .no,body .dt-redesign .dbx-topnav button.on .no{width:auto;height:auto;background:none;color:inherit;font:700 14px/1.4 Arial,sans-serif}
body .dt-redesign .dbx-topnav button:hover{color:var(--ink);border-bottom-color:var(--pebble)}
body .dt-redesign .dbx-topnav button.on{color:var(--ink);border-bottom-color:var(--slate-blue)}
body .dt-redesign .dbx-sec{margin-bottom:64px}
body .dt-redesign .dbx-head{gap:12px;border-top:1px solid var(--rule);padding-top:32px;margin-bottom:24px}
body .dt-redesign .page>.dbx-sec:first-child .dbx-head{border-top:0;padding-top:0}
body .dt-redesign .dbx-no{width:24px;height:24px;background:var(--ink);color:var(--white);font:400 13px/1 Arial,sans-serif}
body .dt-redesign .dbx-head .dbx-q{font:500 32px/1.15 'EB Garamond',serif;letter-spacing:0}
body .dt-redesign .dbx-grid{gap:32px}
body .dt-redesign .dbx-body{gap:24px}
body .dt-redesign .kpis{gap:0;margin:0;background:none;border:0;border-block:1px solid var(--rule)}
body .dt-redesign .kpi{background:none;border:0;border-left:1px solid var(--rule);padding:16px 24px}
body .dt-redesign .kpi:first-child{border-left:0;padding-left:0}
body .dt-redesign .kpi .n{font:500 32px/1.15 'EB Garamond',serif}
body .dt-redesign .kpi .l{margin-top:4px;font-size:14px;color:var(--stone)}
body .dt-redesign .card{border:0;padding:24px}
body .dt-redesign .card .foot{font-size:13px;color:var(--stone)}
body .dt-redesign .chart-expand{margin-top:12px}
/* Filters: one label style, regular-weight values. */
body .dt-redesign .dbx-rail .filters{border:0;background:var(--white);padding:16px}
body .dt-redesign .fhead b{font:500 19px/1.25 'EB Garamond',serif}
body .dt-redesign .dbx-rail-h,body .dt-redesign .dbx-rail .frow label,body .dt-redesign .fchecks legend,body .dt-redesign .science-filter-field label{font:700 13px/1.4 Arial,sans-serif;letter-spacing:0;text-transform:none;color:var(--ink)}
body .dt-redesign .dbx-rail select,body .dt-redesign .dbx-rail input[type=search]{font:400 14px Arial,sans-serif;color:var(--ink)}
body .dt-redesign .ta-sugg span{font-size:13px;color:var(--stone)}
body .dt-redesign .ta-sugg button,body .dt-redesign .dbx-chip{border:1px solid var(--rule);background:none;font:13px Arial,sans-serif;color:var(--ink)}
body .dt-redesign .ta-sugg button:hover,body .dt-redesign .dbx-chip:hover{border-color:var(--stone)}
body .dt-redesign .dbx-fbtn{border-color:var(--rule);color:var(--ink);background:none}
/* Side panels sit on the page ground behind a hairline. */
body .dt-redesign .dbx-ins{background:none;border:0;border-top:1px solid var(--rule);padding:16px 0}
body .dt-redesign .dbx-ins>.dbx-ins-h{grid-column:1/-1}
body .dt-redesign .dbx-insight{align-content:start;gap:4px}
body .dt-redesign .dbx-ins.dbx-prof .card{border-top:0}
/* The Price Benchmarks panel: two groups side by side, each figure above its label. */
body .dt-redesign .price-stage-card .legend{display:none}
body .dt-redesign .price-ins{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:24px;padding:24px 0 0}
body .dt-redesign .price-ins .dbx-ins-h{grid-column:1/-1}
body .dt-redesign .price-ins-group{display:grid;gap:16px;align-content:start}
body .dt-redesign .price-ins-group h4{margin:0;font:500 19px/1.25 'EB Garamond',serif}
body .dt-redesign .price-ins .dbx-insight{gap:8px;padding-bottom:16px}
body .dt-redesign .price-pair{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:8px;align-items:start}
body .dt-redesign .price-pair>div{min-width:0}
body .dt-redesign .price-pair b{display:block;font:400 26px/1.05 'EB Garamond',serif;color:var(--ink)}
body .dt-redesign .price-pair strong{display:block;margin-top:4px;font:400 13px/1.4 Arial,sans-serif;color:var(--stone)}
body .dt-redesign .price-pair i{padding-top:8px;font:400 13px/1 Arial,sans-serif;color:var(--stone)}
@media(max-width:800px){body .dt-redesign .price-ins{grid-template-columns:1fr}body .dt-redesign .kpi{padding:12px 16px}}
/* More charts: disclosure rows, like the Price Builder's, instead of pills. */
body .dt-redesign .dbx-add-row{display:grid;gap:0;border-top:1px solid var(--rule)}
body .dt-redesign .dbx-add{display:flex;width:100%;gap:12px;padding:12px 0;background:none;border:0;border-bottom:1px solid var(--rule);font:14px/1.4 Arial,sans-serif;color:var(--ink);text-align:left}
body .dt-redesign .dbx-add:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
body .dt-redesign .dbx-add.on{background:none;color:var(--ink);font-weight:700}
body .dt-redesign .dbx-add.on span{color:var(--ink)}
/* Report pages open with their headline. */
body .shell>.report-title{margin:32px 0;font:500 clamp(40px,4.2vw,52px)/1.08 'EB Garamond',serif;color:var(--ink);text-wrap:balance}
@media(max-width:800px){body .shell>.report-title{font-size:34px}}

/* Deals and Buyer Behavior line up with the page; one heading; library-blue checkboxes. */
body .protected-library{max-width:none!important;padding-inline:0!important}
body .protected-library .library-eyebrow{display:none}
body input[type=checkbox],body .dt-redesign .fchecks input{accent-color:var(--slate-blue)!important}
body .protected-library h1{font-family:'EB Garamond',Georgia,serif!important;font-weight:500!important}

/* Keep condition suggestions below the search row instead of over its button. */
@media(min-width:901px){
  .protected-library .library-controls>.library-search{grid-column:1;grid-row:1}
  .protected-library .library-controls>.library-controls-bottom{grid-column:2;grid-row:1}
  .protected-library .library-controls>.library-suggestions{grid-column:1/-1;grid-row:2}
}
@media(max-width:900px){
  .protected-library .library-controls>.library-suggestions{grid-column:1/-1}
}
body .rpt,body[data-report] .rpt .rpt-summary{max-width:none}
body .view-commandbar,body .view-heading{max-width:none!important;margin-left:0!important;padding-left:0!important}
/* Round two of the owner's review. */
/* Space under the licensee lines, and even spacing for the closed sections below the walk. */
body .side{padding:12px 0 16px}
body .fold .preview:empty{display:none}
/* Stack the Price Builder's two columns before its tables run out of room. */
@media(max-width:1180px){body>.wrap{grid-template-columns:minmax(0,1fr)!important}}
/* What Moves the Price: name, the two effects, then the toggle. */
@media(min-width:561px){
body .dt-redesign .lrow.lrow2{grid-template-columns:minmax(0,1fr) auto 26px;gap:16px}
body .dt-redesign .lrow.lrow2 .nm{grid-column:1;grid-row:1}
body .dt-redesign .lrow.lrow2 .effs{grid-column:2;grid-row:1}
body .dt-redesign .lrow.lrow2 .plus{grid-column:3;grid-row:1}
}
/* Disclosure rows keep one hairline when open. */
body .dt-redesign .dbx-add.on{border-color:var(--rule)}
/* A chart with a fixed narrow width gets a card that fits it, not a half-empty box. */
body .dt-redesign .card:has(>svg.ch[style*="width:410px"]),body .dt-redesign .card:has(>svg.ch[style*="width:150px"]){width:fit-content;max-width:100%}
body .dt-redesign svg.ch[style*="width:640px"]{width:100%!important;max-width:800px!important;height:auto}
/* Deals: regular-weight controls, one-line column heads. */
body .protected-library select{font-weight:400}
body .protected-library .library-controls label{font-weight:400;color:var(--ink)}
body .protected-library th{white-space:nowrap}
/* The dot plots label every point; their axis has no width and only collided. */
body .bb-report .rpt-db-axis{display:none}
/* Report sections sit on the page's left edge, under their headings. */
body .rpt .rpt-kinds{grid-template-columns:minmax(0,1fr)!important}
body .rpt .rpt-split{margin-inline:0!important;max-width:none!important;justify-content:stretch!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
body .rpt .rpt-split>div{padding-left:0!important;padding-right:0!important}
body .rpt .rpt-alt{background:none!important}
@media(max-width:800px){body .rpt .rpt-split{grid-template-columns:minmax(0,1fr)!important}}
body .rpt .rpt-price{margin-inline:0!important;justify-content:start!important}

/* Momentum bars use the muted above and below colours. */
body .dt-redesign{--dv-up:var(--above)!important;--dv-down:var(--below)!important}

/* The two top bars stay in view on desktop; anything that sticks inside a tool sits below them. */
@media(min-width:801px){
html{scroll-padding-top:calc(var(--bars) + 16px)}
:root{--nav-h:var(--bars)!important}
body>.milestone-library-shell:first-child{position:sticky;top:0;z-index:30}
body .dt-redesign .dbx-rail{top:calc(var(--bars) + 64px);max-height:calc(100vh - var(--bars) - 76px)}
body .dt-redesign .subnav,body .section-tabs{top:var(--bars)}
body .rpt .rpt-nav{top:var(--bars)!important}
body .focus-detail{top:calc(var(--bars) + 16px)}
}
.milestone-library-nav .library-status{margin-left:auto;color:var(--slate-deep);font-size:13px}
@media(max-width:800px){.milestone-library-nav .library-status{display:none}}
/* In the narrower page the estimate and its walk-through stack, so the walk-through's text gets a full line. */
body>.wrap .hero-grid{grid-template-columns:minmax(0,1fr)!important}
/* Less empty space. Report sections lost their alternating bands, so their padding only left gaps. */
body .rpt .rpt-q{margin-bottom:24px!important}
body .rpt .rpt-q.rpt-v2{padding-top:24px!important;padding-bottom:24px!important}
body .dt-redesign .dbx-sec{margin-bottom:48px}
/* A Dashboard section tab lands its heading just under the fixed bars and the section tabs. */
@media(min-width:801px){body .dt-redesign .dbx-sec{scroll-margin-top:40px}}
/* Price Benchmarks: charts at left, In View in the right-hand panel, like the other Dashboard sections.
   The pinned dashboard page lacks these layout rules, which the main app page has. */
@media(min-width:1181px){
body .dt-redesign .price-combined{display:grid;grid-template-columns:minmax(0,1fr) 230px;column-gap:32px;padding:0;background:none;border:0}
body .dt-redesign .price-combined-head{grid-column:1;grid-row:1;background:var(--white);padding:24px 24px 8px}
body .dt-redesign .price-combined-head h2{white-space:nowrap}
body .dt-redesign .price-combined .price-stage-card{grid-column:1;background:var(--white);padding:16px 24px;border:0}
body .dt-redesign .price-combined .price-license{grid-row:2}
body .dt-redesign .price-combined .price-ma{grid-row:3}
body .dt-redesign .price-combined .price-ins{grid-column:2;grid-row:1/4;align-self:start;align-content:start;grid-template-columns:minmax(0,1fr);gap:16px;margin:0;padding:16px 0}
body .dt-redesign .price-combined .price-ins-group+.price-ins-group{border-top:1px solid var(--rule);padding-top:16px}
body .dt-redesign .price-combined .price-pair{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:4px}
body .dt-redesign .price-combined>.foot{grid-column:1/-1;margin:8px 0 0}
}
/* The headline figures fit their column in the narrower page. */
body .dt-redesign .kpi{padding:16px}
/* These charts scale with their column, so their labels are set larger to stay near 11px in the narrower page. */
body .dt-redesign svg.ch[viewBox^="0 0 640"]{overflow:visible}
body .dt-redesign svg.ch[viewBox^="0 0 640"] text{font-size:15px!important}
/* The pinned page offsets these tabs by 46px for a header hidden here, which let charts show above them. */
body .dt-redesign .dbx-toc.dbx-topnav{top:var(--bars)}
/* Every chart rectangle carries a hairline border. Filters match. */
body .dt-redesign .card,body .dt-redesign .dbx-ins.dbx-prof .card,body .dt-redesign .dbx-rail .filters{border:1px solid var(--rule)}
body .dt-redesign .card{border-color:var(--rule)!important}
@media(min-width:1181px){
body .dt-redesign .price-combined{border:0}
body .dt-redesign .price-combined-head{border:1px solid var(--rule);border-bottom:0}
body .dt-redesign .price-combined .price-stage-card{border:1px solid var(--rule);border-top:0;border-bottom:0}
body .dt-redesign .price-combined .price-ma{border-bottom:1px solid var(--rule)}
}
/* Modality Mix and First-in-Class share one row on desktop. */
@media(min-width:1181px){
body .dt-redesign .dbx-body .grid.assets-primary{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px;align-items:stretch}
body .dt-redesign .assets-primary .card:has(>svg.ch[style*="width:410px"]){width:auto}
body .dt-redesign .assets-primary svg.ch[style*="width:410px"]{width:100%!important;height:auto;overflow:visible}
body .dt-redesign .assets-primary svg.ch[style*="width:410px"] text{font-size:14px!important}
body .dt-redesign .assets-primary .br{grid-template-columns:minmax(0,120px) minmax(0,1fr) 36px;gap:8px}
body .dt-redesign .assets-primary .bl{white-space:normal;overflow:visible;line-height:1.25}
}
/* More charts: compact links that wrap on one line, not full-width rows. One underline on hover, on the name only. */
body .dt-redesign .dbx-add-row{display:flex;flex-wrap:wrap;gap:4px 24px;padding:12px 0;border:0;border-top:1px solid var(--rule)}
body .dt-redesign .dbx-add,body .dt-redesign .dbx-add:hover,body .dt-redesign .dbx-add.on{display:inline-block;width:auto;padding:4px 0;border:0;background:none}
body .dt-redesign .dbx-add>span:first-child{display:inline-block;margin-right:8px;text-decoration:none}
body .dt-redesign .dbx-add{min-height:0}
body .dt-redesign .dbx-sec{margin-bottom:32px}
/* Side panels sit beside the charts from 1181px, with a slimmer filter rail and tighter table cells. Below that they stack, because the buyer table needs the room. */
@media(max-width:1180px){body .dt-redesign .dbx-grid{grid-template-columns:minmax(0,1fr)}}
@media(min-width:1181px){
body .dt-redesign :has(>.dbx-rail){grid-template-columns:210px minmax(0,1fr)!important}
body .dt-redesign .dbx-rail .filters{padding:16px 12px}
body .dt-redesign .ta-sugg{gap:4px}
body .dt-redesign .ta-sugg button{padding:4px 6px}
body .dt-redesign .card .t th,body .dt-redesign .card .t td{padding-left:4px;padding-right:4px}
}
/* The wordmark's line spans the whole name; on smaller screens the menu folds behind a hamburger button. */
.milestone-library-shell .wordmark>span:first-child{padding-right:.06em}
.milestone-library-shell .nav-toggle,.milestone-library-shell .nav-button{display:none}
@media(max-width:800px){
.milestone-library-shell .masthead{position:relative;display:grid;grid-template-areas:"brand";grid-template-columns:minmax(0,1fr);gap:0;padding:8px 16px;min-height:60px;height:auto;overflow:hidden}
.milestone-library-shell .masthead-inner{justify-self:start;gap:12px;padding-right:44px}
.milestone-library-shell .masthead .wordmark{font-size:28px}
.milestone-library-shell .masthead-inner:after{font-size:11px;padding-left:12px}
.milestone-library-shell .nav-toggle{display:block;position:absolute;width:1px;height:1px;margin:0;opacity:0}
.milestone-library-shell .masthead:has(.nav-toggle:checked){grid-template-areas:"brand" "nav";row-gap:8px}
.milestone-library-shell .nav-button{display:flex;flex-direction:column;justify-content:center;gap:5px;position:absolute;top:8px;right:6px;width:44px;height:44px;padding:0 10px;cursor:pointer}
.milestone-library-shell .nav-button span{display:block;height:2px;background:var(--ink);transition:transform .15s,opacity .15s}
.milestone-library-shell .nav-toggle:focus-visible+.nav-button{outline:2px solid var(--lake);outline-offset:-2px}
.milestone-library-shell .nav-toggle:checked+.nav-button span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.milestone-library-shell .nav-toggle:checked+.nav-button span:nth-child(2){opacity:0}
.milestone-library-shell .nav-toggle:checked+.nav-button span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.milestone-library-shell .top-nav{display:none;grid-area:nav;justify-self:stretch}
.milestone-library-shell .nav-toggle:checked~.top-nav{display:flex;flex-direction:column;align-items:stretch;gap:0;white-space:normal}
.milestone-library-shell .nav-toggle:checked~.top-nav a{display:block;padding:12px 0;border-top:1px solid var(--rule);font-size:16px}
}
@media(max-width:360px){.milestone-library-shell .masthead .wordmark{font-size:24px}}

/* All Library pages share the overview content width. */
@media(min-width:801px){
  body>main.shell:has(> .report-title){width:min(968px,calc(100% - 2*var(--page-gutter)))!important;max-width:968px!important}
  body[data-group="library"]>main.shell{width:min(968px,calc(100% - 2*var(--page-gutter)))!important;max-width:968px!important}
}
@media(min-width:1001px){
  body[data-group="library"] .protected-library .results table{min-width:0}
  body[data-group="library"] .protected-library .results th,body[data-group="library"] .protected-library .results td{padding-left:8px;padding-right:8px}
}
/* Keep the comparison figures closer to their descriptions. */
@media(min-width:1181px){body .dt-redesign .lrow.lrow2{grid-template-columns:minmax(0,360px) auto 26px;justify-content:start}}
/* The Library overview and tools share one content width. */
:root{--page-width:968px;--page-gutter:clamp(32px,4.5vw,128px)}
/* The top bars, sign-up and footer share each page's body width, so their edges line up. */
@media(min-width:801px){
body:has(>main.shell>.report-title){--page-width:968px}
body[data-group="library"]{--page-width:968px}
body[data-report]{--page-width:968px}
}
@media(min-width:801px){body>.milestone-library-shell+header{width:min(var(--page-width),calc(100% - 2*var(--page-gutter)))}}

/* Shared sign-up reads the same as on every other page. */
.milestone-library-shell .signup h2{margin-bottom:12px;line-height:1.15}
.milestone-library-shell .signup p:not(.label){color:var(--stone)}
.milestone-library-shell .signup button{font:700 14px Arial,sans-serif}

/* Figures never say how many deals sit behind them. */
body .dt-redesign .ev-n{display:none}

/* Dashboard: the change sits beside its figure; date ranges are captions, not headlines; table rows centre on one line. */
body .dt-redesign .kpi .n small{display:inline-block;margin-left:6px;font:400 14px/1 Arial,sans-serif;color:var(--stone);white-space:nowrap}
body .dt-redesign [data-signing-window]{margin-left:8px;font:400 13px/1.3 Arial,sans-serif;color:var(--stone);white-space:nowrap}
body .dt-redesign .card .t td{vertical-align:middle}


/* Reports: square corners, apart from plot dots; company logos at one modest size. */
body .rpt *:not(.rpt-db-dot):not(.d){border-radius:0!important}
body .rpt .buyer-logo-img{max-width:96px;max-height:22px;width:auto;height:auto}

/* Rare disease repurposing: the pinned report page has no rules for this panel. */
body .rpt [data-el="b2"] .rpt-h3,body .rpt [data-el="b2"] .rpt-note{text-align:left;margin-left:0;margin-right:0;max-width:none}
body .rpt [data-el="b2"] .rpt-b2grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;max-width:none;margin:24px 0 16px}
body .rpt .rpt-repurpose-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:12px}
body .rpt .rpt-repurpose-heading h4{margin:0;font:500 19px/1.25 'EB Garamond',Georgia,serif;color:var(--ink)}
body .rpt .rpt-repurpose-discount{text-align:right}
body .rpt .rpt-repurpose-discount b,body .rpt .rpt-repurpose-discount small{display:block}
body .rpt .rpt-repurpose-discount b{font:500 19px/1.25 'EB Garamond',Georgia,serif;color:var(--theme-rare)}
body .rpt .rpt-repurpose-discount small{margin-top:2px;font:400 13px/1.35 Arial,sans-serif;color:var(--stone)}
body .rpt .rpt-repurpose-row{display:grid;grid-template-columns:88px minmax(0,1fr) 48px;align-items:center;gap:8px;margin:8px 0;font:400 14px/1.4 Arial,sans-serif;color:var(--ink)}
body .rpt .rpt-repurpose-track{display:block;height:12px;background:var(--rule)}
body .rpt .rpt-repurpose-track i{display:block;height:100%}
body .rpt .rpt-repurpose-track i.rep{background:var(--data-teal)}
body .rpt .rpt-repurpose-track i.new{background:var(--pebble)}
body .rpt .rpt-repurpose-row strong{font-weight:400;text-align:right}
@media(max-width:700px){body .rpt [data-el="b2"] .rpt-b2grid{grid-template-columns:minmax(0,1fr);gap:24px}}

/* Dot plots: row names sit at the left edge. */
body .rpt .rpt-db-row{text-align:left}
body .rpt .rpt-db-label{justify-content:flex-start;text-align:left}

/* Dashboard: the Price Benchmarks filter button sits beside its label. */
body .dt-redesign .dbx-try.price-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
body .dt-redesign .dbx-try.price-filters>.dbx-ins-h{flex-basis:auto;margin:0}
/* Report summary charts: labels clear the low starting dot. */
body .rpt svg[viewBox="0 0 104 64"]{overflow:visible}
body .rpt svg[viewBox="0 0 104 64"] text{transform:translateY(4px)}
/* The footer's columns sit at one spacing on every page. */
@media(min-width:801px){.milestone-library-shell .footer-cols{column-gap:40px}}
/* Report deal tables keep their last column in view down to a 1000px window. */
@media(max-width:1100px){body .rpt .rpt-deals th,body .rpt .rpt-deals td{padding-right:10px}}
/* Phones: in the single-grid dot plot the axis took the first cell and pushed each row name one row out of line. Every dot carries its value, so the axis goes. */
@media(max-width:700px){body .rpt .rpt-db-axis{display:none}}
/* Phones: the named-deal callouts on the China chart cannot fit side by side. The biggest deals are listed just below it. */
body .rpt svg[viewBox="0 0 358 300"] .rpt-rise-m,body .rpt svg[viewBox="0 0 358 300"]:has(.rpt-rise-m) line[stroke-dasharray]{display:none}
/* Phones: the last two year labels on the China chart keep a gap. */
body .rpt svg[viewBox="0 0 358 300"] text.rpt-rise-y{font-size:11px}
body .rpt svg[viewBox="0 0 358 300"] text.rpt-rise-y[x^="327."]{transform:translateX(8px)}

/* House rules, November 6. */
/* Every table opens with a rule above its top row and a hairline below it. Box shadows, because borders on collapsed tables do not stay with a sticky header. */
body table>thead>tr:first-child>*,body table>tbody:first-child>tr:first-child>*{box-shadow:inset 0 1px 0 var(--ink),inset 0 -1px 0 var(--rule)!important;padding-top:8px!important;padding-bottom:8px!important}
/* Callouts and lead sentences are Arial. Garamond is for names, titles, headings and the reading text of articles and interviews. */
body .rpt .rpt-nov-note{font:400 16px/1.5 Arial,sans-serif!important}
body .rpt .rpt-price-lead{font:400 18px/1.4 Arial,sans-serif!important;max-width:46ch}
/* What Moves the Price is one table: one header row, and every figure at the same place in every row. The group names were repeated in every row with legend squares. */
@media(min-width:561px){
body .dt-redesign .levers{--move-col:112px}
body .dt-redesign .levers .band,body .dt-redesign .lrow.lrow2{display:grid!important;grid-template-columns:minmax(0,1fr) var(--move-col) var(--move-col) 24px!important;column-gap:12px!important;align-items:center}
body .dt-redesign .levers .band{font:400 14px/1.4 Arial,sans-serif!important;color:var(--stone)!important;border-top:1px solid var(--ink)!important;border-bottom:1px solid var(--rule)!important;padding:8px 0!important}
body .dt-redesign .levers #pr-list>.band:first-child::before,body .dt-redesign .levers #pr-list>.band:first-child::after{font:700 13px/1.4 Arial,sans-serif;color:var(--ink);text-align:right;grid-row:1}
body .dt-redesign .levers #pr-list>.band:first-child::before{content:"Large Pharma";grid-column:2}
body .dt-redesign .levers #pr-list>.band:first-child::after{content:"Medium and Small";grid-column:3}
body .dt-redesign .lrow.lrow2 .effs{display:contents!important}
body .dt-redesign .lrow.lrow2 .eff{display:block!important;grid-row:1;text-align:right;position:relative}
body .dt-redesign .lrow.lrow2 .eff{width:auto!important;min-width:0!important;max-width:none!important}
body .dt-redesign .lrow.lrow2 .eff:nth-child(1){grid-column:2}
body .dt-redesign .lrow.lrow2 .eff:nth-child(2){grid-column:3}
body .dt-redesign .lrow.lrow2 .eff i{display:none!important}
body .dt-redesign .lrow.lrow2 .eff em{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
body .dt-redesign .lrow.lrow2 .eff b{display:block;font:400 17px/1.3 Arial,sans-serif!important;font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap}
body .dt-redesign .lrow.lrow2 .plus{grid-column:4;grid-row:1;justify-self:end}
}
@media(min-width:561px){body .dt-redesign .levers{--move-col:124px}}
/* A panel hugs its content. Modality Mix's rows are tighter and First-in-Class takes more of the row, so neither is left with empty space. */
@media(min-width:1181px){
body .dt-redesign .dbx-body .grid.assets-primary{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)!important}
body .dt-redesign .assets-primary .br{grid-template-columns:minmax(0,150px) minmax(0,1fr) 36px;padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important;min-height:20px}
body .dt-redesign .assets-primary .bars{gap:2px!important}
body .dt-redesign .assets-primary .card:has(>svg.ch[style*="width:410px"]){display:flex;flex-direction:column}
body .dt-redesign .assets-primary .card:has(>svg.ch[style*="width:410px"]) .foot{margin-top:auto;padding-top:12px}
}
/* AI Deals by Year fills its panel, with labels small enough not to collide. */
body .dt-redesign .card:has(>svg#as-ai){width:min(100%,420px)}
body .dt-redesign svg#as-ai{width:100%!important;height:auto;overflow:visible}
body .dt-redesign svg#as-ai text{font-size:7.5px!important}
/* The Deals table's own heavy rule gives way to the house table rule. */
body .protected-library .results{border-top:0!important}
/* One type system in the tools: pinned pages ask for Inter or Georgia, which the site does not use. */
@font-face{font-family:Inter;src:local('Arial');font-weight:400;font-style:normal}
@font-face{font-family:Inter;src:local('Arial Bold'),local('Arial-BoldMT');font-weight:500 900;font-style:normal}
body .protected-library,body .protected-library :is(p,button,summary,span,label,td,th,dt,dd),dialog.library-deal-panel,dialog.library-deal-panel :is(p,button,summary,span,dt,dd,a){font-family:Arial,sans-serif}
dialog.library-deal-panel h2{font:500 28px/1.15 'EB Garamond',Georgia,serif;color:var(--ink)}
dialog.library-deal-panel h3{font-family:'EB Garamond',Georgia,serif;font-weight:500}
body .info span{font-family:'EB Garamond',Georgia,serif}

/* Audit fixes, 2026-11-07. */
.mf-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.mf-hatch{display:inline-block;width:12px;height:12px;margin-right:8px;vertical-align:-2px;border:1px solid var(--pebble);background:repeating-linear-gradient(135deg,var(--stone) 0 1px,transparent 1px 3px)}
/* The one always-open fold repeats its card's title, so library.js labels it Hide while open. */
body .dt-redesign .dbx-add.on:only-child{font-weight:400;color:var(--stone)}
/* A long buyer name stays together, with its dates on their own line. */
body .dt-redesign .dbx-prof .prof h3{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px}
body .dt-redesign .dbx-prof .prof h3 [data-signing-window]{flex-basis:100%;margin-left:0}
body .dt-redesign .price-stage-card h3{font-weight:500}
/* Panels hug their content; large figures stay modest. */
body .rpt .rpt-db-multi{align-items:start}
body .rpt .rpt-price-big{font-size:36px;line-height:1.1}

/* Report hierarchy: section, panel, subsection, then supporting text. */
body .rpt .rpt-h2{font-size:clamp(28px,2.6vw,31px)}
body .rpt .rpt-h3{font-size:22px;line-height:1.25;font-weight:500;margin-bottom:10px}
body .rpt .rpt-h4{font-size:18px;line-height:1.3;font-weight:500}
body .rpt .rpt-co-top b{font-size:16px}
body .rpt .rpt-mini-card h4,body .rpt .rpt-repurpose-heading h4{font-size:18px}
body .rpt.bb-report .bb-who-col h3{font-size:21px}
body .rpt .rpt-h2:has(+ .rpt-note[data-signing-window]),body .rpt .rpt-h3:has(+ .rpt-note[data-signing-window]){margin-bottom:6px}
body .rpt .rpt-h2 + .rpt-note[data-signing-window],body .rpt .rpt-h3 + .rpt-note[data-signing-window]{margin-top:4px}
/* This line is explanatory copy rather than a chart title. */
body .rpt [data-el="b2"] > .rpt-h3{font:400 16px/1.45 Arial,sans-serif;margin-bottom:16px}
/* Preserve chart-label readability as SVGs shrink in narrow desktop layouts. */
@media(min-width:801px){body .rpt svg[viewBox="0 0 520 250"] text{font-size:13px!important}}
@media(min-width:801px) and (max-width:1000px){
  body .rpt .rpt-wide svg[viewBox="0 0 924 300"] text{font-size:14px!important}
  body .rpt .rpt-wide svg[viewBox="0 0 924 300"] text[x="462"][y="16"]{transform:translateY(16px)}
  body .rpt .rpt-wide svg[viewBox="0 0 924 300"] text[x="762"][y="42"]{transform:translateY(6px)}
}
@media(min-width:801px) and (max-width:900px){
  body .rpt .rpt-chart svg[viewBox="0 0 408 220"] text,body .rpt .rpt-chart svg[viewBox="0 0 408 240"] text{font-size:13px!important}
  body .rpt .rpt-bubbles svg text{font-size:12.9px!important}
  body .rpt .rpt-chart svg[viewBox="0 0 408 220"] text[y="212"]:nth-last-of-type(3){transform:translateX(-6px)}
}
body .protected-library .library-scroll-hint{color:var(--stone)}
body .view-heading h1.mf-report-heading{margin:0;font:500 clamp(40px,4.2vw,52px)/1.08 'EB Garamond',serif;color:var(--ink);text-wrap:balance}
@media(max-width:800px){body .view-heading h1.mf-report-heading{font-size:34px}}
/* Company profile, opened from Active Buyers. */
.protected-company{max-width:none;margin:0;padding:32px 0 48px;font:14px/1.5 Arial,sans-serif;color:var(--ink)}
.protected-company>button{margin:0 0 24px;padding:8px 16px;background:none;border:1px solid var(--slate-blue);color:var(--slate-blue);font:700 14px/1.4 Arial,sans-serif;cursor:pointer}
.protected-company>button:hover{background:var(--slate-blue);color:var(--white)}
.protected-company>p{margin:0 0 8px;color:var(--stone)}
.protected-company h1{margin:0 0 8px;font:500 clamp(40px,4.2vw,52px)/1.08 'EB Garamond',serif}
.protected-company>h2{margin:32px 0 12px;font:500 22px/1.2 'EB Garamond',serif}
.protected-company .company-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:24px;margin:24px 0 0}
.protected-company article{padding:12px 0 0;background:none;border:0;border-top:1px solid var(--ink)}
.protected-company article h2{margin:0 0 4px;font:500 19px/1.25 'EB Garamond',serif}
.protected-company article p{margin:0;font:400 16px/1.4 Arial,sans-serif;font-variant-numeric:tabular-nums}
.protected-company article ul{margin:0;padding:0;list-style:none}
.protected-company article li{padding:4px 0;border-bottom:1px solid var(--rule)}
.protected-company .company-table{overflow-x:auto}
.protected-company table{width:100%;min-width:650px;border-collapse:collapse}
.protected-company th,.protected-company td{padding:8px;border-bottom:1px solid var(--rule);text-align:left}
.protected-company td:first-child{white-space:nowrap}
.protected-company th:nth-last-child(-n+2),.protected-company td:nth-last-child(-n+2){text-align:right;font-variant-numeric:tabular-nums}

/* Walk Through the Estimate: heading, rules and rows share one left edge, number boxes are square, and the panel keeps equal padding at every width. */
body .ledger{padding:16px 24px 8px;border:1px solid var(--pebble)}
body .ledger .lr{grid-template-columns:18px 80px minmax(0,1fr) auto;padding-left:0;padding-right:0}
body .ledger .lr .n{box-sizing:border-box;width:18px;height:18px;line-height:16px}
@media(max-width:700px){
body .ledger{padding:16px 16px 8px}
body .ledger .lr{grid-template-columns:18px 64px minmax(0,1fr) auto}
}

/* What Moves the Price sits beside What Stands Out: a compact table, its row edges on its rules. */
body .dt-redesign .dbx-more-body{container-type:inline-size}
body .dt-redesign .lrow.lrow2{padding:8px 0!important}
body .dt-redesign .lrow.lrow2 .nm{font-size:17px}
body .dt-redesign .lrow.lrow2 .eff b{font-size:16px!important}
body .dt-redesign .levers.mf-has-stands{display:grid;grid-template-columns:minmax(0,1fr) 232px;column-gap:32px;align-items:start}
body .dt-redesign .levers.mf-has-stands>:not(.mf-stands){grid-column:1}
body .dt-redesign .mf-stands{grid-column:2;grid-row:1/span 4;padding-left:24px;border-left:1px solid var(--rule)}
body .dt-redesign .mf-stands .dbx-ins-h{margin:0 0 12px}
body .dt-redesign .mf-finding{all:unset;box-sizing:border-box;display:block;width:100%;padding:12px 0;border-top:1px solid var(--rule);cursor:pointer}
body .dt-redesign .mf-finding b{display:block;margin:0 0 4px;font:500 17px/1.25 'EB Garamond',Georgia,serif;color:var(--ink)}
body .dt-redesign .mf-finding span{display:block;font:400 13px/1.45 Arial,sans-serif;color:var(--stone)}
body .dt-redesign .mf-finding{align-self:start}
body .dt-redesign .mf-finding:hover b{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
body .dt-redesign .mf-finding:focus-visible{outline:2px solid var(--slate-blue);outline-offset:2px}
@container (max-width:860px){
body .dt-redesign .levers.mf-has-stands{grid-template-columns:minmax(0,1fr) 200px;column-gap:24px}
body .dt-redesign .levers.mf-has-stands .mf-stands{padding-left:16px}
body .dt-redesign .levers.mf-has-stands .band,body .dt-redesign .levers.mf-has-stands .lrow.lrow2{grid-template-columns:minmax(0,1fr) 96px 120px 24px!important}
}
@container (max-width:700px){
body .dt-redesign .levers.mf-has-stands{display:block}
body .dt-redesign .levers.mf-has-stands .mf-stands{padding-left:0}
body .dt-redesign .mf-stands{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;margin-top:16px;padding:16px 0 0;border-left:0;border-top:1px solid var(--ink)}
body .dt-redesign .mf-stands .dbx-ins-h{grid-column:1/-1}
}
@media(max-width:700px){body .dt-redesign .mf-stands{display:block}}
/* An invitation above the fold buttons, so they read as more to open rather than as a stray list. */
body .dt-redesign .dbx-add-row::before{content:"Open more views:";flex:0 0 100%;font:400 13px/1.4 Arial,sans-serif;color:var(--stone)}
body .dt-redesign .dbx-add-row:has(>.dbx-add:only-child)::before{content:"Open another view:"}
body .dt-redesign .dbx-add-row:not(:has(>.dbx-add:not(.on)))::before{display:none}
/* The buyer-group headings stay on one line, so the header row stays one line high. */
body .dt-redesign .levers .band::before,body .dt-redesign .levers .band::after{white-space:nowrap}
/* What Moves the Price detail: no deal counts on the page (standing rule), and its lead sentence is Arial like every other lead sentence. */
body .dt-redesign .lever .pricing-cohort{display:none!important}
body .dt-redesign .lever .xh{font:400 15px/1.5 Arial,sans-serif!important;color:var(--ink)}
/* Table text keeps its padding inside tinted header rows and white row bands: the band's edge is what lines up with the heading. The Deals header rule is a hairline: its sticky header draws the line itself, so the extra border goes. */
body .protected-library .results>table thead th{border-bottom:0!important}

/* The shared footer uses the firm’s full wordmark. */
.footer-company-logo img{display:block;width:150px;max-width:100%;height:auto}

/* Sign-up benefits use the publication's square milestone marks. */
.signup-benefits{list-style:none;margin:0 0 16px;padding:0;color:var(--stone);font:400 15px/1.45 Arial,sans-serif}
.signup-benefits li{position:relative;padding-left:16px;margin:0 0 8px}
.signup-benefits li:last-child{margin-bottom:0}
.signup-benefits li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;background:var(--lake)}
.signup-benefits a{color:var(--lake);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}

/* Give the comparison results more room while keeping asset controls readable. */
@media(min-width:901px){body>.wrap{grid-template-columns:320px minmax(0,1fr)!important;gap:16px!important}}
body>.wrap .rail input:not([type=checkbox]):not([type=radio]),body>.wrap .rail select,body>.wrap .rail textarea{font-family:Arial,sans-serif!important;font-size:16px!important}
body>.wrap .mf-table-scroll{display:block;margin:8px 0 4px;text-align:right;color:var(--stone);font:400 12px/1.4 Arial,sans-serif}
body>.wrap .mf-table-scroll[hidden]{display:none}

/* Deal-category definitions are opened beside their labels. */
.rpt .ak-label { display:flex; align-items:baseline; gap:6px; min-width:0; }
.rpt .ak-info { display:inline-block; position:relative; flex:none; }
body .rpt .ak-label .ak-info summary { display:grid; place-items:center; width:17px; height:17px; border:1px solid #99958d; border-radius:50% !important; color:#5b5852; font:italic 600 11px/1 Georgia,serif; cursor:pointer; list-style:none; }
.rpt .ak-info summary::-webkit-details-marker { display:none; }
.rpt .ak-info summary:hover,.rpt .ak-info summary:focus-visible { border-color:#3f5b7a; color:#3f5b7a; }
.rpt .ak-info-pop { position:absolute; z-index:20; top:23px; left:0; width:min(280px,65vw); padding:10px 12px; background:#fff; border:1px solid #c6c1b8; color:#34312d; font:14px/1.45 Arial,sans-serif; }

/* Company names in deal rows use the same bold sans-serif on both sides. */
body .rpt .rpt-co-top b { font:700 16px/1.3 Arial,sans-serif !important; }
