.ak-scrim{position:fixed;inset:0;background:rgba(10,14,30,.18);opacity:0;pointer-events:none;transition:opacity .35s;z-index:59}
.ak-scrim.on{opacity:1;pointer-events:auto}
html.ak-lock{overflow:hidden}
.ak{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:60;width:124px;height:40px;border-radius:20px;background:rgba(14,19,38,.24);-webkit-backdrop-filter:blur(5px) saturate(160%);backdrop-filter:blur(5px) saturate(160%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 6px 20px rgba(10,14,30,.25);overflow:hidden;color:#fff;font-family:"Inter",system-ui,sans-serif;transition:width .55s cubic-bezier(.32,.72,0,1),height .55s cubic-bezier(.32,.72,0,1),border-radius .55s cubic-bezier(.32,.72,0,1),background .3s,box-shadow .3s,transform .2s}
.ak:not(.open){cursor:pointer}.ak:not(.open):hover{transform:translateX(-50%) scale(1.03)}
.ak:focus-visible{outline:2px solid #e6b968;outline-offset:3px}
.ak.open{width:min(640px,calc(100vw - 24px));height:min(620px,calc(100vh - 48px));border-radius:32px;background:#0e1326;box-shadow:0 12px 40px rgba(10,14,30,.35)}
.ak-pill{position:absolute;inset:0;isolation:isolate;display:flex;align-items:center;gap:8px;padding:0 14px 0 7px;white-space:nowrap;transition:opacity .2s}
.ak.open .ak-pill{opacity:0;pointer-events:none}
.ak-orb{position:relative;width:24px;height:24px;flex:none;border-radius:50%}
.ak-orb::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,#6c7fc4,#d9a24a,#3d56a8,#a3b0db,#6c7fc4);-webkit-mask:radial-gradient(circle,transparent 6.4px,#000 7.4px);mask:radial-gradient(circle,transparent 6.4px,#000 7.4px);animation:akSpin 4s linear infinite;will-change:transform}
.ak-orb::after{content:"";position:absolute;inset:-3px;border-radius:50%;background:conic-gradient(from 180deg,#6c7fc4,#d9a24a,#3d56a8,#a3b0db,#6c7fc4);filter:blur(6px);opacity:.55;z-index:-1;animation:akSpin 7s linear infinite reverse,akGlow 3s ease-in-out infinite;will-change:transform,opacity}
.ak-pill .ak-orb{animation:akBreathe 3s ease-in-out infinite}
.ak-orb.sm{width:22px;height:22px}.ak-orb.sm::before{-webkit-mask:radial-gradient(circle,transparent 6px,#000 7px);mask:radial-gradient(circle,transparent 6px,#000 7px)}
@keyframes akGlow{0%,100%{opacity:.35}50%{opacity:.75}}
@keyframes akBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.ak-pill span{font-size:13.5px;font-weight:500;text-shadow:0 1px 3px rgba(0,0,0,.5)}
@keyframes akSpin{to{transform:rotate(360deg)}}
.ak-panel{position:absolute;inset:0;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .2s}
.ak.open .ak-panel{opacity:1;pointer-events:auto;transition:opacity .35s .15s}
.ak-head{display:flex;align-items:center;gap:10px;padding:16px 14px 8px 20px}
.ak-home{display:none;align-items:center;gap:4px;height:34px;padding:0 12px 0 8px;border:0;border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font:500 14px/1 "Inter",sans-serif;cursor:pointer}
.ak-home:hover{background:rgba(255,255,255,.16)}.ak.has .ak-home{display:inline-flex}
.ak-brand{display:flex;align-items:center;gap:8px;border:0;background:none;color:#fff;font:600 16px/1 "Inter",sans-serif;cursor:pointer;padding:0}
.ak-sub{flex:1;font-size:12.5px;color:rgba(255,255,255,.5)}
.ak-x{width:32px;height:32px;border-radius:50%;border:0;background:none;color:rgba(255,255,255,.6);display:grid;place-items:center;cursor:pointer}
.ak-x:hover{background:rgba(255,255,255,.1);color:#fff}
.ak-thread{flex:1;overflow-y:auto;overscroll-behavior:contain}
.ak-in{padding:8px 20px 12px;display:flex;flex-direction:column;gap:10px}
.ak-empty{padding-top:28px}
.ak-empty h3{margin:0 0 6px;font:500 26px/1.2 "Inter",sans-serif;letter-spacing:-.02em;color:#fff}
.ak-empty p{margin:0 0 22px;font-size:14.5px;color:rgba(255,255,255,.6)}
.ak-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.ak-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 14px 14px 16px;border:0;border-radius:16px;background:rgba(255,255,255,.06);color:#fff;font:500 14px/1.35 "Inter",sans-serif;text-align:left;cursor:pointer;animation:akIn .45s cubic-bezier(.16,1,.3,1) both}
.ak-card:hover{background:rgba(255,255,255,.11)}.ak-card svg{opacity:.5;flex:none}
@keyframes akIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes akPop{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
.ak-u{align-self:flex-end;max-width:80%;background:#fff;color:#0d1530;border-radius:20px 20px 6px 20px;padding:10px 14px;font-size:14.5px;line-height:1.45;animation:akPop .38s cubic-bezier(.32,.72,0,1) both;white-space:pre-wrap;overflow-wrap:anywhere}
.ak-b{align-self:flex-start;max-width:86%;background:rgba(255,255,255,.08);color:#eef0f7;border-radius:20px 20px 20px 6px;padding:10px 14px;font-size:14.5px;line-height:1.5;overflow-wrap:anywhere}
.ak-b p{margin:0}.ak-b p+p,.ak-b p+ul,.ak-b ul+p{margin-top:8px}.ak-b ul{margin:0;padding-left:18px;display:grid;gap:4px}.ak-b strong{font-weight:600;color:#fff}
.ak-b a{color:#f0cf92}
.ak-caret{display:inline-block;width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5);margin-left:4px;vertical-align:middle}
.ak-typing{align-self:flex-start;display:flex;gap:5px;padding:14px 16px;background:rgba(255,255,255,.08);border-radius:20px 20px 20px 6px}
.ak-typing i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.6);animation:akDot 1.1s infinite}
.ak-typing i:nth-child(2){animation-delay:.15s}.ak-typing i:nth-child(3){animation-delay:.3s}
@keyframes akDot{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.ak-act{align-self:flex-start;display:flex;align-items:center;gap:12px;max-width:86%;padding:12px;border-radius:16px;background:rgba(255,255,255,.06);animation:akIn .4s cubic-bezier(.16,1,.3,1) both}
.ak-act div{flex:1;display:grid;gap:2px}.ak-act b{font-size:14px;font-weight:600}.ak-act small{font-size:12.5px;color:rgba(255,255,255,.6)}
.ak-act a{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;background:#d9a24a;color:#0d1530;font:600 13px/1 "Inter",sans-serif;text-decoration:none;white-space:nowrap}
.ak-act a:hover{background:#e6b968;color:#0d1530}
/* Lead card ("Have our team call you"): same language as .ak-act; field layout from shared-assets/chat/chat.css .kc-lead */
.ak-act.ak-lead{flex-direction:column;align-items:stretch;gap:10px;padding:14px;width:100%;max-width:420px;box-sizing:border-box;margin:0}
.ak-lead .ak-lead-h{display:flex;align-items:center;gap:12px}
.ak-lead .ak-lead-h div{display:grid;gap:2px;flex:1;min-width:0}
.ak-ico{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#fff;flex:none}
.ak-f{display:flex;flex-direction:column;gap:5px;min-width:0}
.ak-f span{font-size:12.5px;font-weight:500;color:rgba(255,255,255,.7)}.ak-f i{font-style:normal;color:#e6b968;margin-left:2px}.ak-f em{font-style:normal;color:rgba(255,255,255,.45)}
.ak-f input,.ak-f select{width:100%;box-sizing:border-box;height:42px;margin:0;padding:0 12px;border:0;border-radius:12px;background-color:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);color:#fff;font:400 16px/1.2 "Inter",system-ui,sans-serif;outline:0;-webkit-appearance:none;appearance:none;transition:box-shadow .15s}
.ak-f select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-opacity='.6' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;text-overflow:ellipsis}
.ak-f select option{color:#0d1530;background:#fff}
.ak-f input:focus,.ak-f select:focus{box-shadow:inset 0 0 0 1.5px #e6b968}
.ak-f [aria-invalid="true"]{box-shadow:inset 0 0 0 1.5px #f0cf92}
.ak-lead .ak-f2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.ak-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.ak-lead-go{align-self:stretch;height:42px;margin-top:2px;border:0;border-radius:999px;background:#d9a24a;color:#0d1530;font:600 14px/1 "Inter",system-ui,sans-serif;cursor:pointer}
.ak-lead-go:hover{background:#e6b968}.ak-lead-go[disabled]{opacity:.6;cursor:default}
.ak-lead-go:focus-visible,.ak-act a:focus-visible{outline:2px solid #e6b968;outline-offset:2px}
.ak-lead-fine{margin:0;font-size:11.5px;line-height:1.4;color:rgba(255,255,255,.5)}
.ak-lead-err{margin:0;font-size:13px;line-height:1.4;color:#f0cf92}.ak-lead-err[hidden]{display:none}
.ak-lead .ak-act{display:flex;flex:none;align-self:stretch;max-width:none;background:rgba(255,255,255,.06)}
.ak-lead-blocked{align-self:flex-start;display:flex;flex-direction:column;gap:8px;max-width:86%}
.ak-lead-blocked .ak-lead-fine{font-size:13px;color:rgba(255,255,255,.75)}
.ak-chips{display:flex;flex-wrap:wrap;gap:8px}
.ak-chip{border:0;background:transparent;color:#e6b968;box-shadow:inset 0 0 0 1px rgba(217,162,74,.4);border-radius:999px;padding:8px 13px;font:500 13.5px/1.2 "Inter",sans-serif;cursor:pointer;animation:akIn .4s cubic-bezier(.16,1,.3,1) both}
.ak-chip:hover{background:rgba(217,162,74,.12)}
.ak-comp{margin:0 14px 14px;padding:6px 6px 6px 16px;border-radius:24px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);display:flex;align-items:flex-end;gap:8px}
.ak-comp:focus-within{box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.ak-comp textarea{flex:1;min-height:36px;max-height:120px;resize:none;border:0;background:none;color:#fff;font:16px/1.4 "Inter",sans-serif;padding:7px 0;outline:none}
.ak-comp textarea::placeholder{color:rgba(255,255,255,.4)}
.ak-send{width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;cursor:pointer;flex:none;transition:background .2s,transform .1s}
.ak-send.on{background:#d9a24a;color:#0d1530}.ak-send:active{transform:scale(.9)}
.ak-note{margin:-6px 20px 10px;font-size:11.5px;color:rgba(255,255,255,.4);text-align:center}
.ak-note a{color:rgba(255,255,255,.55)}
@media (max-width:640px){.ak.open{width:calc(100vw - 16px);height:calc(100dvh - 24px);bottom:8px;border-radius:28px}.ak-cards{grid-template-columns:minmax(0,1fr)}.ak-empty h3{font-size:23px}}
@media (max-width:1023px){body:has(.mbar.on) .ak:not(.open){bottom:calc(68px + env(safe-area-inset-bottom))}}
@media (prefers-reduced-motion:reduce){.ak,.ak *,.ak-scrim{animation:none!important;transition:none!important}}

/* Bright inside (Sam, 29 Oct 2026): the open chat matches the site (white, Keats blue, ink text) instead of dark navy.
   The closed "Ask Keats" pill and its orb are unchanged. Everything below is scoped to .ak.open. */
.ak.open{background:#fff;box-shadow:0 24px 60px -20px rgba(18,27,51,.35),0 0 0 1px var(--line,#e5e7eb)}
.ak.open .ak-home{background:var(--gray,#f4f6fa);color:var(--ink,#121b33)}
.ak.open .ak-home:hover{background:var(--blue-50,#eef2fd);color:var(--blue,#2251df)}
.ak.open .ak-brand{color:var(--ink,#121b33)}
.ak.open .ak-sub{color:var(--ink-3,#6b7280)}
.ak.open .ak-x{color:var(--ink-3,#6b7280)}
.ak.open .ak-x:hover{background:var(--gray,#f4f6fa);color:var(--ink,#121b33)}
.ak.open .ak-empty h3{color:var(--ink,#121b33)}
.ak.open .ak-empty p{color:var(--ink-2,#4b5563)}
.ak.open .ak-card{background:var(--gray,#f4f6fa);color:var(--ink,#121b33)}
.ak.open .ak-card:hover{background:var(--blue-50,#eef2fd);color:var(--blue,#2251df)}
.ak.open .ak-u{background:var(--blue,#2251df);color:#fff}
.ak.open .ak-b{background:var(--gray,#f4f6fa);color:var(--ink,#121b33)}
.ak.open .ak-b strong{color:var(--ink,#121b33)}
.ak.open .ak-b a{color:var(--blue,#2251df)}
.ak.open .ak-caret{background:var(--ink-3,#6b7280)}
.ak.open .ak-typing{background:var(--gray,#f4f6fa)}
.ak.open .ak-typing i{background:var(--ink-3,#6b7280)}
.ak.open .ak-act,.ak.open .ak-lead .ak-act{background:var(--gray,#f4f6fa);color:var(--ink,#121b33)}
.ak.open .ak-act b{color:var(--ink,#121b33)}
.ak.open .ak-act small{color:var(--ink-3,#6b7280)}
.ak.open .ak-act a,.ak.open .ak-lead-go,.ak.open .ak-send.on{background:var(--blue,#2251df);color:#fff}
.ak.open .ak-act a:hover,.ak.open .ak-lead-go:hover{background:var(--blue-d,#1a40b8);color:#fff}
.ak.open .ak-ico{background:#fff;color:var(--blue,#2251df);box-shadow:0 0 0 1px var(--line,#e5e7eb)}
.ak.open .ak-f span{color:var(--ink-2,#4b5563)}
.ak.open .ak-f i{color:var(--blue,#2251df)}
.ak.open .ak-f em{color:var(--ink-3,#6b7280)}
.ak.open .ak-f input,.ak.open .ak-f select{background-color:#fff;box-shadow:inset 0 0 0 1px var(--line-2,#d6dae1);color:var(--ink,#121b33)}
.ak.open .ak-f select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23121b33' stroke-opacity='.55' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}
.ak.open .ak-f input:focus,.ak.open .ak-f select:focus{box-shadow:inset 0 0 0 1.5px var(--blue,#2251df)}
.ak.open .ak-f [aria-invalid="true"]{box-shadow:inset 0 0 0 1.5px #d3343e}
.ak.open .ak-lead-fine{color:var(--ink-3,#6b7280)}
.ak.open .ak-lead-err{color:#d3343e}
.ak.open .ak-lead-blocked .ak-lead-fine{color:var(--ink-2,#4b5563)}
.ak.open .ak-chip{color:var(--blue,#2251df);box-shadow:inset 0 0 0 1px rgba(34,81,223,.35)}
.ak.open .ak-chip:hover{background:var(--blue-50,#eef2fd)}
.ak.open .ak-comp{background:var(--gray,#f4f6fa);box-shadow:inset 0 0 0 1px var(--line,#e5e7eb)}
.ak.open .ak-comp:focus-within{box-shadow:inset 0 0 0 1.5px var(--blue,#2251df)}
.ak.open .ak-comp textarea{color:var(--ink,#121b33)}
.ak.open .ak-comp textarea::placeholder{color:var(--ink-3,#6b7280)}
.ak.open .ak-send{background:var(--line,#e5e7eb);color:var(--ink-3,#6b7280)}
.ak.open .ak-note{color:var(--ink-3,#6b7280)}
.ak.open .ak-note a{color:var(--blue,#2251df)}
