/* Appe Hero Carousel. Colours and fonts follow the active Keen Web design system (--kwds-*). */
.ahc{--ahc-bg:var(--kwds-color-bg,#F8FAFC);--ahc-ink:var(--kwds-color-ink,#0F172A);--ahc-muted:var(--kwds-color-muted,#475569);--ahc-accent:var(--kwds-color-accent,#D60000);--ahc-accent-strong:var(--kwds-color-accent-strong,#A30000);--ahc-tint:var(--kwds-color-accent-surface,#FEF2F2);--ahc-line:var(--kwds-color-border-strong,#CBD5E1);--ahc-surface:var(--kwds-color-surface,#FFFFFF);--ahc-max:1320px;--ahc-gutter:clamp(16px,4vw,32px);position:relative;isolation:isolate;overflow:hidden;background:var(--ahc-bg);color:var(--ahc-ink);font-family:var(--kwds-font-body,inherit)}
.ahc *,.ahc *::before,.ahc *::after{box-sizing:border-box}
.ahc__track{position:relative;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.ahc__track::-webkit-scrollbar{display:none}
.ahc__slide{position:relative;flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;background:radial-gradient(70% 55% at 50% 34%,var(--ahc-tint) 0%,rgba(255,255,255,0) 72%),var(--ahc-bg)}
.ahc__inner{position:relative;max-width:var(--ahc-max);margin:0 auto;padding:clamp(20px,5vw,40px) var(--ahc-gutter) 84px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"stage" "content";row-gap:4px}
.ahc__wordmark{grid-area:stage;align-self:start;margin:0;overflow:visible;font-family:var(--kwds-font-heading,inherit);font-weight:800;font-size:21vw;line-height:.8;letter-spacing:-.055em;white-space:nowrap;text-transform:lowercase;color:var(--ahc-ink);user-select:none;pointer-events:none;z-index:0}
.ahc__wordmark span{color:var(--ahc-accent)}
.ahc__media{grid-area:stage;position:relative;z-index:1;display:flex;justify-content:center;align-items:center;padding-top:clamp(34px,10vw,72px)}
.ahc__media picture{display:contents}
.ahc__img{display:block;width:100%;height:auto;max-height:min(42vh,400px);object-fit:contain;filter:drop-shadow(0 22px 30px rgba(15,23,42,.10))}
.ahc__content{grid-area:content;position:relative;z-index:2;padding-top:10px}
.ahc__eyebrow{margin:0 0 .5rem;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ahc-accent-strong)}
.ahc .ahc__title{margin:0 0 .6rem;font-family:var(--kwds-font-heading,inherit);font-weight:800;font-size:clamp(1.75rem,1.2rem + 2vw,2.875rem);line-height:1.08;letter-spacing:-.02em;color:var(--ahc-ink)}
.ahc__text{margin:0 0 1rem;max-width:44ch;font-size:clamp(.9375rem,.9rem + .2vw,1.0625rem);line-height:1.6;color:var(--ahc-muted)}
.ahc__price{margin:0 0 1.25rem;font-weight:700;font-size:1.25rem;color:var(--ahc-ink)}
.ahc__price small{margin-right:.4em;font-size:.8125rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ahc-muted)}
.ahc .ahc__buttons{display:flex;flex-wrap:wrap;gap:12px;margin:0}
.ahc .ahc__buttons .wp-block-button{margin:0}
.ahc__note{margin:1rem 0 0;font-size:.8125rem;color:var(--ahc-muted)}
.ahc__controls{position:absolute;left:0;right:0;bottom:18px;z-index:3;max-width:var(--ahc-max);margin:0 auto;padding:0 var(--ahc-gutter);display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}
.ahc__controls>*{pointer-events:auto}
.ahc__dots{display:flex;align-items:center;gap:2px;margin-left:-8px}
.ahc__dot{width:26px;height:26px;padding:8px;border:0;border-radius:999px;background:var(--ahc-line);background-clip:content-box;cursor:pointer;transition:width .3s ease,background-color .3s ease}
.ahc__dot[aria-current="true"]{width:44px;background-color:var(--ahc-accent)}
.ahc__nav{display:flex;align-items:center;gap:8px}
.ahc__count{margin-right:6px;font-size:.75rem;font-weight:600;letter-spacing:.12em;font-variant-numeric:tabular-nums;color:var(--ahc-muted)}
.ahc__btn{width:44px;height:44px;display:inline-grid;place-items:center;padding:0;border:1px solid var(--ahc-line);border-radius:999px;background:var(--ahc-surface);color:var(--ahc-ink);cursor:pointer;transition:border-color .2s ease}
.ahc__btn:hover{border-color:var(--ahc-ink)}
.ahc__btn svg{width:18px;height:18px}
.ahc__btn:focus-visible,.ahc__dot:focus-visible{outline:2px solid var(--kwds-color-focus,#D60000);outline-offset:2px}
.ahc__i-play{display:none}
.ahc.is-paused .ahc__i-play{display:block}
.ahc.is-paused .ahc__i-pause{display:none}
/* Layered media: base product + floating pieces on a 4:3 stage */
.ahc{--ahc-stage-h:min(44vh,420px);--ahc-amp:6px}
.ahc__stage{position:relative;width:100%;max-width:calc(var(--ahc-stage-h) * 4 / 3);aspect-ratio:4/3;margin:0 auto}
.ahc__layer{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:auto;max-width:none;transform:translate(-50%,-50%) rotate(var(--r));will-change:transform}
.ahc__layer--back{z-index:1}
.ahc__layer--base{z-index:2;filter:drop-shadow(0 22px 30px rgba(15,23,42,.12))}
.ahc__layer--front{z-index:3}
.ahc__layer.is-float{filter:drop-shadow(0 16px 18px rgba(15,23,42,.10));animation:ahc-float var(--d,6s) ease-in-out var(--dl,0s) infinite alternate}
@keyframes ahc-float{from{transform:translate(-50%,-50%) translateY(calc(var(--ahc-amp) * -1)) rotate(calc(var(--r) - 2.5deg))}to{transform:translate(-50%,-50%) translateY(var(--ahc-amp)) rotate(calc(var(--r) + 2.5deg))}}
.ahc__slide[inert] .ahc__layer.is-float,.ahc.is-paused .ahc__layer.is-float{animation-play-state:paused}
@media (min-width:900px){.ahc{--ahc-stage-h:min(66vh,620px);--ahc-amp:11px}.ahc__media--layers{padding-top:clamp(20px,3vw,48px)}}
@media (prefers-reduced-motion:reduce){.ahc__layer.is-float{animation:none}}
@media (max-width:599px){.ahc__count{display:none}.ahc__nav .ahc__prev{display:none}}
@media (min-width:900px){
.ahc__slide{background:radial-gradient(42% 62% at 70% 54%,var(--ahc-tint) 0%,rgba(255,255,255,0) 72%),var(--ahc-bg)}
.ahc__inner{grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:auto 1fr;grid-template-areas:"word word" "content stage";column-gap:32px;min-height:clamp(560px,calc(100svh - 120px),760px);padding-top:clamp(28px,3vw,44px);padding-bottom:100px}
.ahc__wordmark{grid-area:word;font-size:16vw}
.ahc__media{grid-area:auto;grid-column:2;grid-row:1 / 3;align-items:center;padding-top:clamp(36px,4vw,72px)}
.ahc__img{max-height:min(64vh,600px)}
.ahc__content{grid-area:content;align-self:end;padding:0 0 4px}
}
@media (prefers-reduced-motion:reduce){.ahc__track{scroll-behavior:auto}.ahc__dot,.ahc__btn{transition:none}}
