/* WILLCARE / compact CONTACT A / 2026-10-08
   Scoped to the seven three-button CONTACT sections. */
.contact-a {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#0c3f61;
  padding:76px 0 82px;
}
.contact-a>.container { position:relative;z-index:1; }
.contact-a .eyebrow { font-size:15px;letter-spacing:.22em; }
.contact-a h2 { font-size:30px;line-height:1.65; }
.contact-a .contact-phrase { display:inline-block; }
.contact-a p { font-size:15px;line-height:1.8; }
.contact-a .contact-scenery {
  position:absolute;
  inset:12px 0 auto;
  width:100%;height:240px;
  color:#65b5e3;
  opacity:.3;
  pointer-events:none;
}
.contact-a .contact-signature {
  position:absolute;top:30px;right:5%;
  color:#8dcaf3;opacity:.2;
  font:italic 64px/1.2 Georgia,'Times New Roman',serif;
  letter-spacing:-3px;transform:rotate(-12deg);
  pointer-events:none;
}
.contact-grid-a { gap:22px;margin-top:36px; }
.contact-grid-a .contact-button {
  --channel:#2496df;
  --channel-soft:#dff1fd;
  --wave-back:#eef8fe;
  --wave-front:#dff1fc;
  display:flex;align-items:center;
  height:118px;min-height:118px;
  gap:12px;padding:16px 18px 20px;
  background:#fff;color:#103f60;
  border:1px solid #ffffffb3;border-radius:13px;
  box-shadow:0 7px 24px #032f491c;
}
.contact-grid-a .contact-button.line {
  --channel:#2aad62;
  --channel-soft:#ddf5e7;
  --wave-back:#f0faf4;
  --wave-front:#e0f5e9;
  background:#fff;color:#103f60;
}
.contact-grid-a .contact-button.email {
  --channel:#ff8319;
  --channel-soft:#fff0e1;
  --wave-back:#fff8f2;
  --wave-front:#ffeddd;
  background:#fff;color:#103f60;
}
.contact-grid-a .contact-button:after { content:none; }
.contact-grid-a .contact-symbol {
  position:relative;z-index:1;
  width:58px;height:58px;
  color:#103f60;background:var(--channel-soft);
  border:0;box-shadow:none;
}
.contact-grid-a .contact-button .contact-symbol {
  color:#103f60;background:var(--channel-soft);
}
.contact-grid-a .contact-symbol:after { content:none; }
.contact-grid-a .contact-symbol svg {
  display:block;width:62px;height:62px;
  overflow:visible;
}
.contact-grid-a .contact-symbol .contact-spark { color:var(--channel); }
.contact-grid-a .contact-copy {
  position:relative;z-index:1;
  font-size:19px;font-weight:700;
  line-height:1.5;white-space:nowrap;
  letter-spacing:0;
}
.contact-grid-a .contact-copy small {
  font:700 14px/1.5 WC,sans-serif;
  color:#103f60;margin:0 0 5px;
}
.contact-grid-a .contact-label { display:block;font-size:inherit;line-height:inherit; }
.contact-grid-a .contact-copy:not(.contact-phone):after {
  content:'';display:block;
  width:64px;height:4px;
  border-radius:999px;
  margin-top:8px;background:var(--channel-soft);
}
.contact-grid-a .contact-phone {
  font-family:Arial,WC,sans-serif;
  font-size:24px;letter-spacing:.015em;
}
.contact-grid-a .contact-phone small:after {
  content:'';display:block;
  width:64px;height:4px;
  border-radius:999px;
  margin-top:5px;background:#c5e7fc;
}
.contact-grid-a .contact-arrow {
  position:relative;z-index:1;
  width:36px;height:36px;
  border:0;background:var(--channel);
  color:#fff;opacity:1;
}
.contact-grid-a .contact-arrow svg { display:block;width:21px;height:21px; }
.contact-grid-a .contact-button>.contact-wave {
  position:absolute;z-index:0;
  bottom:0;left:0;right:0;
  width:100%;height:29px;
  pointer-events:none;
}
.contact-grid-a .contact-wave-back { fill:var(--wave-back); }
.contact-grid-a .contact-wave-front { fill:var(--wave-front); }
.contact-grid-a .contact-button:focus-visible {
  outline:3px solid #9cddff;outline-offset:5px;
}
@media(hover:hover) {
  .contact-grid-a .contact-button[href]:hover {
    transform:translateY(-3px);
    box-shadow:0 12px 26px #032c4a40;
  }
}
@media(max-width:1180px) {
  .contact-grid-a {
    grid-template-columns:1fr;
    max-width:510px;
    margin-left:auto;margin-right:auto;
    gap:14px;
  }
  .contact-a .contact-signature { right:5%;font-size:52px; }
}
@media(max-width:760px) {
  .contact-a { padding:58px 0 62px; }
  .contact-a .eyebrow { font-size:13px;margin-bottom:15px; }
  .contact-a h2 { font-size:24px;line-height:1.75; }
  .contact-a p { font-size:14px;margin-top:14px; }
  .contact-a .contact-signature { display:none; }
  .contact-a .contact-scenery { height:220px;opacity:.22; }
  .contact-grid-a { margin-top:30px;max-width:460px;gap:14px; }
  .contact-grid-a .contact-button {
    height:106px;min-height:106px;
    padding:14px 16px 18px;gap:12px;
  }
  .contact-grid-a .contact-symbol { width:52px;height:52px; }
  .contact-grid-a .contact-symbol svg { width:56px;height:56px; }
  .contact-grid-a .contact-copy { font-size:19px; }
  .contact-grid-a .contact-phone { font-size:24px;letter-spacing:0; }
  .contact-grid-a .contact-copy small { font-size:13px; }
  .contact-grid-a .contact-arrow { width:32px;height:32px; }
  .contact-grid-a .contact-arrow svg { width:19px;height:19px; }
  .contact-grid-a .contact-button>.contact-wave { height:24px; }
}
@media(max-width:360px) {
  .contact-a h2 { font-size:22px; }
  .contact-grid-a .contact-button {
    height:100px;min-height:100px;
    padding:13px 14px 17px;gap:10px;
  }
  .contact-grid-a .contact-symbol { width:44px;height:44px; }
  .contact-grid-a .contact-symbol svg { width:48px;height:48px; }
  .contact-grid-a .contact-copy { font-size:16px; }
  .contact-grid-a .contact-phone { font-size:21px; }
  .contact-grid-a .contact-copy small { font-size:12px; }
  .contact-grid-a .contact-arrow { width:28px;height:28px; }
  .contact-grid-a .contact-arrow svg { width:17px;height:17px; }
  .contact-grid-a .contact-copy:not(.contact-phone):after { width:54px;margin-top:7px; }
  .contact-grid-a .contact-phone small:after { width:54px;height:3px; }
}
@media(prefers-reduced-motion:reduce) {
  .contact-grid-a .contact-button[href]:hover { transform:none; }
}
