/* Paint and transform motion keep the underlying page layout steady. */
html{scroll-padding-top:126px}
.reading-progress{height:3px;position:fixed;inset:0 0 auto;z-index:40;pointer-events:none}
.reading-progress span{display:block;width:100%;height:100%;background:var(--orange);transform:scaleX(0);transform-origin:left}
.site-header{position:sticky;top:0;z-index:20;background:var(--paper);transition:box-shadow .3s,background-color .3s}
.site-header.has-scrolled{box-shadow:0 7px 20px #282e2714;background:var(--paper-light)}
#primary-nav>a:not(.button){position:relative;padding-block:7px}
#primary-nav>a:not(.button)::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .25s}
#primary-nav>a[aria-current=location]::after,#primary-nav>a:hover::after{transform:scaleX(1)}
#primary-nav>a[aria-current=location]:not(.button){color:var(--orange)}
.brand-mark{transition:transform .25s}
.wordmark:hover .brand-mark{transform:rotate(2deg)}
.text-link>span,.button>span,.menu-toggle>span{transition:transform .24s}
.text-link:hover>span,.text-link:focus-visible>span{transform:translate(3px,-3px)}
.button:hover>.play-triangle{transform:translateX(3px)}
.hero .registered{transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.hero-title:hover .registered{transform:rotate(90deg)}
.photo-tag{transition:transform .3s,box-shadow .3s}
.yard-photo:hover .photo-tag{transform:rotate(-2deg);box-shadow:4px 5px 0 #20271d50}
.crew-card{position:relative;transition:transform .3s}
.crew-photo{transition:box-shadow .3s}
.crew-card:hover .crew-photo,.crew-card:focus-within .crew-photo{box-shadow:5px 5px 0 #35413722}
.crew-photo>img{transition:transform .65s cubic-bezier(.2,.6,.2,1),filter .4s}
.crew-card:focus-within .crew-photo>img{transform:scale(1.025)}
.crew-card:hover .crew-photo>img{filter:contrast(1.035)}
.crew-open{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 0 2px;margin-top:13px;border:0;border-top:1px solid #b9b8a5;background:none;font:bold 9px var(--mono);letter-spacing:.025em;color:var(--ink);text-align:left}
.crew-open>span{font-size:16px;font-weight:normal;transition:transform .3s}
.crew-open:hover,.crew-open:focus-visible{color:var(--orange)}
.crew-open:hover>span,.crew-open:focus-visible>span{transform:rotate(90deg)}
.story-poster .story-play{transition:background-color .25s,box-shadow .25s,transform .3s}
.story-poster:hover .story-play,.story-poster:focus-visible .story-play{background:var(--orange);box-shadow:0 0 0 9px #e8e4d740;transform:translate(-50%,-50%) scale(1.07)}
.rules-list li{transition:padding-left .25s,background-color .25s}
.rules-list li:hover{padding-left:10px;background:#d6b56617}
.services>div{transition:background-color .25s}.services>div:hover{background:#d6b56617}
.reveal-pending{opacity:0;transform:translateY(22px)}
.reveal-pending:focus-within{opacity:1;transform:none}
.back-to-yard{position:fixed;right:24px;bottom:24px;z-index:21;width:44px;height:44px;border:1px solid var(--ink);background:var(--ochre);color:var(--ink);font:22px var(--mono);box-shadow:3px 3px 0 var(--ink);animation:back-appear .2s ease-out}
.back-to-yard:hover{background:var(--paper-light)}
dialog[open]{animation:file-open .24s cubic-bezier(.2,.8,.2,1)}
dialog[open]::backdrop{animation:backdrop-open .22s ease-out}
.personnel-dialog{width:min(790px,calc(100% - 32px));padding:27px;background:var(--paper);color:var(--ink);border:1px solid var(--ink);box-shadow:9px 9px 0 #0005}
.personnel-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:17px;margin-bottom:24px;border-bottom:1px solid var(--ink);gap:12px}
.personnel-top>.eyebrow{font-size:10px}
.personnel-top button{color:var(--ink);border-color:var(--ink)}
.personnel-layout{display:grid;grid-template-columns:.8fr 1fr;gap:28px;align-items:start}
.personnel-photo{width:100%;height:auto;max-height:470px;object-fit:contain;object-position:top;border:1px solid var(--ink);background:var(--green)}
.personnel-dialog h2{font-size:64px;text-transform:uppercase;margin:9px 0 17px}
.personnel-role{font:10px var(--mono);text-transform:uppercase;color:var(--orange)}
.personnel-specialty{font:20px/1.25 Georgia,serif;margin-bottom:22px}
.personnel-notes>p{font-size:13px;line-height:1.65;margin-bottom:13px;color:#565b4e}
.personnel-equipment{font:10px/1.7 var(--mono);padding:15px 0 0;border-top:1px solid var(--line);margin-top:20px}
.personnel-equipment span{display:block;font-weight:bold;font-size:9px;margin-bottom:5px}
.personnel-footer{margin-top:22px;font:9px var(--mono);display:flex;justify-content:space-between;gap:14px;color:var(--muted)}
.dialog-close{transition:background-color .2s,color .2s}.dialog-close:hover{background:var(--orange);color:var(--paper-light)}
@keyframes file-open{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes backdrop-open{from{opacity:0}to{opacity:1}}
@keyframes back-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (pointer:fine){.crew-card:hover{transform:translateY(-4px)}}
@media(max-width:700px){
  html{scroll-padding-top:99px}.site-header{z-index:20}
  #primary-nav{display:flex;visibility:hidden;pointer-events:none;opacity:0;transform:translateY(-8px);flex-wrap:wrap;gap:25px;transition:opacity .22s,transform .22s,visibility .22s}
  #primary-nav.is-open{visibility:visible;pointer-events:auto;opacity:1;transform:translateY(0)}
  .back-to-yard{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));width:39px;height:39px}
  .crew-open{font-size:8px;padding-top:11px}.personnel-dialog{padding:18px;width:calc(100% - 24px)}
  .personnel-layout{grid-template-columns:.8fr 1fr;gap:16px}.personnel-dialog h2{font-size:40px;margin:6px 0 12px}
  .personnel-specialty{font-size:17px;margin-bottom:15px}.personnel-notes>p{font-size:12px}
  .personnel-role{font-size:8px}.personnel-top>.eyebrow{font-size:8px}.personnel-footer{font-size:8px}
  .personnel-equipment{font-size:9px;margin-top:15px}.personnel-top{margin-bottom:18px;padding-bottom:13px}
}
@media(max-width:420px){.personnel-layout{grid-template-columns:1fr}.personnel-photo{max-height:215px;object-fit:cover;object-position:center top}.personnel-dialog[data-person=gary] .personnel-photo{object-position:center 65%}.personnel-dialog[data-person=frankie] .personnel-photo{object-position:center 18%}.personnel-dialog h2{font-size:43px}}
@media(prefers-reduced-motion:reduce){
  .reveal-pending{opacity:1;transform:none}.crew-card:hover,.crew-card:focus-within .crew-photo>img{transform:none}
  dialog[open],dialog[open]::backdrop,.back-to-yard{animation:none}
  .crew-photo>img,.photo-tag,.hero .registered,.brand-mark{transition:none}
}
