.craft-contact-page { min-height: 100vh; display: flex; flex-direction: column; }
.craft-contact-page #contact-main { flex: 1; display: grid; background: #edf2f5; }
.craft-contact-page-hero { display: grid; grid-template-columns: minmax(0, .9fr) minmax(360px, .75fr); gap: clamp(2rem, 6vw, 7rem); align-items: center; width: min(100% - 3rem, 1240px); margin: 0 auto; padding: clamp(4rem, 8vw, 8rem) 0; }
.craft-contact-page-intro { max-width: 620px; }
.craft-contact-page-kicker { margin: 0 0 1rem; color: #187746; font-size: .7rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.craft-contact-page h1 { margin: 0 0 1.25rem; color: #111820; font-family: "DM Sans Local", sans-serif; font-size: clamp(2.8rem, 5vw, 5.4rem); font-weight: 650; letter-spacing: -.055em; line-height: .98; }
.craft-contact-page-intro > p:not(.craft-contact-page-kicker) { max-width: 520px; color: #46545f; font-size: clamp(1rem, 1.5vw, 1.18rem); }
.craft-contact-page-phone { margin-top: 2rem; font-size: .92rem !important; }
.craft-contact-page-phone a { color: #174f91; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.craft-contact-page .craft-quote-form { width: 100%; margin: 0; border: 1px solid #b8ccbe; background: #eef5ef; box-shadow: 0 18px 44px rgba(7, 29, 48, .12); }
.craft-contact-page .craft-lead-form h2[data-form-title] { max-width: 100%; margin: 0 0 .8rem; color: #111820; font-family: "DM Sans Local", sans-serif; font-size: clamp(1.55rem, 2.6vw, 2.3rem); font-weight: 650; letter-spacing: -.04em; line-height: 1.12; }
.craft-contact-page .craft-cookie-panel { display: none; }
.craft-contact-page .craft-cookie-manage { display: none !important; }
@media (max-width: 900px) { .craft-contact-page-hero { grid-template-columns: 1fr; gap: 2.5rem; width: min(100% - 2.5rem, 720px); padding: 4.5rem 0; } .craft-contact-page-intro { max-width: 620px; } }
@media (max-width: 700px) { .craft-contact-page-hero { width: calc(100% - 2rem); padding: 3.25rem 0 4rem; } .craft-contact-page h1 { font-size: clamp(2.45rem, 12vw, 3.5rem); } .craft-contact-page .craft-quote-form { padding: 1.35rem; } .craft-contact-page .craft-lead-form h2[data-form-title] { white-space: normal; font-size: 1.65rem; } }

.craft-thanks-main {
  min-height: 62vh;
  padding: clamp(4rem, 9vw, 7rem) 1.25rem;
  background: #eef5ef;
}
.craft-thanks-card {
  width: min(100%, 760px);
  margin: 0 auto;
  padding: clamp(2rem, 6vw, 4rem);
  padding-bottom: 0;
  overflow: hidden;
  border: 1px solid #d8cdbc;
  background: #fff;
  box-shadow: 0 18px 48px rgba(7, 22, 34, .1);
}
.craft-thanks-card h1 {
  margin: 0 auto 1rem;
  color: #102f4d;
  font-size: clamp(2rem, 5vw, 3.6rem);
  line-height: 1.08;
  text-align: center;
  text-wrap: balance;
}
.craft-thanks-card p {
  margin: 0;
  color: #3d4852;
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  text-align: center;
}
.craft-thanks-card img {
  display: block;
  width: min(100%, 360px);
  height: auto;
  margin: 2rem auto 0;
}
.craft-confetti {
  position: fixed;
  z-index: 70;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.craft-confetti span {
  --craft-confetti-x: 50vw;
  --craft-confetti-delay: 0ms;
  --craft-confetti-rotate: 360deg;
  position: absolute;
  top: -1.5rem;
  left: var(--craft-confetti-x);
  width: .65rem;
  height: 1rem;
  border-radius: 2px;
  background: var(--craft-confetti-colour, #174f91);
  animation: craft-confetti-pop 1.65s cubic-bezier(.18,.68,.3,1) var(--craft-confetti-delay) both;
}
@keyframes craft-confetti-pop {
  0% { opacity: 0; transform: translate(-50%, -1rem) rotate(0); }
  12% { opacity: 1; }
  100% { opacity: 0; transform: translate(calc(-50% + var(--craft-confetti-drift, 0rem)), 105vh) rotate(var(--craft-confetti-rotate)); }
}
@media (max-width: 600px) {
  .craft-thanks-main { padding: 3rem 1rem; }
  .craft-thanks-card { padding: 2rem 1.25rem 0; }
  .craft-thanks-card h1,
  .craft-thanks-card p { text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  .craft-confetti { display: none; }
}
