body{
font-family: Georgia, serif;
margin:0;
background:#111;
color:#f5f5f5;
line-height:1.6;
}

p{
font-size:14pt;
}

a{
color:#66CCFF;
text-decoration:none;
}

a:hover{
color:#99E0FF;
text-decoration:underline;
}

a:visited{
color:#66CCFF;
}

.video-group{
grid-template-columns:repeat(2,minmax(0,1fr));
}

.modal{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.78);
justify-content:center;
align-items:center;
padding:24px;
box-sizing:border-box;
z-index:1000;
}

.modal-content{
background:#1d1d1d;
color:white;
width:min(900px,100%);
max-height:90vh;
overflow-y:auto;
padding:32px;
border-radius:8px;
position:relative;
box-shadow:0 0 20px rgba(0,0,0,0.45);
}

.modal-content h2{
margin-top:0;
}

.modal-meta{
margin:6px 0;
color:#ddd;
}

.modal-close{
position:absolute;
top:12px;
right:16px;
background:none;
border:none;
color:white;
font-size:32px;
cursor:pointer;
}

#modal-embed{
margin:20px 0;
}

#modal-embed iframe{
width:100%;
max-width:100%;
aspect-ratio:16 / 9;
height:auto;
}

#modal-description p{
margin:0 0 16px 0;
color:#ddd;
}

#modal-ai{
margin-top:16px;
color:#ddd;
font-weight:bold;
}

.modal-link-wrap{
margin-top:20px;
}

#modal-link{
color:#caa76a;
text-decoration:none;
}

#modal-link:hover{
text-decoration:underline;
}

.nav{
background:#181818;
padding:15px 0;
}

.nav-container{
width:90%;
max-width:1100px;
margin:auto;
display:flex;
justify-content:space-between;
align-items:center;
}

.site-title{
color:#ddd;
text-decoration:none;
margin-left:0;
}

.site-title:hover{
color:white;
text-decoration:none;
}

.nav a{
color:#ddd;
margin-left:15px;
text-decoration:none;
}

.nav a:hover{
color:white;
text-decoration:none;
}

.hero{
padding:120px 20px;
text-align:center;
background:#222;
}

.content{
width:90%;
max-width:1200px;
margin:auto;
padding:40px 0;
}

.bio-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:24px;
margin-top:24px;
}

.bio-card{
background:#1d1d1d;
border-radius:4px;
padding:16px;
}

.bio-card img,
.bio-placeholder{
width:100%;
aspect-ratio:4 / 3;
object-fit:cover;
display:block;
border-radius:3px;
background:#2a2a2a;
}

.bio-placeholder{
display:flex;
align-items:center;
justify-content:center;
font-size:36px;
font-weight:bold;
color:#caa76a;
}

.bio-card h3{
margin:14px 0 10px 0;
}

.bio-card p{
margin:0;
color:#ddd;
}

.bio-card-jon img{
object-position:center -1%;
}

.button-container{
margin-top:30px;
}

.button{
display:inline-block;
background:#caa76a;
color:black;
padding:12px 20px;
margin-right:10px;
text-decoration:none;
}

.button:hover,
.button:visited{
color:black;
text-decoration:none;
}

.artifact-group{
display:grid;
gap:24px;
margin:20px 0 48px 0;
}

.audio-group,
.text-group{
grid-template-columns:repeat(2,minmax(0,1fr));
}

.image-group,
.letter-group{
grid-template-columns:repeat(3,minmax(0,1fr));
}

.artifact-card{
display:block;
background:#1d1d1d;
padding:16px;
text-decoration:none;
color:white;
border-radius:4px;
}

.artifact-card:link,
.artifact-card:visited,
.artifact-card:hover{
color:white;
text-decoration:none;
}

.artifact-card h3{
margin:14px 0 10px 0;
}

.artifact-card p{
margin:0;
color:#ddd;
}

.artifact-card img,
.artifact-icon{
width:100%;
aspect-ratio:4 / 3;
object-fit:cover;
display:block;
background:#2a2a2a;
}

.artifact-icon{
display:flex;
align-items:center;
justify-content:center;
font-size:48px;
}

.video-thumb{
position:relative;
width:35%;
margin:0;
}

.video-thumb img{
display:block;
}

.video-thumb .artifact-icon{
position:absolute;
inset:0;
background:rgba(0,0,0,0.35);
font-size:64px;
}

.artifact-divider{
border:none;
border-top:3px solid #FFFFFF;
margin:18px 0;
}

.artifact-primary img{
max-width:100%;
height:auto;
width:auto;
display:block;
margin:0 auto;
}

.artifact-primary audio{
width:min(680px,100%);
display:block;
margin:0 auto;
}

.artifact-primary iframe{
width:100%;
max-width:100%;
aspect-ratio:16 / 9;
border:0;
display:block;
}

footer{
text-align:center;
padding:40px;
color:#aaa;
}

@media (max-width:900px){
.audio-group,
.text-group,
.image-group,
.letter-group,
.bio-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}
}

@media (max-width:600px){
.audio-group,
.text-group,
.image-group,
.letter-group,
.bio-grid{
grid-template-columns:1fr;
}
}
