/* Independently loaded styles for the homepage community listening experience. */
.fix-one-thing {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(430px, 1.1fr);
  gap: clamp(3rem, 6vw, 6rem);
  align-items: center;
  color: #fff;
  background: #043b2b;
  overflow: hidden;
}
.fix-one-thing::before {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  left: -240px;
  bottom: -260px;
  border: 1px solid rgba(167, 214, 61, .18);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(167, 214, 61, .035), 0 0 0 140px rgba(167, 214, 61, .025);
}
.fix-one-copy { position: relative; z-index: 2; min-width: 0; }
.fix-one-copy .eyebrow { color: #a7d63d; }
.fix-one-copy h2 {
  max-width: 700px;
  margin-bottom: 1.4rem;
  color: #fff;
  font-size: clamp(2.8rem, 5vw, 5rem);
  letter-spacing: -.06em;
}
.fix-one-copy h2 em { color: #a7d63d; font-style: normal; }
.fix-one-copy > p:not(.eyebrow) { max-width: 670px; color: #b9cdc5; font-size: 1.02rem; }
.fix-one-copy .fix-one-hook { color: #fff; font-size: 1.13rem; line-height: 1.65; }
.voice-signal { display: flex; align-items: center; gap: 1.15rem; margin-top: 2.2rem; }
.voice-signal > div:last-child { display: flex; flex-direction: column; }
.voice-signal > div:last-child strong { color: #fff; font: 800 .9rem "Manrope", sans-serif; }
.voice-signal > div:last-child span { margin-top: .25rem; color: #82a296; font-size: .66rem; letter-spacing: .05em; }
.voice-core { position: relative; width: 86px; height: 86px; flex: 0 0 86px; display: grid; place-items: center; }
.voice-core > div { position: relative; z-index: 2; width: 58px; height: 58px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 50%; color: #043b2b; background: #a7d63d; box-shadow: 0 12px 28px rgba(0,0,0,.24); }
.voice-core strong { font: 800 2rem/.72 "Manrope", sans-serif; letter-spacing: -.08em; }
.voice-core span { margin-top: .35rem; font-size: .38rem; font-weight: 800; letter-spacing: .16em; }
.voice-ring { position: absolute; inset: 7px; border: 1px solid rgba(167,214,61,.42); border-radius: 50%; animation: fix-voice-ripple 3.2s ease-out infinite; }
.voice-ring.ring-two { animation-delay: 1.6s; }
.priority-pulse { margin-top: 1.5rem; padding: 1rem 1.1rem; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.045); }
.priority-pulse > strong, .priority-pulse > span { display: block; }
.priority-pulse > strong { color: #fff; font: 800 .78rem "Manrope", sans-serif; text-transform: uppercase; letter-spacing: .1em; }
.priority-pulse > span { margin-top: .25rem; color: #98b2a8; font-size: .72rem; }
#priority-pulse-bars { display: grid; gap: .45rem; margin-top: .8rem; }
.priority-pulse-row { display: grid; grid-template-columns: 76px 1fr 26px; align-items: center; gap: .55rem; color: #c7d8d1; font-size: .67rem; }
.priority-pulse-row i { height: 5px; overflow: hidden; background: rgba(255,255,255,.1); }
.priority-pulse-row b { display: block; height: 100%; background: #a7d63d; animation: fix-bar-grow .7s ease both; transform-origin: left; }
.priority-pulse-row strong { color: #fff; text-align: right; }
.fix-one-form-card {
  position: relative;
  min-width: 0;
  min-height: 610px;
  padding: clamp(2rem, 4vw, 3.4rem);
  border: 1px solid rgba(255,255,255,.16);
  background: #fff;
  color: #13231d;
  box-shadow: 0 24px 60px rgba(0,0,0,.24);
  overflow: hidden;
  isolation: isolate;
}
.fix-one-form-card::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(110deg, transparent 28%, rgba(167,214,61,.09) 48%, transparent 68%); transform: translateX(-120%); animation: fix-listen-scan 7s ease-in-out infinite; }
.listening-status { display: flex; align-items: center; gap: .55rem; margin-bottom: 1.7rem; padding-bottom: 1rem; border-bottom: 1px solid rgba(4,59,43,.14); color: #043b2b; font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.listening-status i { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: #cf2634; box-shadow: 0 0 0 0 rgba(207,38,52,.65); animation: fix-listening-pulse 2s ease-out infinite; }
.listening-status b { margin-left: auto; color: #596b63; font-size: .62rem; letter-spacing: .05em; text-align: right; }
.fix-one-form-card form { margin: 0; }
.fix-one-form-card form > small { display: block; margin-top: .75rem; color: #829087; text-align: center; font-size: .68rem; }
.fix-field { margin: 0 0 1.05rem; padding: 0; border: 0; min-width: 0; }
.fix-field > label, .fix-field legend, .fix-label-row label { display: block; margin-bottom: .5rem; color: #13231d; font-size: .82rem; font-weight: 800; }
.fix-field select, .fix-field textarea, .fix-contact-fields > input { width: 100%; border: 1px solid #d6ddd8; border-radius: 8px; background: #fbfcfa; color: #13231d; font: 500 .9rem "DM Sans", sans-serif; outline: none; }
.fix-field select { height: 48px; padding: 0 .8rem; }
.fix-field textarea { display: block; min-height: 100px; padding: .75rem .85rem; resize: vertical; line-height: 1.45; }
.fix-field select:focus, .fix-field textarea:focus, .fix-contact-fields > input:focus { border-color: #07563c; box-shadow: 0 0 0 3px rgba(7,86,60,.12); }
.fix-issue-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .5rem; }
.fix-issue-grid label { position: relative; min-height: 50px; display: grid; place-items: center; padding: .35rem; border: 1px solid #dbe1dc; border-radius: 8px; background: #fbfcfa; color: #506159; cursor: pointer; transition: border-color .16s, background .16s, color .16s, transform .16s; }
.fix-issue-grid label:hover { border-color: #8fa399; transform: translateY(-1px); }
.fix-issue-grid input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.fix-issue-grid label:has(input:checked) { color: #fff; border-color: #043b2b; background: #043b2b; }
.fix-issue-grid label:focus-within { outline: 3px solid rgba(7,86,60,.14); outline-offset: 2px; }
.fix-issue-grid span { font-size: .71rem; font-weight: 800; }
.fix-label-row { display: flex; justify-content: space-between; gap: 1rem; }
.fix-label-row > span { color: #8a9790; font-size: .69rem; }
.fix-contact-toggle { margin: -.1rem 0 .75rem; padding: 0; border: 0; background: none; color: #07563c; font: 700 .76rem "DM Sans", sans-serif; cursor: pointer; }
.fix-contact-toggle span { margin-left: .25rem; color: #8b978f; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.fix-contact-fields { display: grid; grid-template-columns: 1fr 1.25fr; gap: .55rem; margin-bottom: .85rem; }
.fix-contact-fields[hidden] { display: none; }
.fix-contact-fields > input { height: 44px; padding: 0 .7rem; }
.fix-consent { grid-column: 1/-1; display: flex; align-items: flex-start; gap: .5rem; color: #69776f; font-size: .71rem; line-height: 1.35; cursor: pointer; }
.fix-consent input { margin-top: .12rem; accent-color: #043b2b; }
.fix-form-error { margin: -.1rem 0 .7rem; color: #aa1d2b; font-size: .75rem; font-weight: 700; }
.fix-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.fix-one-button { width: 100%; min-height: 52px; margin-top: .1rem; border: 0; border-radius: 999px; color: #043b2b; background: #a7d63d; box-shadow: 0 12px 30px rgba(0,0,0,.2); font-weight: 800; cursor: pointer; }
.fix-one-button:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(0,0,0,.28); }
.fix-one-button:disabled { opacity: .65; cursor: wait; transform: none; }
.home-fix-success { display: flex; min-height: 500px; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.home-fix-success[hidden], .fix-form-error[hidden] { display: none; }
.home-success-mark { width: 60px; height: 60px; display: grid; place-items: center; margin-bottom: 1rem; border-radius: 50%; color: #043b2b; background: #a7d63d; font-size: 1.8rem; font-weight: 800; }
.home-fix-success .eyebrow { color: #07563c; margin-bottom: .6rem; }
.home-fix-success h3 { margin-bottom: .6rem; font-size: clamp(2rem,3.5vw,3.4rem); letter-spacing: -.05em; }
.home-fix-success > p:not(.eyebrow) { max-width: 480px; margin: 0; color: #596b63; }
.home-fix-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; margin: 1.4rem 0; }
.home-fix-actions .fix-one-button { width: auto; margin: 0; padding-inline: 1.3rem; }
.home-fix-again { min-height: 50px; padding: 0 1rem; border: 1px solid rgba(4,59,43,.25); border-radius: 999px; color: #043b2b; background: #fff; font: 800 .8rem "DM Sans", sans-serif; cursor: pointer; }
.home-share-card { width: min(420px,100%); padding: 1.1rem; border-radius: 8px; color: #fff; background: #043b2b; box-shadow: inset 5px 0 0 #cf2634; text-align: left; }
.home-share-card span, .home-share-card small { display: block; color: #a7d63d; font-size: .62rem; font-weight: 800; letter-spacing: .09em; }
.home-share-card strong { display: block; margin: .18rem 0 .45rem; font: 800 2rem "Manrope", sans-serif; }

@keyframes fix-listening-pulse { 70% { box-shadow: 0 0 0 11px rgba(207,38,52,0); } }
@keyframes fix-voice-ripple { 0% { opacity: .7; transform: scale(.72); } 80%,100% { opacity: 0; transform: scale(1.35); } }
@keyframes fix-listen-scan { 0%,22% { transform: translateX(-120%); } 70%,100% { transform: translateX(120%); } }
@keyframes fix-bar-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }

@media (max-width: 860px) {
  .fix-one-thing { grid-template-columns: 1fr; }
  .fix-one-form-card { min-height: 0; }
}
@media (max-width: 560px) {
  .fix-one-thing { gap: 3rem; }
  .fix-one-copy h2 { font-size: clamp(2.55rem, 12vw, 4rem); }
  .fix-one-form-card { padding: 1.5rem 1.1rem; }
  .fix-issue-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .fix-contact-fields { grid-template-columns: 1fr; }
  .voice-signal { align-items: flex-start; }
  .voice-signal > div:last-child span { max-width: 220px; line-height: 1.45; }
  .home-fix-actions { width: 100%; }
  .home-fix-actions > * { width: 100% !important; }
  .priority-pulse-row { grid-template-columns: 68px 1fr 24px; }
  .listening-status { align-items: flex-start; flex-wrap: wrap; }
  .listening-status b { width: 100%; margin-left: 0; text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  .fix-one-thing *, .fix-one-thing *::before, .fix-one-thing *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
