/* Split hero inspired by the supplied reference. */
.homepage-hero{--hero-green:#176d43;position:relative;isolation:isolate;box-sizing:border-box;width:100vw;margin-left:calc(50% - 50vw);min-height:640px;display:grid;grid-template-columns:44% 56%;background:#f0f3e9;overflow:hidden;padding:0 0 100px;}
.homepage-hero *{box-sizing:border-box;}
.homepage-hero .homepage-hero-visual{position:absolute;inset:0 0 0 44%;z-index:0;background:#dce7da url('../images/hero-desktop-v121.webp') center/cover no-repeat;border-bottom-left-radius:72px;}
.homepage-hero .homepage-hero-content{position:relative;z-index:1;grid-column:1;align-self:center;min-width:0;padding:70px clamp(24px,4.5vw,76px);text-align:left;}
.homepage-hero .homepage-hero-title{margin:0;color:#0b3020;font-family:Georgia,'Times New Roman',serif;font-size:clamp(36px,3.8vw,62px);font-weight:700;line-height:1.08;letter-spacing:-.045em;text-shadow:none;overflow-wrap:normal;text-wrap:balance;}
.homepage-hero .homepage-hero-title span{color:var(--hero-green);}
.homepage-hero .homepage-hero-description{margin:26px 0 0;max-width:470px;color:#48574d;font-family:inherit;font-size:clamp(15px,1.25vw,19px);font-weight:400;line-height:1.65;text-shadow:none;}
@media(max-width:1024px){.homepage-hero{min-height:540px;grid-template-columns:46% 54%;padding-bottom:90px;}.homepage-hero .homepage-hero-visual{left:46%;border-bottom-left-radius:48px;}.homepage-hero .homepage-hero-content{padding:45px 28px;}.homepage-hero .homepage-hero-title{font-size:clamp(34px,4.5vw,46px);}}
@media(max-width:640px){.homepage-hero{display:flex;flex-direction:column;min-height:0;padding:0 0 48px;}.homepage-hero .homepage-hero-content{order:0;width:100%;padding:38px 24px 30px;}.homepage-hero .homepage-hero-title{font-size:clamp(34px,8.5vw,48px);line-height:1.1;}.homepage-hero .homepage-hero-description{font-size:15px;margin-top:18px;line-height:1.6;}.homepage-hero .homepage-hero-visual{position:relative;inset:auto;order:1;width:100%;aspect-ratio:16/9;background-image:url('../images/hero-tablet-v121.webp');border-radius:0 0 0 34px;}}

/* Keep the same split composition on every viewport. */
.homepage-hero{display:grid!important;grid-template-columns:44% 56%!important;min-height:620px!important;padding:0!important;overflow:visible!important;}
.homepage-hero .homepage-hero-visual{position:absolute!important;inset:0 0 0 44%!important;width:auto!important;aspect-ratio:auto!important;z-index:2!important;background-image:url('../images/hero-desktop-v121.webp')!important;display:flex;align-items:center;justify-content:center;}
.homepage-hero .homepage-hero-content{grid-column:1!important;align-self:center!important;width:auto!important;padding:55px clamp(20px,4vw,64px)!important;}
@media(max-width:1024px){.homepage-hero{min-height:540px!important;}.homepage-hero .homepage-hero-content{padding:32px 24px!important;}.homepage-hero .homepage-hero-title{font-size:clamp(28px,4vw,42px)!important;}}
@media(max-width:640px){.homepage-hero{min-height:440px!important;}.homepage-hero .homepage-hero-content{padding:24px 12px!important;}.homepage-hero .homepage-hero-title{font-size:clamp(22px,5.4vw,34px)!important;letter-spacing:-.035em!important;line-height:1.12!important;}.homepage-hero .homepage-hero-description{font-size:12px!important;line-height:1.5!important;margin-top:16px!important;}.homepage-hero .homepage-hero-visual{border-radius:0 0 0 28px!important;}}

/* Reserve room for the lower search bar, keeping copy clear of the panel. */
.homepage-hero.has-photo-search .homepage-hero-content{padding-bottom:150px!important;}
@media(max-width:640px){.homepage-hero.has-photo-search .homepage-hero-content{padding-bottom:116px!important;}}

/* Scale the complete composition rather than using a tall narrow hero. */
.homepage-hero{min-height:clamp(360px,43vw,620px)!important;}
.homepage-hero .homepage-hero-visual{background-size:contain!important;background-position:center!important;background-color:#e5eddf!important;}
@media(max-width:1024px){.homepage-hero{min-height:clamp(340px,48vw,520px)!important;}.homepage-hero .homepage-hero-title{font-size:clamp(24px,3.8vw,42px)!important;}.homepage-hero .homepage-hero-description{font-size:clamp(12px,1.7vw,16px)!important;}}
@media(max-width:640px){.homepage-hero{min-height:340px!important;}.homepage-hero .homepage-hero-title{font-size:clamp(18px,4.7vw,28px)!important;}.homepage-hero .homepage-hero-description{font-size:10px!important;line-height:1.45!important;margin-top:12px!important;}.homepage-hero.has-photo-search .homepage-hero-content{padding:22px 10px 105px!important;}}

/* 1.4.1: full-photo gallery and dropdown stacking above listings. */
.homepage-hero{overflow:visible!important;isolation:isolate;z-index:100!important;position:relative;}
.homepage-hero-visual{background-image:none!important;overflow:hidden!important;}
.homepage-hero-title span,.homepage-hero-description{color:#10d866!important;}

/* 1.4.2: compact mobile composition only. */
@media(max-width:640px){
 .homepage-hero.has-photo-search{min-height:0!important;height:auto!important;padding:14px 0 74px!important;align-items:center!important;}
 .homepage-hero.has-photo-search .homepage-hero-content{padding:10px 10px!important;align-self:center!important;}
 .homepage-hero .homepage-hero-title{font-size:clamp(17px,4.6vw,26px)!important;line-height:1.1!important;}
 .homepage-hero .homepage-hero-description{font-size:clamp(9px,2.4vw,12px)!important;line-height:1.4!important;margin-top:10px!important;}
 .homepage-hero.has-photo-search .homepage-hero-visual{position:relative!important;inset:auto!important;grid-column:2!important;grid-row:1!important;display:grid!important;align-self:center!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;background-image:none!important;background-color:transparent!important;border-radius:12px 0 0 12px!important;}
 .homepage-hero>.rhmp-homepage-search-wrap{width:84%!important;bottom:12px!important;}
 .homepage-hero .rhmp-homepage-search-form{padding:5px 7px!important;gap:4px!important;border-radius:12px!important;}
 .homepage-hero .rhmp-search-field label{font-size:8px!important;margin-bottom:2px!important;}
 .homepage-hero .rhmp-combo-input,.homepage-hero .rhmp-search-submit{height:30px!important;min-height:30px!important;font-size:9px!important;border-radius:8px!important;}
 .homepage-hero .rhmp-combo-input{padding-left:6px!important;padding-right:18px!important;}
 .homepage-hero .rhmp-combobox:after{top:10px!important;right:7px!important;}
 .homepage-hero .rhmp-search-submit{padding:3px 5px!important;gap:3px!important;line-height:1.1!important;}
 .homepage-hero .rhmp-search-submit svg{width:12px!important;height:12px!important;}
}

/* 1.4.4: mobile uses the tablet's split hero composition. */
@media(max-width:640px){
 .homepage-hero.has-photo-search{display:grid!important;grid-template-columns:44% 56%!important;height:clamp(260px,75vw,400px)!important;min-height:0!important;padding:0!important;align-items:stretch!important;}
 .homepage-hero.has-photo-search .homepage-hero-content{grid-column:1!important;grid-row:1!important;align-self:start!important;padding:28px 12px 74px!important;}
 .homepage-hero .homepage-hero-title{font-size:clamp(17px,4.5vw,28px)!important;line-height:1.08!important;letter-spacing:-.035em!important;}
 .homepage-hero .homepage-hero-description{font-size:clamp(9px,2.3vw,13px)!important;line-height:1.5!important;margin-top:16px!important;}
 .homepage-hero.has-photo-search .homepage-hero-visual{position:absolute!important;inset:0 0 0 44%!important;width:auto!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;background-color:#e5eddf!important;background-image:none!important;border-radius:0 0 0 24px!important;}
 .homepage-hero.has-photo-search>.rhmp-homepage-search-wrap{bottom:18px!important;}
}

/* 1.4.6: balanced compact mobile hero based on the approved preview. */
@media(max-width:640px){
 .homepage-hero.has-photo-search{height:clamp(235px,60vw,320px)!important;grid-template-columns:46% 54%!important;background:#f3f4ec!important;}
 .homepage-hero.has-photo-search .homepage-hero-content{padding:20px 10px 68px 14px!important;align-self:start!important;}
 .homepage-hero .homepage-hero-title{font-size:clamp(17px,4.4vw,27px)!important;line-height:1.1!important;letter-spacing:-.035em!important;text-wrap:pretty;}
 .homepage-hero .homepage-hero-description{font-size:clamp(9px,2.3vw,12px)!important;line-height:1.45!important;margin-top:12px!important;color:#087d43!important;}
 .homepage-hero .homepage-hero-title span{color:#08af55!important;}
 .homepage-hero.has-photo-search .homepage-hero-visual{left:46%!important;bottom:0!important;background-color:#edf1e8!important;border-radius:0 0 0 20px!important;}
}

/* Static hero photo; responsive layout and search placement retained. */
.homepage-hero.has-photo-search .homepage-hero-visual{background-image:url('../images/image.png')!important;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important;}

/* Full hero background with text and search overlaid. */
.homepage-hero.has-photo-search .homepage-hero-visual{position:absolute!important;inset:0!important;left:0!important;width:100%!important;height:100%!important;z-index:0!important;border-radius:0!important;background-image:url('../images/image.png')!important;background-size:cover!important;background-position:center!important;}
.homepage-hero.has-photo-search .homepage-hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,252,245,.95) 0%,rgba(250,252,245,.85) 30%,rgba(250,252,245,.35) 54%,rgba(250,252,245,.03) 78%);}
.homepage-hero.has-photo-search .homepage-hero-content{z-index:2!important;}
@media(max-width:640px){
 .homepage-hero.has-photo-search .homepage-hero-visual:after{background:linear-gradient(90deg,rgba(250,252,245,.96) 0%,rgba(250,252,245,.86) 34%,rgba(250,252,245,.28) 62%,rgba(250,252,245,.03) 100%);}
}

/* 1.4.9: lighter white wash and tablet-like mobile proportions. */
.homepage-hero.has-photo-search .homepage-hero-visual:after{background:linear-gradient(90deg,rgba(250,252,245,.78) 0%,rgba(250,252,245,.62) 30%,rgba(250,252,245,.22) 54%,rgba(250,252,245,0) 78%)!important;}
@media(max-width:640px){
 .homepage-hero.has-photo-search{height:clamp(225px,58vw,310px)!important;grid-template-columns:52% 48%!important;}
 .homepage-hero.has-photo-search .homepage-hero-content{padding:20px 8px 65px 14px!important;}
 .homepage-hero .homepage-hero-title{font-size:clamp(16px,4.1vw,25px)!important;line-height:1.1!important;text-wrap:initial!important;letter-spacing:-.035em!important;}
 .homepage-hero .homepage-hero-title span{display:block;white-space:nowrap;}
 .homepage-hero .homepage-hero-description{font-size:clamp(9px,2.25vw,12px)!important;line-height:1.4!important;margin-top:12px!important;color:#087d43!important;}
 .homepage-hero.has-photo-search .homepage-hero-visual{background-position:center center!important;}
 .homepage-hero.has-photo-search .homepage-hero-visual:after{background:linear-gradient(90deg,rgba(250,252,245,.80) 0%,rgba(250,252,245,.65) 30%,rgba(250,252,245,.22) 58%,rgba(250,252,245,0) 85%)!important;}
}

/* Mobile: make the photograph visible behind the copy as well as the search. */
@media(max-width:640px){
 .homepage-hero.has-photo-search{background:#edf1e8 url('../images/image.png') center/cover no-repeat!important;}
 .homepage-hero.has-photo-search .homepage-hero-visual{inset:0!important;left:0!important;right:0!important;width:100%!important;background:transparent!important;}
 .homepage-hero.has-photo-search .homepage-hero-visual:after{background:linear-gradient(90deg,rgba(250,252,245,.42) 0%,rgba(250,252,245,.30) 40%,rgba(250,252,245,.10) 65%,rgba(250,252,245,0) 100%)!important;}
 .homepage-hero.has-photo-search .homepage-hero-content{background:transparent!important;text-shadow:0 1px 2px rgba(255,255,255,.45);}
 .homepage-hero .homepage-hero-title span{display:inline!important;white-space:normal!important;}
}

/* Requested final color-only adjustment. */
.homepage-hero.has-photo-search .homepage-hero-visual:after{display:none!important;background:none!important;}
.homepage-hero.has-photo-search .homepage-hero-description{color:#000!important;}

/* White hero copy; existing green highlight retained. */
.homepage-hero.has-photo-search .homepage-hero-title,.homepage-hero.has-photo-search .homepage-hero-description{color:#fff!important;}

/* Centered glass group strip directly beneath the hero. */
.rhmp-hero-groups{box-sizing:border-box;width:100vw;margin-left:calc(50% - 50vw);position:relative;padding:10px 14px;background:rgba(255,255,255,.32);border-top:1px solid rgba(255,255,255,.65);border-bottom:1px solid rgba(7,148,71,.16);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 3px 12px rgba(23,60,41,.06);}
.rhmp-hero-groups-row{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:12px;max-width:900px;margin:0 auto;}
.rhmp-hero-groups-row button{box-sizing:border-box;flex:0 1 190px;min-width:0;border:1px solid rgba(255,255,255,.35);border-radius:10px;padding:10px 14px;margin:0;background:linear-gradient(115deg,rgba(255,255,255,.18),rgba(255,255,255,0)),linear-gradient(135deg,#20ed78 0%,#10d866 48%,#08af55 100%);color:#fff;font-family:inherit;font-weight:600;font-size:14px;line-height:1.2;white-space:nowrap;cursor:pointer;box-shadow:0 2px 6px rgba(8,175,85,.12);}
.rhmp-hero-groups-row button:focus-visible{outline:2px solid #006d35;outline-offset:3px;}
@media(max-width:640px){.rhmp-hero-groups{padding:8px 6px;}.rhmp-hero-groups-row{gap:4px;}.rhmp-hero-groups-row button{flex:1 1 auto;font-size:clamp(8px,2.15vw,12px);padding:8px 4px;border-radius:7px;}}

/* Preserve brand green in every button interaction state. */
.rhmp-hero-groups .rhmp-hero-groups-row button,
.rhmp-hero-groups .rhmp-hero-groups-row button:hover,
.rhmp-hero-groups .rhmp-hero-groups-row button:focus,
.rhmp-hero-groups .rhmp-hero-groups-row button:focus-visible,
.rhmp-hero-groups .rhmp-hero-groups-row button:active{
 background:linear-gradient(115deg,rgba(255,255,255,.18),rgba(255,255,255,0)),linear-gradient(135deg,#20ed78 0%,#10d866 48%,#08af55 100%)!important;
 color:#fff!important;border-color:rgba(255,255,255,.35)!important;
}

.rhmp-hero-groups-row button[aria-pressed="true"]{outline:2px solid #006d35;outline-offset:2px;}
