/* Homepage: match services / residential type, dark hero, form above the fold. */
.kw-home-page {
  --kw-ink: #0b1724;
  --kw-muted: #5e6c79;
  --kw-border: #dce5e1;
  --kw-green: #48c774;
  --kw-forest: #12663c;
  --kw-mint: #f6f8f7;
  --kw-accent: #48c774;
  --kw-hero-1: #07121e;
  --kw-hero-2: #0b1c2b;
  --kw-hero-3: #102a35;
  --kw-hero-glow: rgba(72, 199, 116, .24);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: #0b1724;
  background: #fff;
}

.kw-home-page [id] { scroll-margin-top: 6rem; }
.kw-home-page a:focus-visible,
.kw-home-page button:focus-visible,
.kw-home-page input:focus-visible {
  outline: 3px solid #188350;
  outline-offset: 3px;
}

.kw-home-hero,
.kw-home-flower {
  --kw-green: #48c774;
  --kw-forest: #12663c;
}

.kw-home-hero {
  position: relative;
  overflow-x: clip;
  overflow-y: hidden;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: 4.25rem 1.25rem 4rem;
  color: #fff;
  background:
    radial-gradient(circle at 88% 18%, rgba(72, 199, 116, .24), transparent 28rem),
    linear-gradient(135deg, #07121e 0%, #0b1c2b 58%, #102a35 100%);
}
.kw-home-hero,
.kw-home-hero * { box-sizing: border-box; }
.kw-home-hero .container {
  width: 100%;
  max-width: min(64rem, 100%);
  padding-left: 0;
  padding-right: 0;
}
.kw-home-hero::after {
  position: absolute;
  right: -8rem;
  bottom: -13rem;
  width: 32rem;
  height: 32rem;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.kw-home-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  align-items: start;
  gap: 3rem;
  width: 100%;
  min-width: 0;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .9fr);
}
.kw-home-hero-grid > * { min-width: 0; max-width: 100%; }

.kw-home-eyebrow {
  margin: 0 0 .85rem;
  color: var(--kw-green);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.kw-home-hero-title {
  max-width: 14ch;
  margin: 0;
  color: #fff;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: clamp(2rem, 8vw, 4.75rem);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.05;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.kw-home-hero-lede {
  max-width: 38rem;
  margin: 1.25rem 0 0;
  color: rgba(255, 255, 255, .78);
  font-size: 1.13rem;
  line-height: 1.7;
}

.kw-home-ticks {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1.25rem;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
  color: rgba(255, 255, 255, .78);
  font-size: .95rem;
}
.kw-home-ticks li { display: flex; gap: .45rem; align-items: center; }
.kw-home-ticks i { color: var(--kw-green); }

.kw-home-hero-links {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem 1.4rem;
  margin-top: 1.6rem;
  align-items: center;
}
.kw-home-hero-links a,
.kw-home-hero-links a:visited {
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
.kw-home-hero-links a:hover { color: var(--kw-green); }
.kw-home-hero-link,
.kw-home-hero-link:visited { color: #fff; font-weight: 700; }
.kw-home-hero-link:hover { color: var(--kw-green); }
.kw-home-eyebrow--dark { color: var(--kw-forest); }
.kw-home-hero-phone {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .55rem .9rem;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: .65rem;
  background: rgba(255, 255, 255, .06);
}

.kw-home-form-hint {
  margin: 0 0 .85rem;
  color: rgba(255, 255, 255, .78);
  font-size: .92rem;
  line-height: 1.45;
}
.kw-home-form {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 1.55rem 1.45rem 1.4rem;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 1.25rem;
  background: linear-gradient(145deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .04));
  box-shadow: 0 2rem 4rem rgba(0, 0, 0, .18);
}
.kw-home-hero .kw-home-form h2,
.kw-home-flower .kw-home-form h2,
.kw-home-form h2 {
  margin: 0 0 .35rem;
  color: #fff;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.2;
}
.kw-home-form > p {
  margin: 0 0 1rem;
  color: rgba(255, 255, 255, .72);
  line-height: 1.55;
}
.kw-home-form .tabs { margin-bottom: .85rem; overflow: hidden; }
.kw-home-form .tabs ul {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  border: 0;
  background: rgba(0, 0, 0, .22);
  border-radius: .7rem;
}
.kw-home-form .tabs li { flex: 1 1 0; min-width: 0; }
.kw-home-form .tabs a,
.kw-home-form .tabs.is-toggle a {
  justify-content: center;
  padding: .55rem .3rem;
  border: 0;
  border-radius: .55rem;
  color: #fff;
  background: transparent;
  font-size: .82rem;
  white-space: nowrap;
  transition: background .15s ease, color .15s ease;
}
.kw-home-form .tabs a:hover,
.kw-home-form .tabs.is-toggle a:hover {
  color: #fff;
  background: rgba(72, 199, 116, .32);
}
.kw-home-form .tabs li.is-active a,
.kw-home-form .tabs.is-toggle li.is-active a,
.kw-home-form .tabs li.is-active a:hover,
.kw-home-form .tabs.is-toggle li.is-active a:hover {
  color: #0b1724;
  background: #fff;
  font-weight: 700;
}
.kw-home-form .input {
  border: 0;
  border-radius: .55rem;
  min-height: 3.2rem;
  font-size: 1.05rem;
}
.kw-home-form .button.is-success,
.kw-home-form .button.is-danger {
  border: 0;
  border-radius: .65rem;
  font-weight: 800;
  background: var(--kw-forest);
  color: #fff;
}
.kw-home-form .button.is-success:hover,
.kw-home-form .button.is-danger:hover { background: #0c502e; color: #fff; }
.kw-home-form .flow-cta { margin-top: .85rem; }
.kw-home-form .flow-cta p {
  margin: .7rem 0 0;
  color: rgba(255, 255, 255, .65);
  font-size: .88rem;
}
.kw-home-form-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  margin-top: 1.1rem;
}
.kw-home-form-steps p {
  margin: 0;
  color: rgba(255, 255, 255, .7);
  font-size: .78rem;
  line-height: 1.4;
}
.kw-home-form-steps strong {
  display: block;
  color: var(--kw-green);
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.kw-tool-rail {
  position: relative;
  margin: 0 0 1.1rem;
}
.kw-tool-rail-track {
  display: flex;
  gap: .2rem;
  overflow: hidden;
  padding: .2rem;
  border-radius: .8rem;
  background: rgba(0, 0, 0, .28);
  width: 100%;
  box-sizing: border-box;
}
.kw-tool-tab {
  position: relative;
  z-index: 1;
  flex: 1 1 0;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .2rem;
  padding: .5rem .2rem;
  border: 0;
  border-radius: .6rem;
  background: transparent;
  color: #fff;
  font-size: .75rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
.kw-tool-tab .icon { display: none; }
.kw-tool-tab.is-active { color: #0b1724; }
.kw-tool-rail-thumb {
  position: absolute;
  top: .2rem;
  left: .2rem;
  height: calc(100% - .4rem);
  border-radius: .6rem;
  background: #fff;
  pointer-events: none;
  transition: transform .22s ease, width .22s ease;
}
@media (prefers-reduced-motion: reduce) {
  .kw-tool-rail-thumb { transition: none; }
}
.kw-tool-panel[hidden] { display: none !important; }
.kw-tool-panel h2 { margin-top: 0; }
.kw-home-form .select select {
  width: 100%;
  min-height: 3.2rem;
  border: 0;
  border-radius: .55rem;
  font-size: 1.05rem;
}

.kw-home-paths,
.kw-home-faq,
.kw-home-simple,
.kw-home-page .kw-verified-partners,
.kw-home-page #shopHome,
.kw-home-page .has-background-light.section {
  padding: 4.5rem 1.5rem;
}
.kw-home-paths { background: var(--kw-mint); }
.kw-home-faq { background: #fff; }
.kw-home-simple { background: #edf5ef; }

.kw-home-paths-head,
.kw-home-faq-head { max-width: 44rem; margin-bottom: 2rem; }

.kw-home-page h2,
.kw-home-paths-head h2,
.kw-home-band h2,
.kw-home-simple h2,
.kw-home-faq-head h2,
.kw-home-flower h2,
.kw-home-fogstar h2,
.kw-home-fogstar-range h2 {
  margin: 0;
  color: var(--kw-ink);
  font-size: clamp(1.9rem, 3.4vw, 3rem);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.1;
}
.kw-home-hero .kw-home-form h2,
.kw-home-flower .kw-home-form h2 {
  color: #fff;
  font-size: 1.35rem;
  letter-spacing: -.03em;
  line-height: 1.2;
}

.kw-home-paths-head p,
.kw-home-band p.kw-home-lead,
.kw-home-simple .kw-home-lead,
.kw-home-faq-head p,
.kw-home-flower .kw-home-lead,
.kw-home-fogstar-range .kw-home-lead {
  margin: 1rem 0 0;
  color: var(--kw-muted);
  font-size: 1.08rem;
  line-height: 1.7;
}

.kw-home-path-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
}
.kw-home-path-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 15rem;
  padding: 1.65rem;
  overflow: hidden;
  border: 1px solid #dce5e1;
  border-radius: 1.15rem;
  background: #fff;
  box-shadow: 0 .5rem 1.5rem rgba(11, 23, 36, .05);
  text-decoration: none;
  color: #0b1724;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.kw-home-path-card::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: .35rem;
  background: #12663c;
  content: "";
}
.kw-home-path-card:hover,
.kw-home-path-card:focus-visible {
  border-color: rgba(72, 199, 116, .7);
  box-shadow: 0 1rem 2rem rgba(11, 23, 36, .08);
  transform: translateY(-.25rem);
}
.kw-home-path-card .kw-explore-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.9rem;
  height: 2.9rem;
  margin: 0 0 .85rem;
  border-radius: .85rem;
  color: #14743c;
  background: #edf5ef;
  font-size: 1.1rem;
}
.kw-home-path-card span.kw-home-eyebrow { color: #12663c; }
.kw-home-path-card h3 {
  margin: .45rem 0 .5rem;
  color: #0b1724;
  font-size: 1.25rem;
  font-weight: 800;
}
.kw-home-path-card p { margin: 0; color: #5e6c79; line-height: 1.6; }
.kw-home-path-card em {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-top: auto;
  padding-top: 1.2rem;
  color: #12663c;
  font-style: normal;
  font-weight: 700;
}
.kw-home-path-card em i { font-size: .75rem; }

.kw-home-band {
  padding: 4.5rem 1.5rem;
  background: #fff;
}
.kw-home-band .kw-home-band-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 2.5rem;
  align-items: center;
}
.kw-home-page .buttons .button,
.kw-home-band .buttons .button {
  border-radius: .65rem;
  font-weight: 700;
}
.kw-home-page .button.is-primary,
.kw-home-page .button.is-link,
.kw-home-page .button.is-info,
.kw-home-band .button.is-primary {
  background: var(--kw-forest);
  border: 0;
  color: #fff;
}
.kw-home-page .button.is-primary:hover,
.kw-home-page .button.is-link:hover,
.kw-home-page .button.is-info:hover,
.kw-home-band .button.is-primary:hover { background: #0c502e; color: #fff; }
.kw-home-page .button.is-warning {
  background: var(--kw-forest);
  border: 0;
  color: #fff;
}
.kw-home-page .button.is-warning:hover { background: #0c502e; color: #fff; }

.kw-home-simple-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 2.5rem;
  align-items: center;
}
.kw-home-pills {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .85rem 1.2rem;
  margin-top: 1.6rem;
}
.kw-home-pills strong { display: block; color: var(--kw-ink); }
.kw-home-pills span { color: var(--kw-muted); font-size: .95rem; }
.kw-home-faces {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  text-align: center;
}
.kw-home-faces h3 {
  margin: .8rem 0 .35rem;
  font-size: 1.1rem;
  font-weight: 800;
}
.kw-home-faces p { color: var(--kw-muted); line-height: 1.55; }

.kw-home-faq details {
  padding: 1.1rem 0;
  border-bottom: 1px solid var(--kw-border);
}
.kw-home-faq summary {
  cursor: pointer;
  color: var(--kw-ink);
  font-weight: 800;
  font-size: 1.05rem;
}
.kw-home-faq details p {
  margin: .7rem 0 0;
  color: var(--kw-muted);
  line-height: 1.65;
  max-width: 48rem;
}
.kw-home-faq-cta { margin-top: 1.75rem; }

.kw-mos {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
  padding: 3rem 1.5rem;
  background: var(--kw-mint);
  color: var(--kw-ink);
}
.kw-mos > .container { max-width: 64rem; margin: 0 auto; }
.kw-mos-kicker {
  margin: 0 0 .45rem;
  color: var(--kw-forest);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.kw-mos h2 {
  margin: 0;
  color: var(--kw-ink);
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 800;
  letter-spacing: -.035em;
}
.kw-mos-lead {
  max-width: none;
  margin: 0 0 1rem;
  color: var(--kw-muted);
  line-height: 1.65;
}
.kw-mos-grid {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: 1.25rem;
  align-items: stretch;
  margin-top: 1.25rem;
}
.kw-mos-col {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.kw-mos-pot {
  flex: 1 1 auto;
  padding: 1.4rem;
  border: 1px solid var(--kw-border);
  border-radius: 1.15rem;
  background: #fff;
}
.kw-mos-amount {
  margin: .2rem 0 .35rem;
  color: var(--kw-forest);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  letter-spacing: -.04em;
}
.kw-mos-goal,
.kw-mos-percent { color: var(--kw-muted); }
.kw-mos-ends {
  margin: 0 0 1rem;
}
.kw-mos-ends-label {
  margin: 0 0 .45rem;
  color: var(--kw-forest);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.kw-mos-clock {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .45rem;
}
.kw-mos-clock-unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: .55rem .2rem .45rem;
  border-radius: .75rem;
  background: var(--kw-ink);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}
.kw-mos-clock-unit span {
  font-variant-numeric: tabular-nums;
  font-size: clamp(1.35rem, 4vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1;
  color: #fff;
}
.kw-mos-clock-unit small {
  margin-top: .28rem;
  color: var(--kw-accent);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.kw-mos-pot .progress.is-primary::-webkit-progress-value { background-color: var(--kw-forest); }
.kw-mos-pot .progress.is-primary::-moz-progress-bar { background-color: var(--kw-forest); }
.kw-mos-pot .button.is-primary { margin-top: .85rem; background: var(--kw-forest); border-color: var(--kw-forest); color: #fff; }
.kw-mos-board h3 {
  margin: 0 0 .4rem;
  color: var(--kw-ink);
  font-size: 1.2rem;
  font-weight: 800;
}
.kw-mos-leader {
  display: flex;
  align-items: center;
  gap: .85rem;
  margin: 0 0 .65rem;
  padding: .9rem 1rem;
  border: 1px solid var(--kw-border);
  border-radius: .9rem;
  background: #fff;
  color: inherit;
  text-decoration: none;
}
.kw-mos-leader:hover { border-color: #b7d4c4; color: inherit; }
.kw-mos-rank {
  flex: 0 0 2rem;
  color: var(--kw-forest);
  font-size: 1.35rem;
  font-weight: 800;
}
.kw-mos-leader-copy { flex: 1 1 auto; min-width: 0; }
.kw-mos-leader-copy strong { display: block; color: var(--kw-ink); }
.kw-mos-place { color: var(--kw-muted); font-size: .85rem; }
.kw-mos-score { color: var(--kw-muted); font-weight: 700; white-space: nowrap; }
@media (max-width: 900px) {
  .kw-mos-grid { grid-template-columns: minmax(0, 1fr); }
}

.kw-home-flower {
  padding: 4.5rem 1.5rem;
  color: #fff;
  background:
    radial-gradient(circle at 12% 20%, rgba(72, 199, 116, .2), transparent 24rem),
    linear-gradient(135deg, #07121e 0%, #102a35 100%);
}
.kw-home-flower .kw-home-eyebrow { color: var(--kw-green); }
.kw-home-flower h2 { color: #fff; }
.kw-home-flower .kw-home-lead { color: rgba(255, 255, 255, .76); }
.kw-home-flower-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 2.5rem;
  align-items: start;
}
.kw-home-flower-grid > * { min-width: 0; max-width: 100%; }
@media (min-width: 981px) {
  .kw-home-flower .kw-home-form {
    position: sticky;
    top: 6rem;
    align-self: start;
  }
}
.kw-home-flower-grid > div:first-child .image,
.kw-home-flower-grid > div:first-child figure {
  padding-top: 0 !important;
  width: auto;
  max-width: 10rem;
  height: auto;
  display: block;
}
.kw-home-flower-grid > div:first-child img {
  position: static !important;
  width: auto !important;
  max-width: 10rem;
  height: auto !important;
}

.kw-home-page .kw-verified-partners { background: var(--kw-mint); }

.kw-home-page #shopHome.kw-home-shop {
  padding: 3rem 1.5rem;
  background: #fff;
}

.kw-home-fogstar {
  --kw-ink: #0b1724;
  --kw-muted: #5e6c79;
  --kw-green: #48c774;
  --kw-forest: #12663c;
  padding: 4.5rem 1.5rem;
  color: #fff;
  background:
    radial-gradient(circle at 88% 18%, rgba(72, 199, 116, .2), transparent 24rem),
    linear-gradient(135deg, #07121e 0%, #0b1c2b 58%, #102a35 100%);
}
.kw-home-fogstar h2 { color: #fff; }
.kw-home-fogstar .kw-home-lead { color: rgba(255, 255, 255, .76); }
.kw-home-fogstar-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 2.5rem;
  align-items: start;
}
.kw-home-fogstar-grid > * { min-width: 0; max-width: 100%; }
.kw-home-fogstar-logo {
  margin: 0 0 1.25rem;
}
.kw-home-fogstar-logo img,
.kw-home-fogstar-logo picture {
  display: block;
  width: auto;
  max-width: 12rem;
  height: auto;
}
.kw-home-fogstar-uk {
  display: flex;
  gap: .85rem;
  align-items: center;
  margin-top: 1.5rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 1rem;
  background: rgba(255, 255, 255, .06);
}
.kw-home-fogstar-uk img {
  width: 2.5rem;
  height: auto;
  display: block;
}
.kw-home-fogstar-uk strong {
  display: block;
  color: #fff;
  font-weight: 800;
}
.kw-home-fogstar-uk span {
  color: rgba(255, 255, 255, .7);
  font-size: .9rem;
}
.kw-home-fogstar-benefits {
  display: grid;
  gap: .85rem;
  padding: 1.45rem 1.4rem 1.5rem;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 1.25rem;
  background: linear-gradient(145deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .04));
}
.kw-home-fogstar-benefits h3 {
  margin: 0 0 .35rem;
  color: #fff;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.2;
}
.kw-home-fogstar-benefits article {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: .85rem;
  align-items: start;
}
.kw-home-fogstar-benefits figure,
.kw-home-fogstar-benefits .image {
  width: 3rem;
  height: 3rem;
  margin: 0;
  padding: 0 !important;
  overflow: hidden;
  border-radius: .7rem;
  background: #dff7e7;
}
.kw-home-fogstar-benefits img {
  position: static !important;
  width: 3rem !important;
  height: 3rem !important;
  object-fit: contain !important;
}
.kw-home-fogstar-benefits strong {
  display: block;
  color: #fff;
  font-weight: 800;
}
.kw-home-fogstar-benefits p {
  margin: .25rem 0 0;
  color: rgba(255, 255, 255, .72);
  line-height: 1.5;
}

.kw-home-fogstar-range {
  padding: 4.5rem 1.5rem;
  background: var(--kw-mint);
  color: var(--kw-ink);
}
.kw-home-fogstar-range .kw-home-eyebrow { color: var(--kw-forest); }
.kw-home-fogstar-range .kw-home-lead { max-width: 40rem; margin-bottom: 1.75rem; }
.kw-home-fogstar-cards { margin-left: -.5rem; margin-right: -.5rem; }
.kw-home-fogstar-cards > .column { display: flex; padding: .5rem; }
.kw-fogstar-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  height: 100%;
  padding: 1rem 1rem 1.15rem;
  border: 1px solid var(--kw-border);
  border-radius: 1.15rem;
  background: #fff;
  box-shadow: 0 .4rem 1.2rem rgba(11, 23, 36, .06);
  color: inherit;
  text-decoration: none;
}
.kw-fogstar-card:hover { border-color: #b7d4c4; color: inherit; }
.kw-fogstar-tag {
  display: inline-flex;
  align-self: flex-start;
  margin: 0 0 .75rem;
  padding: .28rem .65rem;
  border-radius: 999px;
  background: #edf5ef;
  color: var(--kw-forest);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.kw-fogstar-media {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 12rem;
  margin: 0 0 .85rem;
  overflow: hidden;
  border-radius: .75rem;
  background: var(--kw-mint);
}
.kw-fogstar-media .image,
.kw-fogstar-media figure,
.kw-fogstar-media picture {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 12rem;
  padding: 0 !important;
  margin: 0;
}
.kw-fogstar-media img {
  position: static !important;
  width: auto !important;
  height: auto !important;
  max-width: 100%;
  max-height: 12rem !important;
  object-fit: contain !important;
}
.kw-fogstar-name {
  margin: 0;
  color: var(--kw-ink);
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.3;
}
.kw-fogstar-sub {
  margin: .4rem 0 0;
  color: var(--kw-muted);
  font-size: .9rem;
  line-height: 1.5;
}
.kw-fogstar-foot { margin-top: auto; padding-top: 1rem; }
.kw-fogstar-price {
  margin: 0;
  color: var(--kw-ink);
  font-size: 1.45rem;
  font-weight: 800;
  letter-spacing: -.02em;
}
.kw-fogstar-meta {
  margin: .15rem 0 0;
  color: var(--kw-muted);
  font-size: .85rem;
}
.kw-fogstar-cta {
  display: block;
  margin-top: .9rem;
  padding: .7rem .9rem;
  border-radius: .65rem;
  background: var(--kw-forest);
  color: #fff;
  font-weight: 800;
  text-align: center;
}
.kw-fogstar-card:hover .kw-fogstar-cta { background: #0c502e; color: #fff; }
.kw-fogstar-all {
  display: inline-flex;
  padding: .7rem 1.1rem;
  border-radius: .65rem;
  background: var(--kw-forest);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}
.kw-fogstar-all:hover { background: #0c502e; color: #fff; }

.kw-home-page .verified-businesses-hero,
.kw-home-page .section.py-6 { padding: 4.5rem 1.5rem; }

@supports selector(body:has(.kw-home-hero)) {
  body:has(.kw-home-hero) {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  }
  body:has(.kw-home-hero) #main > .section .title.is-1,
  body:has(.kw-home-hero) #main > .section .title.is-2,
  body:has(.kw-home-hero) #main > .hero .title.is-1,
  body:has(.kw-home-hero) .kw-home-page .title.is-1,
  body:has(.kw-home-hero) .kw-home-page .title.is-2 {
    font-weight: 800;
    letter-spacing: -.035em;
    line-height: 1.1;
    color: var(--kw-ink);
  }
  body:has(.kw-home-hero) .kw-home-page .subtitle {
    color: #52645c;
    line-height: 1.65;
  }
}

@media (max-width: 980px) {
  .kw-home-hero-grid,
  .kw-home-band .kw-home-band-grid,
  .kw-home-simple-grid,
  .kw-home-flower-grid,
  .kw-home-fogstar-grid { grid-template-columns: minmax(0, 1fr); }
  .kw-home-hero-title { max-width: 100%; }
  .kw-home-path-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .kw-home-partner-grid,
  .kw-home-cat-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (max-width: 800px) {
  .kw-home-path-grid,
  .kw-home-marketplace-grid,
  .kw-home-partner-grid,
  .kw-home-cat-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 700px) {
  .kw-home-hero,
  .kw-home-paths,
  .kw-home-band,
  .kw-home-simple,
  .kw-home-faq,
  .kw-home-flower,
  .kw-home-fogstar,
  .kw-home-fogstar-range,
  .kw-home-page .kw-verified-partners,
  .kw-home-marketplace,
  .kw-home-page #shopHome { padding: 2.6rem .9rem 3rem; }
  .kw-home-form { padding: 1.15rem 1rem 1.1rem; }
  .kw-home-form .tabs .icon { display: none; }
  .kw-home-form .tabs a { font-size: .78rem; }
  .kw-home-hero-title { font-size: clamp(1.85rem, 9vw, 2.6rem); }
  .kw-home-path-grid,
  .kw-home-form-steps,
  .kw-home-pills,
  .kw-home-faces { grid-template-columns: minmax(0, 1fr); }
}
