/* All selectors and custom properties are scoped to this plugin. */
.fhwp{position:relative;width:100%;max-width:100%;isolation:isolate;--fhwp-admin:0px;font-family:var(--fhwp-body-font,Nunito,sans-serif);background:#292039;box-sizing:border-box}
.fhwp *,.fhwp *::before,.fhwp *::after{box-sizing:border-box}
.fhwp .fhwp-viewport{height:calc(100vh - var(--fhwp-offset,0px) - var(--fhwp-admin));height:calc(100svh - var(--fhwp-offset,0px) - var(--fhwp-admin));min-height:480px;overflow-x:hidden;overflow-y:auto;scroll-snap-type:y mandatory;scroll-behavior:smooth;scrollbar-width:none;position:relative;outline-offset:-4px}
.fhwp-viewport::-webkit-scrollbar{display:none}
.fhwp .fhwp-slide{height:100%;min-height:480px;scroll-snap-align:start;scroll-snap-stop:always;position:relative;isolation:isolate;overflow:hidden;background:var(--fhwp-bg);color:var(--fhwp-text);margin:0;padding:0;border:0}
.fhwp .fhwp-background{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;z-index:-2;pointer-events:none}
.fhwp .fhwp-texture{position:absolute;inset:0;opacity:.05;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.6' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.fhwp .fhwp-scene{position:absolute;inset:0;will-change:transform,opacity;pointer-events:none}
.fhwp .fhwp-word{position:absolute;left:0;top:var(--fhwp-word-top);width:100%;padding:0 3%;text-align:center;white-space:nowrap;color:var(--fhwp-word-color);opacity:var(--fhwp-word-opacity);font-family:var(--fhwp-word-font);font-size:var(--fhwp-word-size);font-weight:var(--fhwp-word-weight);line-height:1.15;letter-spacing:-.065em;pointer-events:none}
.fhwp .fhwp-logo{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);width:min(var(--fhwp-logo-width),32%);height:auto;min-height:150px;max-height:230px;margin:0;padding:0;background:none!important;background-image:none!important;border:0!important;box-shadow:none!important;border-radius:0;color:var(--fhwp-text);z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:transform .6s;pointer-events:auto;text-transform:none;line-height:1.3}
.fhwp .fhwp-logo:hover{transform:translate(-50%,-50%) scale(1.04)}
.fhwp .fhwp-logo-image{display:block;width:100%;height:auto;max-height:145px;object-fit:contain}
.fhwp .fhwp-logo-name{font-family:var(--fhwp-heading-font);font-weight:var(--fhwp-heading-weight);font-size:clamp(18px,3vw,42px);overflow-wrap:anywhere}
.fhwp .fhwp-logo-hint{display:block;font-family:var(--fhwp-body-font);font-size:10px;font-weight:var(--fhwp-body-weight);line-height:1.5;letter-spacing:1.5px;margin-top:18px;opacity:.7}
.fhwp .fhwp-fan{position:absolute;inset:0;pointer-events:none}
.fhwp .fhwp-piece{position:absolute;left:50%;top:53%;width:clamp(130px,15vw,220px);height:auto;max-width:none;aspect-ratio:3/4;object-fit:var(--fhwp-fit,cover);border-radius:10px;border:0;box-shadow:0 18px 40px #0003;opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(0deg);transition:transform var(--fhwp-duration,950ms) cubic-bezier(.18,.8,.2,1),opacity .4s;transition-delay:calc(var(--fhwp-i)*55ms);pointer-events:none;user-select:none}
.fhwp .fhwp-open .fhwp-piece{opacity:1;transform:translate(calc(-50% + var(--fhwp-dx,0px)),calc(-50% + var(--fhwp-dy,0px))) rotate(var(--fhwp-rotation)) scale(var(--fhwp-scale));pointer-events:auto}
@media(hover:hover){.fhwp .fhwp-open .fhwp-piece:hover{z-index:12;scale:1.05}}
.fhwp .fhwp-details{position:absolute;bottom:65px;left:var(--fhwp-padding);right:var(--fhwp-padding);display:flex;justify-content:space-between;align-items:flex-end;gap:40px;z-index:15;pointer-events:none}
.fhwp .fhwp-left{max-width:65%}
.fhwp .fhwp-eyebrow{font-family:var(--fhwp-body-font);font-weight:var(--fhwp-body-weight);font-size:11px;line-height:1.6;letter-spacing:1.7px;opacity:.65}
.fhwp .fhwp-heading{font-family:var(--fhwp-heading-font)!important;font-size:var(--fhwp-heading-size)!important;font-weight:var(--fhwp-heading-weight)!important;line-height:var(--fhwp-heading-line)!important;letter-spacing:-.04em;color:var(--fhwp-text)!important;margin:12px 0!important;padding:0;text-transform:none;overflow-wrap:anywhere}
.fhwp .fhwp-body{font-family:var(--fhwp-body-font)!important;font-size:var(--fhwp-body-size)!important;font-weight:var(--fhwp-body-weight)!important;line-height:var(--fhwp-body-line)!important;color:var(--fhwp-text)!important;white-space:pre-line;opacity:.8;letter-spacing:normal;margin:0!important;padding:0;overflow-wrap:anywhere}
.fhwp .fhwp-right{width:30%;max-width:360px;text-align:right}
.fhwp .fhwp-nav{position:absolute;right:18px;top:50%;transform:translateY(-50%);z-index:25;display:flex;flex-direction:column;gap:2px;max-height:55%;overflow-y:auto;scrollbar-width:none}
.fhwp .fhwp-dot{width:30px;height:30px;min-width:30px;padding:0!important;margin:0!important;border:0!important;border-radius:50%;background:none!important;box-shadow:none!important;cursor:pointer;display:grid;place-items:center;color:var(--fhwp-active-text,#fff)}
.fhwp .fhwp-dot::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.4}
.fhwp .fhwp-dot[aria-current=true]::before{opacity:1;box-shadow:0 0 0 5px color-mix(in srgb,currentColor 15%,transparent)}
.fhwp .fhwp-scroll-hint{position:absolute;bottom:18px;left:5%;right:5%;text-align:center;pointer-events:none;font-family:var(--fhwp-body-font);font-size:10px;line-height:1.5;letter-spacing:2px;color:var(--fhwp-active-text,#fff);opacity:.65;z-index:25}
.fhwp button:focus-visible,.fhwp .fhwp-viewport:focus-visible{outline:3px solid #f4ca52;outline-offset:4px}
.fhwp .fhwp-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){
.fhwp .fhwp-viewport{height:calc(100svh - var(--fhwp-offset-mobile,0px) - var(--fhwp-admin));min-height:560px}
.fhwp .fhwp-slide{min-height:560px}.fhwp .fhwp-piece{width:26vw;max-width:150px;top:50%}
.fhwp .fhwp-logo{top:52%;width:min(var(--fhwp-logo-mobile),34%);min-height:100px}.fhwp .fhwp-logo-image{max-height:110px}.fhwp .fhwp-logo-hint{font-size:8px;letter-spacing:1px}
.fhwp .fhwp-word{font-size:var(--fhwp-word-mobile);top:max(var(--fhwp-word-top),20%)}
.fhwp .fhwp-details{bottom:55px;left:var(--fhwp-padding-mobile);right:var(--fhwp-padding-mobile);gap:16px}
.fhwp .fhwp-left{max-width:62%}.fhwp .fhwp-right{width:34%}.fhwp .fhwp-heading{font-size:var(--fhwp-heading-mobile)!important;letter-spacing:-.035em;margin:10px 0!important}
.fhwp .fhwp-body{font-size:var(--fhwp-body-mobile)!important}.fhwp .fhwp-eyebrow{font-size:9px;letter-spacing:1px}.fhwp .fhwp-nav{right:3px}.fhwp .fhwp-scroll-hint{font-size:8px}
}
@media(prefers-reduced-motion:reduce){.fhwp .fhwp-viewport{scroll-behavior:auto}.fhwp .fhwp-piece,.fhwp .fhwp-logo{transition:none}.fhwp .fhwp-scene{transform:none!important;opacity:1!important}}

/* Optional slide navigation icons; retain the existing button target. */
.fhwp .fhwp-dot.fhwp-dot-icon{position:relative}
.fhwp .fhwp-dot.fhwp-dot-icon::before{position:absolute;width:26px;height:26px;box-sizing:border-box;background:transparent;opacity:0;border:1px solid currentColor;box-shadow:none;transition:opacity .2s ease;pointer-events:none}
.fhwp .fhwp-dot.fhwp-dot-icon[aria-current=true]::before{opacity:.65}
.fhwp .fhwp-dot .fhwp-nav-icon{display:block;width:16px!important;height:16px!important;max-width:16px;object-fit:contain;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;pointer-events:none}
.fhwp .fhwp-dot:focus-visible{outline:2px solid currentColor;outline-offset:-2px}
@media(prefers-reduced-motion:reduce){.fhwp .fhwp-dot.fhwp-dot-icon::before{transition:none}}
