/** My Hero public styles. Every selector is component-scoped. */
.dmyhero {
	--dmyhero-text:#fff; --dmyhero-button-bg:#fff; --dmyhero-button-text:#111;
	--dmyhero-control-bg:rgba(0,0,0,.68); --dmyhero-control-text:#fff; --dmyhero-focus:#ffd400;
	position:relative; width:100%; max-width:var(--dmyhero-max-width,none); margin-inline:auto;
	color:var(--dmyhero-text); font-family:inherit;
}
.dmyhero--palette-clean-light { --dmyhero-text:#111; --dmyhero-button-bg:#111; --dmyhero-button-text:#fff; --dmyhero-focus:#005fcc; }
.dmyhero--palette-warm-neutral { --dmyhero-text:#fff8e8; --dmyhero-button-bg:#f2c078; --dmyhero-button-text:#24160c; --dmyhero-focus:#fff; }
.dmyhero--palette-cool-modern { --dmyhero-text:#fff; --dmyhero-button-bg:#73b9ff; --dmyhero-button-text:#071b32; --dmyhero-focus:#fff; }
.dmyhero--palette-high-contrast { --dmyhero-text:#fff; --dmyhero-button-bg:#ffea00; --dmyhero-button-text:#000; --dmyhero-control-bg:#000; --dmyhero-focus:#00ffff; }
.dmyhero .screen-reader-text { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.dmyhero__viewport { position:relative; aspect-ratio:var(--dmyhero-ratio,16/9); overflow:hidden; border-radius:var(--dmyhero-radius,12px); background:#222; isolation:isolate; }
.dmyhero__slide { position:absolute; inset:0; opacity:0; transition:opacity .45s ease; }
.dmyhero--transition-none .dmyhero__slide { transition:none; }
.dmyhero__slide.is-active { position:relative; height:100%; opacity:1; }
.dmyhero__media,.dmyhero__image { width:100%; height:100%; }
.dmyhero__media { position:absolute; inset:0; overflow:hidden; }
.dmyhero__image { display:block; object-fit:cover; object-position:50% 50%; }
.dmyhero__image--targeted { position:absolute; max-width:none; object-fit:fill; }
.dmyhero__overlay { position:absolute; z-index:1; inset:0; background:var(--dmyhero-gradient); pointer-events:none; }
.dmyhero__debug-overlay { position:absolute; z-index:4; inset:0; overflow:hidden; pointer-events:none; }
.dmyhero__debug-overlay::after { content:attr(data-result-label) " \00b7  " attr(data-zoom) "\00d7"; position:absolute; right:.7rem; top:.7rem; padding:.3rem .5rem; border:1px solid rgba(255,255,255,.75); border-radius:.25rem; color:#fff; background:rgba(0,0,0,.8); font:700 clamp(.58rem,.8vw,.75rem)/1.2 sans-serif; letter-spacing:.035em; }
.dmyhero__debug-zone { position:absolute; box-sizing:border-box; }
.dmyhero__debug-zone span { position:absolute; left:0; top:0; padding:.18rem .38rem; color:#fff; background:rgba(0,0,0,.72); font:700 clamp(.55rem,.85vw,.75rem)/1.2 sans-serif; letter-spacing:.05em; }
.dmyhero__debug-safe { left:50%; top:18%; width:34%; height:74%; border:3px solid #27c46b; background:rgba(39,196,107,.045); }
.dmyhero__debug-focus { left:58%; top:30%; width:23%; height:32%; border:3px solid #20c3cc; background:rgba(32,195,204,.055); }
.dmyhero__debug-target { position:absolute; z-index:0; left:var(--dmyhero-target-x,69.5%); top:var(--dmyhero-target-y,46%); width:74px; height:74px; transform:translate(-50%,-50%) rotate(45deg); border:3px dashed #f1b928; filter:drop-shadow(0 1px 2px #000); }
.dmyhero__debug-target span { position:absolute; left:50%; top:-1.6rem; padding:.15rem .35rem; color:#fff; background:rgba(0,0,0,.72); font:700 clamp(.5rem,.75vw,.68rem)/1.2 sans-serif; letter-spacing:.05em; transform:translateX(-50%) rotate(-45deg); }
.dmyhero__debug-bullseye { position:absolute; left:var(--dmyhero-debug-x,50%); top:var(--dmyhero-debug-y,50%); width:58px; height:58px; transform:translate(-50%,-50%); border:3px solid #fff; border-radius:50%; filter:drop-shadow(0 1px 2px #000); }
.dmyhero__debug-bullseye::before,.dmyhero__debug-bullseye::after { content:""; position:absolute; left:50%; top:50%; background:#fff; transform:translate(-50%,-50%); }
.dmyhero__debug-bullseye::before { width:78px; height:3px; }
.dmyhero__debug-bullseye::after { width:3px; height:78px; }
.dmyhero__debug-bullseye span { position:absolute; z-index:1; left:50%; top:50%; width:12px; height:12px; transform:translate(-50%,-50%); background:#f00; border:2px solid #fff; border-radius:50%; }
.dmyhero__content { position:absolute; z-index:2; left:clamp(1.25rem,5vw,5rem); top:50%; transform:translateY(-50%); width:min(40%,36rem); max-width:calc(100% - 2.5rem); text-align:left; }
.dmyhero--content-right-center .dmyhero__content { left:auto; right:clamp(1.25rem,5vw,5rem); }
.dmyhero--content-left-top .dmyhero__content,.dmyhero--content-right-top .dmyhero__content { top:clamp(1.25rem,5vw,5rem); transform:none; }
.dmyhero--content-left-bottom .dmyhero__content,.dmyhero--content-right-bottom .dmyhero__content { top:auto; bottom:clamp(2.75rem,6vw,5.5rem); transform:none; }
.dmyhero--content-right-top .dmyhero__content,.dmyhero--content-right-bottom .dmyhero__content { left:auto; right:clamp(1.25rem,5vw,5rem); }
.dmyhero__eyebrow { margin:0 0 .55rem; color:inherit; font-weight:700; text-transform:uppercase; letter-spacing:.09em; font-size:clamp(.75rem,1.15vw,1rem); }
.dmyhero__heading { margin:0 0 .8rem; color:inherit; font:inherit; font-size:clamp(2rem,4.8vw,4.5rem); font-weight:750; line-height:1.02; }
.dmyhero__body { margin:0 0 1.1rem; color:inherit; font-size:clamp(1rem,1.7vw,1.25rem); line-height:1.45; }
.dmyhero__button { display:inline-block; padding:.8rem 1.2rem; border:2px solid var(--dmyhero-button-bg); border-radius:.45rem; color:var(--dmyhero-button-text); background:var(--dmyhero-button-bg); font:inherit; font-weight:700; text-decoration:none; }
.dmyhero__button:hover { filter:brightness(.92); }
.dmyhero__button:focus-visible,.dmyhero__control:focus-visible { outline:3px solid var(--dmyhero-focus); outline-offset:3px; }
.dmyhero__controls { position:absolute; z-index:5; inset:0; pointer-events:none; border-radius:var(--dmyhero-radius,12px); overflow:hidden; }
.dmyhero__control { position:absolute; display:grid; place-items:center; width:3rem; height:3rem; padding:0; border:1px solid rgba(255,255,255,.55); border-radius:50%; color:var(--dmyhero-control-text); background:var(--dmyhero-control-bg); font:inherit; font-size:2.25rem; line-height:1; cursor:pointer; pointer-events:auto; opacity:.72; transition:opacity .18s ease,transform .18s ease; }
.dmyhero:hover .dmyhero__control,.dmyhero__control:focus-visible { opacity:1; }
.dmyhero__previous { left:1rem; top:50%; transform:translateY(-50%); }
.dmyhero__next { right:1rem; top:50%; transform:translateY(-50%); }
.dmyhero__toggle { right:1rem; bottom:1rem; width:2.8rem; height:2.8rem; font-size:1.15rem; }
.dmyhero--controls-left .dmyhero__toggle { right:auto; left:1rem; }
.dmyhero__indicators { position:absolute; left:50%; bottom:1.35rem; transform:translateX(-50%); display:flex; gap:.45rem; align-items:center; pointer-events:none; }
.dmyhero--dots-left .dmyhero__indicators { left:1rem; transform:none; }
.dmyhero--dots-right .dmyhero__indicators { left:auto; right:1rem; transform:none; }
.dmyhero__indicator { display:block; width:.62rem; height:.62rem; border:1px solid rgba(255,255,255,.9); border-radius:50%; background:rgba(255,255,255,.38); box-shadow:0 1px 4px rgba(0,0,0,.55); }
.dmyhero__indicator.is-active { width:.78rem; height:.78rem; background:#fff; }
@media (prefers-reduced-motion:reduce) { .dmyhero__slide,.dmyhero__control { transition:none; } }
@media (max-width:40rem) {
	.dmyhero__content { left:1.25rem; top:.75rem; transform:none; width:min(85%,calc(100% - 2.5rem)); max-width:none; }
	.dmyhero__eyebrow { margin-bottom:.2rem; font-size:.62rem; }
	.dmyhero__heading { margin-bottom:.3rem; font-size:clamp(1.55rem,7vw,2rem); line-height:1; }
	.dmyhero__body { margin-bottom:.45rem; font-size:clamp(.78rem,3.35vw,.95rem); line-height:1.25; }
	.dmyhero__button { padding:.48rem .75rem; font-size:.82rem; }
	.dmyhero__control { opacity:.92; width:2.75rem; height:2.75rem; }
	.dmyhero__previous { left:auto; right:3.75rem; top:.65rem; transform:none; }
	.dmyhero__next { right:.65rem; top:.65rem; transform:none; }
	.dmyhero__toggle { right:.65rem; bottom:.65rem; }
	.dmyhero--controls-left .dmyhero__toggle { left:.65rem; }
	.dmyhero__indicators { left:auto; right:4.15rem; bottom:.9rem; transform:none; }
}
