.consent-banner[data-astro-cid-2effgw6e]{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#101214f5;border-top:1px solid #f1f0ea29}.consent-banner[data-astro-cid-2effgw6e][hidden]{display:none}.consent-inner[data-astro-cid-2effgw6e]{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:18px}.consent-inner[data-astro-cid-2effgw6e] p[data-astro-cid-2effgw6e]{margin:0;font-size:14px;line-height:1.55;color:#c2c4c2;max-width:760px}.consent-inner[data-astro-cid-2effgw6e] a[data-astro-cid-2effgw6e]{color:#bbc4ff;text-decoration:underline}.consent-actions[data-astro-cid-2effgw6e]{display:flex;gap:10px}.consent-actions[data-astro-cid-2effgw6e] .studio-button[data-astro-cid-2effgw6e]{min-height:44px;padding:10px 20px}@media(max-width:760px){.consent-banner[data-astro-cid-2effgw6e]{padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -12px 32px #0008}.consent-inner[data-astro-cid-2effgw6e]{display:block;position:relative;width:calc(100% - 24px);padding-block:4px}.consent-inner[data-astro-cid-2effgw6e] p[data-astro-cid-2effgw6e]{font-size:12px;line-height:1.3;letter-spacing:.01em}.consent-inner[data-astro-cid-2effgw6e] p[data-astro-cid-2effgw6e]:before{content:"";float:right;width:112px;height:44px;margin-left:8px}.consent-actions[data-astro-cid-2effgw6e]{position:absolute;top:4px;right:0;width:112px;gap:4px}.consent-actions[data-astro-cid-2effgw6e] .studio-button[data-astro-cid-2effgw6e]{flex:1 1 0;justify-content:center;gap:0;padding:0 4px;font-size:12px;letter-spacing:.01em}}.grunion-chat{scroll-margin-top:100px;display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.4fr);gap:clamp(2rem,6vw,7rem);max-width:1440px;margin:auto;padding:clamp(4rem,8vw,8rem) clamp(1.25rem,4.5vw,5rem);color:#f1f0ea}.chat-intro h2{font-family:var(--font-heading);margin:0 0 1rem}.chat-intro>p{margin:1.4rem 0 .8rem}.chat-subtitle{display:block;color:#a9adaa;max-width:30ch;line-height:1.6}.chat-workspace{min-width:0}.grunion-chat.is-compact{grid-template-columns:minmax(0,1fr);padding:0}.is-compact .chat-intro{display:none}.chat-thread:empty{display:none}.chat-thread>:first-child{margin-top:auto}.chat-thread{display:flex;flex-direction:column;gap:1.75rem;margin-bottom:1.6rem;max-height:640px;overflow:auto;overscroll-behavior:contain;padding:.2rem .35rem}.chat-user{align-self:flex-end;background:#24272a;max-width:90%;padding:1rem 1.2rem;border-radius:12px 12px 2px;overflow-wrap:anywhere;margin:0}.chat-answer{width:100%;animation:arrive .35s ease-out}.chat-reply{max-width:60ch;margin:0 0 1rem;white-space:pre-wrap;overflow-wrap:anywhere}.chat-composer{display:flex;position:relative;align-items:center;border:1px solid #5a5d60;background:#15181b;min-height:112px;transition:border-color .2s}.chat-composer:focus-within{border-color:#98a3ff;outline:1px solid #98a3ff;outline-offset:3px}.chat-input-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.chat-composer textarea{background:transparent;color:#f1f0ea;border:0;outline:none;width:100%;resize:vertical;font:inherit;padding:1.3rem;min-height:110px;max-height:230px}.chat-composer textarea::placeholder{color:#b2b4b7}.chat-composer button{flex:0 0 56px;height:56px;margin-right:14px;background:#5167ff;color:#fff;border:0;cursor:pointer;display:grid;place-items:center}.chat-composer button svg{width:25px;height:25px}.chat-composer button:hover{background:#697cff}.chat-suggestions{display:flex;gap:0 .5rem;flex-wrap:wrap;margin:0 0 .35rem}.chat-suggestions button{position:relative;isolation:isolate;flex:0 1 auto;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:44px;border:0;background:none;color:#dedfdf;padding:0 .8rem;cursor:pointer}.chat-suggestions button:before{content:"";position:absolute;inset:6px 0;z-index:-1;border:1px solid #505459;border-radius:999px;transition:background .2s,border-color .2s}.chat-suggestions button:hover:before{background:#24282d;border-color:#98a3ff}.grunion-chat .chat-suggestions button:focus-visible{outline:none}.chat-suggestions button:focus-visible:before{border-color:#bac4ff;box-shadow:inset 0 0 0 1px #bac4ff}.chat-suggestions button:disabled,.chat-composer button:disabled{opacity:.5;cursor:wait}.chat-utility{display:flex;justify-content:space-between;gap:1rem;margin-top:1.2rem;color:#a1a5ab;line-height:1.6}.chat-utility button{flex-shrink:0;background:none;border:0;text-decoration:underline;color:#c8cfff;cursor:pointer}.chat-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1.2rem}.chat-project{background:#1a1e22;padding:1.25rem;border-radius:12px;text-decoration:none;color:inherit;transition:background .2s}.chat-project:hover{background:#242a31}.chat-project-state{color:#b5b9c0}.chat-project-state.is-live{color:#a3b2ff}.chat-project h3{margin:.7rem 0;font-family:var(--font-heading)}.chat-project-reason{color:#c0c4ca;margin:0}.chat-project-action{display:block;margin-top:1.3rem;color:#b4beff}.chat-booking{background:#1c2135;padding:1.4rem;margin-top:1.2rem;border-radius:12px}.chat-booking-title{font-weight:500}.chat-book-link{display:inline-flex;align-items:center;min-height:44px;margin-top:.4rem;color:#bdc6ff;text-decoration:underline}.chat-status{display:flex;align-items:center;gap:.7rem;color:#bbc3ef;padding:1rem 0}.chat-pulse{width:16px;height:16px;border:2px solid #4b547d;border-top-color:#bcc6ff;border-radius:50%;animation:spin 1s linear infinite}.chat-error{background:#252332;padding:1rem;margin-bottom:1rem;color:#e2dfef;line-height:1.5}.chat-error a{display:inline-block;margin-top:.5rem;color:#bdc6ff;text-decoration:underline}[hidden]{display:none!important}.grunion-chat :is(a,button):focus-visible{outline:2px solid #bac4ff;outline-offset:4px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes arrive{0%{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.grunion-chat{grid-template-columns:1fr;gap:1.25rem;padding-block:2rem}.chat-subtitle{max-width:none}.chat-intro>p{margin:.8rem 0}.chat-thread{max-height:none;height:min(560px,62svh)}.chat-composer textarea{padding:1rem;font-size:1rem}.chat-composer button{flex-basis:46px;height:46px;margin-right:10px}.chat-projects{grid-template-columns:minmax(0,1fr)}.chat-utility{flex-direction:column;align-items:flex-start}}@media(max-width:760px){.grunion-chat:not(.is-floating) .chat-workspace:has(.chat-thread:not(:empty)){display:flex;flex-direction:column;height:min(720px,84svh)}.grunion-chat:not(.is-floating) .chat-thread:not(:empty){flex:1 1 auto;min-height:0;height:auto}}.grunion-chat:not(.is-compact):not(.is-floating){grid-template-columns:minmax(220px,320px) minmax(0,1fr);column-gap:clamp(2rem,4vw,4rem);padding-block:clamp(2rem,4vw,4rem);align-items:start}.grunion-chat:not(.is-compact):not(.is-floating) .chat-intro>p{margin:1rem 0 .5rem}.grunion-chat:not(.is-compact):not(.is-floating) .chat-utility{margin-top:.75rem}.grunion-chat+.selected-work{padding-top:0}@media(max-width:760px){.grunion-chat:not(.is-compact):not(.is-floating){grid-template-columns:minmax(0,1fr);gap:1.5rem}}@media(prefers-reduced-motion:reduce){.chat-answer,.chat-pulse{animation:none}}.grunion-chat.is-floating{display:flex;flex-direction:column;gap:0;flex:1 1 auto;min-height:0;min-width:0;width:100%;max-width:none;margin:0;padding:0}.is-floating .chat-intro{display:grid;grid-template-columns:auto 1fr;column-gap:.7rem;align-items:center;padding:.85rem 3.75rem .85rem 1rem;border-bottom:1px solid #f1f0ea1f}.chat-intro-mark{grid-row:span 2;color:#98a3ff}.is-floating .chat-intro h2{font-size:1rem;line-height:1.3;margin:0}.is-floating .chat-intro>p{display:none}.is-floating .chat-subtitle{max-width:none;font-size:.8rem;line-height:1.35}.is-floating .chat-workspace{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding:.9rem 1rem calc(.75rem + env(safe-area-inset-bottom))}.is-floating .chat-thread{flex:1 1 auto;min-height:0;max-height:none;height:auto;gap:1.1rem;margin-bottom:.7rem}.is-floating .chat-dock{margin-top:auto}.is-floating .chat-composer{min-height:0}.is-floating .chat-composer textarea{min-height:60px;max-height:140px;padding:.85rem;resize:none;font-size:1rem}.is-floating .chat-composer button{flex-basis:44px;height:44px;margin-right:8px}.is-floating .chat-projects{grid-template-columns:minmax(0,1fr)}.is-floating .chat-project{padding:1rem}.chat-book-bar .chat-book-view .is-floating .chat-utility{margin-top:.5rem;font-size:.72rem;line-height:1.4;flex-direction:row;align-items:center}.chat-dot{position:fixed;z-index:80;right:max(16px,calc(env(safe-area-inset-right) + 12px));bottom:calc(max(16px,calc(env(safe-area-inset-bottom) + 8px)) + var(--chat-lift,0px));width:56px;height:56px;border:0;border-radius:50%;display:grid;place-items:center;background:#5167ff;color:#fff;cursor:pointer;box-shadow:0 10px 28px #0009,0 0 0 1px #ffffff1f inset;transition:bottom .2s ease,background .2s,transform .2s}.chat-dot:hover{background:#697cff;transform:translateY(-1px)}.chat-dot:focus-visible{outline:2px solid #bac4ff;outline-offset:3px}.chat-dot-mark{display:block}.chat-panel{position:fixed;z-index:81;right:max(16px,calc(env(safe-area-inset-right) + 12px));bottom:calc(88px + var(--chat-lift,0px));width:min(420px,calc(100vw - 32px));max-height:min(680px,calc(100svh - 120px - var(--chat-lift,0px)));display:flex;flex-direction:column;background:#101214;color:#f1f0ea;border:1px solid #f1f0ea24;border-radius:16px;box-shadow:0 24px 64px #000b;overflow:hidden;font-family:var(--font-sans,Manrope,system-ui,sans-serif);animation:chat-rise .2s ease-out}.chat-close{position:absolute;z-index:1;top:8px;right:8px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:none;color:#c8ccd2;cursor:pointer}.chat-close:hover{background:#24282d;color:#fff}.chat-close:focus-visible{outline:2px solid #bac4ff;outline-offset:-2px}.chat-close svg{width:22px;height:22px}.chat-float .chat-panel :is(h2,h3){color:inherit;letter-spacing:normal;text-wrap:wrap}@keyframes chat-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:760px){.chat-panel{inset:auto 0;top:var(--chat-vt,0px);bottom:auto;width:100%;height:var(--chat-vh,100dvh);max-height:none;border:0;border-radius:0;z-index:90}html.chat-open,html.chat-open body{overflow:hidden}}@media(prefers-reduced-motion:reduce){.chat-panel{animation:none}.chat-dot{transition:none}}@media print{.chat-float{display:none}}
