:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,sans-serif;background:#09090b;color:#fafafa}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:#09090b}.chat-shell,body{min-height:100dvh}.chat-shell{position:relative;display:flex;width:100%;align-items:flex-end;justify-content:center;overflow:hidden;padding:1rem 1rem 2rem;background:radial-gradient(circle at 50% 12%,#111827 0,#09090b 46rem)}.ambient,.grid{position:absolute;inset:0;pointer-events:none}.ambient{overflow:hidden;z-index:0}.blue-glow{position:absolute;top:25%;left:50%;width:31.25rem;height:31.25rem;transform:translateX(-50%);border-radius:50%;background:rgb(59 130 246/5%);filter:blur(7.5rem)}.grid{opacity:.7;background-image:linear-gradient(rgb(63 63 70/18%) 1px,transparent 0),linear-gradient(90deg,rgb(63 63 70/18%) 1px,transparent 0);background-size:42px 42px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 28%,#000 78%,transparent);mask-image:linear-gradient(180deg,transparent,#000 28%,#000 78%,transparent)}.laser{position:absolute;opacity:.4}.horizontal{top:30%;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#3b82f6,transparent);animation:horizontal 8s ease-in-out infinite}.vertical{top:0;bottom:0;left:75%;width:1px;background:linear-gradient(180deg,transparent,#6366f1,transparent);animation:vertical 11s ease-in-out 2s infinite}.chat-column{position:relative;z-index:1;display:flex;width:100%;max-width:31rem;flex-direction:column}.messages-frame{position:relative;height:min(58vh,31rem);margin-bottom:.5rem;overflow:hidden;perspective:900px}.messages-frame:after,.messages-frame:before{position:absolute;right:0;left:0;z-index:2;content:"";pointer-events:none}.messages-frame:before{top:0;height:7rem}.messages-frame:after{bottom:0;height:5rem}.messages{display:flex;height:100%;flex-direction:column;justify-content:flex-end;gap:.7rem;overflow-y:auto;padding:5rem .75rem 2rem .25rem;scrollbar-width:none;transform:rotateX(4deg);transform-origin:bottom center;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 88%,transparent);mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 88%,transparent)}.messages::-webkit-scrollbar{display:none}.message{max-width:86%;border:1px solid rgb(113 113 122/28%);border-radius:1rem 1rem 1rem .3rem;padding:.8rem 1rem;box-shadow:0 1.25rem 2rem rgb(0 0 0/22%);font-size:.94rem;line-height:1.5;animation:reveal .45s ease-out both}.message.assistant{align-self:flex-start;background:linear-gradient(135deg,rgb(39 39 42/96%),rgb(24 24 27/92%));color:#f4f4f5}.message.user{align-self:flex-end;border-color:rgb(147 197 253/28%);border-radius:1rem 1rem .3rem 1rem;background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#172033}.loading-message{display:flex;align-items:center;gap:.28rem;color:#a1a1aa!important}.loading-message i{width:.28rem;height:.28rem;border-radius:50%;background:#60a5fa;animation:pulse 1.1s ease-in-out infinite}.loading-message i:nth-child(3){animation-delay:.18s}.loading-message i:nth-child(4){animation-delay:.36s}.chat-form{display:flex;align-items:center;gap:.6rem;margin-top:.35rem}.chat-form input{min-width:0;flex:1 1;border:1px solid rgb(113 113 122/35%);border-radius:999px;padding:.85rem 1.1rem;background:rgb(24 24 27/72%);color:#fff;font:inherit;outline:none;box-shadow:0 .75rem 2rem rgb(0 0 0/20%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.chat-form input::placeholder{color:#71717a}.chat-form input:focus{border-color:rgb(147 197 253/60%);box-shadow:0 0 0 3px rgb(59 130 246/16%),0 .75rem 2rem rgb(0 0 0/20%)}.chat-form button{display:inline-flex;align-items:center;gap:.4rem;border:0;border-radius:999px;padding:.78rem 1rem;background:#f4f4f5;color:#09090b;font:600 .9rem inherit;cursor:pointer;transition:transform .2s ease,background .2s ease;box-shadow:0 .75rem 1.5rem rgb(0 0 0/24%)}.chat-form button b{font-size:1.05rem;font-weight:500}.chat-form button:hover:not(:disabled){transform:translateY(-1px);background:#bfdbfe}.chat-form button:disabled{cursor:wait;opacity:.35}.modal-layer{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgb(0 0 0/42%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-panel{position:relative;width:min(100%,48rem);max-height:82dvh;overflow-y:auto;border:1px solid rgb(59 130 246/30%);border-radius:1rem;padding:1.5rem;background:rgb(24 24 27/95%);box-shadow:0 1.5rem 4rem rgb(0 0 0/50%);animation:modal-in .2s ease-out both}.close-button{position:absolute;top:.75rem;right:.75rem;border:0;border-radius:999px;padding:.5rem .65rem;background:transparent;color:#71717a;font-size:1rem;cursor:pointer}.close-button:hover{color:#60a5fa}h2{margin:0;color:#f4f4f5;font-size:1.5rem;letter-spacing:.04em}.modal-subtitle{margin:.35rem 0 1.25rem;color:#a1a1aa;font-size:.875rem}.modal-copy{color:#d4d4d8;line-height:1.65}.help-grid,.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.project-card{border:1px solid rgb(63 63 70/70%);border-radius:.75rem;padding:1rem;background:rgb(9 9 11/55%)}.project-card h3{margin:0 0 .4rem;color:#e4e4e7}.project-card p{margin:0 0 .75rem;color:#a1a1aa;font-size:.875rem;line-height:1.5}.project-tags{display:flex;flex-wrap:wrap;gap:.35rem}.project-tags span{border:1px solid #27272a;border-radius:.35rem;padding:.2rem .45rem;color:#a1a1aa;font-size:.7rem}.contact-link{display:inline-block;margin-top:1rem;border-radius:999px;padding:.7rem 1rem;background:#f4f4f5;color:#09090b;text-decoration:none;font-weight:600}.help-option{display:flex;min-height:7rem;flex-direction:column;gap:.5rem;border:1px solid #3f3f46;border-radius:.75rem;padding:1rem;background:#18181b;color:#e4e4e7;text-align:left;cursor:pointer}.help-option:hover{border-color:rgb(96 165 250/70%)}.help-option strong{color:#93c5fd;font-size:.78rem;letter-spacing:.05em}.help-option span{color:#a1a1aa;font-size:.85rem;line-height:1.45}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.contact-form{display:grid;grid-gap:.7rem;gap:.7rem;margin-top:1rem}.contact-form input,.contact-form textarea{width:100%;border:1px solid #3f3f46;border-radius:.65rem;padding:.75rem .85rem;background:#09090b;color:#f4f4f5;font:inherit;outline:none;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 3px rgb(59 130 246/14%)}.contact-submit{justify-self:start;border:0;border-radius:999px;padding:.75rem 1rem;background:#f4f4f5;color:#09090b;font:600 .9rem inherit;cursor:pointer}.contact-submit:disabled{cursor:wait;opacity:.5}.contact-status{margin:.75rem 0 0;font-size:.85rem}.contact-status.success{color:#86efac}.thank-you{display:flex;min-height:15rem;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem 1rem .75rem;text-align:center;animation:thank-you-in .55s ease-out both}.thank-you-mark{display:grid;width:4rem;height:4rem;place-items:center;margin-bottom:1.25rem;border:1px solid rgb(134 239 172/45%);border-radius:50%;background:rgb(34 197 94/12%);color:#86efac;font-size:2rem;box-shadow:0 0 0 8px rgb(34 197 94/5%),0 0 2.5rem rgb(34 197 94/18%)}.thank-you-eyebrow{margin:0 0 .45rem;color:#86efac;font-size:.68rem;font-weight:700;letter-spacing:.18em}.thank-you h2{margin:0}.thank-you-copy{max-width:20rem;margin:.7rem 0 0;color:#a1a1aa;line-height:1.6}.contact-status.error{color:#fca5a5}@keyframes reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes thank-you-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes horizontal{0%,to{transform:translateX(-30%);opacity:0}20%,80%{opacity:.4}50%{transform:translateX(30%)}}@keyframes vertical{0%,to{transform:translateY(-20%);opacity:0}20%,80%{opacity:.3}50%{transform:translateY(20%)}}@keyframes pulse{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}@media (max-width:480px){.chat-shell{padding-right:.75rem;padding-left:.75rem}.messages-frame{height:min(58vh,28rem)}.chat-form button{padding-right:.8rem;padding-left:.8rem}.chat-form button span{display:none}.help-grid,.project-grid{grid-template-columns:1fr}}