        :root {
            --paper:      #FDFBF7;
            --paper-soft: #F6F3EE;
            --surface:    #FFFFFF;
            --ink:        #1A1A18;
            --ink-soft:   #1f1f1d;
            --ink-faint:  #292926;
            --muted:      #2b2b27;
            --rule:       rgba(26,26,24,0.12);
            --hair:       rgba(26,26,24,0.08);

            /* Brand accent defaults (Castle). Overwritten at runtime from
               teams-config.js - do not hand-edit per team. */
            --brand:        #7C1518;
            --brand-bright: #92191C;
            --brand-ink:    #3E4141;
            --brand-wash:   rgba(124,21,24,0.06);

            --maxw: 1080px;
            --font-display: 'Libre Baskerville', Georgia, serif;
            --font-display-weight: 400;
            --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }
        html { -webkit-text-size-adjust: 100%; }
        body {
            background: var(--paper); color: var(--ink);
            font-family: var(--font-body);
            font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
        }
        a { color: inherit; }
        ::selection { background: var(--brand); color: #fff; }
        :focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; }
        .wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 44px; }

        .display { font-family: var(--font-display); font-weight: var(--font-display-weight, 400); letter-spacing: -0.01em; }
        .eyebrow { font-family: var(--font-body); font-size: 15px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--ink); }
        .lede { font-size: 16px; line-height: 1.55; color: var(--ink-soft); max-width: 36em; }

        /* Motif bar: crenel (castle), mosaic (pixel squares), rule (thin gradient) */
        .crenel { height: 7px; width: 100%;
            background: repeating-linear-gradient(to right, var(--brand) 0, var(--brand) 13px, transparent 13px, transparent 26px);
            -webkit-mask-image: linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%);
                    mask-image: linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%); }
        html[data-motif="mosaic"] .crenel { height: 8px;
            background: repeating-linear-gradient(to right, var(--brand) 0 8px, var(--brand-bright) 8px 14px, transparent 14px 24px); }
        html[data-motif="rule"] .crenel { height: 3px; -webkit-mask-image: none; mask-image: none;
            background: linear-gradient(to right, var(--brand-ink), var(--brand) 55%, var(--brand-bright)); }

        /* Team proof strip (optional module, config: stats) */
        .statstrip { border-bottom: 1px solid var(--hair); background: var(--surface); }
        .statstrip-in { max-width: var(--maxw); margin: 0 auto; padding: 20px 44px; display: grid;
            grid-template-columns: repeat(var(--statcols, 4), 1fr); gap: 20px; }
        .stat-cell .v { font-family: var(--font-display); font-weight: var(--font-display-weight, 400); font-size: 27px; color: var(--brand); line-height: 1.1; }
        .stat-cell .l { font-size: 13px; color: var(--ink-soft); margin-top: 3px; }
        @media (max-width: 900px) { .statstrip-in { padding: 18px 26px; grid-template-columns: 1fr 1fr; gap: 14px 20px; } }
        @media (max-width: 560px) { .statstrip-in { padding: 16px 20px; } .stat-cell .v { font-size: 22px; } }

        /* Team Rate Intel sample desk (module: rateintel) */
        .ri-teamonly { display: inline-block; font-size: 11px; font-weight: 700; color: #fff; background: var(--brand); border-radius: 5px; padding: 3px 9px; margin-left: 8px; vertical-align: 1px; }
        .ri-badge { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .08em; text-transform: uppercase;
            color: #92400E; background: #FFFBEB; border: 1px solid #FCD34D; border-radius: 5px; padding: 4px 9px; white-space: nowrap; }
        .ri-body { padding: 14px 18px 14px; background: var(--surface); }
        .ri-chrome { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding-bottom: 12px; margin-bottom: 12px; border-bottom: 1px solid var(--hair); }
        .ri-wordmark { font-family: 'JetBrains Mono', monospace; font-size: 14px; font-weight: 700; color: var(--ink); white-space: nowrap; }
        .ri-wordmark i { font-style: normal; font-weight: 400; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: var(--brand); display: block; margin-top: 1px; }
        .ri-navtabs { display: inline-flex; align-items: center; gap: 4px; background: var(--paper-soft); border: 1px solid var(--hair); border-radius: 9px; padding: 3px; }
        .ri-navtabs b, .ri-navtabs span { font-size: 12px; font-weight: 600; color: var(--muted); padding: 5px 12px; border-radius: 7px; white-space: nowrap; }
        .ri-navtabs b { background: var(--surface); color: var(--ink); box-shadow: 0 1px 3px rgba(0,0,0,.08); }
        .ri-mchips { margin-left: auto; display: inline-flex; gap: 8px; }
        .ri-mchip { font-family: 'JetBrains Mono', monospace; font-size: 11.5px; font-weight: 500; border-radius: 8px; padding: 6px 10px; white-space: nowrap; }
        .ri-mchip.ri-green { color: #047857; background: #ECFDF5; border: 1px solid #A7F3D0; }
        .ri-mchip.ri-teal { color: #0E7490; background: #ECFEFF; border: 1px solid #A5F3FC; }
        .ri-search { font-size: 13.5px; color: var(--muted); background: var(--surface); border: 1px solid var(--rule); border-radius: 10px; padding: 11px 16px; margin-bottom: 12px; }
        .ri-toolbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
        .ri-chip { font-size: 13px; font-weight: 600; color: #fff; background: var(--brand); border-radius: 7px; padding: 6px 12px; }
        .ri-chip-soft { color: var(--ink); background: var(--paper-soft); border: 1px solid var(--rule); }
        .ri-tabs { margin-left: auto; font-size: 13px; color: var(--ink-soft); white-space: nowrap; }
        .ri-tabs b { color: var(--ink); font-weight: 600; }
        .ri-gridpane { display: grid; grid-template-columns: 1fr; gap: 14px; }
        .ri-gridpane.open { grid-template-columns: 1.6fr 1fr; align-items: start; }
        .ri-grid { width: 100%; border-collapse: collapse; table-layout: fixed; }
        .ri-grid th { font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--muted);
            text-align: left; padding: 8px 10px; border-bottom: 2px solid var(--ink); }
        .ri-grid th:first-child { width: 96px; }
        .ri-grid td { border-bottom: 1px solid var(--hair); padding: 0; }
        .ri-grid td.term { font-size: 13px; font-weight: 600; color: var(--ink); padding: 10px; white-space: nowrap; }
        .ri-grid tr.vardivide td { border-top: 2px solid var(--rule); }
        .ri-cell { display: block; width: 100%; text-align: left; background: none; border: 0; font: inherit; cursor: pointer;
            padding: 9px 10px; border-left: 1px solid var(--hair); transition: background .15s; }
        .ri-cell:hover { background: var(--brand-wash); }
        .ri-cell .r { font-family: 'JetBrains Mono', monospace; font-size: 15px; font-weight: 500; color: var(--ink); }
        .ri-cell .ln { display: block; font-size: 11px; font-weight: 700; color: var(--ink-soft); margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .ri-cell .s { display: block; font-size: 10.5px; color: var(--muted); margin-top: 1px; }
        .ri-cell.best .r { color: #047857; font-weight: 700; }
        .ri-cell.promo .r { color: #92400E; }
        .ri-cell.promo .s::after { content: " · promo"; color: #B45309; font-weight: 700; }
        .ri-cell.sel { outline: 2px solid var(--brand); outline-offset: -2px; background: var(--brand-wash); }
        .ri-panel { border: 1px solid var(--rule); border-radius: 10px; background: var(--surface); padding: 14px 16px; box-shadow: 0 10px 30px -22px rgba(26,26,24,.5); }
        .ri-panel h4 { font-size: 13px; font-weight: 700; color: var(--ink); margin-bottom: 2px; }
        .ri-panel .ri-sub { font-size: 11.5px; color: var(--muted); margin-bottom: 8px; }
        .ri-back { display: inline-block; font-size: 12px; font-weight: 600; color: var(--brand); background: none; border: 0; cursor: pointer; padding: 0 0 8px; font-family: inherit; }
        .ri-lg { width: 22px; height: 22px; object-fit: contain; border-radius: 5px; background: #fff; border: 1px solid var(--hair); flex-shrink: 0; align-self: center; }
        .ri-row .stack { display: flex; flex-direction: column; min-width: 0; }
        .ri-row .stack .pn { font-size: 11.5px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .ri-xtag { display: inline-block; font-size: 10px; font-weight: 700; color: #fff; background: var(--brand); border-radius: 4px; padding: 2px 7px; margin-top: 2px; align-self: flex-start; }
        .ri-row { display: flex; align-items: baseline; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--hair); font-size: 13.5px; }
        .ri-row.haslogo { align-items: center; }
        .ri-row:last-child { border-bottom: 0; }
        .ri-row .ln { color: var(--ink); font-weight: 600; }
        .ri-row .pr { margin-left: auto; font-family: 'JetBrains Mono', monospace; font-size: 14px; color: var(--ink); }
        .ri-row .cmp { font-size: 11px; color: var(--muted); white-space: nowrap; }
        .ri-row .ptag { font-size: 10px; font-weight: 700; color: #92400E; background: #FFFBEB; border: 1px solid #FCD34D; border-radius: 4px; padding: 1px 6px; }
        .ri-row.lock { color: var(--muted); font-size: 12.5px; }
        .ri-row.lock .ln { color: var(--muted); font-weight: 500; }
        .ri-panel .ri-mask-note { margin-top: 10px; font-size: 11.5px; color: var(--muted); }
        /* Contacts directory teaser (sample names, locked lines) */
        .ri-contacts { margin-top: 16px; border-top: 1px solid var(--hair); padding-top: 14px; }
        .ri-chead { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
        .ri-chead h4 { font-size: 13px; font-weight: 700; color: var(--ink); }
        .ri-cstat { font-family: 'JetBrains Mono', monospace; font-size: 11.5px; color: var(--brand); }
        .ri-provchips { margin-left: auto; display: inline-flex; gap: 6px; flex-wrap: wrap; }
        .ri-pchip { font-size: 11px; font-weight: 600; color: var(--muted); border: 1px solid var(--hair); border-radius: 999px; padding: 3px 10px; }
        .ri-pchip.on { color: #fff; background: var(--brand); border-color: var(--brand); }
        .ri-ccards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
        .ri-ccard { border: 1px solid var(--rule); border-radius: 10px; padding: 11px 13px; background: var(--surface); }
        .ri-clender { display: flex; align-items: center; gap: 8px; padding-bottom: 8px; border-bottom: 1px solid var(--hair); margin-bottom: 8px; }
        .ri-clender .nm { font-size: 13px; font-weight: 700; color: var(--ink); }
        .ri-clender .tp { font-size: 10.5px; color: var(--muted); display: block; }
        .ri-cbdm .bn { font-size: 13px; font-weight: 600; color: var(--ink); }
        .ri-cbdm .rg { display: inline-block; font-size: 9.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--brand); background: var(--brand-wash); border-radius: 4px; padding: 2px 6px; margin-left: 6px; vertical-align: 1px; }
        .ri-cbdm .ph { font-family: 'JetBrains Mono', monospace; font-size: 11.5px; color: var(--ink-soft); margin-top: 3px; }
        .ri-cbdm .em { font-size: 11px; color: var(--muted); margin-top: 1px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .ri-cmore { font-size: 11px; font-weight: 600; color: var(--brand); margin-top: 7px; }
        @media (max-width: 900px) { .ri-ccards { grid-template-columns: 1fr; } .ri-provchips { margin-left: 0; } }
        .ri-note { margin-top: 12px; font-size: 12.5px; color: var(--muted); }

        /* Budget Builder sample exhibit */
        .bg-body { padding: 16px 18px; background: var(--surface); }
        .bg-top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding-bottom: 12px; margin-bottom: 4px; border-bottom: 1px solid var(--hair); }
        .bg-client { font-size: 14px; font-weight: 700; color: var(--ink); }
        .bg-client span { font-weight: 400; color: var(--muted); }
        .bg-chip { font-size: 11.5px; color: var(--muted); border: 1px solid var(--hair); border-radius: 999px; padding: 4px 11px; }
        .bg-share { margin-left: auto; font-size: 12.5px; font-weight: 700; color: #fff; background: #059669; border-radius: 8px; padding: 8px 14px; }
        .bg-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
        .bg-table th { font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); text-align: right; padding: 12px 12px 8px; border-bottom: 2px solid var(--ink); }
        .bg-table th:first-child { text-align: left; width: 30%; }
        .bg-table th .pick { display: inline-block; font-size: 9.5px; color: #fff; background: var(--brand); border-radius: 4px; padding: 2px 7px; margin-left: 6px; vertical-align: 1px; letter-spacing: .03em; }
        .bg-table td { font-size: 13.5px; padding: 10px 12px; border-bottom: 1px solid var(--hair); text-align: right; color: var(--ink); font-family: 'JetBrains Mono', monospace; }
        .bg-table td:first-child { font-family: var(--font-body); text-align: left; color: var(--ink-soft); font-weight: 600; }
        .bg-table td .sub { display: block; font-size: 10.5px; color: var(--muted); font-family: var(--font-body); }
        .bg-table tr.bg-pay td { font-size: 19px; font-weight: 700; padding: 14px 12px; }
        .bg-table tr.bg-pay td:first-child { font-size: 13.5px; }
        .bg-table tr.bg-total td { border-bottom: 0; background: var(--paper-soft); font-weight: 700; }
        @media (max-width: 680px) { .bg-table th, .bg-table td { padding: 8px 6px; font-size: 12px; } .bg-table tr.bg-pay td { font-size: 15px; } .bg-share { display: none; } }

        /* Tier 2: compact tap-to-open chapters */
        html[data-tier2="on"] .accsec { padding: 24px 0; }
        html[data-tier2="on"] .accsec .head { cursor: pointer; margin-bottom: 0; max-width: none; }
        html[data-tier2="on"] .accsec .head h2 { font-size: clamp(19px, 2.3vw, 26px); }
        html[data-tier2="on"] .accsec:not(.open) .wrap > :not(.head) { display: none !important; }
        html[data-tier2="on"] .accsec.open { padding: 44px 0; }
        html[data-tier2="on"] .accsec.open .head { margin-bottom: 24px; }
        .acc-cue { display: none; }
        html[data-tier2="on"] .accsec .acc-cue { display: inline-block; margin-left: 10px; font-size: 12px; color: var(--brand); font-weight: 600; }
        .tier2-rule { max-width: var(--maxw); margin: 30px auto 0; padding: 0 44px; display: flex; align-items: center; gap: 14px; }
        .tier2-rule::before, .tier2-rule::after { content: ""; flex: 1; height: 1px; background: var(--rule); }
        .tier2-rule span { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
        @media (max-width: 900px) { .tier2-rule { padding: 0 26px; } }

        /* Story thread: subtle line weaving between tier-1 sections */
        .thread { height: 84px; margin: -30px 0; position: relative; z-index: 1; pointer-events: none; }
        .thread svg { display: block; width: 100%; height: 100%; }
        .thread path { stroke: var(--brand); stroke-width: 2; fill: none; opacity: .22; stroke-linecap: round; }
        .thread.flip svg { transform: scaleX(-1); }
        @media (max-width: 900px) { .thread { display: none; } }

        /* Rail layout (default): fixed left panel, content right */
        .rail { display: none; }
        @media (min-width: 1080px) {
            html[data-layout="rail"] .topbar, html[data-layout="rail"] .floatbar,
            html[data-layout="rail"] .contents, html[data-layout="rail"] body > .crenel:first-child { display: none !important; }
            html[data-layout="rail"] body > section, html[data-layout="rail"] body > .statstrip,
            html[data-layout="rail"] body > footer { margin-left: 300px; }
            html[data-layout="rail"] { --maxw: 960px; }
            html[data-layout="rail"] .tier2-rule { max-width: var(--maxw); }
            html[data-layout="rail"] .rail { position: fixed; left: 0; top: 0; bottom: 0; width: 300px; z-index: 60;
                background: var(--paper-soft); border-right: 1px solid var(--rule);
                display: flex; flex-direction: column; padding: 0 0 22px; overflow-y: auto; }
            .rail .crenel { flex-shrink: 0; }
            .rail-in { padding: 22px 22px 0; display: flex; flex-direction: column; flex: 1; }
            .rail-lockup { display: flex; align-items: center; gap: 11px; }
            .rail-lockup b { font-weight: 800; font-size: 15px; letter-spacing: -0.03em; color: var(--ink); }
            .rail-lockup b .pro { color: #cf7a24; }
            .rail-logo { max-height: 40px; max-width: 150px; width: auto; display: block; margin-top: 12px; }
            .rail-doc { font-size: 12.5px; color: var(--muted); line-height: 1.5; margin: 12px 0 20px; padding-bottom: 16px; border-bottom: 1px solid var(--hair); }
            .rail-nav { display: flex; flex-direction: column; gap: 2px; }
            .rail-nav a { display: flex; gap: 10px; align-items: baseline; padding: 8px 10px; border-radius: 8px;
                font-size: 13.5px; font-weight: 600; color: var(--ink-soft); text-decoration: none; border-left: 3px solid transparent; }
            .rail-nav a .n { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; color: var(--muted); }
            .rail-nav a.on { background: var(--brand-wash); color: var(--brand); border-left-color: var(--brand); }
            .rail-nav a.on .n { color: var(--brand); }
            .rail-book { margin-top: auto; display: block; text-align: center; font-size: 13.5px; font-weight: 600;
                color: #fff; background: var(--brand); border-radius: 9px; padding: 13px 16px; text-decoration: none; }
            .rail-book:hover { background: var(--brand-bright); }
            .rail-note { font-size: 11px; color: var(--muted); margin-top: 12px; line-height: 1.5; }
        }
        .ri-points { list-style: none; margin-top: 22px; display: grid; grid-template-columns: 1fr 1fr; gap: 0 36px; }
        .ri-points li { padding: 12px 0; border-bottom: 1px solid var(--hair); font-size: 14.5px; color: var(--ink-soft); line-height: 1.5; }
        .ri-points li b { color: var(--ink); font-weight: 600; }
        @media (max-width: 900px) {
            .ri-gridpane.open { grid-template-columns: 1fr; }
            .ri-tabs { display: none; }
            .ri-points { grid-template-columns: 1fr; }
            .ri-grid th:first-child { width: 64px; }
            .ri-cell .r { font-size: 13.5px; }
            .ri-cell, .ri-grid td.term { padding: 8px 6px; }
        }

        /* Top bar */
        .topbar { position: sticky; top: 0; z-index: 50; background: color-mix(in srgb, var(--paper) 90%, transparent); backdrop-filter: saturate(180%) blur(10px); border-bottom: 1px solid var(--hair); }
        .topbar-in { max-width: var(--maxw); margin: 0 auto; padding: 11px 44px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
        .lockup { display: inline-flex; align-items: center; gap: 13px; text-decoration: none; }
        .bars { width: 26px; height: 19px; flex-shrink: 0;
            background: linear-gradient(#cf7a24 0 0) 0 1px / 25px 4px no-repeat, linear-gradient(#cf7a24 0 0) 0 8px / 19px 4px no-repeat, linear-gradient(#cf7a24 0 0) 0 15px / 12px 4px no-repeat; }
        .lockup b { font-weight: 800; font-size: 15px; letter-spacing: -0.03em; }
        .lockup b .pro { color: #cf7a24; }
        .x { color: var(--muted); font-size: 13px; margin: 0 2px; }
        .lockup .teamname { font-family: var(--font-display); font-size: 15px; color: var(--brand); }
        .lockup .teamlogo { height: 30px; width: auto; display: none; }
        .topbar nav { display: flex; align-items: center; gap: 26px; }
        .topbar nav a { font-size: 13px; color: var(--ink-soft); text-decoration: none; transition: color .2s; }
        .topbar nav a:hover { color: var(--ink); }
        .topbar .book { font-size: 13px; font-weight: 600; color: #fff; background: var(--brand); padding: 9px 16px; border-radius: 2px; transition: background .2s; }
        .topbar .book:hover { background: var(--brand-bright); }

        /* Cover */
        .cover { padding: 54px 0 34px; }
        .docline { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; font-family: var(--font-body); font-size: 15px; letter-spacing: 0; color: var(--ink); text-transform: none; font-weight: 500; padding-bottom: 14px; border-bottom: 1px solid var(--hair); margin-bottom: 22px; }
        .cover h1 { font-size: clamp(29px, 4.2vw, 46px); line-height: 1.1; color: var(--ink); margin: 12px 0 16px; max-width: 18ch; }
        .cover h1 em { font-style: italic; color: var(--brand); }
        .cover .lede { margin-bottom: 22px; }
        .cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
        .btn { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; text-decoration: none; padding: 11px 20px; border: 1px solid transparent; transition: all .2s; }
        .btn.solid { background: var(--ink); color: var(--paper); }
        .btn.solid:hover { background: var(--brand); transform: translateY(-1px); }
        .btn.line { border-color: var(--rule); color: var(--ink); }
        .btn.line:hover { border-color: var(--brand); color: var(--brand); }
        .cover-foot { margin-top: 14px; font-size: 13px; color: var(--muted); }

        /* Contents */
        .contents { border-top: 1px solid var(--hair); border-bottom: 1px solid var(--hair); }
        .contents-in { max-width: var(--maxw); margin: 0 auto; padding: 10px 44px; display: flex; flex-wrap: wrap; gap: 8px 28px; align-items: baseline; }
        .contents .label { font-family: var(--font-body); font-size: 14px; letter-spacing: 0; color: var(--ink); text-transform: none; font-weight: 600; margin-right: 6px; }
        .contents a { font-family: var(--font-body); font-size: 14px; color: var(--ink); text-decoration: none; transition: color .2s; }
        .contents a .n { color: var(--brand); margin-right: 6px; }
        .contents a:hover { color: var(--ink); }

        /* Section scaffold */
        .section { padding: 48px 0; }
        .section.soft { background: var(--paper-soft); border-top: 1px solid var(--hair); border-bottom: 1px solid var(--hair); }
        .head { max-width: 46ch; margin-bottom: 24px; }
        .head .eyebrow { display: block; margin-bottom: 9px; }
        .head h2 { font-size: clamp(21px, 2.7vw, 30px); line-height: 1.2; color: var(--ink); }
        .head h2 em { font-style: italic; color: var(--brand); }
        .head p { margin-top: 8px; font-size: 15px; color: var(--ink-soft); }
        .try { display: inline-flex; align-items: center; gap: 9px; margin-top: 16px; font-family: var(--font-body); font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--ink); }
        .try::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--brand); box-shadow: 0 0 0 4px var(--brand-wash); }

        /* Video exhibit */
        .exhibit { display: grid; grid-template-columns: 1.62fr 1fr; gap: 26px; align-items: start; }
        .frame { position: relative; aspect-ratio: 16/9; background: var(--ink); border: 1px solid var(--ink); overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 26px; color: var(--paper); }
        .frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
        .frame .play { width: 70px; height: 70px; border-radius: 50%; border: 1px solid rgba(253,251,247,.5); display: flex; align-items: center; justify-content: center; margin-bottom: 20px; font-size: 22px; }
        .frame .ft { font-weight: 600; margin-bottom: 6px; }
        .frame .fs { font-size: 13px; color: rgba(253,251,247,.62); }
        .runsheet { border-top: 2px solid var(--brand); }
        .run { display: flex; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--hair); align-items: baseline; }
        .run:last-child { border-bottom: 0; }
        .run time { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--brand); width: 40px; flex-shrink: 0; }
        .run span { font-size: 14.5px; color: var(--ink-soft); }

        /* ── Live product window (browser chrome + iframe + fallback) ── */
        .window { border: 1px solid var(--rule); border-radius: 10px; overflow: hidden; background: var(--surface); box-shadow: 0 18px 50px -28px rgba(26,26,24,.4); }
        .winbar { display: flex; align-items: center; gap: 14px; padding: 11px 16px; background: var(--paper-soft); border-bottom: 1px solid var(--rule); }
        .dots { display: flex; gap: 7px; }
        .dots i { width: 11px; height: 11px; border-radius: 50%; background: #D8D3CA; display: inline-block; }
        .winurl { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--ink-faint); background: var(--surface); border: 1px solid var(--hair); border-radius: 5px; padding: 5px 12px; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .winframe { position: relative; width: 100%; background: #fff; max-height: 560px; overflow: hidden; }
        .winframe::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 80px; background: linear-gradient(to bottom, transparent, var(--surface)); pointer-events: none; }
        .shot { display: block; width: 100%; height: auto; }
        .winopen { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .06em; color: var(--brand); text-decoration: none; white-space: nowrap; }
        .winopen:hover { text-decoration: underline; }
        .panel-cta { margin-top: 12px; display: flex; gap: 14px 20px; flex-wrap: wrap; align-items: center; }
        .embed-note { font-size: 13px; color: var(--muted); max-width: 46ch; }

        /* Modal */
        .overlay { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(26,26,24,.55); backdrop-filter: blur(3px); }
        .overlay[hidden] { display: none; }
        .dialog { background: var(--surface); border: 1px solid var(--rule); max-width: 460px; width: 100%; padding: 36px 32px 30px; position: relative; box-shadow: 0 30px 80px -30px rgba(26,26,24,.6); }
        .dialog-x { position: absolute; top: 14px; right: 16px; background: none; border: 0; font-size: 24px; line-height: 1; color: var(--muted); cursor: pointer; }
        .dialog-x:hover { color: var(--ink); }
        .dialog .k { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--brand); margin-bottom: 14px; }
        .dialog h3 { font-family: var(--font-display); font-weight: 400; font-size: 23px; color: var(--ink); margin-bottom: 12px; line-height: 1.25; }
        .dialog p { font-size: 15px; color: var(--ink-soft); line-height: 1.6; }
        .dialog .pen-row { display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid var(--hair); font-size:14px; color:var(--ink-soft); }
        .dialog .pen-row b { color:var(--ink); }
        .dialog .pen-proj { margin-top:14px; border:1px solid var(--rule); border-radius:8px; overflow:hidden; }
        .dialog .pen-proj-row { display:flex; align-items:center; gap:10px; padding:10px 12px; font-size:13px; border-bottom:1px solid var(--hair); }
        .dialog .pen-proj-row:last-child { border-bottom:0; }
        .dialog .pen-proj-row > span { color:var(--ink-soft); width:96px; flex-shrink:0; }
        .dialog .pen-proj-row b { color:var(--ink); }
        .dialog .pen-proj-row.cross { background:#FFFBEB; }
        .dialog .pen-proj-row.cross em { color:#92400E; font-style:normal; font-size:11px; font-weight:700; margin-left:auto; }
        .dialog .pen-note { margin-top:14px; font-size:12px; color:var(--muted); line-height:1.5; }
        .dialog .penalty-tabs { display:flex; gap:0.25rem; background:#F3F4F6; padding:0.25rem; border-radius:8px; margin-bottom:1rem; }
        .dialog .penalty-tab { flex:1; padding:0.5rem 1rem; border:none; background:transparent; border-radius:6px; font-size:12px; font-weight:700; color:#6B7280; cursor:pointer; }
        .dialog .penalty-tab:hover { color:#1a1d1f; }
        .dialog .penalty-tab.active { background:white; color:#1a1d1f; box-shadow:0 1px 3px rgba(0,0,0,0.1); }
        .dialog .penalty-projection-header { display:flex; align-items:center; gap:0.5rem; margin-bottom:1rem; }
        .dialog .penalty-projection-title { font-size:14px; font-weight:800; color:#1a1d1f; }
        .dialog .penalty-projection-badge { padding:0.2rem 0.5rem; background:linear-gradient(135deg,#EEF2FF,#E0E7FF); border:1px solid #A5B4FC; border-radius:6px; font-size:9px; font-weight:700; color:#4338CA; text-transform:uppercase; }
        .dialog .penalty-projection-insight { background:linear-gradient(135deg,#FFFBEB,#FEF3C7); border:2px solid #FFD666; border-radius:10px; padding:0.875rem 1rem; margin-bottom:1rem; font-size:13px; font-weight:600; color:#92400E; line-height:1.5; }
        .dialog .penalty-projection-insight.urgency { background:linear-gradient(135deg,#FEF2F2,#FEE2E2); border-color:#FCA5A5; color:#991B1B; }
        .dialog .penalty-projection-insight.opportunity { background:linear-gradient(135deg,#ECFDF5,#D1FAE5); border-color:#10B981; color:#065F46; }
        .dialog .penalty-projection-timeline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0.4rem; padding:0.25rem; }
        .dialog .penalty-projection-timeline.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
        .dialog .projection-point { min-width:0; background:white; border:2px solid #E5E7EB; border-radius:10px; padding:0.75rem; text-align:center; }
        .dialog .projection-point.current { border-color:#FFD666; background:linear-gradient(135deg,#FFFBEB,white); }
        .dialog .projection-point.transition { border-color:#A5B4FC; background:linear-gradient(135deg,#EEF2FF,white); }
        .dialog .projection-months { font-size:10px; font-weight:700; color:#6B7280; text-transform:uppercase; margin-bottom:0.25rem; }
        .dialog .projection-penalty { font-size:16px; font-weight:900; color:#1a1d1f; margin-bottom:0.25rem; }
        .dialog .projection-change { font-size:10px; font-weight:700; }
        .dialog .projection-change.up { color:#EF4444; }
        .dialog .projection-change.down { color:#10B981; }
        .dialog .projection-change.neutral { color:#6B7280; }
        .dialog .projection-rate-band { font-size:9px; color:#6B7280; margin-top:0.25rem; }
        .dialog .penalty-method-line { margin-top:1rem; display:flex; gap:1rem; font-size:11px; color:#6B7280; }
        .dialog .penalty-projection-disclaimer { font-size:10px; color:#6B7280; font-style:italic; text-align:center; margin-top:0.75rem; }
        .dialog.pen-wide { max-width:560px; }
        .dialog-actions { margin-top: 26px; display: flex; gap: 12px; flex-wrap: wrap; }
        .brief-note { margin-top: 20px; font-size: 13px; color: rgba(253,251,247,.55); }

        /* ── REAL Broker Portal dashboard cards (CSS verbatim from portal.html, scoped) ── */
        #pdash {
            --accent:#D97706; --accent-soft:rgba(255,214,102,0.15); --gold:#FFD666;
            --text:#1a1d1f; --text-muted:#6B7280; --border:#E5E7EB;
            --success:#10B981; --success-soft:rgba(16,185,129,0.12); --warning:#F59E0B; --danger:#EF4444;
            display:grid; gap:14px; font-family:'Inter',sans-serif; color:var(--text); line-height:1.5;
        }
        #pdash .opp-card { background:white; border:2px solid var(--border); border-radius:12px; padding:1rem 1rem 1.75rem; display:grid; grid-template-columns:2fr 1.2fr auto; gap:1rem; align-items:center; position:relative; transition:all .2s; cursor:pointer; min-height:90px; }
        #pdash .opp-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--border); border-radius:14px 0 0 14px; }
        #pdash .opp-card.hot::before { background:linear-gradient(180deg,#10B981,#059669); box-shadow:0 0 12px rgba(16,185,129,.3); }
        #pdash .opp-card.renewal { background:linear-gradient(135deg,#F0F9FF 0%,#E0F2FE 100%); border-color:#7DD3FC; }
        #pdash .opp-card.renewal::before { background:linear-gradient(180deg,#3B82F6,#1D4ED8); box-shadow:0 0 12px rgba(59,130,246,.3); }
        #pdash .opp-card.renewal:hover { border-color:#38BDF8; }
        #pdash .opp-card.monitor { border-color:#C7D2FE; border-left:4px solid #6366F1; }
        #pdash .opp-card.monitor .opp-hero { background:linear-gradient(135deg,#EEF2FF,#E0E7FF); border-color:#A5B4FC; }
        #pdash .opp-card.monitor .hero-value-lg { color:#4338CA; }
        #pdash .opp-card.monitor .hero-label-sm { color:#6366F1; }
        #pdash .opp-card.monitor .hero-sub { color:#4338CA; }
        #pdash .opp-card:hover { border-color:var(--gold); box-shadow:0 6px 20px rgba(0,0,0,.08); transform:translateY(-1px); }
        #pdash .opp-card.v2 .rate-badge { background:#F0FDF4; border-color:#BBF7D0; font-weight:600; color:#065F46; }
        #pdash .opp-card.v2 .opp-hero { border:none; }
        #pdash .opp-card.v2.renewal .opp-hero { background:linear-gradient(135deg,#EFF6FF,#DBEAFE); border:none; }
        #pdash .opp-card.v2.hot .opp-hero { background:linear-gradient(135deg,#F0FDF4,#DCFCE7); border:none; }
        #pdash .opp-card.v2.monitor .opp-hero { background:linear-gradient(135deg,#EEF2FF,#E0E7FF); border:none; }
        #pdash .opp-card.v2 .hero-label-sm { color:var(--text-muted); }
        #pdash .opp-card.v2 .hero-sub { color:var(--text-muted); }
        #pdash .opp-card.v2.renewal .hero-value-lg { color:#1D4ED8; }
        #pdash .opp-card.v2.monitor .hero-value-lg { color:#4338CA; }
        #pdash .stat-sub { font-size:10px; color:var(--text-muted); margin-top:2px; }
        #pdash .opp-left { display:flex; flex-direction:column; gap:.25rem; min-width:0; }
        #pdash .opp-client { font-size:14px; font-weight:800; color:var(--text); line-height:1.3; }
        #pdash .opp-lender { font-size:12px; color:var(--text-muted); display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
        #pdash .rate-badge { display:inline-flex; padding:.2rem .5rem; background:var(--success-soft); border:1px solid var(--success); border-radius:5px; font-size:11px; font-weight:800; color:#065F46; }
        #pdash .pill-row { display:flex; gap:.375rem; flex-wrap:wrap; margin-top:.25rem; }
        #pdash .pill { padding:.15rem .5rem; border-radius:5px; font-size:10px; font-weight:700; border:1px solid; letter-spacing:.3px; }
        #pdash .pill-hot { background:linear-gradient(135deg,#D1FAE5,#A7F3D0); border-color:var(--success); color:#065F46; }
        #pdash .pill-insured { background:#DBEAFE; border-color:#3B82F6; color:#1E40AF; }
        #pdash .pill-insurable { background:#EDE9FE; border-color:#8B5CF6; color:#5B21B6; }
        #pdash .pill-conventional { background:#F3F4F6; border-color:#6B7280; color:#374151; }
        #pdash .pill-notes { background:#E0E7FF; border-color:#6366F1; color:#3730A3; }
        #pdash .pill-vrm-adjustable { background:#E0E7FF; border-color:#A5B4FC; color:#3730A3; }
        #pdash .pill-monitor { background:#EEF2FF; color:#4338CA; border:1px solid #C7D2FE; }
        #pdash .pill-warning { background:#FEE2E2; border-color:var(--danger); color:#991B1B; }
        #pdash .renewal-savings-hint { font-size:12px; color:#047857; margin-top:4px; padding:3px 0; }
        #pdash .renewal-savings-amount { font-weight:800; color:#059669; }
        #pdash .opp-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; }
        #pdash .stat-item { text-align:center; }
        #pdash .stat-label { font-size:9px; text-transform:uppercase; letter-spacing:.5px; color:var(--text-muted); font-weight:700; margin-bottom:.15rem; }
        #pdash .stat-value { font-size:16px; font-weight:900; color:var(--text); }
        #pdash .stat-value.green { color:var(--success); }
        #pdash .opp-hero { text-align:right; padding:.5rem .75rem; background:linear-gradient(135deg,#D1FAE5,#A7F3D0); border:2px solid var(--success); border-radius:10px; min-width:120px; }
        #pdash .hero-label-sm { font-size:9px; text-transform:uppercase; letter-spacing:.5px; color:#065F46; font-weight:800; }
        #pdash .hero-value-lg { font-size:22px; font-weight:900; color:#059669; line-height:1; margin:.15rem 0; }
        #pdash .hero-sub { font-size:10px; color:#047857; font-weight:600; }
        #pdash .opp-card.renewal .opp-hero { background:linear-gradient(135deg,#DBEAFE,#BFDBFE); border-color:#3B82F6; }
        #pdash .opp-card.renewal .hero-label-sm { color:#1E40AF; }
        #pdash .opp-card.renewal .hero-value-lg { color:#1D4ED8; }
        #pdash .opp-card.renewal .hero-sub { color:#1E40AF; }
        #pdash .expand-cue { position:absolute; bottom:.5rem; right:.75rem; font-size:10px; color:#9CA3AF; display:flex; align-items:center; gap:.25rem; }
        #pdash .expand-chevron { transition:transform .2s; display:inline-block; }
        #pdash .opp-card.expanded .expand-chevron { transform:rotate(180deg); }
        #pdash .opp-expanded { grid-column:1 / -1; display:none; padding-top:1rem; margin-top:1rem; border-top:2px solid var(--border); }
        #pdash .opp-card.expanded .opp-expanded { display:block; }
        #pdash .exp-stats { display:flex; flex-wrap:wrap; gap:1.5rem; justify-content:flex-end; margin-bottom:1rem; }
        #pdash .exp-stat { text-align:right; }
        #pdash .exp-stat .l { font-size:9px; text-transform:uppercase; letter-spacing:.5px; color:var(--text-muted); font-weight:800; }
        #pdash .exp-stat .v { font-size:18px; font-weight:900; color:var(--text); }
        #pdash .exp-stat .v.green { color:var(--success); }
        #pdash .alert-bar { background:#FFF7ED; border:1px solid #FED7AA; color:#9A3412; border-radius:8px; padding:10px 14px; font-size:13px; margin-bottom:1rem; display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; }
        #pdash .alert-bar .ib { background:#F59E0B; color:#fff; border:0; border-radius:6px; padding:6px 12px; font-size:12px; font-weight:700; cursor:pointer; white-space:nowrap; }
        /* Rate calculator (rc-compact, CSS verbatim from portal.html, scoped) */
        #pdash .rc-wrap { border:1px solid #E2E8F0; border-radius:12px; overflow:hidden; margin:0 0 0.85rem; box-shadow:0 1px 2px rgba(15,23,42,0.04); background:#fff; }
        #pdash .rc-wrap.open { box-shadow:0 8px 22px rgba(15,23,42,0.08); border-color:#D4A853; }
        #pdash .rc-live-dot { animation: pdashPulse 2.4s ease-out infinite; }
        @keyframes pdashPulse { 0% { box-shadow:0 0 0 0 rgba(16,185,129,0.32);} 70% { box-shadow:0 0 0 8px rgba(16,185,129,0);} 100% { box-shadow:0 0 0 0 rgba(16,185,129,0);} }
        #pdash .rc-head { display:flex; align-items:center; gap:0.55rem; padding:0.5rem 0.85rem; background:linear-gradient(90deg,#FFFFFF 0%,#FBF6E9 100%); border-bottom:2px solid #D4A853; }
        #pdash .rc-head-main { display:flex; align-items:center; gap:0.45rem; min-width:0; }
        #pdash .rc-live-dot { width:7px; height:7px; border-radius:50%; background:#10B981; box-shadow:0 0 0 3px rgba(16,185,129,0.18); flex:none; }
        #pdash .rc-head-title { font-size:11.5px; font-weight:900; letter-spacing:0.04em; text-transform:uppercase; color:#1B2A4A; }
        #pdash .rc-head-pill { font-size:10.5px; font-weight:900; letter-spacing:0.03em; padding:0.16rem 0.5rem; border-radius:999px; background:#059669; color:#fff; }
        #pdash .rc-head-reset { margin-left:auto; font-size:10.5px; font-weight:800; letter-spacing:0.02em; text-transform:uppercase; color:#64748B; background:none; border:none; cursor:pointer; padding:0.1rem 0.15rem; }
        #pdash .rc-head-reset:hover { color:#1B2A4A; text-decoration:underline; }
        #pdash .rc-body { padding:0.7rem 0.8rem 0.75rem; background:#fff; }
        #pdash .rc-tabs { display:flex; background:#F8FAFC; border:1px solid #DDE3EA; border-radius:8px; margin-bottom:0.55rem; padding:2px; }
        #pdash .rc-tab { flex:1; padding:0.45rem 0.375rem; text-align:center; font-size:11px; font-weight:800; color:#475569; background:transparent; border:none; border-radius:6px; cursor:pointer; transition:all .15s; min-height:30px; }
        #pdash .rc-tab:hover { background:white; color:#1B2A4A; }
        #pdash .rc-tab.active { background:#1B2A4A; color:white; box-shadow:0 2px 6px rgba(15,23,42,0.12); }
        #pdash .rc-controls { display:flex; gap:0.55rem; margin:0.7rem 0 0.55rem; }
        #pdash .rc-control { display:flex; align-items:center; gap:0.55rem; background:#F8FAFC; border:1px solid #DDE3EA; border-radius:9px; padding:0.5rem 0.7rem; }
        #pdash .rc-control-rate { flex:1.4; min-width:0; }
        #pdash .rc-control-bal { flex:1; min-width:0; }
        #pdash .rc-control-label { font-size:9.5px; font-weight:900; letter-spacing:0.03em; text-transform:uppercase; color:#64748B; white-space:nowrap; }
        #pdash .rc-slider-wrap { position:relative; flex:1; min-width:70px; display:flex; align-items:center; }
        #pdash .rc-slider { flex:1; min-width:70px; height:6px; -webkit-appearance:none; appearance:none; border-radius:3px; outline:none; cursor:pointer; background:linear-gradient(to right,#059669 0%,#059669 50%,#E5E7EB 50%,#E5E7EB 100%); }
        #pdash .rc-slider::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:18px; height:18px; background:#1B2A4A; border:2px solid white; border-radius:50%; cursor:grab; box-shadow:0 1px 4px rgba(0,0,0,0.25); }
        #pdash .rc-slider::-moz-range-thumb { width:18px; height:18px; background:#1B2A4A; border:2px solid white; border-radius:50%; cursor:grab; }
        #pdash .rc-rate-input { width:64px; padding:0.4rem; border:1px solid #DDE3EA; border-radius:7px; font-size:14px; font-weight:900; text-align:center; color:#0F172A; background:white; }
        #pdash .rc-balance-btn { padding:0.36rem 0.58rem; border-radius:7px; font-size:11px; font-weight:900; cursor:pointer; border:1px solid #DDE3EA; background:white; color:#1B2A4A; transition:all .15s; line-height:1; min-width:46px; }
        #pdash .rc-balance-btn:hover { border-color:var(--gold); background:#FFFBEB; }
        #pdash .rc-balance-input { flex:1; min-width:70px; padding:0.4rem; border:1px solid #DDE3EA; border-radius:7px; font-size:14px; font-weight:900; text-align:center; color:#0F172A; background:white; }
        #pdash .rc-be-tick { position:absolute; top:50%; transform:translate(-50%,-50%); pointer-events:none; z-index:2; }
        #pdash .rc-be-tick-line { display:block; width:2px; height:16px; background:#C9A96E; border-radius:1px; margin:0 auto; box-shadow:0 0 0 1px rgba(255,255,255,0.8); }
        #pdash .rc-be-tick-label { position:absolute; bottom:calc(50% + 11px); left:50%; transform:translateX(-50%); white-space:nowrap; font-size:8.5px; font-weight:800; letter-spacing:0.01em; color:#9A7B2E; background:rgba(255,255,255,0.92); padding:0 3px; border-radius:3px; }
        @media (max-width:560px){ #pdash .rc-controls{ flex-direction:column; } }
        #pdash .actions-box { display:flex; flex-direction:column; gap:0.5rem; }
        #pdash .btn { padding:0.6rem 0.8rem; border-radius:8px; font-size:12px; font-weight:700; cursor:pointer; border:2px solid; transition:all .15s; text-align:center; background:white; line-height:1.25; }
        #pdash .btn-renewal { background:linear-gradient(135deg,#DBEAFE,#BFDBFE); border-color:#3B82F6; color:#1D4ED8; }
        #pdash .btn-primary { background:white; border-color:var(--gold); color:var(--accent); }
        #pdash .btn-outline { background:white; border-color:var(--border); color:var(--text); }
        #pdash .btn-success { background:linear-gradient(135deg,#D1FAE5,#A7F3D0); border-color:var(--success); color:#065F46; }
        #pdash .btn-danger { background:white; border-color:#FCA5A5; color:#991B1B; }
        #pdash .btn-presenter { background:linear-gradient(135deg,#0F1F3C,#1E3A8A); border-color:#1E3A8A; color:#fff; }
        #pdash .btn:hover { transform:translateY(-1px); }
        #pdash .btn-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0.5rem; }
        #pdash .more-actions-toggle { display:flex; align-items:center; justify-content:center; gap:0.35rem; padding:0.45rem; margin-top:0.25rem; font-size:11px; font-weight:600; color:#9CA3AF; cursor:pointer; border-radius:6px; user-select:none; border:1px dashed #E5E7EB; }
        #pdash .more-actions-toggle:hover { color:#6B7280; background:#F9FAFB; border-color:#D1D5DB; }
        #pdash .more-actions-chevron { transition:transform .2s; font-size:9px; }
        #pdash .more-actions-content { display:none; margin-top:0.5rem; }
        #pdash .more-actions-content.visible { display:block; }
        #pdash .escalation-strip { display:flex; align-items:center; gap:0.5rem; padding:0.55rem 0.8rem; border-radius:8px; font-size:12px; font-weight:600; line-height:1.4; margin-bottom:1rem; }
        #pdash .escalation-strip.up { background:#FFFBEB; border:1px solid #F59E0B; color:#92400E; }
        #pdash .escalation-strip.down { background:#EFF6FF; border:1px solid #3B82F6; color:#1E40AF; }
        #pdash .escalation-strip .esc-text { flex:1; }
        #pdash .escalation-strip .got-it-btn { flex-shrink:0; padding:0.3rem 0.7rem; border-radius:6px; font-size:11px; font-weight:700; cursor:pointer; border:none; }
        #pdash .escalation-strip.up .got-it-btn { background:#F59E0B; color:#fff; }
        #pdash .escalation-strip.down .got-it-btn { background:#3B82F6; color:#fff; }
        #pdash .deal-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1rem; align-items:start; }
        #pdash .deal-col { background:#F9FAFB; border-radius:8px; padding:14px 16px; }
        #pdash .opp-card.renewal .deal-col { background:rgba(255,255,255,0.6); }
        #pdash .deal-col-title { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; margin-bottom:12px; padding-bottom:6px; border-bottom:2px solid var(--border); }
        #pdash .deal-col.current-col .deal-col-title { color:#0f172a; }
        #pdash .deal-col.switch-col .deal-col-title { color:#059669; border-bottom-color:#BBF7D0; }
        #pdash .deal-row { margin-bottom:10px; }
        #pdash .deal-row .l { font-size:10px; color:var(--text-muted); font-weight:600; text-transform:uppercase; letter-spacing:.3px; }
        #pdash .deal-row .v { font-size:14px; font-weight:800; color:var(--text); }
        #pdash .deal-row .v.green { color:var(--success); }
        #pdash .qd-actions { display:flex; flex-direction:column; gap:.55rem; }
        #pdash .qd-btn { width:100%; padding:.7rem .9rem; border-radius:10px; border:2px solid var(--border); font-size:13px; font-weight:700; cursor:pointer; display:flex; align-items:center; gap:8px; transition:all .15s; text-align:left; background:#fff; color:var(--text); }
        #pdash .qd-btn.primary { border-color:var(--gold); color:var(--accent); }
        #pdash .qd-btn.econ { background:#f0f7ff; border-color:#1a3a5c; color:#1a3a5c; }
        #pdash .qd-btn.working { background:#EFF6FF; border-color:#BFDBFE; color:#1D4ED8; }
        #pdash .qd-btn.file { background:#FFF7ED; border-color:#FED7AA; color:#C2410C; }
        #pdash .qd-btn:hover { transform:translateY(-1px); }
        @media (max-width:900px){ #pdash .opp-card{ grid-template-columns:1fr; } #pdash .opp-hero{ text-align:left; } #pdash .deal-grid{ grid-template-columns:1fr; } #pdash .exp-stats{ justify-content:flex-start; } }
        /* grid children default to min-content width and can push the card past the viewport at tablet widths */
        #pdash .opp-card, #pdash .opp-card > * { min-width: 0; }
        #pdash .opp-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }

        /* Campaign cards */
        .camp-grid { display:grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--rule); border: 1px solid var(--rule); margin-bottom: 20px; }
        .camp { background: var(--surface); padding: 17px 20px; }
        .camp .top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
        .camp h3 { font-family:var(--font-display); font-weight:400; font-size:16px; color: var(--ink); }
        .camp .when { font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color: var(--brand); white-space:nowrap; }
        .camp p { font-size:13.5px; color: var(--ink-soft); }
        .camp.wide { grid-column: 1 / -1; }

        /* Independent */
        .indep { display:grid; grid-template-columns: 1.05fr .95fr; gap:40px; align-items:center; }
        .principles { list-style:none; }
        .principles li { padding:13px 0; border-bottom:1px solid var(--hair); }
        .principles li:first-child { border-top:1px solid var(--rule); }
        .principles li h4 { font-family:var(--font-display); font-weight:400; font-size:16px; margin-bottom:3px; }
        .principles li p { font-size:14px; color: var(--ink-soft); max-width:42ch; }
        .crest { border:1px solid var(--rule); background: var(--surface); padding:24px 24px; }
        .crest .stamp { font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color: var(--brand); padding-bottom:18px; margin-bottom:22px; border-bottom:1px solid var(--hair); }
        .crest blockquote { font-family:var(--font-display); font-size:18px; line-height:1.45; color: var(--ink); }
        .crest blockquote em { color: var(--brand); }
        .crest .by { margin-top:20px; font-size:13px; color: var(--muted); }

        /* Rollout */
        .steps { display:grid; grid-template-columns: repeat(4,1fr); gap:0; border-top:2px solid var(--brand); }
        .step { padding:18px 22px 18px 0; border-right:1px solid var(--hair); }
        .step:last-child { border-right:0; padding-right:0; }
        .step .num { font-family:'JetBrains Mono', monospace; font-size:13px; color: var(--brand); margin-bottom:16px; }
        .step h4 { font-family:var(--font-display); font-weight:400; font-size:16px; margin-bottom:6px; }
        .step p { font-size:13.5px; color: var(--ink-soft); }

        /* Close */
        .close { padding:58px 0; text-align:center; background: var(--ink); color: var(--paper); }
        .close .crenel { margin-bottom:32px; }
        .close h2 { font-family:var(--font-display); font-weight:400; font-size: clamp(23px,3.2vw,34px); line-height:1.2; margin-bottom:12px; }
        .close p { color: rgba(253,251,247,.72); max-width:36em; margin:0 auto 22px; font-size:15px; }
        .close .cta-row { justify-content:center; }
        .close .btn.solid { background: var(--paper); color: var(--ink); }
        .close .btn.solid:hover { background: var(--brand); color:#fff; }
        .close .btn.line { border-color: rgba(253,251,247,.28); color: var(--paper); }
        .close .btn.line:hover { border-color: var(--paper); }
        .btn.disabled { border:1px dashed rgba(253,251,247,.3); color: rgba(253,251,247,.55); cursor:not-allowed; }
        .close .side { margin-top:30px; font-size:13px; color: rgba(253,251,247,.6); max-width:40em; margin-left:auto; margin-right:auto; }

        /* Footer */
        .foot { padding:30px 0; }
        .foot-in { max-width: var(--maxw); margin:0 auto; padding:0 44px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; font-size:12px; color: var(--muted); }
        .foot-in a { color: var(--ink-soft); text-decoration:none; margin-right:18px; }
        .foot-in a:hover { color: var(--brand); }

        /* Responsive */
        @media (max-width: 900px) {
            .wrap, .topbar-in, .contents-in, .foot-in { padding-left: 26px; padding-right: 26px; }
            .topbar nav a:not(.book) { display: none; }
            .exhibit { grid-template-columns: 1fr; gap: 30px; }
            .indep { grid-template-columns: 1fr; gap: 34px; }
            .camp-grid { grid-template-columns: 1fr; }
            .steps { grid-template-columns: 1fr 1fr; border-top: 0; }
            .step { border-top: 2px solid var(--brand); padding: 26px 22px 26px 0; }
            .step:nth-child(2n) { border-right: 0; }
            .section { padding: 40px 0; }
        }
        @media (max-width: 560px) {
            body { font-size: 16px; }
            .wrap, .topbar-in, .contents-in, .foot-in { padding-left: 20px; padding-right: 20px; }
            .steps { grid-template-columns: 1fr; }
            .step { border-right: 0; padding-right: 0; }
            .contents { display: none; }
            #pdash .opp-stats { grid-template-columns: 1fr 1fr; }
        }
        @media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } .btn:hover, #pdash .opp-card:hover { transform: none; } }
        @media (max-width:680px){
            #pdash .opp-card { display:block; padding:0.9rem 0.9rem 1.4rem; }
            #pdash .opp-left { margin-bottom:0.7rem; }
            #pdash .opp-stats { display:grid; grid-template-columns:1fr 1fr 1fr; gap:0.4rem; margin-bottom:0.7rem; }
            #pdash .opp-hero { text-align:left; margin-bottom:0.2rem; }
            #pdash .deal-grid { display:block; }
            #pdash .deal-col, #pdash .actions-box { margin-bottom:0.7rem; }
            #pdash .rc-controls { flex-direction:column; }
            #pdash .rc-control { flex-wrap:wrap; }
            #pdash .rc-slider-wrap { flex-basis:100%; order:3; min-width:0; }
            #pdash .rc-slider, #pdash .rc-rate-input, #pdash .rc-balance-input { min-width:0; }
            #pdash .rc-rate-input, #pdash .rc-balance-input { flex:1; }
            #pdash .deal-row .v, #pdash .opp-client { overflow-wrap:anywhere; }
        }
        .brew-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:28px; align-items:start; }
        .brew-points { list-style:none; }
        .brew-points li { padding:13px 0; border-bottom:1px solid var(--hair); font-size:15px; color:var(--ink-soft); line-height:1.5; }
        .brew-points li:first-child { border-top:1px solid var(--rule); }
        .brew-points li b { color:var(--ink); font-weight:600; }
        .brew-note { margin-top:14px; font-size:13px; color:var(--muted); }
        #brewFrame { background:#e8e0d2; }
        @keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
        @keyframes slideUp { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
        @media (max-width:900px){ .brew-grid { grid-template-columns:1fr; gap:18px; } #brewFrame { height:460px !important; } }
        .topbar.scrolled { box-shadow: 0 2px 20px rgba(26,26,24,0.07); }
        .cal-wrap { max-width: 760px; margin: 0 auto; background: #faf8f3; border-radius: 14px; overflow: hidden; box-shadow: 0 18px 50px rgba(0,0,0,0.25); }
        .cal-fallback { margin-top: 16px; text-align: center; font-size: 14px; }
        .cal-fallback a { color: rgba(253,251,247,0.82); text-decoration: underline; }
        .floatbar { position: fixed; left: 50%; bottom: 22px; transform: translate(-50%, 160%); z-index: 70; display: flex; align-items: center; gap: 18px; background: var(--ink); color: var(--paper); padding: 11px 13px 11px 22px; border-radius: 14px; box-shadow: 0 12px 40px rgba(0,0,0,0.3); transition: transform .45s cubic-bezier(.16,1,.3,1); max-width: calc(100vw - 28px); }
        .floatbar.show { transform: translate(-50%, 0); }
        .fb-text { font-size: 14px; font-weight: 600; white-space: nowrap; }
        .fb-btn { background: var(--brand); color: #fff; padding: 10px 18px; border-radius: 9px; font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap; }
        @media (max-width: 560px) { .fb-text { display: none; } .floatbar { padding: 9px 11px; bottom: 14px; } }
        .email-gallery { max-width: 760px; }
        .eg-tabs { display: flex; gap: 8px; margin-bottom: 14px; flex-wrap: wrap; }
        .eg-tab { font-family: var(--font-body); font-size: 14px; font-weight: 600; padding: 9px 16px; border: 1px solid var(--rule); background: var(--surface); color: var(--ink-soft); border-radius: 9px; cursor: pointer; transition: border-color .2s, background .2s, color .2s; }
        .eg-tab:hover { border-color: var(--brand); }
        .eg-tab.active { background: var(--ink); color: var(--paper); border-color: var(--ink); }
        .eg-cta { margin-top: 16px; }
        #egFrame { background: #fff; }
        @media (max-width: 680px) { #egFrame { height: 480px !important; } }
        .disco-gallery { max-width: 880px; }
        .disco-tabs { display: flex; gap: 8px; margin-bottom: 14px; flex-wrap: wrap; }
        .disco-tab { font-family: var(--font-body); font-size: 14px; font-weight: 600; padding: 9px 16px; border: 1px solid var(--rule); background: var(--surface); color: var(--ink-soft); border-radius: 9px; cursor: pointer; transition: border-color .2s, background .2s, color .2s; }
        .disco-tab:hover { border-color: var(--brand); }
        .disco-tab.active { background: var(--ink); color: var(--paper); border-color: var(--ink); }
        #discoShot { display: block; width: 100%; height: auto; }
        .toolkit { margin-top: 40px; border-top: 1px solid var(--rule); padding-top: 26px; }
        .toolkit-head { font-family: var(--font-display); font-size: 20px; color: var(--ink); margin-bottom: 16px; }
        .tk-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
        .tk-label { font-family: var(--font-body); font-size: 13px; font-weight: 700; color: var(--brand); margin-bottom: 8px; letter-spacing: .01em; }
        .tk-list { list-style: none; }
        .tk-list li { padding: 9px 0; border-bottom: 1px solid var(--hair); }
        .tk-list li:last-child { border-bottom: 0; }
        .tk-list b { display: block; font-size: 15px; font-weight: 600; color: var(--ink); }
        .tk-list span { display: block; font-size: 13.5px; color: var(--ink-soft); margin-top: 2px; line-height: 1.4; }
        .tk-list a { text-decoration: none; display: block; }
        .tk-list a:hover b { color: var(--brand); }
        .tk-list a b::after { content: " \2197"; font-size: 11px; color: var(--muted); font-weight: 400; }
        .tk-note { margin-top: 16px; font-size: 13px; color: var(--muted); }
        @media (max-width: 680px) { .tk-grid { grid-template-columns: 1fr; gap: 22px; } }
        .panel-note { margin-top: 12px; font-size: 13.5px; color: var(--ink-soft); }
        @media (max-width: 560px) { .lockup .x, .lockup .teamname, .lockup .teamlogo { display: none !important; } }

        /* Brokerage Opportunity Model */
        .health-cover { max-width: 1200px; display: grid; grid-template-columns: minmax(0,430px) minmax(0,620px); column-gap: 38px; row-gap: 22px; align-items: start; }
        .health-cover .docline { grid-column: 1 / -1; }
        .health-copy { align-self: stretch; display: flex; flex-direction: column; padding-top: 16px; }
        .health-copy .lede { margin-bottom: 0; }
        .health-copy .cta-row { margin-top: auto; padding-top: 22px; }
        .health-card { background: var(--surface); border: 1px solid var(--rule); border-radius: 10px; padding: 28px; box-shadow: 0 18px 50px -28px rgba(26,26,24,.4); }
        .health-card h2 { margin: 0; font-family: var(--font-display); font-size: 31px; line-height: 1.08; font-weight: var(--font-display-weight,700); letter-spacing: -.02em; }
        .health-intro { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 10px 0 24px; }
        .health-intro p { margin: 0; color: var(--ink-soft); font-size: 12.5px; line-height: 1.4; white-space: nowrap; }
        .health-reset { flex: 0 0 auto; padding: 0; border: 0; border-bottom: 1px solid currentColor; background: none; color: var(--ink-soft); font: 700 13px var(--font-body); cursor: pointer; }
        .health-reset:hover, .health-reset:focus-visible { color: var(--brand); }
        .health-primary { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 14px; padding-bottom: 22px; border-bottom: 1px solid var(--hair); }
        .health-field label { display: block; min-height: 18px; margin-bottom: 7px; font-size: 12px; line-height: 1.25; font-weight: 700; color: var(--ink-soft); }
        .health-field input:not(.health-slider) { width: 100%; padding: 11px 12px; border: 1px solid var(--rule); border-radius: 9px; outline: none; background: var(--surface); color: var(--ink); font: 700 17px var(--font-body); }
        .health-field input:not(.health-slider):focus { border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-wash); }
        .health-assumptions { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 24px; margin-top: 22px; }
        .health-slider-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
        .health-slider-head label { min-height: 0; margin: 0; }
        .health-slider-value { min-width: 70px; color: var(--ink); font-size: 15px; font-weight: 800; text-align: right; }
        .health-field input.health-slider { width: 100%; height: 5px; padding: 0; border: 0; border-radius: 99px; outline: 0; background: linear-gradient(to right,var(--brand) 0%,var(--brand) var(--fill,50%),#deded9 var(--fill,50%),#deded9 100%); box-shadow: none; appearance: none; -webkit-appearance: none; }
        .health-slider::-webkit-slider-thumb { width: 20px; height: 20px; border: 4px solid #fff; border-radius: 50%; background: var(--brand); box-shadow: 0 1px 5px rgba(26,26,24,.28); cursor: pointer; appearance: none; -webkit-appearance: none; }
        .health-slider::-moz-range-thumb { width: 14px; height: 14px; border: 4px solid #fff; border-radius: 50%; background: var(--brand); box-shadow: 0 1px 5px rgba(26,26,24,.28); cursor: pointer; }
        .health-path { grid-column: 1 / -1; overflow: hidden; border: 1px solid var(--rule); border-radius: 10px; background: var(--surface); box-shadow: 0 18px 50px -28px rgba(26,26,24,.4); }
        .health-path-main { display: grid; grid-template-columns: 1fr 34px 1fr 34px 1fr; align-items: stretch; }
        .health-stage { padding: 19px 12px; text-align: center; }
        .health-stage span { display: block; min-height: 32px; font-size: 11.5px; line-height: 1.35; font-weight: 700; color: var(--ink-soft); }
        .health-stage b { display: block; margin-top: 6px; font-family: var(--font-display); font-size: 30px; line-height: 1; color: var(--ink); }
        .health-stage.final { background: var(--brand-wash); }
        .health-stage.final b { color: var(--brand); }
        .health-arrow { display: flex; align-items: center; justify-content: center; color: var(--brand); font-size: 22px; font-weight: 500; }
        .health-money { display: grid; grid-template-columns: 1fr 1fr 1fr; border-top: 1px solid var(--rule); }
        .health-money-item { padding: 15px 16px; border-right: 1px solid var(--hair); }
        .health-money-item:last-child { border-right: 0; background: var(--brand-wash); }
        .health-money-item span { display: block; font-size: 11.5px; font-weight: 700; color: var(--ink-soft); }
        .health-money-item b { display: block; margin-top: 4px; font-size: 17px; color: var(--ink); }
        .health-money-item:last-child span, .health-money-item:last-child b { color: var(--brand); }
        @media (max-width: 900px) {
            .health-cover { grid-template-columns: 1fr; gap: 28px; }
            .health-copy { align-self: auto; padding-top: 0; }
            .health-copy .lede { margin-bottom: 22px; }
            .health-copy .cta-row { margin-top: 0; padding-top: 0; }
            .health-card { max-width: 700px; }
        }
        @media (max-width: 560px) {
            .health-card { padding: 20px; }
            .health-card h2 { font-size: 27px; }
            .health-intro { align-items: flex-start; flex-wrap: wrap; margin: 10px 0 20px; }
            .health-intro p { white-space: normal; }
            .health-primary, .health-assumptions, .health-path-main, .health-money { grid-template-columns: 1fr; }
            .health-arrow { height: 28px; transform: rotate(90deg); }
            .health-stage { padding: 15px; }
            .health-money-item { border-right: 0; border-bottom: 1px solid var(--hair); }
            .health-money-item:last-child { border-bottom: 0; }
        }
