.nf{--nf-ease:cubic-bezier(.2, .75, .2, 1);isolation:isolate;min-height:calc(100svh - var(--header-h,80px));background:radial-gradient(ellipse 70% 55% at 50% 38%, color-mix(in srgb, var(--color-paper) 85%, transparent), transparent 70%), var(--color-cream);text-align:center;align-content:center;padding:clamp(40px,7vh,88px) 0 clamp(56px,9vh,110px);display:grid;position:relative;overflow:hidden}.nf:before{content:"";z-index:-1;background:repeating-radial-gradient(circle at 50% 40%, transparent 0 46px, color-mix(in srgb, var(--color-gold) 9%, transparent) 46px 47px);animation:1.6s .2s both nf-fade;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 40%,#000 0,#0000 62%);mask-image:radial-gradient(circle at 50% 40%,#000 0,#0000 62%)}.nf-inner{justify-items:center;width:min(100% - 32px,760px);margin:0 auto;display:grid}.nf-stage{justify-items:center;width:100%;display:grid}.nf-logo .gast-logo{width:clamp(112px,15vw,150px);height:auto;overflow:visible}.nf .gl-ink-line{stroke-width:24px;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:.85s cubic-bezier(.5,.1,.3,1) 50ms forwards nf-stroke,.3s .9s forwards nf-out}.nf .gl-ink-fill{opacity:0;animation:.35s .72s forwards nf-in}.nf .gl-wash{transform-box:fill-box;transform-origin:50% 100%;animation:nf-wash .7s var(--nf-ease) both;animation-delay:calc(.45s + var(--i) * 80ms)}.nf .gl-roof,.nf .gl-shade,.nf .gl-window{transform-box:fill-box;transform-origin:50% 0;animation:nf-settle .5s var(--nf-ease) both;animation-delay:calc(.68s + var(--i) * 30ms)}.nf .gl-dots{opacity:0;animation:.3s 1.6s forwards nf-in}.nf-code{--nf-h:clamp(168px, 34vw, 330px);height:var(--nf-h);justify-content:center;align-items:center;gap:clamp(0px,1vw,12px);margin-top:clamp(14px,3vh,28px);display:flex}.nf-four{font-family:var(--font-serif);font-weight:300;font-size:calc(var(--nf-h) * .82);color:var(--color-burgundy);letter-spacing:-.02em;font-variant-numeric:lining-nums;animation:nf-four .9s var(--nf-ease) both;line-height:1}.nf-four-l{--nf-from:18px;animation-delay:.25s}.nf-four-r{--nf-from:-18px;animation-delay:.38s}.nf-plate{width:calc(var(--nf-h) * 1.12);height:calc(var(--nf-h) * 1.12);animation:nf-plate 1.1s var(--nf-ease) .15s both;filter:drop-shadow(0 18px 30px color-mix(in srgb, var(--color-burgundy) 16%, transparent));flex:none;overflow:visible}.nf-disc{fill:var(--color-paper)}.nf-rim{fill:none;stroke:var(--color-gold);stroke-width:2px}.nf-rim-in{stroke-width:1.2px;opacity:.8}.nf-band{transform-box:view-box;transform-origin:510px 492px;animation:90s linear infinite nf-turn}.nf-band-text{font:600 15px/1 var(--font-sans);letter-spacing:.32em;text-transform:uppercase;fill:var(--color-gold-deep,var(--color-gold));dominant-baseline:middle}.nf-green{fill:color-mix(in srgb, var(--color-gold) 14%, var(--color-paper))}.nf-town{fill:color-mix(in srgb, var(--color-cream-dark) 70%, var(--color-paper));opacity:0;animation:.8s .35s both nf-in}.nf-street{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:nf-stroke 1.5s cubic-bezier(.4, 0, .3, 1) var(--t-streets) forwards}.nf-lane{stroke:color-mix(in srgb, var(--color-ink) 22%, transparent);stroke-width:1.4px;animation-delay:calc(var(--t-streets) + .35s)}.nf-st{stroke:color-mix(in srgb, var(--color-ink) 38%, transparent);stroke-width:2.4px;animation-delay:calc(var(--t-streets) + .15s)}.nf-major{stroke:color-mix(in srgb, var(--color-ink) 50%, transparent);stroke-width:3.4px}.nf-wall{fill:var(--color-burgundy);opacity:0;animation:.6s .3s both nf-in}.nf-church{fill:var(--color-burgundy);opacity:0;animation:.5s 1.1s forwards nf-in}.nf-trail{fill:none;stroke:var(--color-gold);stroke-width:5px;stroke-linecap:round;opacity:.85}.nf-route{fill:none;stroke:var(--color-burgundy);stroke-width:7px;stroke-linecap:round;stroke-linejoin:round}.nf-dot-core{r:8;fill:var(--color-gold);stroke:var(--color-paper);stroke-width:2.5px}.nf-dot-halo{fill:color-mix(in srgb, var(--color-gold) 30%, transparent);transform-box:fill-box;transform-origin:50%;animation:1.4s ease-in-out infinite nf-breath}.nf-ask{pointer-events:none}.nf-ask-pop{transform-box:fill-box;transform-origin:50% 100%;opacity:0;animation:nf-ask 1s var(--nf-ease) var(--t-ask) both}.nf-ask circle{fill:var(--color-burgundy)}.nf-ask text{font:600 20px/1 var(--font-serif);fill:var(--color-paper);text-anchor:middle}.nf-home>*{opacity:0}.nf-pin{fill:var(--color-burgundy);stroke:var(--color-gold);stroke-width:3px;transform-box:fill-box;transform-origin:50%;animation:nf-pin .6s cubic-bezier(.3, 1.6, .5, 1) var(--t-arrive) forwards}.nf-pulse{fill:none;stroke:var(--color-gold);stroke-width:2.5px;transform-box:fill-box;transform-origin:50%;animation:nf-pulse 2.4s ease-out calc(var(--t-arrive) + .1s) infinite}.nf-pulse-2{animation-delay:calc(var(--t-arrive) + 1.3s)}.nf-tag{animation:nf-tag .7s var(--nf-ease) calc(var(--t-arrive) + .15s) forwards}.nf-tag rect{fill:var(--color-burgundy)}.nf-tag text{font:600 19px/1 var(--font-sans);letter-spacing:.08em;fill:var(--color-paper);text-anchor:middle}.nf-again{font:600 .6875rem/1 var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--color-muted);cursor:pointer;opacity:0;background:0 0;border:0;align-items:center;gap:6px;margin-top:10px;padding:8px 10px;animation:.5s 7.6s forwards nf-in;display:inline-flex}.nf-again svg{width:14px;height:14px;transition:transform .5s var(--nf-ease)}.nf-again:hover{color:var(--color-burgundy)}.nf-again:hover svg{transform:rotate(-200deg)}.nf-again:focus-visible{outline:2px solid var(--color-gold);outline-offset:3px}.nf-copy{justify-items:center;margin-top:clamp(10px,2vh,22px);display:grid}.nf-copy>*{animation:nf-rise .8s var(--nf-ease) both}.nf-copy .kicker{animation-delay:.9s}.nf-copy h1{color:var(--color-burgundy);text-wrap:balance;margin:12px 0 0;font-size:clamp(2rem,4.6vw,3.2rem);line-height:1.08;animation-delay:1s}.nf-copy h1 span{color:var(--color-ink);font-weight:300;display:block}.nf-copy>p:not(.kicker){max-width:34rem;color:var(--color-muted);text-wrap:pretty;margin:16px 0 0;animation-delay:1.1s}.nf-actions{flex-wrap:wrap;justify-content:center;gap:8px 12px;margin-top:26px;animation-delay:1.2s;display:flex}.nf-links{border-top:1px solid var(--color-line);flex-wrap:wrap;justify-content:center;gap:4px 0;margin:30px 0 0;padding:18px 0 0;list-style:none;animation-delay:1.3s;display:flex}.nf-links li+li:before{content:"·";color:var(--color-gold);padding:0 14px}.nf-links a{font-family:var(--font-serif);color:var(--color-ink);background:linear-gradient(var(--color-gold), var(--color-gold)) 0 100% / 0 1px no-repeat;transition:background-size .35s var(--nf-ease), color .2s;font-size:1.02rem;text-decoration:none}.nf-links a:hover,.nf-links a:focus-visible{color:var(--color-burgundy);background-size:100% 1px}@media (max-width:560px){.nf-code{--nf-h:min(46vw, 210px);gap:0}.nf-four{font-size:calc(var(--nf-h) * .72)}.nf-band-text{font-size:17px}.nf-links li+li:before{padding:0 10px}}@media (prefers-reduced-motion:reduce){.nf *,.nf:before{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.nf-band{animation:none}.nf-story,.nf-pulse,.nf-again{display:none}}@keyframes nf-stroke{to{stroke-dashoffset:0}}@keyframes nf-in{to{opacity:1}}@keyframes nf-out{to{opacity:0}}@keyframes nf-fade{0%{opacity:0}}@keyframes nf-wash{0%{opacity:0;transform:scaleY(.6)}}@keyframes nf-settle{0%{opacity:0;transform:translateY(-3%)}}@keyframes nf-four{0%{opacity:0;transform:translateX(var(--nf-from,0));filter:blur(8px)}}@keyframes nf-plate{0%{opacity:0;transform:scale(.82)rotate(-24deg)}}@keyframes nf-turn{to{transform:rotate(360deg)}}@keyframes nf-breath{50%{opacity:.55;transform:scale(1.35)}}@keyframes nf-ask{0%{opacity:0;transform:translateY(8px)scale(.4)}30%{opacity:1;transform:translateY(0)scale(1.08)}45%{transform:rotate(-10deg)}60%{transform:rotate(8deg)}75%{opacity:1;transform:rotate(0)}to{opacity:0;transform:translateY(-10px)scale(.9)}}@keyframes nf-pin{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes nf-pulse{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(5)}}@keyframes nf-tag{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(-30px)}}@keyframes nf-rise{0%{opacity:0;transform:translateY(14px)}}
