@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;450;500;600&display=swap');
:root{font-family:'DM Sans',system-ui,sans-serif;color:#ecece7;background:#0b0c0b;--line:#292c29;--muted:#91978f;--accent:#98b489}*{box-sizing:border-box}body{margin:0;min-height:100svh;display:flex;flex-direction:column;background:radial-gradient(circle at 50% 42%,#172019 0,#0b0c0b 38%);color:#ecece7}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}header{padding:28px 42px;display:flex;align-items:center;justify-content:space-between;gap:20px}.identity{display:flex;align-items:center;font-size:14px;font-weight:500}.identity small{display:block;color:#777d73;font-size:11px;margin-top:4px;font-weight:400}nav{display:flex;gap:28px;align-items:center;font-size:12px}nav button{border:1px solid var(--line);border-radius:8px;background:#111311;padding:11px 14px}nav a{color:#999f97}main{width:min(780px,calc(100% - 40px));margin:auto;flex:1;display:flex;flex-direction:column;justify-content:center;padding:35px 0 80px}#welcome{text-align:center;padding:0 20px}.portrait{position:relative;width:60px;height:60px;margin:0 auto 20px}.portrait img{width:100%;height:100%;object-fit:cover;border-radius:50%;filter:grayscale(1)}.portrait i{width:12px;height:12px;background:#8cac7d;border:3px solid #0b0c0b;border-radius:50%;position:absolute;right:0;bottom:1px}.eyebrow{font-size:12px;color:var(--muted);margin-bottom:14px}h1{font-size:clamp(28px,3.45vw,42px);line-height:1.16;letter-spacing:-1.7px;font-weight:300;margin:0 0 32px}h1 span{color:var(--accent)}.entry{width:100%}form{background:#141614;border:1px solid #363a35;box-shadow:0 16px 45px #0008;border-radius:18px;padding:13px;display:flex;align-items:center;gap:12px}form:focus-within{border-color:#7d9872}.spark{font-size:29px;color:#91ad83;margin-left:9px}input{min-width:0;flex:1;width:100%;border:0;background:transparent;color:#f4f4ef;font-size:15px;padding:10px 0;outline:none!important}input::placeholder{color:#71766f}.submit{border:0;width:40px;height:40px;background:#dce7d7;color:#172018;border-radius:12px;font-size:23px;flex:none}.submit:hover{background:#a9c49c}.suggestions{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin:19px 0}.suggestions button{border:1px solid var(--line);border-radius:30px;padding:10px 16px;background:#131513;font-size:12px;transition:background .2s,transform .2s}.suggestions button:hover{background:#20261f;transform:translateY(-2px)}.note{text-align:center;font-size:10px;color:#656a64;margin:23px 0 0}footer{display:flex;justify-content:space-between;gap:20px;padding:24px 42px;border-top:1px solid #202320;color:#696e68;font-size:10px}#conversation{padding:15px 0 35px}.turn{margin-bottom:32px;animation:arrive .3s ease}.question{text-align:right;margin-bottom:25px}.question span{display:inline-block;background:#273124;padding:12px 18px;border-radius:18px 18px 3px 18px;max-width:90%;font-size:14px;overflow-wrap:anywhere}.answer{padding-left:38px;position:relative;scroll-margin-top:20px}.answer:before{content:'✳';position:absolute;top:0;left:0;color:#8eae80;font-size:23px}.answer h2{font-size:23px;letter-spacing:-.6px;font-weight:500;margin:0 0 15px}.answer p{font-size:14px;line-height:1.8;color:#9aa198}.cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.project{display:block;border:1px solid var(--line);padding:10px;border-radius:13px;background:#121412}.project img{width:100%;aspect-ratio:1.6;object-fit:cover;border-radius:7px}.project h3{font-size:16px;line-height:1.3;margin:12px 0 6px;font-weight:500}.project p{font-size:12px;margin:0}.project .tag{font-size:9px;text-transform:uppercase;letter-spacing:.05em;margin:12px 0 0;color:#747b72}.project .open{font-size:11px;color:#91ae83;margin-top:14px;display:block}.project[href]:hover{border-color:#7f9975}.links{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.links a{font-size:12px;border-bottom:1px solid #687864;padding:7px 0;margin-right:10px}.capability{padding:12px 0;border-bottom:1px solid var(--line)}.capability h3{font-size:15px;font-weight:500}.started main{justify-content:flex-start;padding-top:20px}.started .entry{position:sticky;bottom:0;background:linear-gradient(#0b0c0b00,#0b0c0b 18%);padding-top:20px;z-index:5}.started .note{margin:12px 0}.started .suggestions{margin:12px 0}.started footer{margin-top:25px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@keyframes arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){header{padding:20px}.identity{font-size:12px}.identity small{font-size:10px}nav{gap:12px}nav>a{display:none}nav button{font-size:11px;padding:9px}main{padding:25px 0 40px}h1{letter-spacing:-2px}#welcome{padding:0}.intro{font-size:13px}form{padding:9px;gap:8px}.spark{margin-left:3px;font-size:24px}input{font-size:13px}.suggestions{gap:7px}.suggestions button{padding:9px 12px;font-size:11px}footer{padding:18px 20px;line-height:1.6}footer>span:last-child{display:none}.cards{grid-template-columns:1fr}.answer{padding-left:28px}.answer:before{font-size:20px}.note{font-size:9px}.started main{padding-top:0}.started .suggestions{margin:9px 0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
html,body,header,footer,form,.suggestions button,.project,nav button,.question span{transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}
#theme-toggle{display:inline-flex;align-items:center;gap:7px;min-width:72px;justify-content:center}
#theme-toggle>span:first-child{font-size:15px;line-height:1}
html[data-theme="light"]{color-scheme:light;--line:#dedfd5;--muted:#777d73;--accent:#517247;background:#f6f5f0}
html[data-theme="light"] body{background:radial-gradient(circle at 50% 42%,#eef1e8 0,#f6f5f0 38%);color:#272b28}
html[data-theme="light"] .identity small{color:#777d73}
html[data-theme="light"] nav a{color:#626b60}
html[data-theme="light"] nav button{background:#f6f5f0}
html[data-theme="light"] .portrait i{background:#809973;border-color:#f6f5f0}
html[data-theme="light"] .intro{color:#747b71}
html[data-theme="light"] form{background:#fff;border-color:#d9ddd1;box-shadow:0 16px 45px #3145260a}
html[data-theme="light"] input{color:#272b28}
html[data-theme="light"] input::placeholder{color:#93998f}
html[data-theme="light"] .submit{background:#304b35;color:#fff}
html[data-theme="light"] .suggestions button{background:#ffffff75}
html[data-theme="light"] .suggestions button:hover{background:#e6ecdf}
html[data-theme="light"] .note,html[data-theme="light"] footer{color:#92978d}
html[data-theme="light"] footer{border-color:#e7e8e0}
html[data-theme="light"] .question span{background:#e7ebdf}
html[data-theme="light"] .answer p{color:#65705f}
html[data-theme="light"] .project{background:#fff}
html[data-theme="light"] .project .tag{color:#8b9387}
html[data-theme="light"] .project .open{color:#45693a}
html[data-theme="light"] .started .entry{background:linear-gradient(#f6f5f000,#f6f5f0 18%)}
@media(max-width:600px){#theme-toggle{min-width:38px;padding-inline:10px}.theme-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}}
.entry>.suggestions{max-width:760px;margin:14px auto 17px}.entry>.suggestions button{padding:10px 15px;text-align:left}
.short-answer{max-width:66ch;margin-bottom:22px!important}
.response-label{margin:20px 0 9px!important;color:#687168!important;font-size:10px!important;letter-spacing:.12em;text-transform:uppercase}
.evidence-list{display:grid;gap:8px}
.evidence-item{display:grid;grid-template-columns:minmax(110px,.65fr) minmax(0,1.7fr) auto;align-items:center;gap:16px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#111311;transition:border-color .2s ease,background .2s ease}
.evidence-item:hover{border-color:#71806e;background:#151915}
.evidence-name{font-size:12px;font-weight:500;color:#eff0eb}
.evidence-claim{font-size:11px;line-height:1.5;color:#8f968e}
.evidence-link{font-size:10px;color:#8fac82;white-space:nowrap}
.followups{display:flex;flex-wrap:wrap;gap:8px}
.followups button,.full-case{border:1px solid var(--line);border-radius:999px;background:#111311;padding:9px 13px;font-size:11px;line-height:1.3;transition:border-color .2s ease,background .2s ease,transform .2s ease}
.followups button:hover,.full-case:hover{border-color:#70806c;background:#1a2019;transform:translateY(-1px)}
.full-case{color:#abc5a0}
html[data-theme="light"] .evidence-item,html[data-theme="light"] .followups button,html[data-theme="light"] .full-case{background:#fff}
html[data-theme="light"] .evidence-item:hover,html[data-theme="light"] .followups button:hover,html[data-theme="light"] .full-case:hover{background:#edf1e8}
html[data-theme="light"] .evidence-name{color:#272b28}
html[data-theme="light"] .evidence-claim{color:#687168}
html[data-theme="light"] .evidence-link,html[data-theme="light"] .full-case{color:#4e7045}
@media(max-width:600px){
 #welcome h1 br{display:none}
 .entry>.suggestions{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;margin-inline:-2px;padding:2px 2px 7px;scrollbar-width:none}
 .entry>.suggestions::-webkit-scrollbar{display:none}
 .entry>.suggestions button{flex:none;max-width:230px}
 .evidence-item{grid-template-columns:1fr;padding:13px;gap:5px}
 .evidence-link{margin-top:4px}
 .followups{align-items:stretch}
 .followups button,.full-case{flex:1 1 calc(50% - 8px);text-align:center;display:flex;align-items:center;justify-content:center}
}

/* Persistent conversation dock */
.short-label{display:none}
.started .long-label{display:none}
.started .short-label{display:inline}
.submit{width:auto;min-width:76px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:500}
.submit span:last-child{font-size:19px;line-height:1}
.answer-details{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:0 0 20px}
.answer-details li{border:1px solid var(--line);border-radius:999px;padding:7px 11px;color:var(--muted);font-size:10px}
.answer-catalog{display:grid;gap:26px;margin:4px 0 24px}
.catalog-section{border-top:1px solid var(--line);padding-top:16px}
.catalog-section>h3{margin:0 0 15px;font-size:10px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--accent)}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 34px}
.catalog-group{min-width:0}
.catalog-group h4{margin:0 0 8px;font-size:13px;font-weight:500;color:#e5e8e1}
.catalog-group ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:5px 12px}
.catalog-group li{font-size:11px;line-height:1.65;color:var(--muted)}
.catalog-group li:not(:last-child)::after{content:'·';margin-left:12px;color:#4c514b}
.tool-shortcut{appearance:none;border:0;padding:0;background:transparent;color:inherit;font:inherit;line-height:inherit;border-bottom:1px solid transparent}
.tool-shortcut:hover{color:var(--accent);border-bottom-color:currentColor}
html[data-theme="light"] .catalog-group h4{color:#30352f}
html[data-theme="light"] .catalog-group li:not(:last-child)::after{color:#b4b8ae}
.started .entry{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(780px,calc(100% - 40px));padding:20px 0 16px;background:linear-gradient(#0b0c0b00,#0b0c0b 20%);z-index:10}
.started .entry>.suggestions{display:flex;margin:10px 0 0}
.started #conversation{padding-bottom:calc(var(--dock-height,180px) + 34px)}
html[data-theme="light"] .started .entry{background:linear-gradient(#f6f5f000,#f6f5f0 20%)}

@media(max-width:600px){
 .started .entry{width:calc(100% - 24px);padding-bottom:max(10px,env(safe-area-inset-bottom))}
 .started .entry>.suggestions{margin-inline:0}
 .started #conversation{padding-bottom:calc(var(--dock-height,164px) + 28px)}
 .catalog-grid{grid-template-columns:1fr;gap:17px}
 .catalog-group ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px}
 .catalog-group li:not(:last-child)::after{content:none}
}

/* Minimal sticky navigation */
header{position:sticky;top:0;z-index:20;justify-content:flex-end;padding:14px 42px;background:#0b0c0bd9;border-bottom:1px solid #202320;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
header nav{margin-left:auto}
#theme-toggle{min-width:40px;width:40px;padding:0;height:40px;border-radius:50%}
#theme-toggle>span:first-child{font-size:17px}
.answer{scroll-margin-top:96px}
html[data-theme="light"] header{background:#f6f5f0dd;border-color:#e7e8e0}

@media(max-width:600px){
 header{padding:14px 20px}
 header nav{width:100%;justify-content:flex-end;gap:10px}
 nav>a{display:inline;font-size:10px;margin-right:auto}
 #theme-toggle{min-width:36px;width:36px;height:36px;padding:0}
}

#welcome h1{font-size:clamp(24px,3vw,36px);line-height:1.2;letter-spacing:-1.1px;font-weight:300}

/* Fixed footer and mobile question layout */
:root{--footer-height:49px}
body{padding-bottom:var(--footer-height)}
footer{position:fixed;left:0;right:0;bottom:0;z-index:19;min-height:var(--footer-height);align-items:center;padding:12px 42px;background:#0b0c0be8;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.started footer{margin-top:0}
.started .entry{bottom:var(--footer-height);padding-bottom:12px}
.started #conversation{padding-bottom:calc(var(--dock-height,180px) + var(--footer-height) + 34px)}
html[data-theme="light"] footer{background:#f6f5f0e8;border-color:#e7e8e0}

@media(max-width:600px){
 :root{--footer-height:45px}
 footer{padding:10px 14px;line-height:1.35}
 footer>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 footer>a{display:block!important;flex:none;color:#8f968e}
 .entry>.suggestions,.started .entry>.suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0 0;padding:0;overflow:visible}
 .entry>.suggestions button,.started .entry>.suggestions button{width:100%;max-width:none;min-height:46px;display:flex;align-items:center;justify-content:flex-start;border-radius:13px;padding:9px 11px;line-height:1.35;text-align:left}
 .entry>.suggestions button:last-child,.started .entry>.suggestions button:last-child{grid-column:1 / -1;min-height:40px}
 .started .entry{bottom:var(--footer-height);padding-bottom:max(9px,env(safe-area-inset-bottom))}
 .started .entry>.suggestions button{min-height:38px;justify-content:center;text-align:center;border-radius:11px;padding:7px 9px}
 .started #conversation{padding-bottom:calc(var(--dock-height,210px) + var(--footer-height) + 28px)}
}

/* Mobile prompts: readable menu before a conversation, compact controls after it starts. */
@media(max-width:600px){
 .entry>.suggestions{counter-reset:suggested-question;display:flex;flex-direction:column;gap:0;margin:13px 0 0;padding:6px;border:1px solid var(--line);border-radius:17px;background:#111311;box-shadow:0 14px 34px #0003}
 .entry>.suggestions::before{content:'Suggested questions';padding:8px 10px 7px;color:var(--muted);font-size:9px;font-weight:500;letter-spacing:.12em;text-align:left;text-transform:uppercase}
 .entry>.suggestions button{counter-increment:suggested-question;display:grid;grid-template-columns:25px minmax(0,1fr) 18px;align-items:center;gap:8px;width:100%;max-width:none;min-height:44px;padding:9px 10px;border:0;border-radius:11px;background:transparent;font-size:11px;line-height:1.35;text-align:left;transform:none}
 .entry>.suggestions button+button{border-top:1px solid var(--line);border-top-left-radius:0;border-top-right-radius:0}
 .entry>.suggestions button::before{content:'0' counter(suggested-question);color:#667063;font-size:9px;letter-spacing:.06em}
 .entry>.suggestions button::after{content:'↗';color:var(--accent);font-size:12px;text-align:right;opacity:.78}
 .entry>.suggestions button:hover{background:#191d18;transform:none}
 .entry>.suggestions button:last-child{min-height:44px}
 html[data-theme="light"] .entry>.suggestions{background:#fff;box-shadow:0 14px 34px #3145260a}
 html[data-theme="light"] .entry>.suggestions button:hover{background:#edf1e8}

 .started .entry>.suggestions{counter-reset:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:9px 0 0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
 .started .entry>.suggestions::before{display:none}
 .started .entry>.suggestions button{display:flex;grid-column:span 2;min-height:35px;padding:7px 6px;justify-content:center;border:1px solid var(--line)!important;border-radius:11px!important;background:#111311;font-size:10px;text-align:center}
 .started .entry>.suggestions button:nth-of-type(4),.started .entry>.suggestions button:nth-of-type(5){grid-column:span 3}
 .started .entry>.suggestions button::before,.started .entry>.suggestions button::after{display:none}
 html[data-theme="light"] .started .entry>.suggestions{background:transparent;box-shadow:none}
 html[data-theme="light"] .started .entry>.suggestions button{background:#fff}
 .started #conversation{padding-bottom:calc(var(--dock-height,150px) + var(--footer-height) + 28px)}
}

/* Smooth response reveal: quick enough to keep the conversation feeling immediate. */
@keyframes questionReveal{from{opacity:0;transform:translate3d(0,7px,0) scale(.985)}to{opacity:1;transform:none}}
@keyframes answerReveal{from{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:none}}
@keyframes answerChildReveal{from{opacity:0;transform:translate3d(0,6px,0)}to{opacity:1;transform:none}}
@keyframes sparkBloom{0%{opacity:0;transform:scale(.7) rotate(-14deg)}65%{opacity:1;transform:scale(1.08) rotate(3deg)}100%{opacity:1;transform:none}}
@keyframes cardReveal{from{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:none}}
.turn{animation:none}
.turn .question{animation:questionReveal .28s cubic-bezier(.2,.72,.25,1) both}
.turn .answer{animation:answerReveal .42s cubic-bezier(.18,.76,.24,1) .07s both}
.turn .answer::before{animation:sparkBloom .48s cubic-bezier(.18,.82,.22,1) .11s both}
.turn .answer>h2,.turn .answer>.short-answer,.turn .answer>.answer-details,.turn .answer>.answer-catalog,.turn .answer>.evidence,.turn .answer>.followup-section{animation:answerChildReveal .38s cubic-bezier(.2,.72,.25,1) both}
.turn .answer>h2{animation-delay:.12s}
.turn .answer>.short-answer{animation-delay:.17s}
.turn .answer>.answer-details,.turn .answer>.answer-catalog,.turn .answer>.evidence{animation-delay:.22s}
.turn .answer>.followup-section{animation-delay:.28s}
.turn .evidence-card,.turn .evidence-item{animation:cardReveal .36s cubic-bezier(.2,.72,.25,1) both}
.turn .evidence-list>:nth-child(1){animation-delay:.24s}
.turn .evidence-list>:nth-child(2){animation-delay:.29s}
.turn .evidence-list>:nth-child(3){animation-delay:.34s}
.turn .evidence-list>:nth-child(4){animation-delay:.39s}
.turn .evidence-list>:nth-child(5){animation-delay:.44s}

@media(prefers-reduced-motion:reduce){
 .turn,.turn .question,.turn .answer,.turn .answer::before,.turn .answer>*,.turn .evidence-card,.turn .evidence-item{animation:none!important}
}

/* Contact responses */
.contact-card{margin:3px 0 22px;padding:17px;border:1px solid var(--line);border-radius:15px;background:#111311}
.contact-card>h3{margin:0 0 14px;font-size:15px;font-weight:500;letter-spacing:-.2px}
.contact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0}
.contact-row{min-width:0;padding:10px 0;border-top:1px solid var(--line)}
.contact-row:first-child{grid-column:1 / -1}
.contact-row dt{margin:0 0 4px;color:var(--muted);font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.contact-row dd{min-width:0;margin:0;color:#e8ebe5;font-size:12px;line-height:1.45}
.contact-value{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.contact-value>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.contact-value:hover{color:var(--accent)}
.contact-arrow{flex:none;color:var(--accent);font-size:11px}
.contact-actions{display:flex;flex-wrap:wrap;gap:8px;margin:-3px 0 22px}
.contact-action{display:inline-flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#111311;color:#dfe5db;font-size:11px;transition:border-color .2s ease,background .2s ease,transform .2s ease}
.contact-action:hover{border-color:#70806c;background:#1a2019;transform:translateY(-1px)}
html[data-theme="light"] .contact-card,html[data-theme="light"] .contact-action{background:#fff}
html[data-theme="light"] .contact-row dd{color:#30352f}
html[data-theme="light"] .contact-action{color:#30352f}
.turn .answer>.contact-card,.turn .answer>.contact-actions{animation:answerChildReveal .38s cubic-bezier(.2,.72,.25,1) .22s both}

@media(max-width:600px){
 .contact-card{padding:14px}
 .contact-list{grid-template-columns:1fr}
 .contact-row:first-child{grid-column:auto}
 .contact-action{flex:1 1 calc(50% - 8px);justify-content:space-between}
}

@media(prefers-reduced-motion:reduce){
 .turn .answer>.contact-card,.turn .answer>.contact-actions{animation:none!important}
}

/* Readable conversation scale and clearer navigation actions. */
header nav{font-size:14px;gap:10px}
.full-portfolio-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 15px;border:1px solid #aeca9f;border-radius:999px;background:#dce7d7;color:#172018;font-size:13px;font-weight:600;box-shadow:0 7px 20px #0003;transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.full-portfolio-link:hover{background:#b9d0ae;border-color:#cce0c3;transform:translateY(-1px);box-shadow:0 9px 24px #0005}
#reset{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:50%;font-size:21px;line-height:1}
#reset>span{display:block;transform:translateY(-1px)}
.eyebrow{font-size:14px}
#welcome h1{font-size:clamp(32px,3.6vw,46px);line-height:1.16;letter-spacing:-1.25px}
input{font-size:16px}
.entry>.suggestions button{font-size:14px;line-height:1.35}
.question span{font-size:15px;line-height:1.5}
.answer h2{font-size:26px;line-height:1.25}
.answer p{font-size:16px;line-height:1.7}
.project h3{font-size:18px}
.project p{font-size:14px}
.project .tag{font-size:11px}
.project .open{font-size:13px}
.links a{font-size:14px}
.capability h3{font-size:17px}
.response-label{font-size:11px!important}
.evidence-name{font-size:14px}
.evidence-claim{font-size:13px;line-height:1.55}
.evidence-link{font-size:12px}
.followups button,.full-case{font-size:13px;padding:10px 15px}
.answer-details li{font-size:12px}
.catalog-section>h3{font-size:11px}
.catalog-group h4{font-size:15px}
.catalog-group li{font-size:13px}
.contact-card>h3{font-size:17px}
.contact-row dt{font-size:10px}
.contact-row dd{font-size:14px}
.contact-action{font-size:13px}
footer{font-size:12px}
html[data-theme="light"] .full-portfolio-link{background:#304b35;border-color:#304b35;color:#fff}
html[data-theme="light"] .full-portfolio-link:hover{background:#416147;border-color:#416147}

@media(max-width:600px){
 header nav{gap:8px}
 .full-portfolio-link{min-height:38px;margin-right:auto;padding:8px 12px;font-size:13px}
 #reset{width:38px;height:38px;padding:0;font-size:20px}
 #welcome h1{font-size:clamp(30px,9vw,38px);line-height:1.18;letter-spacing:-1px}
 .eyebrow{font-size:14px}
 input{font-size:16px}
 .entry>.suggestions::before{font-size:11px}
 .entry>.suggestions button{min-height:50px;font-size:14px;line-height:1.4}
 .entry>.suggestions button::before{font-size:11px}
 .started .entry>.suggestions button{min-height:39px;font-size:12px}
 .question span{font-size:15px}
 .answer h2{font-size:23px}
 .answer p{font-size:16px;line-height:1.65}
 .project h3{font-size:18px}
 .project p{font-size:14px}
 .evidence-name{font-size:14px}
 .evidence-claim{font-size:13px}
 .followups button,.full-case{font-size:13px}
 footer{font-size:11px}
}

/* Polished conversational interface. */
:root{--surface:#111411;--surface-strong:#171b17;--line-soft:#222722;--glow:#8fad7e}
body{background:radial-gradient(ellipse 58% 48% at 50% 43%,#172018 0,#0d100d 44%,#090a09 100%);background-attachment:fixed}
header{padding:13px max(24px,calc((100vw - 1040px)/2));background:#090b09d9;border-color:#202420;box-shadow:0 8px 30px #0002}
header nav{width:100%;justify-content:flex-end}
main{width:min(840px,calc(100% - 48px));padding-top:48px}
#welcome{max-width:720px;margin:0 auto}
.portrait{width:70px;height:70px;margin-bottom:22px}
.portrait img{border:1px solid #3c443a;box-shadow:0 0 0 6px #111511,0 18px 40px #0007}
.portrait i{width:14px;height:14px;right:1px;bottom:2px;box-shadow:0 0 0 3px #0b0d0b}
.eyebrow{margin-bottom:12px;color:#a5aba2}
#welcome h1{margin-bottom:36px}
form{min-height:70px;padding:10px 11px 10px 16px;border-color:#3b4339;border-radius:20px;background:linear-gradient(145deg,#151915,#101310);box-shadow:0 22px 55px #0008,0 0 0 1px #ffffff05 inset;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
form:focus-within{border-color:#91ad83;box-shadow:0 24px 60px #0009,0 0 0 3px #91ad8317}
.spark{margin-left:1px;color:#9dbb8d}
.submit{min-height:46px;border-radius:14px;background:#e3ecdE;box-shadow:0 7px 20px #0003;transition:background .2s ease,transform .2s ease}
.submit:hover{transform:translateY(-1px)}
.entry>.suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-width:700px;margin:16px auto 0}
.entry>.suggestions::before{content:'Suggested questions';grid-column:1 / -1;padding:3px 3px 1px;color:#777f75;font-size:11px;font-weight:500;letter-spacing:.11em;text-align:left;text-transform:uppercase}
.entry>.suggestions button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:12px 15px;border-color:#272d27;border-radius:14px;background:#111411;color:#dce0da;text-align:left;box-shadow:0 8px 20px #0002;transform:none}
.entry>.suggestions button::after{content:'↗';flex:none;color:var(--accent);font-size:13px;opacity:.8}
.entry>.suggestions button:hover{border-color:#60705c;background:#171c17;transform:translateY(-1px)}
.entry>.suggestions button:last-child{grid-column:1 / -1}
.started main{padding-top:30px}
.started #welcome{display:none}
.started .entry{width:min(840px,calc(100% - 48px));padding-top:24px;background:linear-gradient(#090a0900,#090a09 23%)}
.started .entry form{min-height:64px;background:#121612ed;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.started .entry>.suggestions{display:flex;justify-content:center;max-width:none;margin-top:10px}
.started .entry>.suggestions::before,.started .entry>.suggestions button::after{display:none}
.started .entry>.suggestions button{min-height:38px;padding:8px 14px;border-radius:999px;box-shadow:none}
#conversation{padding-top:0}
.turn{margin-bottom:48px}
.question{margin-bottom:28px}
.question span{padding:11px 17px;border:1px solid #42503d;background:#263123;box-shadow:0 8px 24px #0002}
.answer{padding-left:44px}
.answer:before{display:grid;place-items:center;width:28px;height:28px;top:-2px;border:1px solid #44513f;border-radius:9px;background:#151b14;font-size:16px;box-shadow:0 8px 18px #0004}
.answer h2{margin-bottom:13px}
.short-answer{max-width:64ch;color:#abb1a8!important}
.response-label{margin-top:26px!important;color:#7f897c!important}
.cards{gap:18px}
.project{padding:10px 10px 15px;border-color:#293029;border-radius:18px;background:linear-gradient(155deg,#171b17,#101310);box-shadow:0 16px 38px #0003;transition:border-color .2s ease,transform .25s ease,box-shadow .25s ease}
.project img{border-radius:12px;background:#090a09}
.project h3,.project p,.project .tag,.project .open{margin-left:4px;margin-right:4px}
.project[href]:hover{border-color:#6f8268;transform:translateY(-3px);box-shadow:0 22px 48px #0005}
.evidence-item{border-radius:15px;background:linear-gradient(145deg,#151915,#101310);box-shadow:0 10px 28px #0002}
.followups{gap:9px}
.followups button,.full-case{background:#141814}
.followups button:hover,.full-case:hover{border-color:#7e9475}
footer{background:#090b09e8;border-color:#202420;color:#777e76}
html[data-theme="light"] body{background:radial-gradient(ellipse 58% 48% at 50% 43%,#e9eee4 0,#f5f4ef 48%,#f1f1eb 100%)}
html[data-theme="light"] header{background:#f6f5f0df;box-shadow:0 8px 30px #36442e0b}
html[data-theme="light"] form{background:linear-gradient(145deg,#fff,#f8f9f4)}
html[data-theme="light"] .entry>.suggestions button{background:#fff;color:#30352f;box-shadow:0 8px 20px #3145260a}
html[data-theme="light"] .started .entry{background:linear-gradient(#f6f5f000,#f6f5f0 23%)}
html[data-theme="light"] .started .entry form{background:#fffefbed}
html[data-theme="light"] .answer:before{background:#eef2e9;border-color:#cdd7c8}
html[data-theme="light"] .short-answer{color:#5f695b!important}
html[data-theme="light"] .project{background:linear-gradient(155deg,#fff,#f7f8f3);box-shadow:0 16px 38px #31452610}

@media(max-width:600px){
 body{background:radial-gradient(ellipse 95% 42% at 50% 36%,#172018 0,#0b0d0b 52%,#090a09 100%)}
 header{padding:12px 14px}
 main{width:calc(100% - 28px);padding-top:38px}
 #welcome{padding-inline:6px}
 .portrait{width:66px;height:66px;margin-bottom:20px}
 #welcome h1{margin-bottom:30px}
 form{min-height:62px;padding:8px 8px 8px 12px;border-radius:17px}
 .spark{font-size:25px}
 .submit{min-width:72px;min-height:44px;padding-inline:11px;border-radius:12px}
 .entry>.suggestions{display:flex;max-width:none;margin-top:13px;padding:7px;border-radius:18px;background:#101310;box-shadow:0 18px 40px #0004}
 .entry>.suggestions::before{padding:8px 9px 7px}
 .entry>.suggestions button{min-height:52px;padding:10px;border-radius:11px;background:transparent;box-shadow:none}
 .entry>.suggestions button+button{border-top-color:#282e28}
 .entry>.suggestions button:last-child{min-height:52px}
 .started main{width:calc(100% - 24px);padding-top:18px}
 .started .entry{width:calc(100% - 20px);padding-top:18px}
 .started .entry>.suggestions{display:grid;padding:0;background:transparent;box-shadow:none}
 .started .entry>.suggestions button{min-height:38px;padding:7px 6px;background:#111411}
 .turn{margin-bottom:40px}
 .answer{padding-left:36px}
 .answer:before{width:24px;height:24px;font-size:14px;border-radius:8px}
 .cards{gap:14px}
 .project{border-radius:16px}
 footer{padding-inline:14px}
 html[data-theme="light"] .entry>.suggestions{background:#fff}
 html[data-theme="light"] .started .entry>.suggestions{background:transparent}
}

/* Star-free composer and responses. */
.answer{padding-left:0}
.answer::before{content:none!important;display:none!important}

/* Immediate portfolio responses: one answer, no echoed question or chat bubbles. */
.question{display:none!important}
.turn{margin-bottom:36px;animation:none!important}
.answer{padding:0;animation:answerContentIn .26s cubic-bezier(.2,.72,.25,1) both!important}
.answer>.short-answer{max-width:68ch;margin:0 0 22px!important;color:#c0c5bd!important;font-size:18px;line-height:1.65}
.turn .answer>*{animation:none!important}
.turn .answer>.followup-section{animation:followupContentIn .22s ease-out .12s both!important}
.turn .evidence-card,.turn .evidence-item{animation:none!important}
.response-label{margin-top:24px!important}
.followup-section .response-label{margin-bottom:10px!important;color:#91998e!important;font-size:12px!important;letter-spacing:.04em;text-transform:none}

/* Opening prompts are examples, not a dominant navigation menu. */
body:not(.started) .entry>.suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:670px;margin:15px auto 0;padding:0;border:0;background:transparent;box-shadow:none}
body:not(.started) .entry>.suggestions::before{display:none}
body:not(.started) .entry>.suggestions button{display:inline-flex;flex:0 1 auto;min-height:40px;width:auto;max-width:100%;padding:8px 13px;border:1px solid #292f29!important;border-radius:999px!important;background:#111411;color:#c7ccc4;font-size:13px;line-height:1.3;box-shadow:none;transform:none}
body:not(.started) .entry>.suggestions button::before,body:not(.started) .entry>.suggestions button::after{display:none}
body:not(.started) .entry>.suggestions button+button{border-top:1px solid #292f29!important}
body:not(.started) .entry>.suggestions button:hover{border-color:#657461!important;background:#171c17;transform:translateY(-1px)}
body:not(.started) .entry>.suggestions button:last-child{grid-column:auto;min-height:40px}

html[data-theme="light"] .answer>.short-answer{color:#4f594c!important}
html[data-theme="light"] body:not(.started) .entry>.suggestions{background:transparent;box-shadow:none}
html[data-theme="light"] body:not(.started) .entry>.suggestions button{border-color:#d8ddd3!important;background:#fff;color:#4f584c}

@keyframes answerContentIn{from{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:none}}
@keyframes followupContentIn{from{opacity:0;transform:translate3d(0,5px,0)}to{opacity:1;transform:none}}

@media(max-width:600px){
 .answer>.short-answer{font-size:17px;line-height:1.62}
 body:not(.started) .entry>.suggestions{display:flex;flex-direction:row;justify-content:center;gap:7px;margin-top:13px;padding:0;background:transparent}
 body:not(.started) .entry>.suggestions button{display:inline-flex;min-height:39px;width:auto;padding:8px 12px;font-size:12px;text-align:center}
 body:not(.started) .entry>.suggestions button+button{border-top:1px solid #292f29!important}
}

@media(prefers-reduced-motion:reduce){
 .answer,.turn .answer>.followup-section{animation:none!important;transform:none!important}
}

/* Reference-led composer: stronger hierarchy, more space, and a quiet blue glow. */
:root{--composer-border:#343a3d;--composer-focus:#4389b7;--composer-blue:#54a8dd}
body{background:
 radial-gradient(ellipse 72% 330px at 28% -115px,rgba(43,139,187,.34),transparent 72%),
 radial-gradient(ellipse 44% 240px at 72% -125px,rgba(46,101,128,.18),transparent 76%),
 #090a0a;background-attachment:fixed}
main{width:min(820px,calc(100% - 48px));padding-top:clamp(54px,8vh,100px);justify-content:flex-start}
#welcome{max-width:760px}
.portrait{width:58px;height:58px;margin-bottom:21px}
.portrait img{box-shadow:0 0 0 5px #111516,0 16px 38px #0008}
.portrait i{width:12px;height:12px}
.eyebrow{margin:0 0 13px;font-size:14px;color:#a5abad}
#welcome h1{margin:0 0 34px;font-size:clamp(42px,5.5vw,62px);line-height:1.02;letter-spacing:-2.8px;font-weight:450}

body:not(.started) #ask{position:relative;display:block;min-height:154px;padding:20px 20px 18px;border-color:var(--composer-border);border-radius:15px;background:rgba(19,21,22,.9);box-shadow:0 24px 70px #0009,0 1px 0 #ffffff08 inset}
#question{display:block;width:100%;min-width:0;border:0;outline:0!important;resize:none;overflow:auto;background:transparent;color:#f0f2f2;font:inherit;font-size:16px;line-height:1.55;caret-color:var(--composer-blue)}
body:not(.started) #question{min-height:82px;padding:2px 2px 42px}
#question::placeholder{color:#777d80}
#question:focus-visible{outline:0}
body:not(.started) .submit{position:absolute;right:14px;bottom:14px;min-width:74px;height:42px;min-height:42px;border-radius:10px;background:#e3e9e8;color:#111718;box-shadow:none}
body:not(.started) .submit:hover{background:#fff}
body:not(.started) #ask:focus-within{border-color:var(--composer-focus);box-shadow:0 24px 70px #0009,0 0 0 1px rgba(75,161,215,.22)}
body:not(.started) .entry>.suggestions{gap:8px;max-width:760px;margin-top:20px}
body:not(.started) .entry>.suggestions button{min-height:36px;padding:7px 13px;border-color:#2b3032!important;background:rgba(16,18,19,.72);color:#aeb4b6;font-size:12px}
body:not(.started) .entry>.suggestions button:hover{border-color:#53656f!important;background:#15191b;color:#edf1f2}

.started main{justify-content:flex-start;padding-top:34px}
.started #ask{position:relative;display:flex;min-height:62px;padding:8px 9px 8px 15px;border-radius:16px}
.started #question{height:44px;min-height:44px;max-height:96px;padding:10px 88px 8px 0;line-height:1.45}
.started .submit{position:absolute;right:9px;bottom:9px;min-width:70px;height:44px;min-height:44px;border-radius:11px}
.started .entry>.suggestions{gap:7px}
.started .entry>.suggestions button{border-color:#2b3032;background:rgba(17,20,21,.94);color:#aeb4b6}

html[data-theme="light"] body{background:
 radial-gradient(ellipse 72% 330px at 28% -115px,rgba(75,157,196,.21),transparent 72%),
 radial-gradient(ellipse 44% 240px at 72% -125px,rgba(83,136,161,.11),transparent 76%),
 #f5f5f1}
html[data-theme="light"] #question{color:#222829}
html[data-theme="light"] body:not(.started) #ask{background:rgba(255,255,253,.92);border-color:#d6dadd;box-shadow:0 24px 65px rgba(38,53,58,.1),0 1px 0 #fff inset}
html[data-theme="light"] body:not(.started) .entry>.suggestions button{background:rgba(255,255,255,.78);color:#5f686b}

@media(max-width:600px){
 body{background:radial-gradient(ellipse 125% 260px at 25% -90px,rgba(43,139,187,.3),transparent 72%),#090a0a}
 main{width:calc(100% - 28px);padding-top:clamp(36px,7vh,66px)}
 .portrait{width:54px;height:54px;margin-bottom:18px}
 .eyebrow{margin-bottom:11px;font-size:13px}
 #welcome h1{margin-bottom:28px;font-size:clamp(36px,11vw,46px);line-height:1.04;letter-spacing:-2px}
 body:not(.started) #ask{min-height:136px;padding:17px 16px 15px;border-radius:14px}
 body:not(.started) #question{min-height:74px;padding-bottom:39px;font-size:16px}
 body:not(.started) .submit{right:11px;bottom:11px;height:40px;min-height:40px}
 body:not(.started) .entry>.suggestions{justify-content:flex-start;gap:7px;margin-top:16px}
 body:not(.started) .entry>.suggestions button{min-height:36px;padding:7px 11px;font-size:12px;text-align:left}
 .started main{padding-top:20px}
 .started #ask{min-height:58px;padding-left:13px}
 .started #question{height:40px;min-height:40px;padding-top:8px;font-size:16px}
 .started .submit{height:40px;min-height:40px;bottom:9px}
 html[data-theme="light"] body{background:radial-gradient(ellipse 125% 260px at 25% -90px,rgba(75,157,196,.2),transparent 72%),#f5f5f1}
}

/* Focused assistant layout inspired by the latest supplied reference. */
body{padding-left:0;background:
 radial-gradient(ellipse 34% 48% at 50% 28%,rgba(45,52,61,.22),transparent 75%),
 linear-gradient(180deg,#101315 0%,#0d1011 100%);background-attachment:fixed}
header{position:fixed;inset:0 0 auto 0;width:auto;height:66px;padding:12px max(24px,calc((100vw - 1180px)/2));border:0;border-bottom:1px solid rgba(255,255,255,.045);background:rgba(13,16,17,.72);box-shadow:none;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
header nav{width:100%;height:auto;margin:0;display:flex;flex-direction:row;justify-content:flex-end;gap:9px}
header nav>a,header nav>button{position:relative;display:inline-flex;flex:none;width:40px;height:40px;min-width:40px;min-height:40px;margin:0;padding:0;border:1px solid #2b3033;border-radius:12px;background:#15191b;color:#a9afb2;box-shadow:none}
header nav>a:hover,header nav>button:hover{border-color:#50585d;background:#1b2022;color:#fff;transform:none}
header .full-portfolio-link{order:1;width:auto;min-width:0;padding:0 14px;border-color:#353b3e;background:#1a1e20;color:#e9eded;font-size:12px;font-weight:500}
header #theme-toggle{order:2}
header #reset{order:3}
.nav-icon{display:none}
.nav-label{position:static;padding:0;border:0;background:transparent;color:inherit;font:inherit;white-space:nowrap;opacity:1;pointer-events:auto;transform:none;transition:none}
.full-portfolio-link:hover .nav-label,.full-portfolio-link:focus-visible .nav-label{opacity:1;transform:none}

main{width:min(650px,calc(100% - 40px));min-height:calc(100svh - var(--footer-height));margin:0 auto;padding:clamp(108px,16vh,170px) 0 100px;justify-content:flex-start}
#welcome{max-width:620px;padding:0 10px}
.portrait{width:72px;height:72px;margin:0 auto 24px;padding:8px;border:1px solid #343a3e;border-radius:19px;background:linear-gradient(145deg,#23282b,#15191b);box-shadow:0 18px 45px #0007,0 1px 0 #ffffff0c inset}
.portrait img{border:0;border-radius:12px;box-shadow:none;filter:grayscale(1) contrast(1.05)}
.portrait i{right:5px;bottom:5px;width:11px;height:11px;border:2px solid #181c1e;background:#7fad74;box-shadow:0 0 0 3px #0c0e0f}
.eyebrow{margin:0 0 10px;color:#9ba1a4;font-size:16px;font-weight:300}
#welcome h1{margin:0 0 48px;font-size:clamp(34px,4vw,46px);line-height:1.12;letter-spacing:-1.8px;font-weight:300;color:#eef1f1}

body:not(.started) #ask{position:relative;display:flex;align-items:center;min-height:62px;padding:8px 9px 8px 15px;border:1px solid #343a3e;border-radius:14px;background:rgba(24,28,31,.8);box-shadow:0 18px 55px #0006,0 1px 0 #ffffff0a inset;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
body:not(.started) #question{height:44px;min-height:44px;max-height:88px;padding:10px 86px 8px 0;font-size:15px;line-height:1.45}
body:not(.started) .submit{right:9px;bottom:9px;height:44px;min-height:44px;min-width:70px;border-radius:10px}
body:not(.started) #ask:focus-within{border-color:#59636a;box-shadow:0 20px 60px #0007,0 0 0 1px rgba(154,168,177,.12)}

body:not(.started) .entry>.suggestions{position:static;display:flex;justify-content:center;flex-wrap:wrap;gap:8px;width:auto;max-width:640px;margin:14px auto 0;padding:0;overflow:visible}
body:not(.started) .entry>.suggestions button{position:relative;display:inline-flex;flex:0 1 auto;align-items:center;justify-content:center;width:auto;min-width:0;min-height:36px;padding:8px 12px;border:1px solid #2d3336!important;border-radius:10px!important;overflow:visible;background:rgba(17,21,23,.72)!important;color:#9da4a7;font-size:11px;font-weight:400;line-height:1.25;text-align:center;box-shadow:none;filter:none;transform:none;scroll-snap-align:none}
body:not(.started) .entry>.suggestions button::before,body:not(.started) .entry>.suggestions button::after{display:none!important}
body:not(.started) .entry>.suggestions button:hover{border-color:#505a5f!important;background:#1a2022!important;color:#f0f2f2;filter:none;transform:translateY(-1px);box-shadow:none}

.started main{width:min(960px,calc(100% - 48px));padding:100px 0 70px}
.started .entry{left:50%;bottom:var(--footer-height);width:min(700px,calc(100% - 40px));padding:20px 0 13px;background:linear-gradient(transparent,#0d1011 26%)}
.started #ask{border-color:#343a3e;background:rgba(21,25,27,.94);box-shadow:0 16px 50px #0007}
.started .entry>.suggestions{display:flex;justify-content:center;gap:7px;overflow:visible}
.started .entry>.suggestions button{background:#15191b!important;border-color:#2d3336!important;color:#9da4a7}
.started .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.started .project{background:linear-gradient(155deg,rgba(25,29,31,.96),rgba(13,16,17,.96));border-color:#303639}
footer{left:0;background:rgba(13,16,17,.9);border-color:#202527}

html[data-theme="light"] body{background:radial-gradient(ellipse 34% 48% at 50% 28%,rgba(184,194,200,.25),transparent 75%),linear-gradient(180deg,#f4f5f2,#eef0ec)}
html[data-theme="light"] header{background:rgba(246,247,243,.78);border-color:rgba(40,48,48,.07)}
html[data-theme="light"] header nav>a,html[data-theme="light"] header nav>button{background:#fff;border-color:#d7dcd9;color:#55605f}
html[data-theme="light"] header .full-portfolio-link{background:#273334;border-color:#273334;color:#fff}
html[data-theme="light"] #welcome h1{color:#252b2b}
html[data-theme="light"] .portrait{background:linear-gradient(145deg,#fff,#e9ece8);border-color:#d5dad7;box-shadow:0 18px 45px #35423b18}
html[data-theme="light"] body:not(.started) #ask{background:rgba(255,255,255,.82);border-color:#d4d9d6;box-shadow:0 18px 55px #35423b12}
html[data-theme="light"] body:not(.started) .entry>.suggestions button{background:rgba(255,255,255,.7)!important;border-color:#d6dbd8!important;color:#626c6b}
html[data-theme="light"] .started .entry{background:linear-gradient(transparent,#eef0ec 26%)}
html[data-theme="light"] .started #ask{background:rgba(255,255,255,.94)}

@media(max-width:700px){
 header{height:62px;padding:10px 14px}
 header nav{gap:7px}
 header nav>a,header nav>button{width:38px;height:38px;min-width:38px;min-height:38px;border-radius:11px}
 header .full-portfolio-link{width:auto;padding:0 12px;font-size:12px}
 main{width:calc(100% - 28px);padding:clamp(92px,13vh,126px) 0 78px}
 #welcome{padding:0}
 .portrait{width:64px;height:64px;margin-bottom:20px;border-radius:17px}
 .eyebrow{font-size:14px}
 #welcome h1{margin-bottom:36px;font-size:clamp(32px,9.6vw,40px);letter-spacing:-1.5px}
 body:not(.started) #ask{min-height:60px;padding-left:13px}
 body:not(.started) #question{height:42px;min-height:42px;padding-top:9px;font-size:15px}
 body:not(.started) .submit{height:42px;min-height:42px;bottom:9px}
 body:not(.started) .entry>.suggestions{justify-content:flex-start;gap:7px;margin-top:12px;overflow-x:auto;flex-wrap:nowrap;padding:1px 1px 7px;scrollbar-width:none}
 body:not(.started) .entry>.suggestions::-webkit-scrollbar{display:none}
 body:not(.started) .entry>.suggestions button{flex:0 0 auto;min-height:36px;padding:8px 11px;font-size:11px}
 .started main{width:calc(100% - 24px);padding:82px 0 60px}
 .started .entry{width:calc(100% - 20px)}
 .started .entry>.suggestions{display:grid;overflow:visible}
 footer{padding-inline:14px}
}

/* Conversation when opened inside the homepage drawer. */
html.embedded,html.embedded body{min-height:100%;height:100%}
html.embedded body{padding-bottom:0;background:radial-gradient(ellipse 65% 42% at 50% 20%,rgba(45,52,61,.2),transparent 75%),#0d1011}
html.embedded header,html.embedded footer{display:none!important}
html.embedded main{width:min(560px,calc(100% - 36px));min-height:100%;padding:clamp(54px,10vh,92px) 0 48px}
html.embedded #welcome h1{font-size:clamp(32px,5vw,42px);margin-bottom:40px}
html.embedded .started main{width:min(560px,calc(100% - 36px));padding:34px 0 48px}
html.embedded .started .entry{left:50%;bottom:0;width:min(560px,calc(100% - 24px));padding:18px 0 12px;background:linear-gradient(transparent,#0d1011 27%)}
html.embedded .started #conversation{padding-bottom:calc(var(--dock-height,180px) + 24px)}
html.embedded .started .cards{grid-template-columns:1fr}

@media(max-width:600px){
 html.embedded main{width:calc(100% - 28px);padding-top:clamp(42px,8vh,70px)}
 html.embedded .portrait{width:58px;height:58px}
 html.embedded #welcome h1{font-size:clamp(30px,9vw,38px);margin-bottom:32px}
 html.embedded .started main{width:calc(100% - 24px);padding-top:24px}
 html.embedded .started .entry{width:calc(100% - 20px)}
}

html.embedded header{display:flex!important;position:relative;height:52px;background:transparent;border:0;padding:6px 16px}
html.embedded header .full-portfolio-link{display:none!important}
html.embedded main{min-height:calc(100% - 52px)}
html.embedded[data-theme="light"] body{background:#eef0ec}
html.embedded[data-theme="light"] .started .entry{background:linear-gradient(transparent,#eef0ec 27%)}

/* Keep the homepage drawer focused on the conversation itself. */
html.embedded header{display:none!important}
html.embedded .portrait,html.embedded .eyebrow{display:none!important}
html.embedded main,html.embedded .started main{padding-top:clamp(76px,15vh,150px)}
html.embedded #welcome h1{font-size:clamp(28px,3.8vw,36px);letter-spacing:-1.1px;margin-bottom:30px}
html.embedded body:not(.started) .entry>.suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:560px;margin-top:14px}
html.embedded body:not(.started) .entry>.suggestions button{width:100%;min-height:44px;padding:10px 12px;border-radius:10px!important;font-size:11px;line-height:1.3}
html.embedded body:not(.started) .entry>.suggestions button:last-child{grid-column:1 / -1}
html.embedded .started main{padding-top:28px}

@media(max-width:600px){
 html.embedded main,html.embedded .started main{padding-top:clamp(58px,11vh,92px)}
 html.embedded #welcome h1{font-size:clamp(27px,8vw,32px);margin-bottom:26px}
 html.embedded body:not(.started) .entry>.suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}
 html.embedded body:not(.started) .entry>.suggestions button{min-height:46px;padding:9px 10px;font-size:11px}
 html.embedded body:not(.started) .entry>.suggestions button:last-child{grid-column:1 / -1}
}

/* Let the homepage glass surface show through the embedded conversation. */
html.embedded,html.embedded body{background:transparent!important}
html.embedded .started .entry{background:linear-gradient(transparent,rgba(13,19,23,.92) 30%);border-radius:16px 16px 0 0}
html.embedded[data-theme="light"] body{background:rgba(242,246,243,.94)!important}
html.embedded[data-initial-question] #welcome{display:none!important}
html.embedded[data-initial-question] body:not(.started) .entry{visibility:hidden}
html.embedded .entry{display:none!important}

/* Homepage response card: compact type and a two-up evidence carousel. */
html.embedded .answer p,
html.embedded .answer li,
html.embedded .answer .evidence-claim,
html.embedded .answer .project p{font-size:14px;line-height:1.6}
html.embedded .answer>.short-answer{font-size:14px!important;line-height:1.6!important}
html.embedded .started .cards{
  display:grid;
  grid-auto-flow:column;
  grid-template-columns:none;
  grid-auto-columns:calc((100% - 18px)/2);
  grid-template-rows:minmax(250px,1fr);
  gap:12px;
  margin:0;
  padding:2px 0 12px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
  scroll-snap-type:x mandatory;
}
html.embedded .started .cards>*{width:100%;min-width:0;height:100%;margin:0;scroll-snap-align:start}
html.embedded .started .cards .project{min-height:250px;height:100%}
html.embedded .started .cards .project img{aspect-ratio:1.55}
html.embedded .started .cards .project[href]:hover{transform:none;box-shadow:0 18px 42px #0005}
html.embedded .answer>.short-answer{font-weight:350!important}
.answer-loading{display:flex;align-items:center;height:24px;margin:0;padding:0}
.answer-loading-sphere{display:block;width:20px;height:20px}
@media(max-width:600px){
 html.embedded .started .cards{grid-auto-columns:74%;grid-template-rows:minmax(250px,1fr)}
}
