.presence-wrap { max-width: 920px; margin: auto; padding: 3.5rem 1.5rem 4rem; }
.presence-wrap h1 { font-size: clamp(2rem, 5vw, 3rem); line-height: 1.15; font-weight: 300; letter-spacing: -.025em; margin-bottom: 1.5rem; }
.presence-wrap h2 { font-size: 1.45rem; font-weight: 400; margin: 2rem 0 1rem; }
.presence-wrap h3 { font-size: 1.15rem; font-weight: 400; margin-bottom: .8rem; }
.presence-wrap p { margin-bottom: 1rem; max-width: 70ch; }
.presence-wrap section { padding: 1.75rem 0; border-bottom: 1px solid var(--rule); }
.presence-wrap section:last-child { border-bottom: 0; }
.presence-hero { padding-top: 0 !important; }
.lede { font-size: 1.12rem; color: var(--ink-2); line-height: 1.7; }
.eyebrow, .availability { font-family: var(--mono); font-size: .78rem; color: var(--ink-2); }
.eyebrow { color: var(--accent); }
.actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.5rem; margin: 1.5rem 0; }
.button { background: var(--accent); color: white; border: 1px solid var(--accent); padding: .75rem 1rem; display: inline-block; text-decoration: none; }
.proof-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.proof-card { display: block; padding: 1.5rem; border: 1px solid var(--rule); color: var(--ink); text-decoration: none; min-width: 0; }
a.proof-card:hover { background: var(--paper-2); }
.proof-card p { color: var(--ink-2); }
.proof-card h2 { margin-top: 0; }
.writing-list { display: grid; gap: 1rem; margin: 2rem 0; }
.work-case { scroll-margin-top: 5rem; }
.article-body { padding-top: 3rem; padding-bottom: 3rem; }
.article-body h1 { font-size: clamp(1.8rem,4vw,2.6rem); line-height: 1.2; margin-bottom: 2rem; }
.article-body p, .presence-wrap p, td { overflow-wrap: anywhere; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.score-row .score-btn { min-height: 36px; }
.vendor-table input { min-width: 7rem; }
.tool-layout > div { min-width: 0; }
@media(max-width:600px) { .proof-grid { grid-template-columns: 1fr; } .presence-wrap { padding-top: 2rem; } .actions { align-items: flex-start; flex-direction: column; } .proof-card { padding: 1.15rem; } }

.vendor-table textarea { min-width: 12rem; min-height: 4rem; font: inherit; color: var(--ink); background: var(--paper); border: 1px solid var(--rule); padding: .3rem; }

.input-row { flex-wrap: wrap; }
.input-row input, .input-row select { flex: 1 1 150px; min-width: 0; max-width: 100%; }
.summary-row { gap: .5rem; }
.summary-panel, .score-panel { min-width: 0; }
@media(max-width:860px) { .summary-panel { position: static; } }

/* Keep the established orange palette readable at small text sizes. */
:root { --accent: #ad3909; }
[data-theme="dark"] { --accent: #ef7a42; --ink-3: #aaa29b; }
[data-theme="dark"] .button, [data-theme="dark"] .btn.primary { color: #171512; }
/* Inline links remain identifiable without relying on colour alone. */
.presence-wrap p a, .article-body p a, p.container a { text-decoration: underline; text-underline-offset: .15em; }
#contact > a { text-decoration: underline; text-underline-offset: .15em; }

.experience-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media(max-width:800px) { .experience-grid { grid-template-columns: 1fr; } }
.presence-wrap blockquote { border-left: 3px solid var(--accent); padding-left: 1rem; margin: 1.5rem 0; font-size: 1.12rem; }
