:focus-visible{outline:3px solid #ff646b;outline-offset:5px}
.skip-link{position:absolute;left:16px;top:-100px;z-index:100;background:#fff;color:#111;padding:14px;font-weight:700}
.skip-link:focus{top:8px}
.hero{display:block}
.hero-content{padding-bottom:32px}
.hero-brand-row{position:relative;left:auto;right:auto;bottom:auto;width:min(var(--max),calc(100% - 48px));margin:0 auto;padding-bottom:28px}
.facility-tile{display:block;position:absolute;inset:0;color:inherit}
.photo-main:after,.photo-stack figure:after{pointer-events:none}
.facility-tile:focus-visible{outline-offset:-5px}
.nav-links{gap:20px}
.nav-links a{white-space:nowrap}
.media-nav{display:flex;flex-wrap:wrap;gap:10px 28px;width:min(1180px,calc(100% - 40px));margin:22px auto 0}
.media-nav a{padding:10px 0;font-size:13px;color:#bbb;text-decoration:none;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.media-nav a:hover,.media-nav a[aria-current=page]{color:#ff646b}
.dialog-bar{gap:14px}
.dialog-bar>span{font-size:14px;line-height:1.4}
.viewer-controls{display:flex;gap:8px;flex-shrink:0}
.viewer-controls button{min-width:44px;min-height:44px}
.clip-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px}
.clip .clip-footer h2{padding:0;font-size:14px}
.play-clip{min-height:42px;min-width:76px;padding:8px 16px;background:#ed2939;border:0;color:white;font:700 14px Arial;cursor:pointer}
.clip-status{padding:0 18px 16px;color:#ddd;font-size:14px;line-height:1.6}
.clip-status[hidden]{display:none}
.clip-status a{color:#ff7379}
.team-links{display:flex;justify-content:center;gap:24px}
@media(max-width:680px){.hero h1{font-size:clamp(2.1rem,12vw,5.2rem)}}
@media(min-width:681px) and (max-width:1200px){
  .menu-toggle{display:block}
  .nav-links{display:none;position:absolute;left:0;right:0;top:78px;flex-direction:column;align-items:stretch;gap:0;padding:12px 24px 20px;background:#121212;border-bottom:1px solid var(--line);font-size:.8rem;max-height:calc(100dvh - 100px);overflow-y:auto}
  .nav-links.open{display:flex}
  .nav-links.open .desktop-link{display:block}
  .nav-links a:not(.button){padding:14px 4px;border-bottom:1px solid var(--line)}
  .nav-links .button{margin-top:13px}
}
@media(min-width:901px) and (max-width:1220px){.nav-links{gap:13px;font-size:.63rem}.nav .button{padding-inline:12px}.brand-logo{width:180px}.nav{gap:20px}}
@media(max-width:900px) and (min-width:681px){.nav-links .desktop-link{display:block}.nav-links .desktop-link:nth-child(2),.nav-links .desktop-link:nth-child(5),.nav-links .desktop-link:nth-child(6){display:none}.nav-links{gap:15px}}
@media(max-width:680px){.hero-content{padding-bottom:30px}.hero-brand-row{width:calc(100% - 36px);padding-bottom:26px}.hero-logo-art{width:100px;height:100px}.hero-app-art{width:76px;height:76px}.hero-note{line-height:1.8}.nav-links a{white-space:normal}.nav-links.open{max-height:calc(100dvh - 146px);overflow-y:auto}.hero .button{padding:13px 16px;text-align:center}.media-nav{gap:10px 23px}.brand{line-height:1.3}header{flex-wrap:wrap}.map-card .contact-link{overflow-wrap:anywhere}.hours-list p{gap:12px}.team-links{flex-wrap:wrap}}

/* Show the full team collage without cropping its people or lettering. */
.photo-main.team-cover{background:#000}
.photo-main.team-cover img{object-fit:contain}
.photo-main.team-cover:hover img{transform:none}
.photo-main.team-cover:after{display:none}

/* Editable portrait labels follow the uncropped 4:3 cover at every size. */
.team-cover .facility-tile{container-type:size}
.team-collage{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100cqw,calc(100cqh * 4 / 3));aspect-ratio:4/3}
.team-collage img{display:block}
.team-person{position:absolute;z-index:1;display:block;padding:0;background:none;color:#fff;line-height:1.5;text-align:left;border:0;max-width:62%;font-size:clamp(9px,1.65cqw,.72rem);letter-spacing:.13em;text-transform:uppercase;font-weight:800;text-shadow:0 1px 4px #000}
.team-brian{left:4%;bottom:52%}.team-zac{left:4%;bottom:5%}
.team-jennifer{left:71%;bottom:52%;max-width:27%}.team-kevin{left:71%;bottom:5%;max-width:27%}
