:root{--paper:#f4f2ed;--ink:#101010;--gray:#929292;--line:#d9d7d1;--orange:#ff6a00;--charcoal:#111111;--muted:#9b9b9b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}a{color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ff6a00;outline-offset:3px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1500px;padding:0 5.4%;margin:auto;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-weight:900;font-size:clamp(19px,2vw,27px);letter-spacing:-.06em}.brand-dot{color:var(--orange)}.back-link{text-decoration:none;font-size:13px;letter-spacing:.02em;border-bottom:1px solid currentColor;padding-bottom:4px;transition:color .25s}.back-link:hover{color:#e86600}
main{max-width:1500px;margin:0 auto;padding:0 5.4%}.intro{padding:72px 0 43px}.eyebrow{display:flex;align-items:center;gap:16px;font-size:10px;font-weight:700;letter-spacing:.12em}.eyebrow-line{flex:1;height:1px;background:#c9c7c1}.intro h1{font-size:clamp(56px,8.9vw,150px);letter-spacing:-.092em;line-height:.91;margin:45px 0 27px;font-weight:900;position:relative;max-width:1250px}.bio-word{font-weight:900}.ask-script{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.09em;text-transform:none;color:#f16918;font-size:.76em;white-space:nowrap}.intro-row{display:flex;align-items:end;justify-content:space-between;gap:30px}.intro-row p{max-width:560px;font-size:clamp(15px,1.55vw,19px);line-height:1.48;margin:0;letter-spacing:-.025em}.intro-note{font-size:10px;font-weight:700;letter-spacing:.08em;white-space:nowrap;padding-bottom:3px}.intro-note span{color:var(--orange);margin-left:12px;font-size:17px}
.chat-shell{background:var(--charcoal);color:white;border-radius:27px;overflow:hidden;min-height:520px;display:flex;flex-direction:column;box-shadow:0 30px 80px rgba(0,0,0,.1)}.chat-topbar{height:78px;flex-shrink:0;display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid #343434;padding:0 32px;font-size:13px;letter-spacing:.015em}.chat-topbar-left{display:flex;align-items:center;gap:11px}.chat-topbar-left strong{font-size:15px}.status-dot{height:8px;width:8px;border-radius:50%;background:#ff6a00;box-shadow:0 0 0 5px rgba(255,106,0,.1)}.chat-mode{color:#a4a4a4;font-size:11px;letter-spacing:.05em}
.conversation{display:flex;flex-direction:column;flex:1;gap:24px;min-height:255px;max-height:490px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#575757 transparent;padding:30px 32px 35px}.message{max-width:min(78%,740px);animation:enter .34s ease-out both}.message.bot{align-self:flex-start}.message.user{align-self:flex-end}.message-label{font-size:10px;letter-spacing:.12em;color:#888;margin-bottom:9px;font-weight:700}.message.user .message-label{text-align:right}.bubble{background:#252525;border-radius:17px 17px 17px 4px;padding:18px 21px;font-size:clamp(15px,1.4vw,18px);line-height:1.52;white-space:pre-wrap;overflow-wrap:anywhere;letter-spacing:-.012em}.message.user .bubble{background:#ededeb;color:#161616;border-radius:17px 17px 4px 17px}.welcome-message{max-width:75%}.source-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:13px}.source-links a{font-size:11px;color:#d7d7d7;border:1px solid #4c4c4c;border-radius:100px;padding:7px 11px;text-decoration:none;transition:border-color .2s,color .2s}.source-links a:hover{color:#fff;border-color:#fa7928}.empty-question{font-size:13px;color:#b8b8b8;margin-top:8px}.thinking{color:#bcbcbc;font-size:14px;letter-spacing:.02em}.thinking::after{content:'…';animation:blink 1s infinite alternate}
.chat-bottom{padding:0 32px 28px;margin-top:auto}.suggestions{display:flex;gap:10px;flex-wrap:wrap;padding:0 0 19px}.suggestions button{padding:10px 14px;background:transparent;border:1px solid #484848;color:#ebebeb;border-radius:100px;font-size:13px;text-align:left;transition:background .2s,border-color .2s}.suggestions button:hover{background:#282828;border-color:#888}.suggestions button span{font-size:11px;color:var(--orange);padding-left:9px}.composer{display:flex;gap:10px;border-top:1px solid #393939;padding-top:20px}.composer input{flex:1;min-width:0;background:#242424;border:none;color:#fff;border-radius:16px;padding:17px 20px;font-size:16px}.composer input::placeholder{color:#898989}.composer button{background:#fff;border:0;color:#111;border-radius:16px;font-weight:800;letter-spacing:.025em;padding:0 24px;min-width:108px;transition:background .2s,transform .2s}.composer button:hover{background:#ff8b3d}.composer button:active{transform:scale(.97)}.composer button:disabled{opacity:.55;cursor:wait}.composer button span{padding-left:4px;font-weight:400}
.under-chat{display:flex;justify-content:space-between;gap:20px;padding:18px 2px 62px;font-size:11px;letter-spacing:.045em;color:#6d6d6d;font-weight:700}.under-chat a{color:#2b2b2b;text-decoration:none;border-bottom:1px solid #999;padding-bottom:3px}.site-footer{border-top:1px solid var(--line);max-width:1500px;margin:auto;padding:22px 5.4% 30px;display:flex;justify-content:space-between;gap:20px;font-size:11px;font-weight:800;letter-spacing:.07em}.site-footer em{font-family:Georgia,serif;font-size:15px;font-weight:400;letter-spacing:0;color:#888}@keyframes enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes blink{to{opacity:.2}}
@media(max-width:780px){.site-header{height:70px;padding:0 20px}.back-link{font-size:12px}main{padding:0 16px}.intro{padding:42px 0 27px}.eyebrow{gap:8px;font-size:8px}.intro h1{margin:32px 0 21px;font-size:clamp(49px,12vw,90px)}.ask-script{display:inline-block}.intro-row{align-items:start;gap:15px}.intro-row p{font-size:15px;max-width:440px}.intro-note{display:none}.chat-shell{border-radius:18px;min-height:530px}.chat-topbar{height:65px;padding:0 17px}.chat-topbar-left strong{font-size:13px}.chat-mode{font-size:9px;text-align:right;max-width:110px}.conversation{padding:19px 17px;gap:18px;min-height:258px}.message{max-width:92%}.welcome-message{max-width:94%}.bubble{padding:15px 16px;font-size:15px}.chat-bottom{padding:0 14px 15px}.suggestions{gap:7px;padding-bottom:13px}.suggestions button{font-size:12px;padding:9px 11px}.composer{padding-top:13px;gap:7px}.composer input{font-size:15px;padding:13px;border-radius:12px}.composer button{min-width:78px;padding:0 10px;border-radius:12px;font-size:13px}.under-chat{flex-direction:column;padding:15px 2px 43px;line-height:1.5;font-size:10px}.site-footer{margin:0 16px;padding:19px 0;flex-wrap:wrap;font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* EMBEDDABLE WIDGET: all you see in the iframe is the conversation panel */
html,body.widget-page{height:100%;min-height:0;scroll-behavior:auto}
body.widget-page{background:transparent;color:#fff;overflow:hidden}
.widget-root{height:100%;width:100%;max-width:none;margin:0;padding:0;display:block}
.widget-page .chat-shell{height:100%;min-height:0;max-height:none;border-radius:22px;box-shadow:none}
.widget-page .chat-topbar{height:72px;padding:0 24px}
.widget-page .chat-topbar-left strong{font-size:20px;font-weight:800;letter-spacing:-.035em}
.widget-page .chat-mode{text-transform:none;font-size:13px;letter-spacing:0;color:#aaa}
.widget-page .conversation{min-height:0;max-height:none;flex:1;padding:24px 25px 12px;gap:15px;overscroll-behavior:contain}
.widget-page .message-label{font-size:10px}
.widget-page .message{max-width:85%}
.widget-page .welcome-message{max-width:88%}
.widget-page .bubble{font-size:15px;line-height:1.5;padding:16px 18px;border-radius:17px 17px 17px 5px}
.widget-page .chat-bottom{margin-top:0;padding:0 24px 22px}
.widget-page .suggestions{padding-bottom:16px;gap:8px}
.widget-page .suggestions button{font-size:12px;padding:9px 13px;white-space:nowrap}
.widget-page .composer{padding-top:16px;gap:10px}
.widget-page .composer input{padding:15px 16px;font-size:15px}
.widget-page .composer button{min-width:80px;font-size:14px;letter-spacing:0}
@media(max-width:680px){
 .widget-page .chat-shell{border-radius:16px}
 .widget-page .chat-topbar{height:68px;padding:0 16px;gap:12px}
 .widget-page .chat-topbar-left strong{font-size:16px;line-height:1.2}
 .widget-page .chat-mode{font-size:10px;max-width:100px;text-align:right}
 .widget-page .conversation{padding:20px 16px 10px}
 .widget-page .message,.widget-page .welcome-message{max-width:96%}
 .widget-page .bubble{font-size:14px;padding:14px 15px}
 .widget-page .chat-bottom{padding:0 14px 14px}
 .widget-page .suggestions{gap:7px;padding-bottom:13px}
 .widget-page .suggestions button{font-size:11px;padding:8px 10px}
 .widget-page .composer input{font-size:14px;padding:13px 12px}
 .widget-page .composer button{min-width:70px;padding:0 10px}
}

/* A little playfulness on the joke shortcut, without changing the portfolio palette */
.widget-page .suggestions .joke-prompt {border-color:#a4511a;}
.widget-page .suggestions .joke-prompt:hover {background:#ff6a00;color:#111;border-color:#ff6a00;transform:translateY(-2px);}
.widget-page .suggestions .joke-prompt span {color:inherit;opacity:.8;}
.widget-page .message.joke .bubble {border-left:3px solid #ff6a00;}
@media (prefers-reduced-motion: reduce){.widget-page .suggestions .joke-prompt:hover {transform:none;}}
