/* Isolated golfworld module. Host selectors below exist only for its entry transition. */
[data-golf-enter]{position:relative;cursor:zoom-in}
[data-golf-enter]::after{content:"enter";position:absolute;left:50%;top:calc(100% + .8rem);translate:-50% .35rem;font-family:var(--mono);font-size:.486rem;font-style:normal;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);opacity:0;transition:opacity .55s var(--ease),translate .75s var(--ease)}
[data-golf-enter]:is(:hover,:focus-visible)::after{opacity:.78;translate:-50% 0}

.golfWorld{--gwIvory:#e8e1d2;--gwLavender:#8979bc;--gwGold:#c7aa69;--gwX:36%;--gwY:51%;--gwPX:50%;--gwPY:50%;--gwTextX:0px;--gwTextY:0px;position:fixed;inset:0;z-index:1000;overflow:hidden;background:#030711;color:var(--gwIvory);clip-path:circle(0 at var(--gwX) var(--gwY));opacity:0;transition:clip-path 3.2s cubic-bezier(.18,.7,.12,1),opacity .85s ease;isolation:isolate}
.golfWorld[hidden]{display:none}
.golfWorld.isOpen{clip-path:circle(150% at var(--gwX) var(--gwY));opacity:1}
.golfWorld.isClosing{clip-path:circle(0 at var(--gwX) var(--gwY));opacity:.12;transition-duration:2.35s,2.1s;transition-timing-function:cubic-bezier(.7,0,.45,1),ease}
.golfWorldCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;scale:1.12;filter:saturate(.84) contrast(1.03) brightness(.86);transition:opacity 2.1s .2s ease,scale 8s cubic-bezier(.16,.7,.18,1),filter 4s ease}
.golfWorld.isOpen .golfWorldCanvas{opacity:1;scale:1}
.golfWorld.hasLanded .golfWorldCanvas{filter:saturate(.92) contrast(1.045) brightness(1)}
.golfWorld.isDeparting .golfWorldCanvas{scale:1.035;filter:saturate(.75) contrast(1.02) brightness(.68);transition-delay:0s}
.golfWorld.isClosing .golfWorldCanvas{opacity:.3}
.golfWorldShade{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--gwPX) var(--gwPY),rgba(137,121,188,.11),transparent 17%),radial-gradient(circle at 54% 48%,transparent 15%,rgba(3,7,17,.03) 48%,rgba(3,7,17,.6) 120%),linear-gradient(180deg,rgba(3,7,17,.2),transparent 22%,transparent 72%,rgba(3,7,17,.56));box-shadow:inset 0 0 10rem rgba(2,5,12,.5)}
.golfWorldShade::before{content:"";position:absolute;inset:1.1rem;border:1px solid rgba(232,225,210,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);pointer-events:none}
.golfWorldShade::after{content:"";position:absolute;inset:0;opacity:.07;pointer-events:none;background-image:repeating-conic-gradient(from 17deg at 31% 47%,rgba(255,255,255,.2) 0 .35deg,transparent .5deg 2.4deg);background-size:7px 9px;mix-blend-mode:soft-light}
.golfWorldIris{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.golfWorldIris::before,.golfWorldIris::after{content:"";position:absolute;right:0;left:0;height:9vh;background:#030711;transition:transform 2.2s 1.15s cubic-bezier(.18,.72,.16,1)}
.golfWorldIris::before{top:0;transform:translateY(0)}.golfWorldIris::after{bottom:0;transform:translateY(0)}
.golfWorld.isOpen .golfWorldIris::before{transform:translateY(-100%)}.golfWorld.isOpen .golfWorldIris::after{transform:translateY(100%)}
.golfWorld.isDeparting .golfWorldIris::before,.golfWorld.isClosing .golfWorldIris::before{transform:translateY(0);transition-delay:.4s}.golfWorld.isDeparting .golfWorldIris::after,.golfWorld.isClosing .golfWorldIris::after{transform:translateY(0);transition-delay:.4s}
.golfWorldIris i{position:absolute;top:var(--gwY);left:var(--gwX);width:2px;height:2px;border:1px solid rgba(232,225,210,.65);border-radius:50%;translate:-50% -50%;opacity:0;box-shadow:0 0 0 1px rgba(137,121,188,.18),0 0 70px 24px rgba(137,121,188,.12);transition:width 2.7s .08s cubic-bezier(.16,.75,.12,1),height 2.7s .08s cubic-bezier(.16,.75,.12,1),opacity .5s ease}
.golfWorld.isOpen .golfWorldIris i{width:48vmax;height:48vmax;opacity:.22}.golfWorld.hasLanded .golfWorldIris i{opacity:0}
.golfWorldHead{position:absolute;z-index:3;top:0;right:0;left:0;display:flex;align-items:center;justify-content:space-between;padding:clamp(1.7rem,3vw,2.6rem) clamp(1.8rem,4vw,4.5rem);font-family:var(--mono);font-size:.67rem;letter-spacing:.17em;text-transform:uppercase;text-shadow:0 2px 18px rgba(0,0,0,.65);transition:opacity .75s ease,translate .95s var(--ease)}
.golfWorldHead>span{color:var(--gwIvory)}
.golfWorldHead>div{display:flex;align-items:center;gap:clamp(1.1rem,3vw,2.4rem)}
.golfWorldSound{display:flex;align-items:center;gap:.65rem;padding:.45rem 0;border:0;background:none;color:rgba(232,225,210,.72);font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}
.golfWorldSound i{position:relative;min-width:1.4rem;font-style:normal;color:var(--gwIvory)}
.golfWorldSound i::before{content:"";display:inline-block;width:.32rem;height:.32rem;margin-right:.42rem;border-radius:50%;background:var(--gwLavender);box-shadow:0 0 12px rgba(137,121,188,.72);vertical-align:.08rem;transition:opacity .35s ease,scale .35s ease}
.golfWorldSound[aria-pressed="false"]{color:rgba(232,225,210,.42)}.golfWorldSound[aria-pressed="false"] i::before{opacity:.25;scale:.58}
.golfWorldSound:focus-visible{outline:1px solid rgba(232,225,210,.42);outline-offset:5px}
.golfWorldClose{display:flex;align-items:center;gap:.7854rem;padding:.45rem 0;border:0;background:none;color:color-mix(in srgb,var(--gwIvory) 74%,transparent);font-family:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;transition:color .3s ease}
.golfWorldClose i{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid rgba(232,225,210,.34);border-radius:50%;font-family:var(--sans);font-size:1rem;font-style:normal;line-height:1;transition:rotate .8s cubic-bezier(.2,.75,.2,1),border-color .3s ease}
.golfWorldClose:is(:hover,:focus-visible){color:var(--gwIvory);outline:none}.golfWorldClose:is(:hover,:focus-visible) i{rotate:90deg;border-color:var(--gwIvory)}
.golfWorldIntro{position:absolute;z-index:2;top:50%;left:50%;display:grid;width:min(88vw,76rem);gap:.45rem;translate:-50% -50%;text-align:center;text-shadow:0 3px 34px rgba(0,0,0,.72);opacity:0;transform:translate(var(--gwTextX),calc(var(--gwTextY) + 1.5rem));transition:opacity 1.3s .75s ease,transform 1.8s .75s cubic-bezier(.16,.72,.2,1);pointer-events:none;will-change:transform}
.golfWorld.isOpen .golfWorldIntro{opacity:1;transform:translate(var(--gwTextX),var(--gwTextY))}.golfWorld.hasLanded .golfWorldIntro{opacity:.9;transition:opacity .8s ease,transform .18s linear}
.golfWorldIntro span,.golfWorldIntro small{font-family:var(--mono);font-size:.57rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:rgba(232,225,210,.72)}
.golfWorldIntro strong{font-family:var(--serif);font-size:clamp(2.4rem,6.5vw,7rem);font-style:italic;font-weight:500;line-height:.92;letter-spacing:-.035em;color:var(--gwIvory)}
.golfWorldIntro small{justify-self:center;color:var(--gwGold)}
.golfWorldHud{position:absolute;z-index:3;right:clamp(1.8rem,4vw,4.5rem);bottom:clamp(1.7rem,3vw,2.6rem);left:clamp(1.8rem,4vw,4.5rem);display:flex;justify-content:space-between;gap:1rem;padding-top:.7854rem;border-top:1px solid rgba(232,225,210,.24);font-family:var(--mono);font-size:.526rem;letter-spacing:.09em;text-transform:uppercase;color:rgba(232,225,210,.72);opacity:0;translate:0 .5rem;transition:opacity 1s 1.5s ease,translate 1s 1.5s ease}
.golfWorld.isOpen .golfWorldHud{opacity:1;translate:0 0}.golfWorldHud b{margin-right:.45rem;font-weight:400;color:var(--gwIvory)}
.golfWorldHelp{position:absolute;z-index:3;left:50%;bottom:clamp(3.8rem,6vw,5.6rem);margin:0;translate:-50% 0;font-family:var(--mono);font-size:.486rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(232,225,210,.62);opacity:0;white-space:nowrap;transition:opacity .8s 2s ease}
.golfWorld.isOpen .golfWorldHelp{opacity:1}.golfWorld.hasMoved .golfWorldHelp{opacity:0;transition-delay:0s}
.golfWorldReticle{position:absolute;z-index:2;top:var(--gwPY);left:var(--gwPX);width:clamp(4.2rem,7vw,7rem);height:clamp(4.2rem,7vw,7rem);translate:-50% -50%;border:1px solid rgba(232,225,210,.2);border-radius:50%;background:radial-gradient(circle at 38% 32%,rgba(232,225,210,.12),rgba(137,121,188,.06) 38%,transparent 68%);box-shadow:inset 0 0 1.6rem rgba(232,225,210,.06),0 0 2.8rem rgba(137,121,188,.08);pointer-events:none;opacity:0;transition:opacity .8s 1.8s ease,width 1.2s var(--ease),height 1.2s var(--ease)}
.golfWorld.isOpen .golfWorldReticle{opacity:.72}.golfWorld.hasMoved .golfWorldReticle{width:clamp(5rem,8vw,8rem);height:clamp(5rem,8vw,8rem)}.golfWorldReticle::before,.golfWorldReticle::after,.golfWorldReticle i::before{content:"";position:absolute;border:1px solid rgba(232,225,210,.16);border-radius:50%}
.golfWorldReticle::before{inset:14%}.golfWorldReticle::after{inset:29%;border-color:rgba(137,121,188,.25)}.golfWorldReticle i::before{top:50%;left:50%;width:3px;height:3px;translate:-50% -50%;border:0;background:var(--gwGold)}
.golfWorldFallback{position:absolute;z-index:4;top:50%;left:50%;margin:0;translate:-50% -50%;font-family:var(--serif);font-size:1.2rem;color:var(--gwIvory)}
body.golfWorldOpen{overflow:hidden;touch-action:none}
body:has(.golfWorld) #home .landing{transition:transform 3.8s cubic-bezier(.18,.72,.16,1),filter 3s ease}
body.golfWorldOpen #home .landing{transform:scale(.975);filter:brightness(.68) saturate(.72)}
body:has(.golfWorld.isDeparting) #home .landing{transform:scale(1);filter:none}
.golfWorld.isDeparting .golfWorldHead,.golfWorld.isDeparting .golfWorldHud,.golfWorld.isDeparting .golfWorldHelp,.golfWorld.isDeparting .golfWorldReticle{opacity:0;translate:0 -.5rem;transition-delay:0s}

@media(max-width:700px){.golfWorldIntro{top:50%;right:auto;bottom:auto;left:50%;width:88vw;translate:-50% -50%}.golfWorldIntro strong{font-size:clamp(2.6rem,13vw,4.6rem)}.golfWorldHud span:nth-child(2){display:none}.golfWorldHelp{bottom:5.2rem}.golfWorldReticle{display:none}.golfWorldSound span{display:none}}
@media(prefers-reduced-motion:reduce){.golfWorld,.golfWorldCanvas,.golfWorldIntro,.golfWorldHud,.golfWorldIris::before,.golfWorldIris::after,.golfWorldIris i,body.golfWorldOpen #home .landing{transition-duration:.01ms!important;transition-delay:0s!important}.golfWorldCanvas{scale:1}.golfWorldHelp,.golfWorldReticle{display:none}}
