/* Horizon Solar Landing — extracted from Claude Design bundle.
   Inline styles live in the template (self-isolating against theme CSS).
   Only pseudo-states, keyframes and form controls need real CSS. */

*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; }
body.hz-landing {
  margin: 0;
  padding-bottom: 84px;
  background: #ffffff;
  text-wrap: pretty;
}
body.hz-landing a { color: #1E6B4F; text-underline-offset: 3px; }
body.hz-landing a:hover { color: #14402F; }
body.hz-landing *:focus-visible { outline: 2px solid #F08A1E; outline-offset: 2px; }
body.hz-landing input[type="range"] { accent-color: #F08A1E; }
body.hz-landing ::selection { background: #FBD9AE; }

/* ---- hover states lifted from style-hover attributes ---- */
[data-hzh="0"]:hover { background: #FFA53D !important; color: #08170F !important; }
[data-hzh="1"]:hover { color: #F2C24E !important; }
[data-hzh="2"]:hover { background: #FFA53D !important; }
[data-hzh="3"]:hover { background: #14402F !important; color: #ffffff !important; }
[data-hzh="4"]:hover { background: #ffffff !important; color: #08170F !important; }
[data-hzh="5"]:hover { background: rgba(255,255,255,0.08) !important; color: #ffffff !important; }

/* ---- animations ---- */
@keyframes hzPulse   { 0%,100% { opacity:.45; transform: scale(1); } 50% { opacity:.8; transform: scale(1.12); } }
@keyframes hzSweep   { 0% { transform: translate3d(-30%,0,0) rotate(12deg); } 100% { transform: translate3d(130%,0,0) rotate(12deg); } }
@keyframes hzDrift   { 0% { transform: translate3d(0,0,0); } 100% { transform: translate3d(0,-64px,0); } }
@keyframes hzFlow    { 0% { stroke-dashoffset: 320; } 100% { stroke-dashoffset: 0; } }
@keyframes hzSpin    { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes hzRayPulse{ 0%,100% { opacity:.35; } 50% { opacity:.85; } }
@keyframes hzTicker  { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { [data-hz-anim] { animation: none !important; } }


/* ---- SAF plugin shortcode, restyled to match the card ---- */
.hz-saf-slot input[type="text"],
.hz-saf-slot input[type="tel"],
.hz-saf-slot input[type="email"],
.hz-saf-slot select,
.hz-saf-slot textarea {
  font-family: inherit; font-size: 15px; padding: 15px 17px;
  border: 1.5px solid #dde4df; border-radius: 9px;
  background: #fff; color: #14211B; width: 100%; margin-bottom: 11px;
}
.hz-saf-slot button,
.hz-saf-slot input[type="submit"] {
  cursor: pointer; font-family: inherit; font-size: 16px; font-weight: 800;
  color: #08170F; background: #F08A1E; border: 0; border-radius: 9px;
  padding: 16px 20px; width: 100%;
  box-shadow: 0 10px 24px rgba(240,138,30,0.28);
}
.hz-saf-slot button:hover,
.hz-saf-slot input[type="submit"]:hover { background: #FFA53D; }

/* ---- two-step lead form ---- */
.hz-input {
  font-family: inherit; font-size: 15px; padding: 15px 17px;
  border: 1.5px solid #dde4df; border-radius: 9px;
  background: #fff; color: #14211B; width: 100%;
  -webkit-appearance: none; appearance: none;
}
.hz-input:focus { border-color: #F08A1E; outline: none; }
.hz-input.is-bad { border-color: #C0392B; background: #FEF6F5; }
select.hz-input {
  -webkit-appearance: none; appearance: none;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235A6560' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 12px 8px;
  padding-right: 34px;
}

.hz-tel { display: flex; align-items: stretch; gap: 8px; }
.hz-tel-cc {
  display: grid; place-items: center;
  padding: 0 13px; flex: 0 0 auto;
  border: 1.5px solid #dde4df; border-radius: 9px;
  background: #F7F9F8; color: #5A6560;
  font-size: 15px; font-weight: 700;
}

.hz-btn-primary {
  cursor: pointer; font-family: inherit; font-size: 16px; font-weight: 800;
  color: #08170F; background: #F08A1E; border: 0; border-radius: 9px;
  padding: 16px 20px; width: 100%;
  box-shadow: 0 10px 24px rgba(240,138,30,0.28);
}
.hz-btn-primary[disabled] { opacity: .6; cursor: progress; }

.hz-btn-back {
  cursor: pointer; font-family: inherit; font-size: 13.5px; font-weight: 700;
  color: #5A6560; background: transparent; border: 0; padding: 4px;
}

.hz-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.hz-chip {
  cursor: pointer; font-family: inherit; font-size: 13.5px; font-weight: 700;
  padding: 11px 15px; border-radius: 999px;
  border: 1.5px solid #dde4df; background: #fff; color: #14211B;
  transition: background .12s ease, border-color .12s ease;
}
.hz-chip:hover { border-color: #F08A1E; }
.hz-chip.is-on { background: #08170F; border-color: #08170F; color: #fff; }

.hz-consent {
  display: flex; gap: 10px; align-items: flex-start;
  font-size: 12.5px; line-height: 1.5; color: #3d463f;
}
.hz-consent input[type="checkbox"] {
  margin-top: 1px; width: 17px; height: 17px;
  flex: 0 0 auto; accent-color: #2E7D5B;
}

.hz-err { font-size: 13px; font-weight: 600; color: #C0392B; margin: 0; }

/* ---- images ---- */
.hz-img { width: 100%; height: 100%; }
