
.homepage .hero{height:clamp(600px,44vw,740px);min-height:600px;background:white}
.homepage .hero-photo{position:absolute;top:0;bottom:0;right:0;width:78%;overflow:hidden}
.homepage .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:65% 48%}
.homepage .hero-wash{background:linear-gradient(90deg,#fff 0%,#fff 31%,#fffffff5 41%,#ffffffad 53%,#ffffff12 70%,transparent 83%)}
.homepage .hero-content{padding-top:clamp(80px,7vw,115px);padding-bottom:65px}
.homepage .hero h1{font-size:clamp(46px,5.05vw,78px);line-height:1.08;max-width:800px}
.headline-line{display:block}
.headline-word{display:inline-block;white-space:nowrap}
.headline-character{display:inline-block}
.homepage .hero-desc{max-width:430px;margin:25px 0 29px}
.homepage .hero-cta{padding:16px 27px;gap:26px;font-size:14px;box-shadow:0 8px 24px #ff650d20}
.homepage .hero-cta span{display:inline-block;transition:transform .25s ease;font-size:19px}
.homepage .hero-cta:hover{transform:translateY(-2px)}
.homepage .hero-cta:hover span{transform:translate(3px,-3px)}
.homepage .benefits{margin-top:46px;gap:26px}
@media(min-width:681px) and (max-width:1050px){.homepage .hero h1{font-size:clamp(43px,5.65vw,59px)}.homepage .hero-content{padding-top:90px}.homepage .hero-wash{background:linear-gradient(90deg,#fff 0%,#fffffff5 37%,#ffffff9e 62%,#ffffff18 88%)}}
@media(max-width:680px){
.homepage .hero{height:auto;min-height:650px}.homepage .hero-photo{width:100%;opacity:.78}
.homepage .hero-photo img{object-position:68% center}
.homepage .hero-wash{background:linear-gradient(90deg,#fffffff5 0%,#fffffff0 45%,#ffffffc9 70%,#ffffff78)}
.homepage .hero-content{padding-top:75px;padding-bottom:55px}.homepage .hero h1{font-size:clamp(35px,9.8vw,55px);line-height:1.14;max-width:100%}
.homepage .hero-desc{font-size:15px;max-width:340px;line-height:1.8;margin:24px 0 26px}
.homepage .benefits{gap:18px 12px;margin-top:38px}.homepage .benefits span{width:44%}
}
@media(prefers-reduced-motion:reduce){.homepage .hero-cta,.homepage .hero-cta span{transition:none}.headline-character{opacity:1!important;transform:none!important}}
@media(max-width:380px){.homepage .hero{height:650px}}

/* Reassurance row: matching vector icons and readable, balanced labels. */
.homepage .hero .benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.35fr);
  max-width: 730px;
  gap: 24px;
  align-items: center;
}
.homepage .hero .benefits .benefit-item {
  display: flex;
  align-items: center;
  gap: 11px;
  width: auto;
  min-width: 0;
  color: var(--green);
}
.homepage .hero .benefits svg {
  display: block;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
}
.homepage .hero .benefits small {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--deep);
}
@media(max-width:900px) {
  .homepage .hero .benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 520px;
    gap: 18px 24px;
    margin-top: 32px;
  }
}
@media(max-width:680px) {
  .homepage .hero .benefits { gap: 18px 20px; margin-top: 38px; }
}
/* Supporting copy and CTA share a row; existing element animations still apply. */
.homepage .hero-support-row {
  display: flex;
  align-items: center;
  gap: 32px;
  width: min(100%, 730px);
  margin-top: 25px;
}
.homepage .hero-support-row .hero-desc {
  flex: 1 1 430px;
  min-width: 0;
  margin: 0;
}
.homepage .hero-support-row .buttons { flex: 0 0 auto; }
@media (min-width: 681px) and (max-width: 900px) {
  .homepage .hero-support-row { gap: 24px; }
}
@media (max-width: 680px) {
  .homepage .hero-support-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 26px;
    margin-top: 24px;
  }
  .homepage .hero-support-row .hero-desc { flex: initial; }
}
