.hfp-hero { position: relative; min-height: min(760px, 78vh); display: grid; align-items: center; overflow: hidden; background: #f5f5f5; }
.hfp-hero__media { position: absolute; inset: 0; }
.hfp-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.hfp-hero__inner { position: relative; z-index: 2; width: 100%; }
.hfp-hero__copy { max-width: 580px; padding: 48px 0; }
@media(min-width:1025px){.hfp-hero__copy h1{font-size:66px}}
@media(min-width:769px) and (max-width:1024px){.hfp-hero{height:600px;min-height:600px}.hfp-hero__copy h1{font-size:54px}}
.hfp-hero__copy p:not(.hfp-eyebrow) { max-width: 520px; color: var(--gray-600); font-size: 16px; }
.hfp-hero__actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 32px; }
.hfp-hero__actions .hfp-button--primary { box-shadow: 0 10px 24px rgba(3, 67, 49, .18); }
.hfp-hero__actions .hfp-button--secondary { background: rgba(255, 255, 255, .92); border-color: rgba(3, 67, 49, .34); }
.hfp-hero__actions .hfp-button--secondary:hover { background: var(--brand-green); border-color: var(--brand-green); }
@media(max-width:768px){.hfp-hero{height:600px;min-height:600px;align-items:start}.hfp-hero__media{height:100%;}.hfp-hero__copy{padding:0 0 120px;max-width:100%}.hfp-hero__copy h1{font-size:32px}.hfp-hero__copy .hfp-eyebrow{font-size:10px}.hfp-hero__copy p:not(.hfp-eyebrow){font-size:16px;color:#1a1a1a}.hfp-hero__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.hfp-hero__actions .hfp-button{min-width:0;padding-inline:12px;font-size:14px}}

/* Homepage images share the existing hero copy and responsive layout. */
.hfp-hero__slides { position:absolute; inset:0; width:100%; height:100%; z-index:0; }
.hfp-hero__track { width:100%; height:100%; display:flex; }
.hfp-hero__slides .hfp-hero__slide { position:relative; inset:auto; display:block; flex-shrink:0; width:100%; height:100%; }
.hfp-hero__controls { position:absolute; bottom:24px; left:0; right:0; z-index:3; display:flex; align-items:center; gap:12px; }
.hfp-hero__controls[hidden] { display:none; }
.hfp-hero__controls > button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid rgba(3,67,49,.25); border-radius:50%; background:rgba(255,255,255,.92); color:var(--brand-green,#034331); cursor:pointer; font-size:20px; }
.hfp-hero__controls > button:hover { background:var(--brand-green,#034331); color:white; }
.hfp-hero__controls button:focus-visible { outline:3px solid var(--brand-green,#034331); outline-offset:3px; }
.hfp-hero__pagination { display:flex; flex-wrap:wrap; align-items:center; gap:2px; width:auto !important; max-width:50%; }
.hfp-hero__pagination .swiper-pagination-bullet { display:grid; place-items:center; width:24px; height:32px; margin:0 !important; padding:0; border:0; border-radius:0; background:transparent; opacity:1; cursor:pointer; }
.hfp-hero__pagination .swiper-pagination-bullet::after { content:""; display:block; width:8px; height:8px; border-radius:50%; background:white; border:1px solid var(--brand-green,#034331); }
.hfp-hero__pagination .swiper-pagination-bullet-active::after { background:var(--brand-green,#034331); }
@media(prefers-reduced-motion:reduce){.hfp-hero__slides .swiper-wrapper{transition-duration:0ms !important}}
