@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600&display=swap');
:root{--paper:#f5f3ee;--white:#fbfaf7;--ink:#202522;--muted:#5b625e;--line:#d5d2c9;--moss:#3f5a4b;--blue:#426b78;--clay:#a2674d;--ochre:#a88942;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration-color:var(--line);text-underline-offset:4px}a:hover{text-decoration-color:currentColor}.site-header{max-width:var(--max);margin:auto;padding:28px 32px;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line)}.wordmark{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-decoration:none;white-space:nowrap}.wordmark span{font-weight:400;color:var(--muted)}nav{display:flex;gap:23px;margin-left:auto;font-size:.84rem}nav a{text-decoration:none;color:var(--muted)}nav a:hover,nav a.active{color:var(--ink)}.header-cta{font-size:.78rem;background:var(--moss);color:var(--white);padding:9px 13px;border-radius:4px;text-decoration:none;white-space:nowrap}.page-shell{max-width:var(--max);margin:0 auto;padding:92px 32px 120px}.page-kind{font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.14em;color:var(--muted);margin-bottom:34px}.content{max-width:790px}.content>h1:first-child{font-size:clamp(3rem,7vw,5.8rem);line-height:1.01;letter-spacing:-.055em;font-weight:600;margin:0 0 28px;max-width:940px}.content>h1:first-child+p{font-size:1.28rem;line-height:1.5;max-width:680px;color:var(--muted)}h2{font-size:2rem;line-height:1.1;letter-spacing:-.035em;margin:86px 0 18px}h3{font-size:1.2rem;line-height:1.2;margin:42px 0 9px;letter-spacing:-.015em}p{max-width:700px;margin:0 0 20px;color:var(--muted)}strong{color:var(--ink)}ul{padding-left:1.2rem;color:var(--muted);margin:12px 0 28px}li{padding:4px 0}.content a{color:var(--moss);font-weight:500}.content>p.text-link{margin-top:32px}.content>p.text-link a{display:inline-block;border:1px solid var(--moss);padding:10px 14px;text-decoration:none;border-radius:4px}.content blockquote{font-size:1.7rem;line-height:1.2;letter-spacing:-.025em;border-left:2px solid var(--moss);padding:5px 0 5px 22px;margin:54px 0;color:var(--ink);max-width:700px}.method-step{font-family:'DM Mono',monospace;font-size:.86rem;border-top:1px solid var(--line);padding:15px 0;margin:0;color:var(--ink)}.accent-product .page-kind{color:var(--blue)}.accent-transformation .page-kind{color:var(--clay)}.accent-research .page-kind{color:var(--ochre)}.site-footer{border-top:1px solid var(--line);max-width:var(--max);margin:auto;padding:50px 32px 80px;display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:40px;color:var(--muted);font-size:.84rem}.site-footer p{font-size:.85rem;margin-top:12px}.footer-links{display:grid;gap:8px}.footer-links a{text-decoration:none}.footer-note{font-family:'DM Mono',monospace;font-size:.72rem;line-height:1.5;align-self:end;color:var(--ink)}@media(max-width:800px){.site-header{padding:22px 20px;flex-wrap:wrap}.site-header nav{order:3;width:100%;margin:0;justify-content:space-between;gap:8px}.header-cta{margin-left:auto}.page-shell{padding:60px 20px 90px}.content>h1:first-child{font-size:3.2rem}.site-footer{padding:38px 20px 60px;grid-template-columns:1fr;gap:28px}}

/* Marvin: a bounded public guide, not a decorative chatbot. */
.marvin{position:fixed;right:1.5rem;bottom:1.5rem;z-index:20;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.marvin-toggle{display:flex;align-items:center;gap:.55rem;border:1px solid var(--moss);border-radius:999px;background:var(--ink);color:var(--paper);padding:.65rem .9rem;box-shadow:0 10px 30px #20252222;cursor:pointer;font:inherit;font-size:.82rem}
.marvin-mark{display:grid;place-items:center;width:1.45rem;height:1.45rem;border:1px solid #b8c6b9;border-radius:50%;font-family:'DM Mono',monospace;font-size:.72rem}
.marvin-status{color:#a6c59d;font-size:.65rem}
.marvin-panel{position:absolute;right:0;bottom:3.25rem;width:22rem;max-width:calc(100vw - 2rem);border:1px solid var(--line);background:var(--white);box-shadow:0 18px 60px #2025222b}
.marvin-heading{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1rem .8rem;border-bottom:1px solid var(--line)}
.marvin-heading strong,.marvin-heading small{display:block}.marvin-heading strong{font-size:1rem}.marvin-heading small{color:var(--muted);font-size:.72rem;margin-top:.18rem}.marvin-heading button{border:0;background:none;color:var(--muted);font-size:1.5rem;line-height:1;cursor:pointer}
.marvin-intro{padding:.8rem 1rem;color:var(--muted);font-size:.78rem;line-height:1.45;background:var(--paper)}
.marvin-messages{display:flex;flex-direction:column;gap:.65rem;max-height:18rem;overflow:auto;padding:1rem}
.marvin-message{max-width:92%;padding:.7rem .8rem;font-size:.82rem;line-height:1.45}.marvin-message--assistant{align-self:flex-start;background:var(--paper);color:var(--ink)}.marvin-message--user{align-self:flex-end;background:#e2ebe2;color:var(--ink)}
.marvin-source{display:inline-block;margin-top:.4rem;color:var(--moss);font-size:.72rem;text-decoration:underline}
#marvin-form{display:flex;gap:.45rem;padding:.8rem 1rem;border-top:1px solid var(--line)}#marvin-input{min-width:0;flex:1;border:1px solid var(--line);background:var(--paper);padding:.65rem .7rem;font:inherit;font-size:.8rem}#marvin-form button{border:1px solid var(--moss);background:var(--moss);color:white;padding:.5rem .7rem;font:inherit;font-size:.78rem;cursor:pointer}
.marvin-voice-button{display:block;width:calc(100% - 2rem);margin:0 1rem .75rem;border:1px solid var(--line);background:var(--white);color:var(--moss);padding:.55rem .7rem;font:inherit;font-size:.76rem;cursor:pointer;text-align:left}.marvin-voice-button:hover{border-color:var(--moss);background:var(--paper)}.marvin-voice-button:disabled{opacity:.65;cursor:wait}.marvin-voice-surface{margin:0 1rem .75rem;overflow:hidden}
.marvin-footnote{padding:0 1rem .8rem;color:var(--muted);font-family:'DM Mono',monospace;font-size:.58rem;line-height:1.4}
@media (max-width:700px){.marvin{right:1rem;bottom:1rem}.marvin-panel{width:calc(100vw - 2rem)}}
