/* Primefield hero carousel */
.pf-carousel{position:relative;overflow:hidden;background:var(--pf-primary-dark);height:clamp(440px,70vh,680px)}
.pf-carousel__track{position:relative;width:100%;height:100%}
.pf-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease;display:flex;align-items:center}
.pf-slide.is-active{opacity:1;visibility:visible;z-index:2}
.pf-slide__media{position:absolute;inset:0;z-index:1}
.pf-slide__media img,.pf-slide__video{width:100%;height:100%;object-fit:cover;display:block}
.pf-slide__media--gradient,.pf-slide--fallback .pf-slide__media{position:absolute;inset:0;background:
  radial-gradient(120% 120% at 15% 10%, rgba(221,161,47,.18), transparent 55%),
  linear-gradient(135deg, var(--pf-primary) 0%, var(--pf-primary-dark) 100%)}
/* YouTube facade */
.pf-slide__yt{position:absolute;inset:0;background-size:cover;background-position:center;cursor:pointer}
.pf-slide__yt-thumb{width:100%;height:100%;object-fit:cover}
.pf-slide__yt::after{content:"";position:absolute;left:50%;top:50%;width:78px;height:78px;transform:translate(-50%,-50%);
  background:var(--pf-accent);border-radius:50%;box-shadow:0 10px 30px rgba(0,0,0,.35);z-index:3;transition:transform .2s}
.pf-slide__yt::before{content:"";position:absolute;left:calc(50% + 4px);top:50%;transform:translate(-50%,-50%);
  border-left:22px solid var(--pf-primary-dark);border-top:14px solid transparent;border-bottom:14px solid transparent;z-index:4}
.pf-slide__yt:hover::after{transform:translate(-50%,-50%) scale(1.08)}
.pf-slide__yt-frame{position:absolute;inset:0;width:100%;height:100%;z-index:5;border:0}
/* Overlay scrim — strength set inline per slide via --overlay */
.pf-slide__overlay{position:absolute;inset:0;z-index:2;
  background:linear-gradient(90deg, rgba(3,32,64,var(--scrim,.55)) 0%, rgba(3,32,64,calc(var(--scrim,.55) * .4)) 60%, transparent 100%);
  --scrim:calc(var(--overlay) / 100)}
/* Slide content overlay */
.pf-slide__content{position:relative;z-index:3;width:100%;color:#fff;max-width:680px}
.pf-slide__content--center{margin:0 auto;text-align:center;max-width:820px}
.pf-slide__content--right{margin-left:auto;text-align:right}
.pf-slide__heading{font-size:clamp(1.9rem,4vw,3.2rem);line-height:1.08;margin:0 0 1rem;font-weight:800;letter-spacing:-.02em;text-shadow:0 2px 20px rgba(0,0,0,.3)}
.pf-slide__sub{font-size:clamp(1rem,1.6vw,1.3rem);margin:0 0 1.75rem;color:#e6edf6;max-width:48ch}
.pf-slide__content--center .pf-slide__sub{margin-left:auto;margin-right:auto}
.pf-slide__content--right .pf-slide__sub{margin-left:auto}
/* Arrows */
.pf-carousel__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:48px;height:48px;border:none;border-radius:50%;
  background:rgba(255,255,255,.14);color:#fff;font-size:1.8rem;line-height:1;cursor:pointer;backdrop-filter:blur(4px);transition:background .2s}
.pf-carousel__arrow:hover{background:var(--pf-accent);color:var(--pf-primary-dark)}
.pf-carousel__arrow--prev{left:18px}
.pf-carousel__arrow--next{right:18px}
/* Dots */
.pf-carousel__dots{position:absolute;left:0;right:0;bottom:20px;z-index:6;display:flex;gap:.6rem;justify-content:center}
.pf-carousel__dot{width:11px;height:11px;border-radius:50%;border:2px solid rgba(255,255,255,.7);background:transparent;cursor:pointer;padding:0;transition:.2s}
.pf-carousel__dot.is-active{background:var(--pf-accent);border-color:var(--pf-accent);transform:scale(1.15)}
.pf-carousel--single .pf-carousel__arrow,.pf-carousel--single .pf-carousel__dots{display:none}
@media (max-width:640px){
  .pf-carousel__arrow{width:38px;height:38px;font-size:1.4rem}
  .pf-slide__content--right,.pf-slide__content--center{text-align:left;margin:0}
}
@media (prefers-reduced-motion:reduce){
  .pf-slide{transition:none}
}
