/* project-hero-slider shortcode. Every rule is scoped to .sx-hero-slider so the legacy project-hero is untouched. */
.sx-hero-slider{
  --sx-hs-gold:var(--lux-gold,#a8844a);
  --sx-hs-gold-soft:#d9b877;
  --sx-hs-serif:var(--lux-serif,"Cormorant Garamond","Playfair Display","Noto Serif",Georgia,"Times New Roman",serif);
  --sx-hs-height:clamp(420px,72vh,760px);
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:100%;
  color:#fff;
  background:#0f1115;
}
.sx-hero-slider--container{max-width:1200px;margin-inline:auto;border-radius:12px}
.sx-hero-slider--full{max-width:none;border-radius:0}
.sx-hero-slider *,.sx-hero-slider *::before,.sx-hero-slider *::after{box-sizing:border-box}
.sx-hero-slider__viewport{position:relative;min-height:var(--sx-hs-height)}
.sx-hero-slider__slide{position:relative;min-height:var(--sx-hs-height);display:flex;align-items:stretch}
.sx-hero-slider__slide[hidden]{display:none}
.sx-hero-slider__slide.is-active{animation:sx-hs-fade .6s ease both}
@keyframes sx-hs-fade{from{opacity:0}to{opacity:1}}
.sx-hero-slider__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;z-index:-2}
.sx-hero-slider__overlay{position:relative;width:100%;min-height:var(--sx-hs-height);height:auto;display:flex;align-items:flex-end;padding:clamp(1.5rem,5vw,4.5rem) clamp(1.25rem,6vw,5rem) clamp(5.5rem,10vw,7rem)}
.sx-hero-slider__overlay::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,10,14,.15) 0%,rgba(8,10,14,.45) 45%,rgba(8,10,14,.88) 100%),linear-gradient(90deg,rgba(8,10,14,.55) 0%,rgba(8,10,14,0) 65%)}
.sx-hero-slider__content{max-width:min(640px,100%);min-width:0;display:grid;gap:1rem;justify-items:start;overflow-wrap:anywhere}
/* Per-slide typography: --sx-hs-{title,description}-{color,weight,size} are set inline on the slide only when valid;
   unset properties fall back to the original defaults. min() keeps the default fluid size untouched while capping a custom px size on narrow screens. */
.sx-hero-slider .sx-hero-slider__title{margin:0;font-family:var(--sx-hs-serif);font-weight:var(--sx-hs-title-weight,600);font-size:min(var(--sx-hs-title-size,clamp(2rem,5.2vw,4rem)),max(2rem,11vw));line-height:1.08;letter-spacing:-.01em;color:var(--sx-hs-title-color,#fff);text-wrap:balance}
.sx-hero-slider .sx-hero-slider__description{margin:0;font-weight:var(--sx-hs-description-weight,400);font-size:min(var(--sx-hs-description-size,clamp(1rem,1.6vw,1.2rem)),max(1rem,11vw));line-height:1.6;color:var(--sx-hs-description-color,rgba(255,255,255,.88));max-width:56ch}
.sx-hero-slider .sx-hero-slider__cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.75rem;margin-top:.5rem;border-radius:999px;background:var(--sx-hs-gold-soft);color:#1a140a;font-weight:600;letter-spacing:.02em;text-decoration:none;transition:background-color .2s ease,transform .2s ease}
.sx-hero-slider .sx-hero-slider__cta:hover{background:var(--sx-hs-gold);color:#1a140a;transform:translateY(-1px)}
.sx-hero-slider__cta:focus-visible,.sx-hero-slider button:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px rgba(168,132,74,.7)}
.sx-hero-slider__controls{position:absolute;left:0;right:0;max-width:100%;bottom:clamp(1rem,3vw,2rem);z-index:2;display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:.5rem;padding-inline:1rem}
.sx-hero-slider__controls button{appearance:none;-webkit-appearance:none;min-width:44px;min-height:44px;margin:0;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(8,10,14,.45);color:#fff;font:inherit;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .2s ease,border-color .2s ease}
.sx-hero-slider__controls button:hover{background:rgba(8,10,14,.7);border-color:#fff}
.sx-hero-slider__controls button[hidden]{display:none}
.sx-hero-slider__nav,.sx-hero-slider [data-hero-slider-prev],.sx-hero-slider [data-hero-slider-next]{width:44px;height:44px;padding:0;font-size:1.6rem}
.sx-hero-slider__dots{display:flex;align-items:center;gap:0;flex:0 1 auto;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none;justify-content:safe center}
.sx-hero-slider__dots::-webkit-scrollbar{display:none}
.sx-hero-slider__controls>button{flex:0 0 auto}
.sx-hero-slider__controls .sx-hero-slider__dot{flex:0 0 44px;width:44px;height:44px;padding:0;border:0;background:transparent;position:relative}
.sx-hero-slider__controls .sx-hero-slider__dot::before{content:"";width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.55);transition:width .25s ease,background-color .25s ease}
.sx-hero-slider__controls .sx-hero-slider__dot:hover{background:transparent}
.sx-hero-slider__controls .sx-hero-slider__dot[aria-pressed="true"]::before{width:26px;border-radius:999px;background:var(--sx-hs-gold)}
.sx-hero-slider__pause{padding:0 1rem;font-size:.875rem;font-weight:600}
.sx-hero-slider__status{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.sx-hero-slider--empty{min-height:160px;display:flex;align-items:center;justify-content:center;background:#1a1d23;border:1px dashed rgba(255,255,255,.3)}
.sx-hero-slider__hint{margin:0;padding:1.5rem;color:rgba(255,255,255,.8);text-align:center}
@media (max-width:767.98px){
  .sx-hero-slider{--sx-hs-height:clamp(480px,82vh,640px)}
  .sx-hero-slider--container{border-radius:0}
  .sx-hero-slider__overlay{padding:1.5rem 1.25rem 8.5rem}
  .sx-hero-slider__dots{order:-1;flex:1 0 100%}
  .sx-hero-slider__overlay::before{background:linear-gradient(180deg,rgba(8,10,14,.2) 0%,rgba(8,10,14,.6) 45%,rgba(8,10,14,.92) 100%)}
  .sx-hero-slider .sx-hero-slider__cta{width:100%}
  .sx-hero-slider__controls{flex-wrap:wrap;gap:.25rem}
  .sx-hero-slider__pause{padding:0 .75rem}
}
@media (min-width:768px) and (max-width:1199.98px){
  .sx-hero-slider{--sx-hs-height:clamp(460px,64vh,640px)}
}
@media (min-width:1440px){
  .sx-hero-slider--full{--sx-hs-height:clamp(560px,78vh,860px)}
  .sx-hero-slider--full .sx-hero-slider__overlay{padding-inline:max(5rem,calc((100vw - 1280px)/2))}
}
@media (prefers-reduced-motion:reduce){
  .sx-hero-slider__slide.is-active{animation:none}
  .sx-hero-slider__cta,.sx-hero-slider__controls button,.sx-hero-slider__controls .sx-hero-slider__dot::before{transition:none}
}
.sx-hero-slider[style*="--sx-slider-image-height"] .sx-hero-slider__viewport,
.sx-hero-slider[style*="--sx-slider-image-height"] .sx-hero-slider__slide,
.sx-hero-slider[style*="--sx-slider-image-height"] .sx-hero-slider__overlay{height:var(--sx-slider-image-height);min-height:0}
