:root{
  --bg:#0b0b0c; --fg:#f2f2f3; --muted:#a9a9b2; --card:#141417;
  --police-blue:#0a1e3d; --sheriff-green:#1b3d2f; --accent:#a78bfa;
}
*{box-sizing:border-box} html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--fg);
  font-family:'Courier Prime',ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.5;}
.container{max-width:1100px;margin:0 auto;padding:2rem 1rem}

/* Header / Nav */
.site-header{display:flex;align-items:center;justify-content:space-between;
  padding:1rem 1.25rem;border-bottom:1px solid #1f1f23;position:sticky;top:0;
  background:rgba(11,11,12,.8);backdrop-filter:saturate(120%) blur(6px);}
.brand h1{margin:0;font-size:clamp(1.4rem,3.5vw,2.2rem);letter-spacing:.06em}
.gradient-text{background:linear-gradient(90deg,var(--police-blue),#9aa0a6,var(--sheriff-green));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.site-nav{display:flex;gap:.9rem;flex-wrap:wrap}
.site-nav a{text-decoration:none;color:var(--fg);padding:.55rem .9rem;border:1px solid #2a2a30;
  border-radius:999px;background:linear-gradient(180deg,#17171a,#111113);}
.site-nav a:hover{border-color:#3a3a42}
.site-nav a[aria-current="page"]{outline:2px solid var(--accent)}

/* Hero (if used on this page) */
.hero{position:relative}
.hero-img{width:100%;height:clamp(220px,42vw,520px);object-fit:cover;display:block}
.hero-overlay{position:absolute;inset:auto 0 0 0;padding:1rem 1.25rem;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.55));}
.tagline{margin:.25rem 0 0;color:var(--muted)}

/* Footer */
.site-footer{border-top:1px solid #1f1f23;padding:1rem 1.25rem;color:var(--muted);text-align:center}

/* Bios */
.bios-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media (min-width:900px){.bios-grid{grid-template-columns:1fr 1fr}}
.bio-card{background:var(--card);border:1px solid #1f1f23;border-radius:16px;padding:1rem}
.bio-card h3{margin:.75rem 0 .25rem}
.photo-placeholder{height:240px;border:2px dashed #2c2c32;border-radius:12px;background:#0f0f12;
  display:flex;align-items:center;justify-content:center}
.muted{color:var(--muted)}

/* Bios Summary Block */
.bios-summary {
  margin-top: 2rem;
  padding: 1rem 1.25rem;
  background: var(--card);
  border: 1px solid #1f1f23;
  border-radius: 12px;
  text-align: center;
}

.bios-summary p {
  font-size: 1rem;
  color: var(--fg);
  line-height: 1.5;
}

/* Intro Block */
.intro {
  text-align: center;
  margin: 2rem 0;
}

.intro p {
  font-size: 1.1rem;
  line-height: 1.5;
}

/* Projects — 160px-wide vertical 4×5 posters */
.projects-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(160px, 160px)); /* fixed 160px columns */
  gap:1rem;
  justify-content:center;
  justify-items:center; /* center cards inside columns */
}
.project-card{
  display:block;
  background:var(--card);
  border:1px solid #1f1f23;
  border-radius:16px;
  overflow:hidden;
  text-decoration:none;
  color:var(--fg);
  width:160px; /* fixed card width */
}
.project-card img {
  width: 100%;
  height: 260px;        /* increased height for taller images */
  object-fit: cover;    /* crop to fit without distortion */
  display: block;
  border-radius: 16px 16px 0 0; /* match card's top corners */
}
.project-card h3{
  margin:.75rem 0 1rem;
  font-size:1.05rem;
  text-align:center;
  padding:0 .5rem;
}

/* Project detail */
.project-detail .project-hero{
  width:50%; /* half page width */
  height:clamp(130px, 22.5vw, 280px); /* half original range */
  object-fit:cover;
  border-radius:16px;
  border:1px solid #1f1f23;
  display:block;
  margin:0 auto; /* center the image */
}
.project-description{margin:1rem 0}
.dialogue-placeholder{height:560px;border:2px dashed #2c2c32;border-radius:12px;background:#0f0f12;
  display:flex;align-items:center;justify-content:center;color:#6c6c75}

/* ===== Bigger, full-width PDF reader ===== */
.pdf-section{
  width: 100vw;
  margin-left: 50%;
  transform: translateX(-50%);
  padding: 0 1rem;
}

.pdf-frame{
  height: 92vh;
  border: 1px solid #1f1f23;
  border-radius: 12px;
  background:#0f0f12;
  overflow:hidden;
}

@media (max-width: 900px){
  .pdf-frame{ height: 85vh; }
}

.pdf-frame iframe,
.pdf-frame object,
.pdf-frame embed{
  width:100%;
  height:100%;
  display:block;
  border:0;
}

/* Contact */
.contact-form{display:grid;gap:1rem;max-width:720px}
.contact-form label{display:grid;gap:.35rem}
.contact-form input,.contact-form textarea{background:#101015;border:1px solid #2a2a30;border-radius:10px;padding:.8rem;color:var(--fg)}
.contact-form .actions{display:flex;gap:.75rem;align-items:center}
.contact-form button{cursor:pointer;padding:.6rem 1rem;border-radius:999px;border:1px solid #2a2a30;
  background:linear-gradient(180deg,#17171a,#111113);color:var(--fg)}
.btn-link{color:var(--muted)}

/* Utilities */
.page-title{font-size:clamp(1.4rem,3.5vw,2rem);margin:1rem 0}
