:root{--rb-banner-button-left:4.9479%;--rb-banner-button-bottom:7.2368%;--rb-banner-button-width:27.0833%;--rb-banner-button-height:9.7368%;--rb-banner-button-mobile-left:50%;--rb-banner-button-mobile-bottom:54px;--rb-banner-button-mobile-width:min(90%,420px);--rb-banner-button-mobile-height:60px}.hero,.hero-empty{position:relative;margin-top:var(--header-height);container-type:inline-size;aspect-ratio:1920/760;max-height:min(760px,calc(100svh - var(--header-height) - var(--promo-bar-height)));overflow:hidden;border-bottom:1px solid rgba(171,144,92,.25);background:#f5eddf}.hero-empty{display:grid;place-items:center;color:var(--rb-green)}.hero-slide{animation:bannerReveal .45s ease both}.hero-media,.hero-picture,.hero-slide{position:absolute;inset:0}.hero-picture{display:block;z-index:0}.hero-photo{object-fit:cover;object-position:center}.hero-photo.mobile{display:none}.rb-banner-button-slot{position:absolute;z-index:2;left:var(--rb-banner-button-left);bottom:var(--rb-banner-button-bottom);width:var(--rb-banner-button-width);height:var(--rb-banner-button-height);display:flex;align-items:stretch;justify-content:stretch}.rb-banner-button-slot:has(.banner-button-i_want){width:29.1667%;height:10.7895%}.banner-button{display:inline-flex;align-items:center;justify-content:center;gap:clamp(6px,.833cqw,16px);width:100%;height:100%;min-width:0;min-height:0;padding:0 clamp(.5rem,1.46cqw,28px);border:clamp(1px,.104cqw,2px) solid var(--rb-gold);border-radius:clamp(8px,1.15cqw,22px);background:var(--rb-green);color:#fff;font-family:Montserrat,Arial,sans-serif;font-size:clamp(10px,1.25cqw,24px);font-weight:700;line-height:1.15;text-align:center;text-transform:none;box-shadow:0 9px 22px rgba(66,72,23,.22);cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}.banner-button svg{flex:0 0 clamp(10px,1.458cqw,28px);width:clamp(10px,1.458cqw,28px);height:clamp(10px,1.458cqw,28px);stroke-width:2}.banner-button:hover{transform:translateY(-1px);background:var(--rb-green-deep);box-shadow:0 12px 26px rgba(66,72,23,.25)}.banner-button-i_want{font-size:clamp(11px,1.5625cqw,30px);letter-spacing:.06em;text-transform:uppercase;box-shadow:0 12px 28px rgba(66,72,23,.27)}.hero-arrow{position:absolute;z-index:4;top:50%;display:grid;place-items:center;width:42px;height:42px;transform:translateY(-50%);border:1px solid rgba(171,144,92,.5);border-radius:50%;background:rgba(255,255,255,.9);color:var(--rb-green);cursor:pointer;box-shadow:0 7px 20px rgba(66,72,23,.12)}.hero-arrow.previous{left:1.25rem}.hero-arrow.next{right:1.25rem}.hero-arrow svg{width:18px}.hero-controls{position:absolute;z-index:4;bottom:1rem;left:50%;display:flex;align-items:center;gap:.75rem;transform:translateX(-50%);padding:.4rem .55rem;border-radius:20px;background:rgba(255,255,255,.74);backdrop-filter:blur(6px)}.hero-dots{display:flex;gap:.45rem}.hero-dots button{width:24px;height:24px;padding:8px;border:0;border-radius:20px;background:rgba(95,101,40,.35);background-clip:content-box;cursor:pointer;transition:width .25s,background .25s}.hero-dots button.active{width:41px;background-color:var(--rb-green)}.pause-button{display:grid;place-items:center;width:25px;height:25px;border:1px solid rgba(95,101,40,.25);border-radius:50%;background:rgba(255,255,255,.84);color:var(--rb-green);cursor:pointer}.pause-button svg{width:11px}.banner-modal-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:1rem;background:rgba(32,35,15,.58);backdrop-filter:blur(4px)}.banner-modal{position:relative;width:min(100%,480px);padding:2.5rem;border:1px solid rgba(171,144,92,.5);border-radius:22px;background:var(--rb-ivory);box-shadow:0 28px 80px rgba(25,28,12,.28)}.banner-modal h2{margin:.2rem 0 .8rem;color:var(--rb-green-deep);font:600 2.7rem/1 var(--font-display),serif}.banner-modal-close{position:absolute;top:1rem;right:1rem;display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(171,144,92,.4);border-radius:50%;background:#fff;color:var(--rb-green);cursor:pointer}.banner-modal form{display:grid;gap:.9rem;margin-top:1.3rem}.banner-modal label{display:grid;gap:.35rem;font-size:.78rem;font-weight:600}.banner-modal input{min-height:44px;padding:.7rem;border:1px solid rgba(171,144,92,.45);border-radius:9px;background:#fff}.banner-preview{container-type:inline-size}.banner-preview.desktop .rb-banner-button-slot{left:95px;bottom:55px;width:560px;height:82px}.banner-preview.mobile .hero-photo.desktop{display:none}.banner-preview.mobile .hero-photo.mobile{display:block}.banner-preview.mobile .rb-banner-button-slot{left:50%;bottom:52px;width:min(86%,860px);height:auto;min-height:76px;transform:translateX(-50%)}.banner-preview.mobile .banner-button{min-height:76px;font-size:22px}.banner-preview.mobile .banner-button-i_want{font-size:27px}@keyframes bannerReveal{0%{opacity:.35}to{opacity:1}}@media(max-width:767px){.hero{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto 40px;height:auto;max-height:none;overflow:hidden;background:#fff}.hero,.hero-empty{aspect-ratio:auto;min-height:0}.hero-empty{height:360px}.hero-slide{grid-column:1/-1;grid-row:1;display:block;background:#fff}.hero-media,.hero-slide{position:relative;inset:auto}.hero-media{width:100%;aspect-ratio:4/5;overflow:hidden;background:#f5eddf}.hero .hero-photo{object-fit:cover;object-position:center}.hero .rb-banner-button-slot{position:absolute;z-index:2;left:16px;right:16px;bottom:16px;width:auto;height:56px;min-height:56px;margin:0;transform:none}.hero .banner-button{min-height:56px;padding:0 18px;border-radius:18px;font-size:17px;gap:10px}.hero .banner-button-i_want{font-size:18px}.hero .banner-button svg{flex-basis:21px;width:21px;height:21px}.hero-arrow{position:relative;top:auto;bottom:auto;align-self:center;width:32px;height:32px;transform:none;box-shadow:none}.hero-arrow.previous{grid-column:1;grid-row:2;left:16px;justify-self:start}.hero-arrow.next{grid-column:3;grid-row:2;right:16px;justify-self:end}.hero-controls{position:relative;grid-column:2;grid-row:2;bottom:auto;left:auto;align-self:center;gap:.55rem;padding:0;background:transparent;transform:none;backdrop-filter:none}.hero-dots{gap:.4rem}.hero-dots button{width:24px;height:24px;padding:8.5px}.hero-dots button.active{width:37px}.pause-button{width:25px;height:25px;background:#fff}.banner-modal{padding:2.2rem 1.3rem 1.5rem}.banner-modal h2{font-size:2.25rem}}@media(prefers-reduced-motion:reduce){.hero-slide{animation:none}.banner-button{transition:none}}