/* All selectors and custom properties are scoped to this plugin. */
.fhbp{position:relative;width:100%;max-width:100%;isolation:isolate;--fhbp-admin:0px;font-family:var(--fhbp-body-font,Nunito,sans-serif);background:#292039;box-sizing:border-box}
.fhbp *,.fhbp *::before,.fhbp *::after{box-sizing:border-box}
.fhbp .fhbp-viewport{height:calc(100vh - var(--fhbp-offset,0px) - var(--fhbp-admin));height:calc(100svh - var(--fhbp-offset,0px) - var(--fhbp-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}
.fhbp-viewport::-webkit-scrollbar{display:none}
.fhbp .fhbp-project{height:100%;min-height:480px;scroll-snap-align:start;scroll-snap-stop:always;position:relative;isolation:isolate;overflow:hidden;background:var(--fhbp-bg);color:var(--fhbp-text);margin:0;padding:0;border:0}
.fhbp .fhbp-background{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;z-index:-2;pointer-events:none}
.fhbp .fhbp-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")}
.fhbp .fhbp-scene{position:absolute;inset:0;will-change:transform,opacity;pointer-events:none}
.fhbp .fhbp-word{position:absolute;left:0;top:var(--fhbp-word-top);width:100%;padding:0 3%;text-align:center;white-space:nowrap;color:var(--fhbp-word-color);opacity:var(--fhbp-word-opacity);font-family:var(--fhbp-word-font);font-size:var(--fhbp-word-size);font-weight:var(--fhbp-word-weight);line-height:1.15;letter-spacing:-.065em;pointer-events:none}
.fhbp .fhbp-logo{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);width:min(var(--fhbp-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(--fhbp-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}
.fhbp .fhbp-logo:hover{transform:translate(-50%,-50%) scale(1.04)}
.fhbp .fhbp-logo-image{display:block;width:100%;height:auto;max-height:145px;object-fit:contain}
.fhbp .fhbp-logo-name{font-family:var(--fhbp-heading-font);font-weight:var(--fhbp-heading-weight);font-size:clamp(18px,3vw,42px);overflow-wrap:anywhere}
.fhbp .fhbp-logo-hint{display:block;font-family:var(--fhbp-body-font);font-size:10px;font-weight:var(--fhbp-body-weight);line-height:1.5;letter-spacing:1.5px;margin-top:18px;opacity:.7}
.fhbp .fhbp-fan{position:absolute;inset:0;pointer-events:none}
.fhbp .fhbp-piece{position:absolute;left:50%;top:53%;width:clamp(130px,15vw,220px);height:auto;max-width:none;aspect-ratio:3/4;object-fit:var(--fhbp-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(--fhbp-duration,950ms) cubic-bezier(.18,.8,.2,1),opacity .4s;transition-delay:calc(var(--fhbp-i)*55ms);pointer-events:none;user-select:none}
.fhbp .fhbp-open .fhbp-piece{opacity:1;transform:translate(calc(-50% + var(--fhbp-dx,0px)),calc(-50% + var(--fhbp-dy,0px))) rotate(var(--fhbp-rotation)) scale(var(--fhbp-scale));pointer-events:auto}
@media(hover:hover){.fhbp .fhbp-open .fhbp-piece:hover{z-index:12;scale:1.05}}
.fhbp .fhbp-details{position:absolute;bottom:65px;left:var(--fhbp-padding);right:var(--fhbp-padding);display:flex;justify-content:space-between;align-items:flex-end;gap:40px;z-index:15;pointer-events:none}
.fhbp .fhbp-left{max-width:65%}
.fhbp .fhbp-eyebrow{font-family:var(--fhbp-body-font);font-weight:var(--fhbp-body-weight);font-size:11px;line-height:1.6;letter-spacing:1.7px;opacity:.65}
.fhbp .fhbp-heading{font-family:var(--fhbp-heading-font)!important;font-size:var(--fhbp-heading-size)!important;font-weight:var(--fhbp-heading-weight)!important;line-height:var(--fhbp-heading-line)!important;letter-spacing:-.04em;color:var(--fhbp-text)!important;margin:12px 0!important;padding:0;text-transform:none;overflow-wrap:anywhere}
.fhbp .fhbp-body{font-family:var(--fhbp-body-font)!important;font-size:var(--fhbp-body-size)!important;font-weight:var(--fhbp-body-weight)!important;line-height:var(--fhbp-body-line)!important;color:var(--fhbp-text)!important;white-space:pre-line;opacity:.8;letter-spacing:normal;margin:0!important;padding:0;overflow-wrap:anywhere}
.fhbp .fhbp-right{width:30%;max-width:360px;text-align:right}
.fhbp .fhbp-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}
.fhbp .fhbp-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(--fhbp-active-text,#fff)}
.fhbp .fhbp-dot::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.4}
.fhbp .fhbp-dot[aria-current=true]::before{opacity:1;box-shadow:0 0 0 5px color-mix(in srgb,currentColor 15%,transparent)}
.fhbp .fhbp-scroll-hint{position:absolute;bottom:18px;left:5%;right:5%;text-align:center;pointer-events:none;font-family:var(--fhbp-body-font);font-size:10px;line-height:1.5;letter-spacing:2px;color:var(--fhbp-active-text,#fff);opacity:.65;z-index:25}
.fhbp button:focus-visible,.fhbp .fhbp-viewport:focus-visible{outline:3px solid #f4ca52;outline-offset:4px}
.fhbp .fhbp-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){
.fhbp .fhbp-viewport{height:calc(100svh - var(--fhbp-offset-mobile,0px) - var(--fhbp-admin));min-height:560px}
.fhbp .fhbp-project{min-height:560px}.fhbp .fhbp-piece{width:26vw;max-width:150px;top:50%}
.fhbp .fhbp-logo{top:52%;width:min(var(--fhbp-logo-mobile),34%);min-height:100px}.fhbp .fhbp-logo-image{max-height:110px}.fhbp .fhbp-logo-hint{font-size:8px;letter-spacing:1px}
.fhbp .fhbp-word{font-size:var(--fhbp-word-mobile);top:max(var(--fhbp-word-top),20%)}
.fhbp .fhbp-details{bottom:55px;left:var(--fhbp-padding-mobile);right:var(--fhbp-padding-mobile);gap:16px}
.fhbp .fhbp-left{max-width:62%}.fhbp .fhbp-right{width:34%}.fhbp .fhbp-heading{font-size:var(--fhbp-heading-mobile)!important;letter-spacing:-.035em;margin:10px 0!important}
.fhbp .fhbp-body{font-size:var(--fhbp-body-mobile)!important}.fhbp .fhbp-eyebrow{font-size:9px;letter-spacing:1px}.fhbp .fhbp-nav{right:3px}.fhbp .fhbp-scroll-hint{font-size:8px}
}
@media(prefers-reduced-motion:reduce){.fhbp .fhbp-viewport{scroll-behavior:auto}.fhbp .fhbp-piece,.fhbp .fhbp-logo{transition:none}.fhbp .fhbp-scene{transform:none!important;opacity:1!important}}
