/* RFT home hero slider. Everything is scoped under .rft-hero. No third-party code. */
.rft-hero{position:relative;width:100%;height:400px;margin:0 0 0;overflow:hidden;background:#333;color:#fff;outline:0}
.rft-hero .rft-stage{position:absolute;inset:0;overflow:hidden;isolation:isolate;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.rft-hero .rft-slide{position:absolute;inset:0;display:none}
.rft-hero .rft-slide.is-active,.rft-hero .rft-slide.is-incoming,.rft-hero .rft-slide.is-leaving{display:block}
.rft-hero .rft-bglink{position:absolute;inset:0;display:block;z-index:0}
.rft-hero .rft-bg{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;margin:0;padding:0;border:0}
.rft-hero .rft-slide.is-incoming .rft-bg{opacity:0}
.rft-hero .rft-layerlink{display:contents;text-decoration:none;color:inherit}
.rft-hero .rft-layer{position:absolute;z-index:3;margin:0;box-sizing:content-box;font-family:inherit}
.rft-hero .rft-layer-text{padding:5px;color:#fff;background:#029d54;text-decoration:none}
.rft-hero h1.rft-layer{white-space:nowrap}
.rft-hero .rft-layer-img{padding:0;border:0;background:none;max-width:none}
.rft-hero .rft-tiles{position:absolute;inset:0;z-index:1;pointer-events:none}
.rft-hero .rft-tile{position:absolute;overflow:hidden;opacity:0}
.rft-hero .rft-tile>span{position:absolute;display:block;background-repeat:no-repeat;background-size:cover;background-position:center}

/* Hide layers until the script starts them. Shows by itself after 3 s if the script never runs. */
.rft-hero.rft-pre .rft-layer{opacity:0;animation:rft-reveal 0s 3s forwards}
@keyframes rft-reveal{to{opacity:1}}

/* Controls (only visible once the script has started: .rft-ready) */
.rft-hero .rft-ui{display:none}
.rft-hero.rft-ready .rft-ui{display:block}
.rft-hero button{font:inherit;margin:0;cursor:pointer;-webkit-appearance:none;appearance:none}
.rft-hero .rft-arrow{position:absolute;top:50%;z-index:6;width:44px;height:44px;margin-top:-22px;padding:0;border:0;border-radius:50%;
  background:rgba(0,0,0,.45);color:#fff;opacity:0;transition:opacity .25s}
.rft-hero .rft-prev{left:12px}
.rft-hero .rft-next{right:12px}
.rft-hero .rft-arrow svg{display:block;width:20px;height:20px;margin:auto;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.rft-hero:hover .rft-arrow,.rft-hero:focus-within .rft-arrow{opacity:1}
@media (hover:none){.rft-hero .rft-arrow{opacity:1}}
.rft-hero .rft-arrow:hover{background:rgba(0,0,0,.7)}
.rft-hero button:focus-visible{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 4px #029d54}
.rft-hero .rft-bullets{position:absolute;left:0;right:0;bottom:10px;z-index:6;display:flex;justify-content:center;gap:4px;pointer-events:none}
.rft-hero .rft-bullet{pointer-events:auto;position:relative;width:24px;height:24px;padding:0;border:0;background:none}
.rft-hero .rft-bullet::after{content:"";position:absolute;left:6px;top:6px;width:12px;height:12px;border-radius:50%;
  background:rgba(255,255,255,.45);border:1px solid rgba(0,0,0,.35);box-sizing:border-box}
.rft-hero .rft-bullet[aria-current="true"]::after{background:#fff}
.rft-hero .rft-toggle{position:absolute;right:12px;bottom:10px;z-index:6;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.45);color:#fff}
.rft-hero .rft-toggle svg{display:block;width:14px;height:14px;margin:auto;fill:#fff}
.rft-hero .rft-toggle .rft-ic-play{display:none}
.rft-hero .rft-toggle[aria-pressed="true"] .rft-ic-play{display:block}
.rft-hero .rft-toggle[aria-pressed="true"] .rft-ic-pause{display:none}
.rft-hero .rft-timer{position:absolute;right:12px;top:12px;z-index:6;width:30px;height:30px;pointer-events:none}
.rft-hero .rft-timer svg{display:block;width:30px;height:30px;transform:rotate(-90deg)}
.rft-hero .rft-timer circle{fill:rgba(0,0,0,.35);stroke-width:3}
.rft-hero .rft-timer .rft-timer-bg{stroke:rgba(255,255,255,.3)}
.rft-hero .rft-timer .rft-timer-arc{fill:none;stroke:#fff}
.rft-hero .rft-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Reduced motion: no autoplay, no timer, no play/pause, no animated transition (script also checks) */
@media (prefers-reduced-motion:reduce){
  .rft-hero .rft-timer,.rft-hero .rft-toggle{display:none}
  .rft-hero .rft-arrow{transition:none}
}

/* Phones: a text layer is content width (inline style) + 10px padding, so a 400px box is 410px wide and
   is cut off on a 390px slide. Cap the content width at the slide width minus the padding. All text layers
   have left:0 in the slide data. max-width beats the inline width; the left offset stays. Desktop untouched. */
@media (max-width:767px){
  .rft-hero .rft-layer-text{max-width:calc(100% - 10px);overflow-wrap:break-word;word-wrap:break-word}
  .rft-hero h1.rft-layer-text{white-space:normal}
}
