.ct-page .ct-chat{padding:0;width:100%;margin-top:1px;overflow:hidden;background:#f5f3ec}
.ct-chat-heading{padding:36px 4vw;display:flex;justify-content:space-between;align-items:center;gap:30px;width:100%;border-bottom:1px solid #20211f25}
.ct-chat-heading h2{margin:18px 0 0;font-size:clamp(30px,3.5vw,52px)}.ct-chat-heading h2 em{font-family:Georgia,serif;font-weight:400}.ct-chat-heading>p{font-size:15px;margin:0;max-width:320px}
.ct-chat-body{width:100%;display:grid;grid-template-columns:1.3fr 1fr}
.ct-chat-log{height:430px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding:0 4vw}
.ct-chat-log::-webkit-scrollbar{display:none}.ct-chat-welcome{padding:32px 0}.ct-chat-welcome>p{font-size:clamp(20px,2vw,28px);line-height:1.3;margin:16px 0 24px;max-width:470px}
.ct-chat-prompts{display:flex;flex-wrap:wrap;gap:10px}.ct-chat-prompts button{font:13px/1.4 Arial,sans-serif;background:transparent;color:#20211f;border:1px solid #20211f40;padding:10px 14px;border-radius:2px;cursor:pointer;text-align:left}
.ct-chat-form{padding:32px 4vw;border-left:1px solid #20211f25;width:100%}.ct-chat-form>label{font-size:13px}.ct-chat-form textarea{display:block;resize:vertical;width:100%;min-height:110px;max-height:210px;background:#fff;border:1px solid #20211f30;border-radius:2px;font:16px/1.5 Arial;padding:14px;margin:12px 0 18px;color:#20211f}
.ct-chat-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}.ct-page .ct-chat-status{font:12px/1.5 Arial;max-width:230px;margin:0;color:#62635f}.ct-chat-status[data-busy=true]::before{content:"";display:inline-block;width:5px;height:5px;margin-right:17px;background:#a39880;box-shadow:7px 0 #a39880,14px 0 #a39880;animation:ct-chat-pixels 1.4s steps(3,end) infinite}
.ct-chat-check{margin-top:18px}.ct-page .ct-chat-note{font-size:11px;line-height:1.6;color:#62635f;margin:20px 0 0}.ct-chat-note a{text-decoration:underline}.ct-chat-message{padding:24px 0;border-top:1px solid #20211f20}.ct-chat-message:first-of-type{border-top:0}.ct-chat-message[data-role=user]{color:#263fe5}.ct-chat-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;font-size:16px}.ct-chat-message .ct-label{color:inherit}
@keyframes ct-chat-pixels{0%,100%{opacity:.35}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.ct-chat-status[data-busy=true]::before{animation:none}}
@media(max-width:700px){.ct-chat-heading{display:block;padding:30px 25px}.ct-chat-heading>p{margin-top:22px}.ct-chat-body{grid-template-columns:1fr}.ct-chat-log{height:350px;padding:0 25px}.ct-chat-form{border-left:0;border-top:1px solid #20211f25;padding:25px}.ct-chat-actions{align-items:flex-start}.ct-chat-actions .ct-submit{padding:13px 16px;white-space:nowrap}}

/* A single conversation, with a compact composer beneath it. */
.ct-chat-body{display:block}
.ct-chat-person{display:flex;align-items:center;gap:12px;padding:18px 4vw;border-bottom:1px solid #20211f20}
.ct-chat-person[hidden]{display:none}.ct-chat-avatar{display:grid;place-items:center;width:38px;height:38px;background:#263fe5;color:#fff;font:italic 25px Georgia;border-radius:50%}
.ct-chat-person strong{display:block;font:500 15px Arial}.ct-chat-person div>span{display:block;font:12px Arial;color:#62635f;margin-top:4px}
.ct-chat-log{height:350px;display:flex;flex-direction:column;align-items:flex-start}
.ct-chat-welcome[hidden]{display:none}
.ct-chat-message{max-width:78%;width:fit-content;border:0;background:#e9e5da;padding:14px 18px;border-radius:12px 12px 12px 2px;margin:12px 0}
.ct-chat-message[data-role=user]{align-self:flex-end;background:#263fe5;color:#fff;border-radius:12px 12px 2px 12px}
.ct-chat-message p{font-size:15px;margin:6px 0 0}.ct-chat-message .ct-label{font:10px Arial;text-transform:none;color:inherit;opacity:.7}
.ct-chat-form{border-left:0;border-top:1px solid #20211f25;padding:20px 4vw}
.ct-chat-form>label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.ct-chat-form textarea{min-height:58px;max-height:140px;margin:0 0 12px;border-radius:8px}
.ct-chat-actions .ct-submit{white-space:nowrap;flex-shrink:0;padding:12px 24px;border-radius:4px}
.ct-page .ct-chat-status{min-height:18px;max-width:none}
.ct-page .ct-chat-note{margin-top:14px}.ct-chat-check:empty{margin:0}
@media(max-width:700px){.ct-chat-person{padding:16px 25px}.ct-chat-log{height:340px}.ct-chat-message{max-width:90%}.ct-chat-form{padding:18px 25px}.ct-chat-actions{align-items:center}}

.ct-chat-message,.ct-chat-welcome{flex-shrink:0}.ct-page .ct-chat-note{max-width:none}

/* Half-width Contact chat, aligned to the page's panel grid. */
@media(min-width:701px){
 .ct-page .ct-chat{width:calc((100% - 1px)/2)}
 .ct-chat-heading{display:block;padding:30px clamp(25px,3vw,44px)}
 .ct-chat-heading>p{margin-top:20px}
 .ct-chat-person,.ct-chat-form{padding-left:clamp(25px,3vw,44px);padding-right:clamp(25px,3vw,44px)}
 .ct-chat-log{padding-left:clamp(25px,3vw,44px);padding-right:clamp(25px,3vw,44px)}
}

/* Paired Contact panels: private conversation and studio support. */
.ct-support-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px;margin-top:1px;align-items:stretch}
.ct-page .ct-support-row .ct-chat{width:100%;margin-top:0}
.ct-support-info{background:#263fe5;color:#f5f3ec;padding:38px clamp(25px,3vw,48px)}
.ct-page .ct-support-info .ct-label{color:#f5f3ec;opacity:.8}
.ct-page .ct-support-info h2{font-size:clamp(38px,4.5vw,68px);line-height:1.02;margin:28px 0}
.ct-support-info h2 em{font-family:Georgia,serif;font-weight:400}
.ct-page .ct-support-intro{font-size:17px;max-width:440px;margin-bottom:34px}
.ct-support-topics{width:100%}.ct-support-topics>div{border-top:1px solid #f5f3ec45;padding:22px 0}
.ct-support-topics h3{font:400 23px/1.15 Arial,sans-serif;letter-spacing:-.025em;margin:10px 0}
.ct-page .ct-support-topics p{font-size:15px;line-height:1.5;margin:0;max-width:440px}
.ct-page a.ct-support-link{display:inline-block;margin-top:auto;padding:20px 0 0;font-size:15px;color:#f5f3ec;text-underline-offset:5px}
@media(max-width:700px){.ct-support-row{grid-template-columns:1fr}.ct-support-info{padding:32px 25px}.ct-page .ct-support-info h2{font-size:46px}.ct-page a.ct-support-link{margin-top:12px}}

.ct-chat-send{display:flex;align-items:center;gap:12px;margin-left:auto}.ct-chat-send>span{font:11px/1.4 Arial,sans-serif;color:#62635f}.ct-chat-send .ct-submit{flex-shrink:0}

/* Support companion in the shared cream palette. */
.ct-support-info{background:#f5f3ec;color:#20211f}
.ct-page .ct-support-info .ct-label{color:#263fe5;opacity:1}
.ct-support-topics>div{border-top-color:#20211f25}
.ct-page a.ct-support-link{color:#263fe5}

/* Requested messenger-style waiting bubble: three small animated circles. */
.ct-chat-wait{display:flex;gap:5px;align-items:center;min-height:42px;padding:16px 19px}
.ct-chat-wait span{display:block;width:6px;height:6px;border-radius:50%;background:#948973;animation:ct-chat-wait-dot 1.35s ease-in-out infinite}
.ct-chat-wait span:nth-child(2){animation-delay:.16s}.ct-chat-wait span:nth-child(3){animation-delay:.32s}
@keyframes ct-chat-wait-dot{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.ct-chat-wait span{animation:none;opacity:.65}}

/* Invisible Turnstile has no visual footprint; no reserved widget spacing. */
.ct-chat-check{margin:0!important}

.ct-chat-end{border:0;background:none;padding:5px 0;font:12px Arial,sans-serif;color:#62635f;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.ct-chat-end[hidden]{display:none}

.ct-chat-actions{flex-wrap:wrap}

.ct-chat-wait p{margin:0;font-size:14px;line-height:1.5}

/* Hidden until the authenticated dispatcher has confirmed availability. */
#ct-support:not([data-support-online="true"]){display:none!important}
.ct-support-row:not([data-chat-online="true"]){grid-template-columns:minmax(0,1fr)}
