.north-intro{opacity:1;transition:opacity .4s ease;display:none;position:fixed;inset:0;z-index:10000;background:#f8f5ed;color:#661d32;overflow:hidden;isolation:isolate}.north-intro-pending{overflow:hidden}.north-intro-pending body{overflow:hidden}.north-intro-pending body>:not(#north-intro){visibility:hidden}.north-intro-pending.north-intro-revealing body>:not(#north-intro){visibility:visible}.north-intro-pending .north-intro{display:grid;place-items:center}.intro-grain{position:absolute;inset:0;z-index:-1;opacity:.65;background:radial-gradient(ellipse at 50% 50%,#fff 0%,#faf7ef 48%,#eae0c9 100%)}.intro-orbit{position:absolute;border:1px solid #c4a75c2d;border-radius:50%;width:70vmin;height:70vmin;pointer-events:none}.intro-orbit-two{width:91vmin;height:91vmin;border-color:#661d320d}.intro-location{position:absolute;top:7%;left:0;right:0;text-align:center;font-size:9px;font-weight:700;letter-spacing:3px;color:#7c6b58}.intro-composition{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:90%;height:76svh;max-height:760px;text-align:center}.intro-swing-logo{width:min(42svh,350px,65vw);height:min(42svh,350px,65vw);flex-shrink:0;mix-blend-mode:multiply;opacity:0;transform:translateY(18px) scale(.93);transition:opacity .85s ease,transform 1.2s cubic-bezier(.16,1,.3,1)}.intro-swing-logo img{width:100%;height:100%;object-fit:contain;display:block}.intro-script-logo{width:min(48svh,420px,78vw);aspect-ratio:3 / 1.16;overflow:hidden;position:relative;flex-shrink:0;margin:2px 0 0;mix-blend-mode:multiply;opacity:0;transform:translateY(14px);transition:opacity .9s ease,transform 1s cubic-bezier(.16,1,.3,1)}.intro-script-logo img{position:absolute;width:100%;height:auto;left:0;top:50%;transform:translateY(-50%)}.intro-motto-block{opacity:0;transform:translateY(12px);transition:opacity .65s ease,transform .65s ease}.intro-gold-line{display:block;width:55px;height:3px;background:#d5aa50;margin:18px auto 16px}.intro-motto{font-size:clamp(16px,2.4svh,23px);line-height:1.65;font-weight:600;letter-spacing:.35px;color:#3a2927;margin:0}.intro-phase-swing .intro-swing-logo,.intro-phase-script .intro-swing-logo,.intro-phase-motto .intro-swing-logo,.intro-phase-script .intro-script-logo,.intro-phase-motto .intro-script-logo,.intro-phase-motto .intro-motto-block{opacity:1;transform:translateY(0) scale(1)}.intro-playing .intro-orbit{animation:intro-orbit var(--intro-duration,6000ms) ease-out both}.intro-bottom{position:absolute;bottom:6%;left:6%;right:6%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:8px;font-weight:700;letter-spacing:2px;color:#8a7a66}.intro-skip{background:transparent;border:1px solid #661d3229;border-radius:0;padding:12px 16px;color:#661d32;letter-spacing:1px;font-size:10px;min-height:44px}.intro-skip span{margin-left:15px}.intro-skip:hover{background:#661d3208}.intro-progress{height:3px;position:absolute;left:0;bottom:0;background:#cfaa57;width:0}.intro-playing .intro-progress{animation:intro-progress var(--intro-duration,6000ms) linear both}.north-intro.intro-out{pointer-events:none}.replay-intro{display:block;margin:15px 0 0 auto;padding:0;border:0;background:none;font-size:10px;color:var(--maroon);text-decoration:underline;text-underline-offset:4px}.intro-static .intro-progress,.intro-static .intro-orbit{display:none}.intro-static .intro-swing-logo,.intro-static .intro-script-logo,.intro-static .intro-motto-block{opacity:1;transform:none}
@keyframes intro-progress{from{width:0}to{width:100%}}
@keyframes intro-orbit{from{transform:scale(.92);opacity:.4}to{transform:scale(1.12);opacity:1}}
@media(max-width:600px){.intro-location{top:6%;font-size:8px;letter-spacing:2.2px}.intro-composition{height:74svh}.intro-swing-logo{width:min(39svh,76vw);height:min(39svh,76vw)}.intro-script-logo{width:min(45svh,84vw)}.intro-motto{font-size:clamp(15px,2.2svh,18px);line-height:1.75}.intro-bottom{bottom:4%;left:6%;right:6%;font-size:7px;letter-spacing:.8px}.intro-skip{padding:10px 12px;font-size:9px}.intro-skip span{margin-left:8px}.intro-gold-line{margin:14px auto}}
@media(prefers-reduced-motion:reduce){.north-intro *{animation:none!important;transition:none!important}.intro-swing-logo,.intro-script-logo,.intro-motto-block{opacity:1;transform:none}.intro-progress,.intro-orbit{display:none}}

.intro-mask-defs{position:absolute;pointer-events:none}
.intro-playing .intro-swing-logo{animation:intro-drop 1.2s both}
.intro-playing .intro-script-logo{animation:intro-drop 1.2s .5s both}
@keyframes intro-drop{
  0%{opacity:0;transform:translateY(-100svh) scale(1,1.03)}
  12%{opacity:1}
  58%{opacity:1;transform:translateY(14px) scale(1.025,.965);animation-timing-function:ease-out}
  75%{opacity:1;transform:translateY(-15px) scale(.99,1.015);animation-timing-function:ease-in}
  89%{opacity:1;transform:translateY(5px) scale(1.01,.99);animation-timing-function:ease-out}
  100%{opacity:1;transform:translateY(0) scale(1)}
}

.intro-paused,.intro-paused *{animation-play-state:paused!important}

/* Centered welcome panel: entry is an explicit choice, never timed. */
.intro-enter{display:block;flex-shrink:0;background:#661d32;color:#fff;border:1px solid #661d32;padding:17px 28px;min-height:54px;margin:23px auto 0;font:700 14px 'DM Sans',Arial,sans-serif;letter-spacing:.3px;box-shadow:0 8px 22px #661d3218;cursor:pointer}
.intro-enter:hover{background:#4c1526;border-color:#4c1526}
.intro-enter:focus-visible{outline:3px solid #d5aa50;outline-offset:5px}
.intro-composition{height:78svh;max-height:800px}
.intro-swing-logo{width:min(32svh,290px,60vw);height:min(32svh,290px,60vw)}
.intro-script-logo{width:min(40svh,370px,78vw)}
.intro-motto{font-size:clamp(15px,2.2svh,21px)}
.intro-gold-line{margin:14px auto 12px}
@media(max-width:600px){.intro-swing-logo{width:min(29svh,65vw);height:min(29svh,65vw)}.intro-script-logo{width:min(37svh,80vw)}.intro-enter{margin-top:19px;padding:15px 23px;font-size:13px}}
