/* Site-wide contact dock, guided chat and homepage lead sheet. */
.site-assist {
  position: fixed;
  right: max(1.25rem, env(safe-area-inset-right));
  bottom: max(1.25rem, env(safe-area-inset-bottom));
  z-index: 45;
  display: grid;
  justify-items: end;
  gap: 0.75rem;
  font-family: var(--sans);
}

.assist-dock {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.assist-dock__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 3.25rem;
  padding: 0.75rem 1rem;
  border: 0;
  border-radius: 999px;
  box-shadow: 0 14px 34px rgba(8, 13, 20, 0.22);
  color: #fff;
  font: 700 var(--fs-ui)/1 var(--sans);
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.25s var(--ease), box-shadow 0.25s ease;
}

.assist-dock__button:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(8, 13, 20, 0.3); }
.assist-dock__button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.assist-dock__button svg { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.assist-dock__button--chat {
  position: relative;
  width: 3.5rem;
  height: 3.5rem;
  min-height: 0;
  padding: 0;
  border: 1px solid rgba(31, 90, 158, 0.18);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 14px 34px rgba(31, 90, 158, 0.22);
}
.assist-dock__button--chat img {
  width: 2.15rem;
  height: 2.15rem;
  object-fit: contain;
}
.assist-dock__button--chat::after {
  content: "";
  position: absolute;
  inset: -5px;
  z-index: -1;
  border-radius: inherit;
  border: 1px solid rgba(31, 90, 158, 0.35);
  animation: assist-pulse 2.6s ease-out infinite;
}
.assist-whatsapp {
  position: fixed;
  left: max(1.25rem, env(safe-area-inset-left));
  bottom: max(1.25rem, env(safe-area-inset-bottom));
  z-index: 45;
  display: grid;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: #187d43;
  color: #fff;
  box-shadow: 0 14px 34px rgba(8, 13, 20, 0.22);
  transition: transform 0.25s var(--ease), box-shadow 0.25s ease;
}
.assist-whatsapp:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(8, 13, 20, 0.3); }
.assist-whatsapp:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.assist-whatsapp svg { width: 1.55rem; height: 1.55rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.assist-whatsapp svg path:first-child { fill: currentColor; stroke: none; }
.assist-whatsapp svg path:last-child { stroke: #187d43; fill: #fff; }

.assist-chat {
  width: min(23rem, calc(100vw - 2rem));
  max-height: min(36rem, calc(100svh - 7rem));
  overflow: hidden;
  border: 1px solid rgba(23, 69, 124, 0.16);
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 26px 70px rgba(8, 13, 20, 0.28);
  color: var(--ink);
  transform-origin: right bottom;
  animation: assist-chat-in 0.38s var(--ease) both;
}

.assist-chat[hidden] { display: none; }
.assist-chat__head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem;
  background: var(--accent-deep);
  color: #fff;
}
.assist-chat__mark {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: #fff;
  -webkit-mask: url("/assets/img/favicon-mark.png") center / 78% no-repeat;
  mask: url("/assets/img/favicon-mark.png") center / 78% no-repeat;
}
.assist-chat__head strong,
.assist-chat__head small { display: block; }
.assist-chat__head strong { font-size: 0.95rem; }
.assist-chat__head small { margin-top: 0.18rem; color: rgba(255, 255, 255, 0.7); font-size: 0.7rem; font-weight: 500; }
.assist-chat__head button {
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  background: transparent;
  color: #fff;
  cursor: pointer;
}
.assist-chat__head svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.assist-chat__body { max-height: 25rem; overflow-y: auto; padding: 1rem; background: #f5f7fa; }
.assist-message {
  max-width: 92%;
  padding: 0.85rem 1rem;
  border-radius: 0.95rem 0.95rem 0.95rem 0.3rem;
  background: #fff;
  box-shadow: 0 7px 20px rgba(15, 23, 42, 0.07);
  color: #344150;
  font-size: 0.9rem;
  line-height: 1.55;
}
.assist-message--answer { margin-top: 0.8rem; background: #e9f0fa; }
.assist-message a { display: inline-block; margin-top: 0.7rem; color: var(--accent-deep); font-weight: 800; text-decoration: none; }
.assist-options { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-top: 0.85rem; }
.assist-options button {
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(23, 69, 124, 0.25);
  border-radius: 999px;
  background: #fff;
  color: var(--accent-deep);
  font: 700 0.75rem/1.1 var(--sans);
  cursor: pointer;
}
.assist-options button:hover,
.assist-options button.is-active { border-color: var(--accent); background: var(--accent); color: #fff; }
.assist-chat__foot { display: flex; justify-content: center; gap: 0.45rem; padding: 0.8rem; border-top: 1px solid var(--line); font-size: 0.75rem; }
.assist-chat__foot a { color: var(--accent-deep); font-weight: 700; text-decoration: none; }

.lead-sheet {
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  margin: 0;
  padding: 1rem 0.75rem;
  overflow: visible;
  border: 0;
  background: transparent;
  color: var(--ink);
}
.lead-sheet::backdrop { background: transparent; }
.lead-sheet[open] {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  background: rgba(8, 13, 20, 0.54);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
.lead-web {
  position: absolute;
  top: 0;
  left: 50%;
  width: min(11rem, 56vw);
  height: 15rem;
  opacity: 0;
  visibility: hidden;
  z-index: 3;
  transform: translateX(-50%);
  pointer-events: none;
}
.lead-web__thread {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1.5px;
  height: calc(100% - 8.4rem);
  background: linear-gradient(rgba(231, 241, 251, 0), #e7f1fb 30%);
  transform: translateX(-50%);
  transform-origin: top center;
}
.lead-web svg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8.8rem;
  overflow: visible;
  transform-origin: 50% 47.5%;
  filter: drop-shadow(0 0 6px rgba(159, 192, 230, 0.55));
}
.lead-web__spokes path,
.lead-web__rings path { stroke-dasharray: 1; stroke-dashoffset: 0; }
.lead-web__spider { transform-box: fill-box; transform-origin: 50% 0; }

.lead-sheet.is-arriving { animation: sheet-dim 0.5s ease-out both; }
.lead-sheet.is-arriving .lead-web {
  animation:
    web-descend 0.8s cubic-bezier(0.3, 1.35, 0.5, 1) both,
    web-life 1.3s step-end both;
}
.lead-sheet.is-arriving .lead-web__thread { animation: thread-retract 0.32s cubic-bezier(0.6, 0, 0.8, 0.4) 0.86s both; }
.lead-sheet.is-arriving .lead-web svg { animation: web-burst 0.46s cubic-bezier(0.25, 0.6, 0.35, 1) 0.84s both; }
.lead-sheet.is-arriving .lead-web__spokes path { animation: web-draw 0.38s ease-out calc(0.18s + var(--d, 0s)) both; }
.lead-sheet.is-arriving .lead-web__rings path { animation: web-draw 0.42s ease-out calc(0.4s + var(--d, 0s)) both; }
.lead-sheet.is-arriving .lead-web__spider { animation: spider-sway 0.9s ease-in-out 0.25s both; }
.lead-web__spokes path:nth-child(2n) { --d: 0.04s; }
.lead-web__spokes path:nth-child(3n) { --d: 0.08s; }
.lead-web__rings path:nth-child(2) { --d: 0.07s; }
.lead-web__rings path:nth-child(3) { --d: 0.14s; }
.lead-web__rings path:nth-child(4) { --d: 0.21s; }

.lead-sheet__sheet {
  position: relative;
  width: min(40rem, calc(100vw - 1.5rem));
  max-height: calc(100svh - 2rem);
  overflow: auto;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 28px 70px rgba(8, 13, 20, 0.32);
}
.lead-sheet.is-arriving .lead-sheet__sheet {
  animation:
    form-open 0.72s cubic-bezier(0.45, 0.05, 0.2, 1) 0.86s both,
    form-glow 1.2s ease-out 1.55s both;
}
.lead-sheet.is-arriving .lead-sheet__close,
.lead-sheet.is-arriving .lead-sheet__intro,
.lead-sheet.is-arriving .quick-lead > :not(.assist-hp) {
  animation: content-rise 0.45s cubic-bezier(0.2, 0.8, 0.25, 1) calc(1.2s + var(--s, 0) * 0.045s) both;
}
.lead-sheet.is-arriving .lead-sheet__close { --s: 6; }
.quick-lead > :nth-child(4) { --s: 1; }
.quick-lead > :nth-child(5) { --s: 2; }
.quick-lead > :nth-child(6) { --s: 2; }
.quick-lead > :nth-child(7) { --s: 3; }
.quick-lead > :nth-child(8) { --s: 3; }
.quick-lead > :nth-child(9) { --s: 4; }
.quick-lead > :nth-child(10) { --s: 4; }
.quick-lead > :nth-child(n + 11) { --s: 5; }

.lead-sheet.is-leaving { animation: sheet-dim 0.32s ease-in reverse both; }
.lead-sheet.is-leaving .lead-sheet__sheet { animation: form-leave 0.3s cubic-bezier(0.5, 0, 0.75, 0.2) both; }
.lead-sheet__intro {
  padding: 1.05rem 1.15rem 0.15rem;
}
.lead-sheet__intro h2 {
  font-family: var(--display);
  font-size: clamp(1.7rem, 1.3rem + 1vw, 2.15rem);
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: -0.03em;
}
.lead-sheet__intro h2 em { color: var(--accent-deep); font-weight: 600; }
.lead-sheet__intro p { max-width: 36rem; margin-top: 0.45rem; color: var(--muted); font-size: 0.82rem; line-height: 1.45; }
.lead-sheet__close {
  position: absolute;
  top: 0.7rem;
  right: 0.7rem;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 2.15rem;
  height: 2.15rem;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
}
.lead-sheet__close svg { width: 0.9rem; height: 0.9rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.quick-lead { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.35rem 0.75rem; padding: 0.85rem 1.15rem 1rem; }
.quick-lead__field { display: grid; align-content: start; gap: 0.2rem; }
.quick-lead__field--full { grid-column: 1 / -1; }
.quick-lead__field label { color: #344150; font-size: 0.68rem; font-weight: 800; }
.quick-lead__field abbr { text-decoration: none; }
.quick-lead__field input,
.quick-lead__field select,
.quick-lead__field textarea {
  width: 100%;
  padding: 0 0.75rem;
  border: 1px solid var(--line);
  border-radius: 0.45rem;
  background: #fff;
  color: var(--ink);
  font: 500 0.86rem/1.3 var(--sans);
}
.quick-lead__field input,
.quick-lead__field select { height: 2.45rem; }
.quick-lead__field textarea { min-height: 3.4rem; padding-block: 0.45rem; resize: vertical; }
.quick-lead__field select { appearance: auto; }
.quick-lead__field input:focus,
.quick-lead__field select:focus,
.quick-lead__field textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(31, 90, 158, 0.13); }
.quick-lead__field [aria-invalid="true"] { border-color: #b42318; }
.quick-lead__field small { min-height: 0.85rem; color: #b42318; font-size: 0.64rem; }
.quick-lead__phone { display: grid; grid-template-columns: auto 1fr; align-items: center; height: 2.45rem; overflow: hidden; border: 1px solid var(--line); border-radius: 0.45rem; }
.quick-lead__phone:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(31, 90, 158, 0.13); }
.quick-lead__phone:has([aria-invalid="true"]) { border-color: #b42318; }
.quick-lead__phone span { display: grid; height: 100%; place-items: center; padding: 0 0.65rem; border-right: 1px solid var(--line); background: #f5f7fa; font-size: 0.78rem; font-weight: 800; }
.quick-lead__phone input { height: 100%; border: 0; border-radius: 0; box-shadow: none; }
.quick-lead__phone input:focus { box-shadow: none; }
.quick-lead__actions { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; }
.quick-lead__actions p { color: #b42318; font-size: 0.72rem; font-weight: 700; }
.quick-lead__submit,
.lead-sheet__success button {
  min-height: 2.55rem;
  padding: 0.65rem 1rem;
  border: 0;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font: 800 0.78rem/1 var(--sans);
  cursor: pointer;
}
.quick-lead__submit { position: relative; overflow: hidden; }
.quick-lead__submit::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 40%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0));
  transform: translateX(-120%) skewX(-20deg);
  pointer-events: none;
}
.lead-sheet.is-arriving .quick-lead__submit::after { animation: submit-shine 0.9s ease-in-out 1.9s both; }
.quick-lead__submit:disabled { opacity: 0.6; cursor: wait; }
.quick-lead__privacy { grid-column: 1 / -1; color: #6b7785; font-size: 0.64rem; line-height: 1.4; }
.assist-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.lead-sheet__success { padding: 2.2rem 1.25rem 2rem; text-align: center; }
.lead-sheet__success > span { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; margin: 0 auto 0.8rem; border-radius: 50%; background: #e8f5ec; color: #187d43; font-size: 1.2rem; font-weight: 900; }
.lead-sheet__success h2 { font-size: 1.7rem; }
.lead-sheet__success p { max-width: 28rem; margin: 0.6rem auto 1.1rem; color: var(--muted); line-height: 1.5; }

@keyframes assist-chat-in {
  from { opacity: 0; transform: translateY(12px) scale(0.96); }
}
@keyframes assist-pulse {
  70% { opacity: 0; transform: scale(1.12); }
}
@keyframes sheet-dim {
  from { background-color: rgba(8, 13, 20, 0); -webkit-backdrop-filter: blur(0); backdrop-filter: blur(0); }
  to { background-color: rgba(8, 13, 20, 0.54); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
}
@keyframes web-life {
  0% { opacity: 1; visibility: visible; }
  100% { opacity: 0; visibility: hidden; }
}
@keyframes web-descend {
  from { transform: translateX(-50%) translateY(-105%); }
  to { transform: translateX(-50%) translateY(0); }
}
@keyframes web-draw {
  from { stroke-dashoffset: 1; }
  to { stroke-dashoffset: 0; }
}
@keyframes spider-sway {
  0%, 100% { transform: rotate(0); }
  30% { transform: rotate(9deg); }
  65% { transform: rotate(-6deg); }
}
@keyframes thread-retract {
  to { opacity: 0; transform: translateX(-50%) scaleY(0); }
}
@keyframes web-burst {
  0% { opacity: 1; transform: none; }
  45% { opacity: 0.9; }
  100% { opacity: 0; transform: scale(3.2) rotate(24deg); }
}
@keyframes form-open {
  0% { opacity: 0; transform: translateY(var(--from-y, -30vh)) scale(0.16); border-radius: 50%; }
  30% { opacity: 1; }
  72% { transform: translateY(0) scale(1.012); border-radius: 1rem; }
  100% { opacity: 1; transform: none; border-radius: 1rem; }
}
@keyframes form-glow {
  0% { box-shadow: 0 0 0 0 rgba(159, 192, 230, 0.8), 0 28px 70px rgba(8, 13, 20, 0.32); }
  100% { box-shadow: 0 0 0 22px rgba(159, 192, 230, 0), 0 28px 70px rgba(8, 13, 20, 0.32); }
}
@keyframes form-leave {
  to { opacity: 0; transform: translateY(1.25rem) scale(0.96); }
}
@keyframes content-rise {
  from { opacity: 0; transform: translateY(0.65rem); }
  to { opacity: 1; transform: none; }
}
@keyframes submit-shine {
  from { transform: translateX(-120%) skewX(-20deg); }
  to { transform: translateX(320%) skewX(-20deg); }
}

@media (max-width: 680px) {
  .site-assist { right: max(0.75rem, env(safe-area-inset-right)); bottom: max(0.75rem, env(safe-area-inset-bottom)); }
  .assist-whatsapp { width: 3.25rem; height: 3.25rem; }
  .assist-dock__button--chat { width: 3.15rem; height: 3.15rem; }
  .assist-whatsapp { left: max(0.75rem, env(safe-area-inset-left)); bottom: max(0.75rem, env(safe-area-inset-bottom)); }
  .assist-chat { width: calc(100vw - 1.5rem); max-height: calc(100svh - 6rem); }
  .lead-sheet { padding: 0.6rem 0.4rem; }
  .lead-sheet__sheet { width: calc(100vw - 0.75rem); max-height: calc(100svh - 1.2rem); }
  .quick-lead { grid-template-columns: minmax(0, 1fr); padding: 0.75rem 0.9rem 0.9rem; }
  .quick-lead__field--full { grid-column: auto; }
  .quick-lead__actions { align-items: stretch; flex-direction: column; }
  .quick-lead__submit { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .assist-chat,
  .lead-sheet.is-arriving,
  .lead-sheet.is-arriving *,
  .lead-sheet.is-arriving .quick-lead__submit::after,
  .lead-sheet.is-leaving,
  .lead-sheet.is-leaving .lead-sheet__sheet,
  .assist-dock__button--chat::after { animation: none; }
  .assist-dock__button,
  .assist-whatsapp { transition: none; }
}

/* Chat button: speech bubble on brand blue with an online dot */
.assist-dock__button--chat {
  border: 0;
  background: linear-gradient(145deg, #2f6db5, #1f5a9e 60%, #17457c);
  box-shadow: 0 14px 34px rgba(31, 90, 158, 0.38);
}
.assist-dock__button--chat .assist-dock__icon { width: 1.9rem; height: 1.9rem; fill: initial; stroke: none; }
.assist-dock__online {
  position: absolute;
  top: 0.2rem;
  right: 0.2rem;
  width: 0.8rem;
  height: 0.8rem;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #22c55e;
}

/* WhatsApp: the official mark in WhatsApp green */
.assist-whatsapp { background: #25d366; box-shadow: 0 14px 34px rgba(37, 211, 102, 0.35); }
.assist-whatsapp svg.assist-whatsapp__logo { width: 1.9rem; height: 1.9rem; fill: #fff; stroke: none; }
.assist-whatsapp svg.assist-whatsapp__logo path { fill: #fff; stroke: none; }

/* Homepage consultation sheet: a photo panel beside the form, with a calm fade-and-rise entrance */
.lead-sheet__sheet {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  width: min(56rem, calc(100vw - 1.5rem));
  overflow: hidden;
  border-radius: 1.1rem;
}
.lead-sheet__aside {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100%;
  overflow: hidden;
  color: #fff;
  isolation: isolate;
}
.lead-sheet__aside > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.lead-sheet__aside::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(11, 18, 25, 0.6) 0%, rgba(11, 18, 25, 0.22) 22%, rgba(11, 18, 25, 0.78) 50%, rgba(11, 18, 25, 0.95) 100%);
}
.lead-sheet__top { padding: 1.35rem 1.5rem 0; }
.lead-sheet__brand {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
.lead-sheet__brand img { width: 2.2rem; height: 2.2rem; filter: brightness(0) invert(1); }
.lead-sheet__aside-body { padding: 1.6rem 1.5rem 1.5rem; }
.lead-sheet__aside h2 { margin-top: 1.5rem; font-family: var(--display); font-size: clamp(1.65rem, 1.25rem + 1vw, 2rem); font-weight: 800; line-height: 1.05; letter-spacing: -0.02em; }
.lead-sheet__aside h2 em { color: #a9c8ec; font-weight: 800; }
.lead-sheet__aside-body > p { max-width: 19rem; margin-top: 0; color: rgba(255, 255, 255, 0.8); font-size: 0.82rem; line-height: 1.5; }
.lead-sheet__points {
  display: grid;
  margin: 1.25rem 0 0;
  padding: 0.2rem 0.95rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 0.8rem;
  background: rgba(255, 255, 255, 0.06);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  list-style: none;
}
.lead-sheet__points li { position: relative; padding: 0.6rem 0 0.6rem 1.6rem; color: rgba(255, 255, 255, 0.92); font-size: 0.78rem; font-weight: 600; }
.lead-sheet__points li + li { border-top: 1px solid rgba(255, 255, 255, 0.1); }
.lead-sheet__points li::before {
  content: "";
  position: absolute;
  top: calc(50% - 0.475rem);
  left: 0;
  width: 0.95rem;
  height: 0.95rem;
  border-radius: 50%;
  background: #2f6db5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.3l2.2 2.2 4.8-5' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 0.7rem no-repeat;
}
.lead-sheet__call {
  display: inline-flex;
  margin-top: 1.2rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  color: #fff;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
}
.lead-sheet__call::before { content: "Call us"; margin-right: 0.6rem; color: rgba(255, 255, 255, 0.6); font-weight: 600; }
.lead-sheet__main { position: relative; min-width: 0; max-height: calc(100svh - 2rem); overflow: auto; }
.lead-sheet__main .quick-lead { padding-top: 3rem; }
.quick-lead__verify { min-height: 4.2rem; }

.lead-sheet.is-arriving { animation: lead-dim-in 0.35s ease-out both; }
.lead-sheet.is-arriving .lead-sheet__sheet { animation: lead-rise 0.55s cubic-bezier(0.2, 0.8, 0.2, 1) 0.05s both; }
.lead-sheet.is-arriving .lead-sheet__aside > img { animation: lead-photo 1.4s cubic-bezier(0.2, 0.8, 0.2, 1) both; }
.lead-sheet.is-arriving .lead-sheet__top > * { animation: lead-fade-up 0.5s cubic-bezier(0.2, 0.8, 0.2, 1) 0.18s both; }
.lead-sheet.is-arriving .lead-sheet__top > h2 { animation-delay: 0.26s; }
.lead-sheet.is-arriving .lead-sheet__aside-body > * { animation: lead-fade-up 0.5s cubic-bezier(0.2, 0.8, 0.2, 1) both; }
.lead-sheet.is-arriving .lead-sheet__aside-body > :nth-child(1) { animation-delay: 0.25s; }
.lead-sheet.is-arriving .lead-sheet__aside-body > :nth-child(2) { animation-delay: 0.32s; }
.lead-sheet.is-arriving .lead-sheet__aside-body > :nth-child(3) { animation-delay: 0.39s; }
.lead-sheet.is-arriving .lead-sheet__aside-body > :nth-child(4) { animation-delay: 0.46s; }
.lead-sheet.is-arriving .lead-sheet__aside-body > :nth-child(5) { animation-delay: 0.53s; }
.lead-sheet.is-arriving .lead-sheet__close,
.lead-sheet.is-arriving .quick-lead > :not(.assist-hp) { animation: lead-fade-up 0.45s cubic-bezier(0.2, 0.8, 0.2, 1) calc(0.3s + var(--s, 0) * 0.04s) both; }
.lead-sheet.is-arriving .quick-lead__submit::after { animation: none; }
.lead-sheet.is-leaving { animation: lead-dim-in 0.3s ease-in reverse both; }
.lead-sheet.is-leaving .lead-sheet__sheet { animation: lead-rise 0.3s ease-in reverse both; }
@keyframes lead-dim-in { from { background-color: rgba(8, 13, 20, 0); -webkit-backdrop-filter: blur(0); backdrop-filter: blur(0); } }
@keyframes lead-rise { from { opacity: 0; transform: translateY(18px) scale(0.985); } }
@keyframes lead-photo { from { transform: scale(1.08); } }
@keyframes lead-fade-up { from { opacity: 0; transform: translateY(8px); } }

@media (max-width: 760px) {
  .lead-sheet__sheet { grid-template-columns: minmax(0, 1fr); overflow: auto; }
  .lead-sheet__aside { min-height: 0; }
  .lead-sheet__top { padding: 0.9rem 3.4rem 0 1rem; }
  .lead-sheet__brand img { width: 1.9rem; height: 1.9rem; }
  .lead-sheet__aside h2 { margin-top: 1rem; font-size: clamp(1.5rem, 6.5vw, 1.85rem); }
  .lead-sheet__aside-body { padding: 0.6rem 3.4rem 1.1rem 1rem; }
  .lead-sheet__points, .lead-sheet__call { display: none; }
  .lead-sheet__main { max-height: none; overflow: visible; }
  .lead-sheet__main .quick-lead { padding-top: 0.9rem; }
  .lead-sheet__close { position: absolute; top: 0.7rem; right: 0.7rem; }
  .lead-sheet__sheet > .lead-sheet__main > .lead-sheet__close { top: -3.3rem; }
}
@media (prefers-reduced-motion: reduce) {
  .lead-sheet.is-arriving .lead-sheet__aside > img,
  .lead-sheet.is-arriving .lead-sheet__top > *,
  .lead-sheet.is-arriving .lead-sheet__aside-body > * { animation: none; }
}

/* Keystone: six topics, a search box and related suggestions */
.assist-chat:not([hidden]) { display: flex; flex-direction: column; }
.assist-chat__body { flex: 1 1 auto; min-height: 0; }
.assist-options button { flex: 1 1 calc(50% - 0.45rem); text-align: center; }
.assist-message--user {
  max-width: 85%;
  margin: 0.9rem 0 0 auto;
  border-radius: 0.95rem 0.95rem 0.3rem 0.95rem;
  background: var(--accent-deep);
  box-shadow: none;
  color: #fff;
  overflow-wrap: anywhere;
}
.assist-message--answer a + a { margin-left: 0.9rem; }
.assist-related {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.75rem;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(23, 69, 124, 0.12);
}
.assist-related span { color: #5b6878; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.assist-related button {
  padding: 0.4rem 0.65rem;
  border: 1px solid rgba(23, 69, 124, 0.25);
  border-radius: 999px;
  background: #fff;
  color: var(--accent-deep);
  font: 700 0.7rem/1.1 var(--sans);
  cursor: pointer;
}
.assist-related button:hover { border-color: var(--accent); background: var(--accent); color: #fff; }
.assist-search {
  display: flex;
  gap: 0.45rem;
  padding: 0.7rem 0.8rem;
  border-top: 1px solid var(--line);
  background: #fff;
}
.assist-search input {
  flex: 1;
  min-width: 0;
  height: 2.5rem;
  padding: 0 0.9rem;
  border: 1px solid rgba(23, 69, 124, 0.2);
  border-radius: 999px;
  background: #f5f7fa;
  color: var(--ink);
  font: 500 0.82rem/1 var(--sans);
}
.assist-search input::placeholder { color: #7a8594; }
.assist-search input:focus { border-color: var(--accent); outline: none; background: #fff; box-shadow: 0 0 0 3px rgba(31, 90, 158, 0.15); }
.assist-search button {
  display: grid;
  flex: none;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--accent-deep);
  color: #fff;
  cursor: pointer;
  transition: background 0.2s ease;
}
.assist-search button:hover { background: var(--accent); }
.assist-search button:focus-visible { outline: 3px solid rgba(31, 90, 158, 0.35); outline-offset: 2px; }
.assist-search svg { width: 1.05rem; height: 1.05rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }

/* Keystone guided opening */
.assist-plan,.assist-message[data-plan-flow]:not(.assist-message--user):not(.assist-message--answer){margin-top:.8rem}
.assist-options--plan{margin-top:.7rem}
.assist-options--plan button{flex:1 1 calc(50% - .45rem);text-align:center}
.assist-message--user[data-plan-flow]{margin-top:.8rem}
.assist-typing{display:inline-flex;gap:.3rem;margin-top:.8rem;padding:.75rem .9rem;border-radius:.95rem .95rem .95rem .3rem;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.07)}
.assist-typing i{width:.42rem;height:.42rem;border-radius:50%;background:var(--accent);opacity:.35;animation:assist-dot 1s infinite ease-in-out}
.assist-typing i:nth-child(2){animation-delay:.15s}
.assist-typing i:nth-child(3){animation-delay:.3s}
@keyframes assist-dot{0%,80%,100%{opacity:.35;transform:none}40%{opacity:1;transform:translateY(-3px)}}
.assist-message,.assist-typing{animation:assist-in .35s ease both}
@keyframes assist-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.assist-typing i,.assist-message{animation:none}}
.assist-options[hidden],.assist-plan[hidden]{display:none!important}

/* Phone + WhatsApp numbers with brand icons (footer, contact card) */
.ph-link{display:inline-flex!important;align-items:center;gap:.55rem;white-space:nowrap}
.ph-ico{flex:none;display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;transition:transform .25s ease}
.ph-ico svg{width:.85rem;height:.85rem}
.ph-ico--call{background:#1f5a9e}
.ph-ico--wa{background:#25d366}
.ph-ico--wa svg{width:.9rem;height:.9rem}
.ph-link:hover .ph-ico,.ph-link:focus-visible .ph-ico{transform:scale(1.08)}
.foot-phones--icons{display:grid!important;gap:.55rem;justify-items:start}
.card__action.ph-link{margin-top:.15rem}
.card__body .ph-link + .ph-link{margin-top:.5rem}
