/* CreekWell assistant widget -- built from _source/chat/widget.css.
   Brand tokens are re-declared here so the widget does not depend on load
   order with creekwell.css.                                                */
.cw-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cw-launch{position:fixed;right:16px;bottom:16px;z-index:9000;display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:6px 20px 6px 6px;border:0;border-radius:999px;background:#0F4B4F;color:#F8F1E3;font:750 18px/1 "Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;box-shadow:0 6px 0 #06282B,0 12px 24px rgb(0 0 0/28%);cursor:pointer}
.cw-launch[hidden]{display:none}   /* [hidden] loses to display:inline-flex above without this, so hiding it for the open drawer did nothing */
.cw-launch:hover{background:#0C3D40}
.cw-launch:focus-visible{outline:3px solid #FFFDF8;outline-offset:2px;box-shadow:0 0 0 6px #0F4B4F,0 6px 0 #06282B}   /* two-tone ring: visible on cream and on teal */
@media (prefers-reduced-motion:no-preference){.cw-launch{transition:opacity .2s,transform .2s}}   /* the step-aside slides only when motion is welcome */
.cw-launch.cw-dodge{transform:translateY(-100px);padding-right:6px}
.cw-launch.cw-dodge{padding-right:14px}
.cw-launch.cw-dodge .cw-launch-text{font-size:0}
.cw-launch.cw-dodge .cw-launch-text::after{content:"Ask";font-size:18px}   /* a short label while it steps above the hero buttons; the aria-label still says the whole thing */
/* On a phone the launcher is the icon alone. At 197 px wide it reached the
   middle of the page's main button on five pages and swallowed the tap; at
   72 px it sits in the corner. The words are still in aria-label. */
@media (max-width:640px){
  /* No slide on a phone. The 200ms transform transition meant that for a fifth
     of a second after every screen change the launcher was still sitting on the
     button it had just stepped away from -- long enough for a fast tap. It
     re-positions instantly instead; the opacity fade stays. */
  .cw-launch{padding:6px;min-height:58px;transition:opacity .2s}
  .cw-launch .cw-launch-text{font-size:0}
  .cw-launch .cw-launch-text::after{content:"Ask";font-size:17px}   /* the icon alone is just a cartoon; aria-label still says the whole thing */
  /* the step-aside distance is set inline, measured; and cw-dodge's
     padding-right does nothing here but move the box 8px left onto the
     /account email field, because the text is display:none anyway */
  .cw-launch.cw-dodge{padding:6px}
}
.cw-launch-icon{width:46px;height:46px;border-radius:50%;background:#F8F1E3;display:grid;place-items:center;flex:0 0 auto}
.cw-launch-icon svg{width:38px;height:38px;display:block;transform-origin:50% 100%}
/* The mascot's life. Eyes blink twice in the first five seconds (the JS drops
   .cw-idle at 5s, so nothing moves on its own after that -- WCAG 2.2.2), then
   it only reacts: a hello (blink, brows up, a small hop) on hover with a real
   pointer, on keyboard focus and when the panel opens; a blink only when the
   reader stops scrolling (JS adds .cw-hello-soft, at most every 20s). Hover
   rules are gated on (hover:hover) so a tap on a phone does not leave the
   brows stuck up. Nothing at all under prefers-reduced-motion.              */
.cw-eye{transform-box:fill-box;transform-origin:50% 50%}
.cw-brow{transform-box:fill-box;transform-origin:50% 50%;transition:transform .2s ease-out}
@media (prefers-reduced-motion:no-preference){
  .cw-launch.cw-idle .cw-eye{animation:cw-blink 2s ease-in-out .9s 2}
  .cw-launch:focus-visible .cw-eye,.cw-launch.cw-hello .cw-eye,.cw-launch.cw-hello-soft .cw-eye{animation:cw-blink-hello 1.4s ease-in-out .05s 1}
  .cw-launch:focus-visible .cw-brow,.cw-launch.cw-hello .cw-brow{transform:translateY(-3.5px)}
  .cw-launch:focus-visible .cw-launch-icon svg,.cw-launch.cw-hello .cw-launch-icon svg{animation:cw-hop .32s ease-out 1}
}
@media (prefers-reduced-motion:no-preference) and (hover:hover){
  .cw-launch:hover .cw-eye{animation:cw-blink-hello 1.4s ease-in-out .05s 1}
  .cw-launch:hover .cw-brow{transform:translateY(-3.5px)}
  .cw-launch:hover .cw-launch-icon svg{animation:cw-hop .32s ease-out 1}
}
@keyframes cw-blink{0%,100%{transform:scaleY(1)}5%{transform:scaleY(.12)}8%{transform:scaleY(.12)}14%{transform:scaleY(1)}}
@keyframes cw-blink-hello{0%,100%{transform:scaleY(1)}5%{transform:scaleY(.12)}8%{transform:scaleY(.12)}14%{transform:scaleY(1)}}
@keyframes cw-hop{0%{transform:translateY(0) scale(1,1)}35%{transform:translateY(-2px) scale(.96,1.05)}70%{transform:translateY(0) scale(1.03,.97)}100%{transform:none}}
.cw-launch-open .cw-launch-text::before{content:"Close: "}
@media (max-width:1279px){.cw-launch{bottom:92px}}   /* clears the sticky call bar */
@media (max-width:360px){.cw-launch{padding-right:14px;font-size:17px}}
.cw-panel{position:fixed;right:16px;bottom:88px;z-index:9001;width:min(400px,calc(100vw - 32px));height:min(640px,calc(100vh - 110px));display:flex;flex-direction:column;background:#FFFDF8;color:#26373A;border:1px solid #B08A55;border-radius:16px;box-shadow:0 20px 50px rgb(0 0 0/30%);font:18px/1.5 "Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;overflow:hidden}
@media (max-width:1279px){.cw-panel{bottom:164px;height:min(600px,calc(100vh - 190px))}}
@media (max-width:640px){.cw-panel{right:0;left:0;bottom:0;top:0;width:100%;height:100%;border-radius:0;border:0}}
@media (max-height:600px){.cw-panel{overflow:auto}.cw-log{min-height:110px}}   /* 200% zoom on a laptop: the whole panel scrolls instead of losing its header */
@media (max-height:600px) and (min-width:641px){.cw-panel{top:8px;bottom:8px;height:auto;max-height:none}}
.cw-panel[hidden]{display:none}
.cw-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 10px 10px 14px;background:#0F4B4F;color:#F8F1E3;border-bottom:3px solid #B77333}
.cw-head-title{display:flex;align-items:center;gap:10px;min-width:0}
.cw-head h2{margin:0;font:700 18px/1.2 "Libre Baskerville",Georgia,serif;color:#F8F1E3;white-space:nowrap}
.cw-head-actions{display:flex;align-items:center;gap:6px}
.cw-call{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:44px;padding:0 12px;border-radius:999px;background:#7E4A1F;color:#FFFDF8;text-decoration:none;font-weight:750;font-size:16px;white-space:nowrap}
@media (max-width:359px){.cw-call{padding:0}.cw-call span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}   /* icon-only on 320px phones; the number is still read out and repeated after every answer */
.cw-call:hover{background:#6B3E1A}
.cw-close{width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#F8F1E3;cursor:pointer;display:grid;place-items:center}
.cw-close:hover{background:rgb(255 255 255/14%)}
.cw-call:focus-visible,.cw-close:focus-visible{outline:3px solid #F8F1E3;outline-offset:2px}
.cw-chip:focus-visible,.cw-send:focus-visible,.cw-mini:focus-visible,.cw-src:focus-visible{outline:3px solid #0F4B4F;outline-offset:2px;box-shadow:0 0 0 6px #FFFDF8}
.cw-log{flex:1 1 auto;min-height:140px;overflow-y:auto;padding:14px 12px 4px;display:flex;flex-direction:column;gap:10px;background:#F8F1E3}
.cw-src{display:inline-block;margin-left:2px;color:#0F4B4F;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.cw-msg{display:flex;flex-direction:column;max-width:92%}
.cw-user{align-self:flex-end;align-items:flex-end}
.cw-bot{align-self:flex-start}
.cw-bubble{padding:10px 14px;border-radius:14px;background:#FFFDF8;border:1px solid #DDCDB2;white-space:normal;overflow-wrap:anywhere}
.cw-user .cw-bubble{background:#0F4B4F;color:#F8F1E3;border-color:#0F4B4F}
.cw-typing .cw-bubble{color:#425357;letter-spacing:.2em}
.cw-handoff{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.cw-mini{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;background:#7E4A1F;color:#FFFDF8;text-decoration:none;font-weight:700;font-size:16px}
.cw-mini-alt{background:#FFFDF8;color:#0F4B4F;border:2px solid #0F4B4F}
.cw-chips{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;background:#F8F1E3;border-top:1px solid #DDCDB2}
.cw-chip{min-height:48px;padding:0 14px;border:2px solid #0F4B4F;border-radius:999px;background:#FFFDF8;color:#0F4B4F;font-family:inherit;font-weight:700;font-size:17px;line-height:1.2;cursor:pointer}
.cw-chip:hover{background:#0F4B4F;color:#FFFDF8}
@media (max-width:640px){.cw-chip{flex:0 1 auto}}   /* two chips share a line when they fit */
.cw-form{flex:0 0 auto;display:flex;gap:8px;padding:10px 12px;border-top:1px solid #DDCDB2;background:#FFFDF8}
.cw-input{flex:1 1 auto;min-width:0;min-height:52px;padding:0 14px;border:2px solid #6E5A3E;border-radius:10px;font-family:inherit;font-size:18px;line-height:1.3;color:#26373A;background:#fff}   /* 18px also stops iOS zooming the page on focus */
.cw-input:focus-visible{outline:3px solid #0F4B4F;outline-offset:1px}
.cw-send{min-height:52px;padding:0 18px;border:0;border-radius:10px;background:#7E4A1F;color:#FFFDF8;font-family:inherit;font-weight:750;font-size:18px;line-height:1;cursor:pointer;box-shadow:0 3px 0 #3F2410}
.cw-send[disabled]{opacity:.6;cursor:default}
.cw-foot{flex:0 0 auto;margin:0;padding:6px 12px 10px;font-size:15px;line-height:1.35;color:#425357;background:#FFFDF8}
@media (prefers-reduced-motion:no-preference){.cw-panel{animation:cw-in .18s ease-out}@keyframes cw-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}
@media (forced-colors:active){.cw-launch,.cw-send,.cw-call,.cw-mini{border:2px solid ButtonText}}
@media print{.cw-launch,.cw-panel{display:none!important}}
