/* Scoped campaign slider. Dynamic layout stays in Elementor controls. */
.oc-hero{--oc-hero-height:660px;--oc-hero-ink:#f6f3ed;--oc-hero-background:#171715;--oc-hero-button-bg:#f6f3ed;--oc-hero-button-ink:#171715;--oc-hero-inset:clamp(24px,4.5vw,80px);position:relative;isolation:isolate;width:100%;overflow:hidden;color:var(--oc-hero-ink);background:var(--oc-hero-background);touch-action:pan-y}
.oc-hero .oc-hero__stage{display:grid;min-height:var(--oc-hero-height)}
.oc-hero .oc-hero__slide{grid-area:1/1;position:relative;min-width:0;display:flex;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .6s ease,visibility .6s;overflow:hidden}
.oc-hero .oc-hero__slide.is-active{visibility:visible;opacity:1;pointer-events:auto;z-index:1}
.oc-hero .oc-hero__picture{position:absolute;inset:0;display:block;overflow:hidden}
.oc-hero .oc-hero__picture:after{content:"";position:absolute;inset:0;background:#000;opacity:var(--oc-hero-overlay,.3)}
.oc-hero .oc-hero__image{width:100%;height:100%;max-width:none;display:block;object-fit:cover;object-position:var(--oc-hero-position,center);margin:0;border:0;border-radius:0}
.oc-hero .oc-hero__content{position:relative;z-index:1;width:100%;min-height:var(--oc-hero-height);display:flex;align-items:center;max-width:1800px;margin-inline:auto;padding:64px var(--oc-hero-inset) 96px}
.oc-hero .oc-hero__copy{width:100%;max-width:650px;text-align:left;overflow-wrap:break-word}
.oc-hero .oc-hero__slide--center .oc-hero__copy{margin-inline:auto;text-align:center}
.oc-hero .oc-hero__slide--right .oc-hero__copy{margin-left:auto;text-align:right}
.oc-hero .oc-hero__label{margin:0 0 20px;font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:inherit}
.oc-hero .oc-hero__title{margin:0;color:inherit;font-family:'OUTCAST Display',Impact,sans-serif;font-size:clamp(64px,8.2vw,120px);font-weight:800;line-height:.9;letter-spacing:-.025em;text-transform:uppercase;text-wrap:balance}
.oc-hero .oc-hero__description{max-width:400px;margin:24px 0 0;font-size:16px;line-height:1.55;color:inherit;text-wrap:pretty}
.oc-hero .oc-hero__slide--center .oc-hero__description{margin-inline:auto}
.oc-hero .oc-hero__slide--right .oc-hero__description{margin-left:auto}
.oc-hero .oc-hero__actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:28px}
.oc-hero .oc-hero__actions:empty{display:none}
.oc-hero .oc-hero__slide--center .oc-hero__actions{justify-content:center}
.oc-hero .oc-hero__slide--right .oc-hero__actions{justify-content:flex-end}
.oc-hero .oc-hero__cta{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;max-width:100%;padding:14px 22px;color:var(--oc-hero-button-ink);background:var(--oc-hero-button-bg);border:1px solid var(--oc-hero-button-bg);border-radius:0;font-size:12px;font-weight:600;line-height:1.3;letter-spacing:.035em;text-decoration:none;text-transform:uppercase;transition:background .2s,color .2s}
.oc-hero .oc-hero__cta:hover{background:var(--oc-hero-button-ink);color:var(--oc-hero-button-bg)}
.oc-hero .oc-hero__cta--secondary{color:var(--oc-hero-ink);background:transparent;border-color:currentColor}
.oc-hero .oc-hero__cta--secondary:hover{color:var(--oc-hero-button-ink);background:var(--oc-hero-button-bg)}
.oc-hero .oc-hero__controls{position:absolute;inset:auto var(--oc-hero-inset) 22px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--oc-hero-ink)}
.oc-hero .oc-hero__controls[hidden]{display:none}
.oc-hero .oc-hero__pagination,.oc-hero .oc-hero__navigation{display:flex;align-items:center;gap:8px}
.oc-hero .oc-hero__pagination{flex-wrap:wrap}
.oc-hero .oc-hero__controls button{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:0;border-radius:0;margin:0;padding:10px;background:transparent;color:inherit;font-family:inherit;font-size:13px;line-height:1;cursor:pointer;box-shadow:none;transition:background .2s}
.oc-hero .oc-hero__controls button:hover{background:#ffffff1a}
.oc-hero .oc-hero__controls .oc-hero__page{border-bottom:1px solid transparent}
.oc-hero .oc-hero__controls .oc-hero__page[aria-current=true]{border-bottom-color:currentColor}
.oc-hero .oc-hero__controls .oc-hero__previous,.oc-hero .oc-hero__controls .oc-hero__next{font-size:24px}
.oc-hero .oc-hero__controls .oc-hero__toggle{font-size:12px}
.oc-hero :is(a,button):focus-visible{outline:2px solid currentColor;outline-offset:4px}
.oc-hero.oc-hero--zoom .is-active .oc-hero__image{animation:oc-hero-zoom 12s linear both}
.oc-hero.oc-hero--paused .oc-hero__image{animation-play-state:paused}
.oc-hero.oc-hero--ready .is-active .oc-hero__copy{animation:oc-hero-copy .65s ease both}
@keyframes oc-hero-zoom{from{transform:scale(1)}to{transform:scale(1.045)}}
@keyframes oc-hero-copy{from{opacity:.3;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1024px){.oc-hero{--oc-hero-height:580px}.oc-hero .oc-hero__copy{max-width:580px}.oc-hero .oc-hero__title{font-size:84px}}
@media(max-width:767px){.oc-hero{--oc-hero-height:490px;--oc-hero-inset:22px}.oc-hero .oc-hero__image{object-position:var(--oc-hero-mobile-position,center)}.oc-hero .oc-hero__content{padding:36px var(--oc-hero-inset) 84px;align-items:flex-end}.oc-hero .oc-hero__title{font-size:58px;line-height:.94}.oc-hero .oc-hero__label{font-size:10px;margin-bottom:14px}.oc-hero .oc-hero__description{font-size:14px;max-width:320px;margin-top:17px}.oc-hero .oc-hero__actions{gap:10px;margin-top:21px}.oc-hero .oc-hero__cta{padding:13px 16px;gap:18px;font-size:11px}.oc-hero .oc-hero__controls{bottom:14px}.oc-hero .oc-hero__pagination,.oc-hero .oc-hero__navigation{gap:2px}.oc-hero .oc-hero__controls button{min-width:40px;min-height:44px;padding:8px}.oc-hero .oc-hero__copy{max-width:100%}}
@media(max-width:374px){.oc-hero .oc-hero__title{font-size:50px}.oc-hero{--oc-hero-inset:18px}.oc-hero .oc-hero__controls button{min-width:36px}}
@media(prefers-reduced-motion:reduce){.oc-hero .oc-hero__slide,.oc-hero .oc-hero__cta,.oc-hero .oc-hero__controls button{transition:none}.oc-hero.oc-hero--zoom .oc-hero__image,.oc-hero.oc-hero--ready .oc-hero__copy{animation:none!important}}
.oc-motion-off .oc-hero .oc-hero__slide{transition:none}.oc-motion-off .oc-hero.oc-hero--zoom .oc-hero__image,.oc-motion-off .oc-hero.oc-hero--ready .oc-hero__copy{animation:none!important}
