/* The closing panel follows the supplied emerald contact reference. */
#footer.reference-footer {
  color: #fff !important;
  background:
    radial-gradient(ellipse 44% 65% at -3% 67%, rgba(32, 241, 93, .72), transparent 73%),
    radial-gradient(ellipse 42% 47% at 54% 104%, rgba(25, 235, 117, .64), transparent 73%),
    radial-gradient(ellipse 38% 56% at 100% -4%, rgba(38, 245, 105, .65), transparent 74%),
    linear-gradient(135deg, #00150e 2%, #002014 58%, #003721 100%) !important;
  background-size: 100% 100% !important;
  animation: none !important;
}

#footer.reference-footer .rounded-4xl {
  min-height: clamp(470px, 30vw, 555px);
  padding: clamp(36px, 3.8vw, 72px) clamp(36px, 4.2vw, 80px) !important;
  border-radius: clamp(28px, 3vw, 58px) !important;
  background:
    radial-gradient(ellipse 34% 42% at 0% 60%, rgba(45, 238, 98, .34), transparent 78%),
    radial-gradient(ellipse 35% 40% at 49% 106%, rgba(28, 255, 138, .77), transparent 74%),
    radial-gradient(ellipse 33% 46% at 100% 0%, rgba(31, 218, 101, .29), transparent 76%),
    linear-gradient(155deg, #001c13 0%, #002618 54%, #00432a 100%) !important;
  background-size: 100% 100% !important;
  animation: none !important;
  border: 1.5px solid #aaffc1 !important;
  box-shadow: 0 0 18px rgba(97, 255, 139, .9), 0 0 55px rgba(28, 229, 95, .4), inset 0 0 30px rgba(45, 245, 121, .28), 0 22px 60px rgba(0, 12, 7, .48) !important;
  gap: clamp(80px, 7vw, 145px) !important;
}
#footer.reference-footer .rounded-4xl::before { content: none !important; display: none !important; animation: none !important; }
#footer.reference-footer .rounded-4xl > .footer-content { position: relative; z-index: 1; width: 100%; }

#footer.reference-footer .footer-reference-brand {
  position: relative;
  flex: none;
  white-space: nowrap;
  font-size: clamp(33px, 2.8vw, 55px);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: .015em;
}
#footer.reference-footer .footer-reference-brand span:first-child { color: #fff !important; }
#footer.reference-footer .footer-reference-brand span:nth-child(2) { color: #83978f !important; margin-left: .18em; }
#footer.reference-footer .footer-reference-brand::after {
  content: '';
  display: block;
  width: clamp(56px, 4.5vw, 82px);
  height: 4px;
  margin-top: 18px;
  border-radius: 99px;
  background: linear-gradient(90deg, #daffb6, #55ef9a);
  box-shadow: 0 0 11px rgba(99, 255, 147, .65);
}

#footer.reference-footer .footer-content:first-child > div:last-child { align-items: flex-end !important; gap: clamp(24px, 2.5vw, 45px) !important; }
#footer.reference-footer .footer-content:first-child p {
  width: auto !important;
  max-width: 660px;
  font-size: clamp(35px, 3.25vw, 62px) !important;
  font-weight: 400;
  line-height: 1.14 !important;
  text-align: right !important;
  letter-spacing: -.025em;
}
#footer.reference-footer .footer-content:first-child p span { color: #9dffc2 !important; }

#footer.reference-footer a.group {
  min-width: clamp(205px, 15.8vw, 295px);
  height: clamp(57px, 4.2vw, 77px) !important;
  padding: 0 58px 0 30px !important;
  background: linear-gradient(180deg, rgba(36, 213, 103, .72), rgba(1, 91, 53, .94)) !important;
  border: 1.5px solid #aaffc1 !important;
  color: #fff !important;
  box-shadow: 0 0 17px rgba(79, 255, 137, .84), inset 0 1px 16px rgba(146, 255, 178, .3) !important;
  font-size: clamp(16px, 1.25vw, 23px) !important;
}
#footer.reference-footer a.group span { color: #fff !important; }
#footer.reference-footer a.group:hover { background: linear-gradient(180deg, #2de281, #0a945b) !important; color: #fff !important; box-shadow: 0 0 27px rgba(92, 255, 147, .95) !important; }
#footer.reference-footer a.group:hover span { color: #fff !important; }
#footer.reference-footer a.group > span:first-child > span,
#footer.reference-footer a.group:hover > span:first-child > span { background: #aaffcb !important; transform: scale(1) !important; }
#footer.reference-footer a.group::after {
  content: '→';
  position: absolute;
  z-index: 3;
  right: 25px;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
  font-size: 1.55em;
  line-height: 1;
}

#footer.reference-footer h6 {
  margin-bottom: 15px !important;
  color: #fff !important;
  font-size: clamp(14px, .95vw, 18px) !important;
  letter-spacing: .2em;
  font-weight: 500;
}
#footer.reference-footer h6::after {
  content: '';
  display: block;
  width: 52px;
  height: 2px;
  margin-top: 9px;
  background: #75f6aa;
}
#footer.reference-footer .footer-content:last-child li:has(> a[href^="tel:"]),
#footer.reference-footer .footer-content:last-child li:has(> a[href^="mailto:"]) { display: flex; align-items: center; gap: 12px; }
#footer.reference-footer li:has(> a[href^="tel:"])::before,
#footer.reference-footer li:has(> a[href^="mailto:"])::before {
  display: inline-grid;
  place-items: center;
  flex: none;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: linear-gradient(135deg, #7cfcb4, #20c87a);
  color: white;
  font-size: 16px;
  line-height: 1;
}
#footer.reference-footer li:has(> a[href^="tel:"])::before { content: '☎'; }
#footer.reference-footer li:has(> a[href^="mailto:"])::before { content: '✉'; }
#footer.reference-footer .footer-content:last-child li a { font-size: clamp(16px, 1.24vw, 23px) !important; }
#footer.reference-footer .footer-content:last-child ul:has(a[aria-label]) { gap: clamp(14px, 1.7vw, 31px) !important; }
#footer.reference-footer a[aria-label] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(48px, 3.9vw, 72px);
  height: clamp(48px, 3.9vw, 72px);
  padding: 0 !important;
  border: 1.5px solid #72f7a3 !important;
  background: rgba(1, 50, 30, .3) !important;
  box-shadow: inset 0 0 9px rgba(81, 254, 139, .15);
}
#footer.reference-footer a[aria-label]:hover { box-shadow: 0 0 18px rgba(95, 255, 150, .65); }
#footer.reference-footer a[aria-label] img { filter: brightness(0) invert(1) !important; }
#footer.reference-footer a[aria-label] svg { color: #fff !important; stroke: currentColor !important; }
#footer.reference-footer a[aria-label]:is(:hover, :focus-visible) {
  background: #fff !important;
  color: #062b1b !important;
  box-shadow: 0 0 18px rgba(95, 255, 150, .65) !important;
}
#footer.reference-footer a[aria-label]:is(:hover, :focus-visible) img {
  filter: brightness(0) !important;
}
#footer.reference-footer a[aria-label]:is(:hover, :focus-visible) svg {
  color: #062b1b !important;
  stroke: currentColor !important;
}
#footer.reference-footer .flex.justify-between.py-8 { display: none !important; }
#footer.reference-footer .flex.justify-between.py-8 { border: 0 !important; padding-top: clamp(35px, 3vw, 58px) !important; }
#footer.reference-footer .flex.justify-between.py-8 p { color: #fff !important; font-size: clamp(15px, 1.1vw, 21px) !important; font-weight: 400 !important; }

@media (max-width: 1025px) {
  #footer.reference-footer .rounded-4xl { gap: 70px !important; }
  #footer.reference-footer .rounded-4xl > .footer-content:first-child,
  #footer.reference-footer .rounded-4xl > .footer-content:last-child { flex-direction: row !important; align-items: flex-start !important; text-align: left !important; }
  #footer.reference-footer .footer-content:first-child > div:last-child { align-items: flex-end !important; }
  #footer.reference-footer .footer-content:first-child p { font-size: clamp(27px, 4.4vw, 43px) !important; }
}
@media (max-width: 700px) {
  #footer.reference-footer .rounded-4xl { min-height: 0; gap: 50px !important; padding: 34px 27px !important; }
  #footer.reference-footer .rounded-4xl > .footer-content:first-child,
  #footer.reference-footer .rounded-4xl > .footer-content:last-child { flex-direction: column !important; align-items: flex-start !important; gap: 38px !important; }
  #footer.reference-footer .footer-content:first-child > div:last-child { align-items: flex-start !important; }
  #footer.reference-footer .footer-content:first-child p { text-align: left !important; font-size: clamp(32px, 8vw, 48px) !important; }
  #footer.reference-footer .footer-content:last-child ul:has(a[aria-label]) { margin-top: 8px; }
  #footer.reference-footer .flex.justify-between.py-8 { text-align: left !important; }
}
