.ansatz-quote { padding: clamp(80px,10vh,128px) var(--pandect-nav-gutter) clamp(96px,12vh,160px); background: #fff; color: #121212; font-family: 'General Sans','Helvetica Neue',Helvetica,sans-serif; }
.ansatz-quote__shell { max-width: 1680px; margin: 0 auto; }
.ansatz-quote__attribution { position: relative; padding-left: 18px; margin: 0 0 48px; font-size: 18px; line-height: 1.5; font-weight: 400; }
.ansatz-quote__attribution span { display: block; color: #797979; }
.ansatz-quote__attribution::before { content: ''; position: absolute; left: 0; top: calc(.75em - 4px); display: block; width: 8px; height: 8px; background: #121212; }
html body .ansatz-quote blockquote, html body .ansatz-editorial-quote blockquote { border: 0; padding: 0; margin: 0; max-width: 34ch; font-size: 44px; line-height: 1.12; letter-spacing: -.04em; font-weight: 400; color: #121212; }
html body .ansatz-quote__thesis { margin: clamp(72px,10vh,128px) 0 0; max-width: 36ch; font-size: 34px; line-height: 1.15; letter-spacing: -.035em; font-weight: 400; color: #797979; }
@media(max-width:720px) { .ansatz-quote { padding-top: 64px; padding-bottom: 80px; } .ansatz-quote__attribution { font-size: 16px; margin-bottom: 32px; } }

html body .ansatz-editorial h2 { font-size: 50px; max-width: 19ch; }

html body .ansatz-editorial-copy p { margin: 0; max-width: 30em; font-family: 'General Sans', 'Helvetica Neue', Helvetica, sans-serif; color: #121212; font-size: 20px; line-height: 1.18; font-weight: 400; letter-spacing: -.018em; }


.ansatz-editorial-quote { min-width: 0; }
.ansatz-editorial-quote .ansatz-quote__attribution { margin-bottom: 32px; }
html body .ansatz-editorial-quote .ansatz-quote__thesis { margin-top: 48px; }

/* Balance the opening thesis and market voice. */
html body .ansatz-editorial h2 { font-size: 48px; align-self: start; }
.ansatz-editorial-quote .ansatz-quote__attribution { font-size: 16px; line-height: 1.5; margin-bottom: 32px; }
html body .ansatz-editorial-quote blockquote { font-size: 46px; line-height: 1.12; }
html body .ansatz-editorial-quote .ansatz-quote__thesis { margin-top: 64px; max-width: 100%; font-size: 24px; line-height: 1.3; color: #797979; letter-spacing: -.018em; }
@media (max-width: 720px) { html body .ansatz-editorial h2 { font-size: 38px; } html body .ansatz-editorial-quote blockquote { font-size: 36px; } html body .ansatz-editorial-quote .ansatz-quote__thesis { margin-top: 48px; font-size: 22px; } }

/* Outcome-led Pandect comparison column. */
html body .ansatz-gap-table thead th:nth-child(2) { width: 24%; }
html body .ansatz-gap-table thead th:nth-child(3) { width: 24%; }
html body .ansatz-gap-table thead th:last-child { width: 29%; }
html body .ansatz-gap-table tbody td:last-child { padding-top: 36px; padding-bottom: 36px; }
.ansatz-gap-outcome { display: block; color: #fff; font-size: 18px; line-height: 1.3; font-weight: 600; letter-spacing: -.018em; margin-bottom: 14px; }
.ansatz-gap-detail { display: block; color: #a3a3a3; font-size: 14px; line-height: 1.5; font-weight: 400; }

/* Contrast and emphasis for the light comparison table. */
html body .ansatz-gap-table .ansatz-gap-outcome { color: #121212; font-weight: 600; }
html body .ansatz-gap-table .ansatz-gap-detail { color: #747474; }
html body .ansatz-gap-table thead th:last-child { color: #121212; font-weight: 600; }
html body .ansatz-pandect-heading { display: inline-flex; align-items: center; gap: 10px; color: #121212; font-weight: 600; }
html body .ansatz-pandect-dot { display: inline-block; width: 8px; height: 8px; flex: 0 0 8px; border-radius: 0; background: #121212; }

/* Quiet emphasis through a soft surface rather than bold type. */
html body .ansatz-gap-table tbody td:last-child::before { display: none; }
html body .ansatz-gap-table tbody td:last-child { padding-top: 24px; padding-bottom: 24px; }
.ansatz-gap-result { background: #f4f4f4; border-radius: 7px; padding: 24px; }
html body .ansatz-gap-table .ansatz-gap-outcome { font-weight: 400; font-size: 18px; color: #303030; line-height: 1.35; margin-bottom: 12px; }

/* One continuous surface for the entire Pandect column. */
html body .ansatz-gap-result { background: transparent; border-radius: 0; padding: 0; }
html body .ansatz-gap-table tbody td:last-child { background: #f4f4f4; border-top-color: transparent; padding: 28px 30px; }
html body .ansatz-gap-table tbody tr:first-child td:last-child { border-top-left-radius: 7px; border-top-right-radius: 7px; }
html body .ansatz-gap-table tbody tr:last-child td:last-child { border-bottom-left-radius: 7px; border-bottom-right-radius: 7px; }
html body .ansatz-gap-table { border-collapse: separate; border-spacing: 0; }

/* Give outcomes room and keep comparison rules away from the panel. */
html body .ansatz-gap-table thead th:first-child { width: 20%; }
html body .ansatz-gap-table thead th:nth-child(2), html body .ansatz-gap-table thead th:nth-child(3) { width: 20%; }
html body .ansatz-gap-table thead th:last-child { width: 40%; }
html body .ansatz-gap-table tbody th, html body .ansatz-gap-table tbody td { border-top: 0; position: relative; }
html body .ansatz-gap-table tbody th::before, html body .ansatz-gap-table tbody td:not(:last-child)::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; width: auto; background: #dedede; }
html body .ansatz-gap-table tbody td:nth-child(3)::before { right: 56px; }
html body .ansatz-gap-table td:not(:last-child) { padding-right: 40px; }
html body .ansatz-gap-result { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 16px; align-items: start; }
.ansatz-gap-result-icon { display: block; width: 28px; height: 28px; color: #121212; }

/* Align the heading marker with the visible dot-icon edge. */
html body .ansatz-gap-table thead th:last-child { padding-left: 32px; }
html body .ansatz-gap-table .ansatz-gap-result-icon, html body .ansatz-gap-table tbody th .ansatz-gap-icon { width: 28px; height: 28px; min-width: 28px; flex-shrink: 0; }

/* Shared inset overrides responsive table padding as well. */
html body .ansatz-gap-table thead th:last-child, html body .ansatz-gap-table tbody td:last-child { padding-left: 30px !important; }
html body .ansatz-gap-table .ansatz-gap-result-icon { transform: translateX(-2.1px); }

/* Text-only Pandect panel. */
html body .ansatz-gap-table tbody td:last-child { background: #121212; }
html body .ansatz-gap-result { display: block; }
html body .ansatz-gap-table .ansatz-gap-outcome { color: #f5f5f5; }
html body .ansatz-gap-table .ansatz-gap-detail { color: #bdbdbd; }

/* Matching continuous surface for the existing-state columns. */
html body .ansatz-gap-table tbody th, html body .ansatz-gap-table tbody td:not(:last-child) { background: #f4f4f4; }
html body .ansatz-gap-table tbody th:first-child { padding-left: 24px; }
html body .ansatz-gap-table tbody tr:first-child th:first-child { border-top-left-radius: 7px; }
html body .ansatz-gap-table tbody tr:last-child th:first-child { border-bottom-left-radius: 7px; }
html body .ansatz-gap-table tbody tr:first-child td:nth-child(3) { border-top-right-radius: 7px; }
html body .ansatz-gap-table tbody tr:last-child td:nth-child(3) { border-bottom-right-radius: 7px; }
html body .ansatz-gap-table tbody tr:first-child th::before, html body .ansatz-gap-table tbody tr:first-child td:not(:last-child)::before { display: none; }

/* Only the two comparison columns share the light panel. */
html body .ansatz-gap-table tbody th:first-child { background: transparent; padding-left: 0; border-radius: 0; }
html body .ansatz-gap-table tbody tr:first-child td:nth-child(2) { border-top-left-radius: 7px; }
html body .ansatz-gap-table tbody tr:last-child td:nth-child(2) { border-bottom-left-radius: 7px; }
html body .ansatz-gap-table tbody td:nth-child(3) { border-right: 24px solid #fff; background-clip: padding-box; }
html body .ansatz-gap-table tbody td:nth-child(3)::before { right: 32px; }

/* Separate white rules inside the Pandect panel at the shared row boundaries. */
html body .ansatz-gap-table tbody tr:not(:first-child) td:last-child::before { display: block; content: ''; position: absolute; top: 0; bottom: auto; left: 30px; right: 30px; width: auto; height: 1px; background: rgba(255,255,255,.35); }

/* Rules stay inside their respective panels. */
html body .ansatz-gap-table tbody th:first-child::before { display: none; }
html body .ansatz-gap-table tbody tr:not(:first-child) td:nth-child(2)::before { left: 30px; right: 0; }
html body .ansatz-gap-table tbody tr:not(:first-child) td:nth-child(3)::before { left: 0; right: 30px; }

/* Consistent dotted checks align with the heading square. */
html body .ansatz-gap-result { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 16px; align-items: start; }
.ansatz-gap-check { display: block; width: 28px; height: 28px; color: #f5f5f5; transform: translateX(-2.1px); }
