:root{font:17px/1.6 system-ui,sans-serif;color:#173a33;background:#f6f6ef;--line:#ccd7ce;--green:#205744;--muted:#4a6158}*{box-sizing:border-box}body{margin:0}header,footer{padding:1.4rem 5%;display:flex;justify-content:space-between;align-items:center;gap:1rem}header{border-bottom:1px solid var(--line)}header a{font-size:1.6rem;font-weight:750;text-decoration:none}header a span{display:block;font-size:.8rem;font-weight:400}a{color:var(--green)}main{max-width:960px;margin:auto;padding:2rem 1.3rem 4rem}h1{font-size:clamp(2rem,5vw,3.1rem);line-height:1.16;letter-spacing:-.035em;margin:.35rem 0 1.5rem}h2{font-size:1.35rem;line-height:1.3;margin:0 0 .8rem}h3{font-size:1.1rem;margin:.5rem 0}p{max-width:70ch}.eyebrow,.badge{font-size:.78rem;font-weight:700;letter-spacing:.04em}.eyebrow{text-transform:uppercase;margin:0 0 .5rem}.badge{background:#e4ecdb;border-radius:1rem;padding:.3rem .8rem;white-space:nowrap}form{display:grid;gap:.6rem;margin:1.2rem 0;max-width:680px}label{display:block;font-weight:650;margin-top:.3rem}input,textarea,select,button{font:inherit;border-radius:.6rem;border:1px solid #9cad9f;padding:.7rem;max-width:100%}input,textarea,select{background:white;width:100%;color:#173a33}textarea{min-height:6rem;resize:vertical}button{background:var(--green);color:white;cursor:pointer;font-weight:650;margin:.3rem .5rem .3rem 0;width:fit-content;line-height:1.4}button:disabled{opacity:.55;cursor:not-allowed}button.quiet{background:transparent;color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b85a32;outline-offset:3px}.small{font-size:.85rem;color:var(--muted)}.row{display:flex;gap:1rem;align-items:center;justify-content:space-between}.project-bar{display:flex;gap:1rem;justify-content:space-between;align-items:end;margin-top:1rem}.project-bar>div{flex:1;max-width:540px}.project-bar button{flex-shrink:0}.conversation{margin:2rem 0;border:1px solid var(--line);border-radius:1rem;background:#fffef9;padding:1.4rem}.conversation>.row{align-items:baseline;flex-wrap:wrap;gap:.2rem}.conversation .row h2{margin-bottom:.3rem}#messages{margin-top:1.3rem;max-height:65vh;overflow:auto;scrollbar-gutter:stable}.turn{margin:1.3rem 0}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;padding:.9rem 1rem;border-radius:.85rem;margin:.35rem 0;max-width:90%}.bubble.user{background:#e8eee3;margin-left:auto;border-bottom-right-radius:.2rem}.bubble.assistant{background:#f0f3ef;border-bottom-left-radius:.2rem}.speaker{font-size:.78rem;font-weight:700;color:var(--muted);margin:0 .2rem}.speaker.user{text-align:right}.turn-meta{font-size:.75rem;color:var(--muted)}.question{padding-left:1rem;border-left:3px solid #c1ccab;overflow-wrap:anywhere}.empty{padding:1.4rem 0;color:var(--muted)}.composer{max-width:none;margin:1.5rem 0 0;border-top:1px solid var(--line);padding-top:1rem}.composer .row{gap:1rem;align-items:center}.composer .small{margin:0}.composer button{flex-shrink:0}.proposal{background:white;border:1px solid #b3c6af;border-radius:.85rem;padding:1.25rem;margin:1rem 0;overflow-wrap:anywhere}.proposal .value{white-space:pre-wrap;font-size:1.08rem}.proposal dl{margin:.8rem 0}.proposal dt{font-weight:700;font-size:.85rem;margin:.7rem 0 .2rem}.proposal dd{margin:0;white-space:pre-wrap}.proposal ul{padding-left:1.3rem}.proposal input{max-width:200px}.quote{border:2px solid var(--green);background:#f1f5e9}.budget-panel{margin:2rem 0;padding:1.1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.budget-panel p{margin:.3rem 0}details{border:1px solid var(--line);padding:1rem;margin:1.1rem 0;border-radius:.8rem}summary{font-weight:700;cursor:pointer}.item{border-left:3px solid #bdccac;padding:.7rem 1rem;margin:1rem 0;overflow-wrap:anywhere}.item p{margin:.4rem 0}#notice:not(:empty){padding:1rem;border:1px solid #cfc4a0;border-radius:.6rem;background:#eee8d2;box-shadow:0 3px 12px #173a3310}iframe{width:100%;height:560px;border:1px solid #bacbbb;background:white;border-radius:.6rem}[hidden]{display:none!important}footer{justify-content:center;flex-wrap:wrap;border-top:1px solid var(--line);font-size:.9rem}@media(max-width:600px){header{align-items:flex-start;flex-direction:column;gap:.6rem}.row,.project-bar{align-items:stretch;flex-direction:column;gap:.4rem}main{padding:1.2rem 1rem 3rem}.conversation{padding:1rem}.conversation>.row{gap:0}.bubble{max-width:97%}button{width:100%;margin-right:0}iframe{height:420px}.composer .row{align-items:stretch}#messages{max-height:58vh}}
