/* Thank-you card that replaces the contact form after a website inquiry
   (assets/js/contact-thanks.js). Sits in the form's place, so it reuses the
   form card's surface: white, large radius, navy-tinted layered shadow. */
.ty-thanks{
  position:relative; display:flex; flex-direction:column; align-items:flex-start;
  background:#fff; border-radius:var(--r-lg, 22px);
  padding:clamp(1.25rem, 2.6vw, 2rem);
  border:1px solid rgba(8,60,113,.08);
  box-shadow:0 24px 48px -24px rgba(8,60,113,.22), 0 4px 12px -4px rgba(8,60,113,.08);
  animation:ty-thanks-in .6s cubic-bezier(.16,1,.3,1) both;
}
/* Focused by script only so screen readers announce it; it isn't a control. */
.ty-thanks:focus, .ty-thanks:focus-visible{ outline:none; }
@keyframes ty-thanks-in{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }

.ty-thanks-check{
  display:grid; place-items:center; width:46px; height:46px; border-radius:50%;
  background:#E8F6EF; color:#12875a; margin-bottom:.9rem;
  animation:ty-thanks-pop .55s cubic-bezier(.34,1.56,.64,1) .1s both;
}
.ty-thanks-check svg{ width:24px; height:24px; }
@keyframes ty-thanks-pop{ from{ opacity:0; transform:scale(.4); } to{ opacity:1; transform:none; } }

.ty-thanks-title{
  font-family:'Catamaran', sans-serif; font-weight:800; color:var(--heading, #1D1729);
  font-size:clamp(1.35rem, 2.4vw, 1.75rem); line-height:1.15; letter-spacing:-.025em; margin:0;
  text-wrap:balance;
}
.ty-thanks-text{ margin:.45rem 0 0; color:var(--text, #5c5c5d); font-size:.95rem; line-height:1.6; overflow-wrap:anywhere; }
.ty-thanks-text strong{ color:var(--heading, #1D1729); font-weight:700; }

.ty-thanks-next{
  width:100%; margin-top:1.25rem; padding:1.15rem 1.15rem 1rem;
  border-radius:var(--r-md, 18px);
  background:
    radial-gradient(120% 90% at 100% 0%, rgba(28,132,245,.16), transparent 60%),
    var(--bg-alt, #EAF4FE);
  border:1px solid rgba(28,132,245,.22);
}
.ty-thanks-next h4{
  font-family:'Catamaran', sans-serif; font-weight:800; color:var(--primary, #083c71);
  font-size:1.15rem; line-height:1.2; letter-spacing:-.015em; margin:0;
}
.ty-thanks-next p{ margin:.4rem 0 0; color:var(--text, #5c5c5d); font-size:.9rem; line-height:1.6; max-width:60ch; }

.ty-thanks-cta{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  margin-top:1rem; padding:.85rem 1.5rem; border-radius:var(--r-pill, 9999px);
  background:var(--primary, #083c71); color:#fff; text-decoration:none;
  font-family:'Catamaran', sans-serif; font-weight:800; font-size:1rem; line-height:1;
  box-shadow:0 1px 2px rgba(8,60,113,.2), 0 10px 22px -10px rgba(8,60,113,.65);
  transition:transform .35s cubic-bezier(.34,1.56,.64,1);
}
.ty-thanks-cta svg{ transition:transform .35s cubic-bezier(.34,1.56,.64,1); }
.ty-thanks-cta:hover{ transform:translateY(-2px); background:#0a4a8a; }
.ty-thanks-cta:hover svg{ transform:translateX(3px); }
.ty-thanks-cta:active{ transform:translateY(0) scale(.98); }
.ty-thanks-cta:focus-visible{ outline:3px solid var(--secondary, #1c84f5); outline-offset:3px; }
.ty-thanks-next .ty-thanks-skip{ font-size:.82rem; margin-top:.7rem; }

.ty-thanks-again{
  margin-top:1rem; padding:.35rem .1rem; background:none; border:0; cursor:pointer;
  font:inherit; font-size:.88rem; font-weight:600; color:var(--secondary, #1c84f5);
  text-decoration:underline; text-underline-offset:3px;
  transition:opacity .2s linear;
}
.ty-thanks-again:hover{ opacity:.75; }
.ty-thanks-again:active{ opacity:.55; }
.ty-thanks-again:focus-visible{ outline:2px solid var(--secondary, #1c84f5); outline-offset:2px; border-radius:4px; }

@media (max-width:480px){ .ty-thanks-cta{ width:100%; } }
@media (prefers-reduced-motion:reduce){
  .ty-thanks, .ty-thanks-check{ animation:none; }
  .ty-thanks-cta, .ty-thanks-cta svg{ transition:none; }
}
