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

/* Optional slide navigation icons; retain the existing button target. */
.fhgd .fhgd-dot.fhgd-dot-icon{position:relative}
.fhgd .fhgd-dot.fhgd-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}
.fhgd .fhgd-dot.fhgd-dot-icon[aria-current=true]::before{opacity:.65}
.fhgd .fhgd-dot .fhgd-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}
.fhgd .fhgd-dot:focus-visible{outline:2px solid currentColor;outline-offset:-2px}
@media(prefers-reduced-motion:reduce){.fhgd .fhgd-dot.fhgd-dot-icon::before{transition:none}}
