[data-golf-enter]{position:relative;cursor:default;transition:translate .8s var(--ease),letter-spacing .8s var(--ease)}
[data-golf-enter]:is(:hover,:focus-visible){translate:.16em 0;letter-spacing:-.025em}

.golfWorld{--gwIvory:#e8e1d2;--gwLavender:#8979bc;--gwGold:#c7aa69;--gwMarine:#020408;--gwX:36%;--gwY:51%;position:fixed;inset:0;z-index:1000;overflow:hidden;background:var(--gwMarine);color:var(--gwIvory);clip-path:circle(0 at var(--gwX) var(--gwY));opacity:0;isolation:isolate;transition:clip-path 1.35s cubic-bezier(.7,0,.12,1),opacity .38s ease}
.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:0;pointer-events:none;transition-duration:.62s,.5s}
.golfWorld::before,.golfWorld::after{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;opacity:0;transform-origin:var(--gwX) var(--gwY);mix-blend-mode:screen}
.golfWorld::before{background:
  repeating-conic-gradient(from 3deg at var(--gwX) var(--gwY),transparent 0 5.25deg,color-mix(in srgb,var(--gwIvory) 52%,transparent) 5.34deg 5.4deg,transparent 5.5deg 10.6deg),
  repeating-conic-gradient(from 8deg at var(--gwX) var(--gwY),transparent 0 8.7deg,color-mix(in srgb,var(--gwLavender) 55%,transparent) 8.82deg 8.9deg,transparent 9deg 17.4deg);
  -webkit-mask:radial-gradient(circle at var(--gwX) var(--gwY),transparent 0 7%,#000 17%,#000 58%,transparent 82%);mask:radial-gradient(circle at var(--gwX) var(--gwY),transparent 0 7%,#000 17%,#000 58%,transparent 82%)}
.golfWorld::after{z-index:7;background:radial-gradient(circle at var(--gwX) var(--gwY),var(--gwIvory) 0 1px,color-mix(in srgb,var(--gwLavender) 50%,transparent) 2%,color-mix(in srgb,var(--gwGold) 18%,transparent) 6%,transparent 19%)}
.golfWorld.isOpen::before{animation:golfJumpLines 1.45s cubic-bezier(.14,.72,.18,1) both}
.golfWorld.isOpen::after{animation:golfJumpFlash 1.15s cubic-bezier(.2,.7,.1,1) both}
@keyframes golfJumpLines{0%{opacity:0;scale:.16;filter:blur(2px)}24%{opacity:.22}58%{opacity:.5;scale:1;filter:blur(.5px)}100%{opacity:0;scale:2.8;filter:blur(0)}}
@keyframes golfJumpFlash{0%,15%{opacity:0;scale:.2}48%{opacity:.5}100%{opacity:0;scale:3.4}}
.golfWorldCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;scale:1.04;transition:opacity 1.05s .34s ease,scale 2s cubic-bezier(.16,.76,.12,1)}
.golfWorld.isOpen .golfWorldCanvas{opacity:1;scale:1}
.golfWorldShade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(2,4,8,.48),transparent 42%),linear-gradient(180deg,rgba(2,4,8,.24),transparent 28%,rgba(2,4,8,.46));mix-blend-mode:multiply}
.golfWorldShade::before{content:"";position:absolute;inset:1rem;border:1px solid color-mix(in srgb,var(--gwIvory) 28%,transparent)}
.golfWorldShade::after{content:"";position:absolute;inset:0;opacity:.06;background-image:repeating-linear-gradient(105deg,rgba(255,255,255,.35) 0 1px,transparent 1px 4px);mix-blend-mode:soft-light}
.golfWorldHead{position:absolute;z-index:3;top:0;right:0;left:0;display:flex;align-items:center;justify-content:space-between;padding:clamp(1.65rem,3vw,2.7rem) clamp(1.65rem,4vw,4.5rem);font-family:var(--mono);font-size:.67rem;letter-spacing:.19em;text-transform:uppercase;opacity:0;transition:opacity .6s .72s ease}
.golfWorld.isOpen .golfWorldHead{opacity:1}
.golfWorldHead>div{display:flex;align-items:center;gap:clamp(1.2rem,3vw,2.5rem);margin-left:auto}
.golfWorldSound,.golfWorldClose{border:0;background:none;color:color-mix(in srgb,var(--gwIvory) 72%,transparent);font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}
.golfWorldSound{display:flex;align-items:center;gap:.65rem;padding:.7rem 0}.golfWorldSound i{min-width:1.45rem;font-style:normal;color:var(--gwIvory)}
.golfWorldSound i::before{content:"";display:inline-block;width:.3rem;height:.3rem;margin-right:.42rem;border-radius:50%;background:var(--gwLavender);vertical-align:.08rem;opacity:.3;transition:opacity .25s ease,scale .25s ease}
.golfWorldSound[aria-pressed="true"] i::before{opacity:1;scale:1.15}
.golfWorldClose{display:flex;align-items:center;gap:.8rem;padding:.45rem 0;color:var(--gwIvory)}
.golfWorldClose i{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid color-mix(in srgb,var(--gwIvory) 42%,transparent);border-radius:50%;font-family:var(--sans);font-size:1rem;font-style:normal;line-height:1;transition:rotate .45s var(--ease),background .25s ease,color .25s ease}
.golfWorldClose:is(:hover,:focus-visible) i{rotate:45deg;background:var(--gwIvory);color:var(--gwMarine)}
.golfWorldSound:focus-visible,.golfWorldClose:focus-visible,.golfWorldScenes button:focus-visible{outline:1px solid var(--gwIvory);outline-offset:5px}
.golfWorldIntro{position:absolute;z-index:2;left:clamp(1.65rem,6vw,7rem);bottom:clamp(9rem,17vh,12rem);width:min(44rem,72vw);display:grid;gap:1.1rem;opacity:0;translate:0 1.4rem;transition:opacity .9s .68s ease,translate 1.1s .62s var(--ease);pointer-events:none}
.golfWorld.isOpen .golfWorldIntro{opacity:1;translate:0 0}
.golfWorldIntro p{margin:0;font-family:var(--mono);font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb,var(--gwIvory) 62%,transparent)}
.golfWorldIntro strong{display:grid;gap:.25rem;font-family:var(--serif);font-weight:500;line-height:.9;letter-spacing:-.045em;text-wrap:balance}
.golfWorldIntro strong i{font-size:clamp(1rem,1.5vw,1.35rem);font-weight:500}.golfWorldIntro strong em{font-size:clamp(2.2rem,4.7vw,5.4rem);font-style:normal;font-weight:500}
.golfWorldScenes{position:absolute;z-index:3;right:clamp(1.65rem,4vw,4.5rem);bottom:clamp(2rem,5vh,4rem);left:clamp(1.65rem,4vw,4.5rem);display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid color-mix(in srgb,var(--gwIvory) 30%,transparent);opacity:0;transition:opacity .65s .78s ease}
.golfWorld.isOpen .golfWorldScenes{opacity:1}
.golfWorld.isClosing .golfWorldHead,.golfWorld.isClosing .golfWorldIntro,.golfWorld.isClosing .golfWorldScenes{transition-delay:0s}
.golfWorldScenes button{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:center;padding:1rem .2rem;border:0;border-bottom:1px solid transparent;background:transparent;color:color-mix(in srgb,var(--gwIvory) 48%,transparent);font-family:var(--mono);font-size:.67rem;letter-spacing:.17em;text-align:left;text-transform:uppercase;cursor:pointer;transition:color .25s ease,border-color .25s ease}
.golfWorldScenes button+button{padding-left:clamp(.75rem,2vw,2rem)}.golfWorldScenes button i{font-style:normal}.golfWorldScenes button span{font-family:var(--serif);font-size:.92rem;letter-spacing:0;text-transform:none}
.golfWorldScenes button:is(:hover,[aria-current="true"]){color:var(--gwIvory);border-bottom-color:var(--gwIvory)}
.golfWorldHint{position:absolute;z-index:2;right:clamp(1.65rem,4vw,4.5rem);top:50%;margin:0;translate:0 -50%;writing-mode:vertical-rl;font-family:var(--mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb,var(--gwIvory) 48%,transparent);transition:opacity .35s ease}
.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 1.35s cubic-bezier(.7,0,.12,1),filter .9s ease}body.golfWorldOpen #home .landing{transform:scale(1.035);filter:brightness(.18) blur(2px)}

@media(max-width:700px){.golfWorldHead{padding:1.45rem}.golfWorldSound span,.golfWorldHint{display:none}.golfWorldHead>div{gap:1rem}.golfWorldClose span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.golfWorldIntro{left:1.45rem;bottom:9.2rem;width:86vw;gap:.75rem}.golfWorldIntro strong em{font-size:clamp(2.2rem,11vw,4rem)}.golfWorldScenes{right:1.45rem;bottom:1.5rem;left:1.45rem}.golfWorldScenes button{display:flex;gap:.45rem;padding:.85rem .1rem}.golfWorldScenes button+button{padding-left:.65rem}.golfWorldScenes button span{font-size:.78rem}}
@media(prefers-reduced-motion:reduce){.golfWorld,.golfWorldCanvas,.golfWorldIntro,body.golfWorldOpen #home .landing{transition-duration:.01ms!important;transition-delay:0s!important}}
