.ask-travision{
  --ask-forest:#17382c;
  --ask-forest-deep:#10281f;
  --ask-cream:#fffaf0;
  --ask-gold:#d9bf84;
  --ask-line:#c9d1c1;
  --ask-muted:#526259;
  max-width:850px;
  margin:clamp(1.75rem,4vw,3rem) auto 2.25rem;
  border:1px solid var(--ask-line);
  border-radius:18px;
  overflow:hidden;
  background:var(--surface,#fffdf7);
  color:var(--ink,#17382c);
  box-shadow:0 18px 50px rgba(20,57,44,.09);
}

.ask-travision__intro{
  position:relative;
  padding:clamp(1.35rem,4vw,2rem);
  border-bottom:1px solid rgba(255,255,255,.14);
  background:linear-gradient(135deg,var(--ask-forest-deep),var(--ask-forest));
  color:var(--ask-cream);
}
.ask-travision__intro::after{
  content:"";
  position:absolute;
  width:9rem;
  height:9rem;
  inset:-4.2rem -2.2rem auto auto;
  border:1px solid rgba(217,191,132,.24);
  border-radius:50%;
  box-shadow:0 0 0 1.4rem rgba(217,191,132,.06),0 0 0 2.8rem rgba(217,191,132,.035);
  pointer-events:none;
}
.ask-travision__eyebrow{
  margin:0 0 .55rem;
  color:#ead7a8;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.ask-travision__intro h3{
  position:relative;
  z-index:1;
  margin:0;
  max-width:34rem;
  color:inherit;
  font:clamp(1.8rem,4.5vw,2.65rem)/1.08 var(--serif,Georgia,serif);
  letter-spacing:-.025em;
}
.ask-travision__intro p:not(.ask-travision__eyebrow){
  position:relative;
  z-index:1;
  max-width:42rem;
  margin:.85rem 0 0;
  color:#dfe6dc;
  font-size:.98rem;
  line-height:1.65;
}
.ask-travision__intro .ask-travision__privacy{margin-top:.45rem;color:#ead7a8;font-size:.8rem;line-height:1.5}

.ask-travision__conversation{padding:clamp(1rem,3.5vw,1.5rem)}
.ask-travision__messages{
  display:flex;
  flex-direction:column;
  gap:.8rem;
  min-height:7rem;
  max-height:min(28rem,52svh);
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:.15rem .2rem 1rem;
  scroll-padding-block:1rem;
}
.ask-travision__message{
  width:fit-content;
  max-width:min(88%,42rem);
  padding:.85rem 1rem;
  border:1px solid var(--ask-line);
  border-radius:14px 14px 14px 4px;
  background:#f4f3e9;
  color:var(--ink,#17382c);
  overflow-wrap:anywhere;
}
.ask-travision__message p{margin:0!important;color:inherit!important;font-size:.98rem!important;line-height:1.65}
.ask-travision__message--user{
  align-self:flex-end;
  border-color:var(--ask-forest);
  border-radius:14px 14px 4px 14px;
  background:var(--ask-forest);
  color:var(--ask-cream);
}
.ask-travision__message--loading{color:var(--ask-muted)}
.ask-travision__message--loading p::after{content:"…";display:inline-block;width:1.1em;text-align:left;animation:ask-travision-dots 1.1s ease-in-out infinite}
.ask-travision__message--error{border-color:#a86b62;background:#f7ece8}
.ask-travision__message--no-answer{border-style:dashed}

.ask-travision__sources{margin:.9rem 0 0;padding-top:.8rem;border-top:1px solid var(--ask-line)}
.ask-travision__sources strong{display:block;margin-bottom:.45rem;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}
.ask-travision__sources ul{display:grid;gap:.4rem;margin:0;padding:0;list-style:none}
.ask-travision__sources a{
  display:inline-flex;
  min-height:44px;
  align-items:center;
  gap:.45rem;
  padding:.45rem 0;
  color:#285943;
  font-weight:700;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}
.ask-travision__sources a::after{content:"→";text-decoration:none}

.ask-travision__form{padding-top:1rem;border-top:1px solid var(--ask-line)}
.ask-travision__form label{display:block;margin:0 0 .5rem;font-size:.85rem;font-weight:700}
.ask-travision__form textarea{
  display:block;
  width:100%;
  min-height:5.25rem;
  max-height:14rem;
  resize:vertical;
  padding:.85rem .95rem;
  border:1px solid #9eaa9c;
  border-radius:10px;
  background:var(--surface,#fffdf7);
  color:var(--ink,#17382c);
  font:inherit;
  line-height:1.5;
}
.ask-travision__form textarea::placeholder{color:#6b786f;opacity:1}
.ask-travision__form-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.75rem}
.ask-travision__hint{max-width:34rem;margin:0!important;color:var(--ask-muted)!important;font-size:.78rem!important;line-height:1.5!important}
.ask-travision__submit{
  flex:0 0 auto;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  padding:.7rem 1rem;
  border:1px solid var(--ask-forest);
  border-radius:999px;
  background:var(--ask-forest);
  color:var(--ask-cream);
  font:inherit;
  font-weight:700;
  cursor:pointer;
}
.ask-travision__submit svg{width:1.05rem;height:1.05rem;flex:none}
.ask-travision__submit:hover:not(:disabled){background:#23513d;border-color:#23513d}
.ask-travision__submit:disabled{cursor:wait;opacity:.68}
.ask-travision__form textarea:focus-visible,.ask-travision__submit:focus-visible,.ask-travision__sources a:focus-visible{outline:3px solid var(--ask-gold);outline-offset:3px}
.ask-travision__status{min-height:1.35rem;margin:.6rem 0 0!important;color:var(--ask-muted)!important;font-size:.8rem!important;line-height:1.5!important}
.ask-travision__noscript{margin:.6rem 0 0!important;color:var(--ask-muted)!important;font-size:.85rem!important}

html.dark-mode .ask-travision{--ask-line:#54675c;--ask-muted:#c4cec7;background:#14271f;color:#f6efdf}
html.dark-mode .ask-travision__conversation{background:#14271f}
html.dark-mode .ask-travision__message{background:#20382d;color:#f6efdf;border-color:#52685c}
html.dark-mode .ask-travision__message--user{background:#e5d09b;border-color:#e5d09b;color:#14271f}
html.dark-mode .ask-travision__message--error{background:#452c28;border-color:#aa746b}
html.dark-mode .ask-travision__form textarea{background:#10231b;color:#f6efdf;border-color:#64776c}
html.dark-mode .ask-travision__form textarea::placeholder{color:#bdc7bf}
html.dark-mode .ask-travision__sources a{color:#efd79e}

@keyframes ask-travision-dots{0%,25%{opacity:.35}50%,100%{opacity:1}}

@media(max-width:600px){
  .ask-travision__messages{max-height:none;overflow:visible;overscroll-behavior:auto}
  .ask-travision__message{max-width:94%}
}
@media(max-width:390px){
  .ask-travision{margin-top:1.35rem;border-radius:14px}
  .ask-travision__intro,.ask-travision__conversation{padding:1rem}
  .ask-travision__intro h3{font-size:1.75rem}
  .ask-travision__form-footer{align-items:stretch;flex-direction:column}
  .ask-travision__submit{width:100%}
}
@media(prefers-reduced-motion:reduce){.ask-travision__message--loading p::after{animation:none}}
@media(forced-colors:active){
  .ask-travision,.ask-travision__message,.ask-travision__form textarea,.ask-travision__submit{border:2px solid CanvasText}
  .ask-travision__intro,.ask-travision__message--user,.ask-travision__submit{forced-color-adjust:auto}
}
@media print{.ask-travision{display:none!important}}
