/* Edit these overrides to customise the original theme in theme.css. */
:root { color-scheme: light; }
/* Insights: responsive, editable diagrams using the site's own palette. */
.insight-jumps { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:32px; }
.insight-jumps a { font-size:14px; text-decoration:underline; text-underline-offset:5px; }
.insight-article { max-width:1040px; margin:auto; padding:80px 32px; scroll-margin-top:96px; }
.insight-article + .insight-article { border-top:1px solid #d8cfc0; }
.article-heading h2 { font-family:'DM Serif Display',Georgia,serif; font-size:clamp(2.15rem,4vw,3.3rem); line-height:1.1; margin-top:16px; }
.article-deck { color:#686154; font-size:19px; line-height:1.6; margin-top:20px; }
.insight-prose { margin-top:32px; font-size:17px; line-height:1.8; }
.insight-prose p + p { margin-top:18px; }
.insight-diagram { margin-top:36px; padding:28px; border:1px solid #d8cfc0; border-radius:12px; background:#fffaf1; }
.graph-comparison { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.graph-panel { padding:24px; border-radius:10px; color:#2c2b2a; }
.graph-blue { background:#c8e2ec; }.graph-peach { background:#f0cec0; }
.graph-panel h3 { font-family:'DM Serif Display',Georgia,serif; font-size:26px; }
.diagram-subtitle { font-size:14px; margin-top:6px; }
.mini-chain { display:flex; flex-direction:column; align-items:center; margin-top:20px; }
.mini-chain > span { background:#fffaf1; border:1px solid #7fa9b9; border-radius:24px; padding:8px 28px; font-size:16px; font-weight:600; }
.mini-chain b { font-size:22px; line-height:1.3; }.mini-chain small { font-size:13px; margin-bottom:6px; }
.context-links { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:24px; }
.context-links span { padding:14px 10px; background:#fff5ed; border:1px solid #c19482; border-radius:8px; text-align:center; font-size:15px; }
.context-note { margin-top:22px; padding-top:20px; border-top:1px dashed #ab7f6e; text-align:center; font-size:15px; line-height:1.8; }
.diagram-join { padding:16px 0; text-align:center; font-size:15px; font-weight:600; color:#624431; }
.graph-result { background:#d0dfb6; border-radius:10px; padding:20px; text-align:center; }
.graph-result strong,.graph-result span { display:block; }.graph-result span { margin-top:6px; font-size:15px; }
.insight-diagram figcaption { margin-top:20px; color:#686154; font-size:14px; line-height:1.65; }
.agent-flow { display:grid; grid-template-columns:1fr 28px 1fr 28px 1.2fr; gap:8px; align-items:center; }
.flow-node { padding:22px 18px; border-radius:10px; min-width:0; }
.step-label { display:block; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; margin-bottom:12px; }
.flow-node strong { display:block; font-size:18px; line-height:1.4; }.flow-node p { margin-top:8px; font-size:14px; line-height:1.65; }
.flow-yellow { background:#f1dd91; }.flow-peach { background:#efc8b8; }.flow-blue { background:#c8e2ec; }.flow-purple { background:#ddd1eb; }.flow-green { background:#d0dfb6; }
.flow-arrow { font-size:26px; text-align:center; color:#725038; }.flow-down { text-align:right; padding:6px 13%; font-size:26px; color:#725038; }
.agent-evaluation { display:grid; grid-template-columns:1fr 28px 1fr; gap:14px; align-items:center; }
.feedback-loop { display:flex; align-items:center; gap:16px; padding:18px 20px; border:2px dashed #ae91c4; border-radius:10px; margin-top:22px; }
.feedback-loop > span { font-size:36px; color:#745185; }.feedback-loop p { font-size:14px; line-height:1.6; }
.article-sources { font-size:14px; line-height:1.8; margin-top:22px; color:#686154; }.article-sources a { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:767px) {
 .insight-article { padding:54px 20px; }.insight-diagram { padding:16px; }.graph-comparison,.agent-flow,.agent-evaluation { grid-template-columns:1fr; }
 .graph-panel { padding:20px; }.flow-arrow { transform:rotate(90deg); }.flow-down { text-align:center; padding:6px; }
}
@media print { .article-heading { display:block !important; }.insight-diagram { break-inside:avoid; } }
.identity-line { max-width: 215px; font-size: 12px; line-height: 1.45; font-weight: 600; letter-spacing: .015em; }
.personal-container { max-width: 1280px; margin: auto; padding: 0 32px; }
.personal-areas { padding: 80px 0; border-bottom: 1px solid #ded5c8; }
.eyebrow { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .16em; color: #686154; }
.personal-heading { margin-top: 16px; font-family: 'DM Serif Display', Georgia, serif; font-size: clamp(2.25rem,4vw,3rem); line-height: 1.12; }
.areas-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 40px; border: 1px solid #ded5c8; border-radius: 8px; overflow: hidden; }
.areas-grid article { padding: 30px; background: #fbf7ee; }
.areas-grid article + article { border-left: 1px solid #ded5c8; }
.area-number { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 6px; font-weight: 600; }
.area-sun { background: #f0d980; }.area-rose { background: #dca59d; }.area-leaf { background: #aec5a1; }
.areas-grid h3 { font-family: 'DM Serif Display', Georgia, serif; font-size: 28px; margin: 24px 0 12px; }
.areas-grid p { font-size: 16px; line-height: 1.75; color: #686154; }
.areas-grid a { display: inline-block; margin-top: 24px; font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 5px; }
.book-details { margin-top: 28px; padding-top: 24px; border-top: 1px solid #ded5c8; font-size: 16px; line-height: 1.7; color: #686154; }
.book-details h3 { font-family: 'DM Serif Display', Georgia, serif; font-size: 26px; color: #32241b; }
.book-details ul { list-style: disc; padding-left: 20px; margin: 12px 0 20px; }
.book-details li { margin: 6px 0; }.review-note { margin-top: 16px; }
.history-label { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; padding-top: 28px; color: #624431; }
.portrait-layout { display: grid; grid-template-columns: 1fr .75fr; gap: 64px; align-items: center; }
.professional-portrait { width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: center 30%; border-radius: 8px; }
@media (max-width: 767px) {
  .personal-container { padding: 0 20px; }.personal-areas { padding: 56px 0; }
  .areas-grid,.portrait-layout { grid-template-columns: 1fr; }.areas-grid article + article { border-left: 0; border-top: 1px solid #ded5c8; }
  .identity-line { max-width: 200px; font-size: 11px; }
}
html { scroll-behavior: smooth; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; padding: 12px 20px; background: #fff; color: #32241b; transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }
.mobile-navigation { padding: 10px 20px 20px; border-top: 1px solid #ded5c8; }
.mobile-navigation a { display: block; padding: 12px; border-radius: 5px; font-size: 16px; }
.mobile-navigation a:hover, .mobile-navigation a[aria-current="page"] { background: #eae0d2; }
[hidden] { display: none !important; }
.contact-link { text-decoration: underline; text-underline-offset: 3px; }
.email-draft-link { display: block; background: #624431; color: #fff; border-radius: 6px; padding: 12px 16px; margin: 12px 0; font-size: 16px; font-weight: 600; }
#form-status { font-size: 14px; overflow-wrap: anywhere; }
input, textarea, select { font-size: 16px !important; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid #725038; outline-offset: 4px; }
@media (min-width: 768px) { .mobile-navigation { display: none !important; } }
@media (max-width: 380px) {
  h1 { font-size: 3.15rem !important; }
  header a span.uppercase { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
@media print {
  header, footer, #menu-toggle, .skip-link { display: none !important; }
  section { padding-top: 20px !important; padding-bottom: 20px !important; }
  body { background: white; color: black; }
  article { break-inside: avoid; }
}

.fiction-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:36px; }.fiction-project { padding:32px; border:1px solid #ded5c8; border-top:5px solid #a9cbdc; border-radius:6px; }.fiction-project:last-child { border-top-color:#afc6a2; }.fiction-project h3 { font-family:'DM Serif Display',Georgia,serif; font-size:32px; margin:20px 0 12px; }.fiction-project > p:last-child { color:#686154; line-height:1.7; }.role-date { display:block; max-width:160px; margin-top:8px; text-transform:none; letter-spacing:0; font-size:13px; font-weight:400; }
@media(max-width:767px){.fiction-grid { grid-template-columns:1fr; }}
