:root{
  --paper:#f4f1e8;
  --ink:#0a0a0a;
  --accent:#0b213f;
  --stamp:#7a0d0d;
  --muted:#5a5a5a;
}

*{box-sizing:border-box;margin:0;padding:0;}

body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Merriweather', serif;
  overflow-x:hidden;
}

/* Paper grain */
body::before{
  content:"";
  position:fixed;
  inset:0;
  background:url("https://www.transparenttextures.com/patterns/paper-1.png");
  opacity:0.05;
  pointer-events:none;
}

/* Engineering grid */
body::after{
  content:"";
  position:fixed;
  inset:0;
  background-image:
    linear-gradient(rgba(0,0,0,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,0.03) 1px, transparent 1px);
  background-size:70px 70px;
  pointer-events:none;
  opacity:0.12;
}

header{
  padding:2rem 6vw;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid rgba(0,0,0,0.07);
}

.logo{
  font-family:'Space Mono', monospace;
  font-size:0.85rem;
  letter-spacing:0.25em;
}

nav a{
  margin-left:2rem;
  font-family:'Space Mono', monospace;
  text-decoration:none;
  font-size:0.8rem;
  letter-spacing:0.15em;
  color:var(--ink);
}

.stamp{
  position:fixed;
  top:45px;
  right:6vw;
  font-family:'Space Mono', monospace;
  font-size:1rem;
  color:var(--stamp);
  border:2px solid var(--stamp);
  padding:0.3rem 0.9rem;
  transform:rotate(-12deg);
  opacity:0.7;
  letter-spacing:0.3em;
}

.hero{
  min-height:80vh;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  padding:8vh 6vw;
  gap:4rem;
}

.hero-left{max-width:560px;}

.report-tag{
  font-family:'Space Mono', monospace;
  font-size:0.75rem;
  letter-spacing:0.3em;
  margin-bottom:1.5rem;
  color:var(--muted);
}

h1{
  font-family:Helvetica, Arial, sans-serif;
  text-transform:uppercase;
  letter-spacing:0.12em;
  font-size:3rem;
  margin-bottom:1.5rem;
}

.hero p{
  line-height:1.7;
  font-size:1rem;
  margin-bottom:2rem;
}

.cta{
  display:inline-block;
  background:var(--accent);
  color:white;
  padding:0.7rem 1.4rem;
  font-family:'Space Mono', monospace;
  font-size:0.8rem;
  letter-spacing:0.15em;
  text-decoration:none;
}

.blueprint-panel{
  border-left:6px solid var(--accent);
  background:white;
  padding:2rem;
  box-shadow:0 10px 30px rgba(0,0,0,0.05);
}

.blueprint-placeholder{
  aspect-ratio: 3 / 4;   /* notebook-style portrait */
  width: 100%;
  border:1px solid rgba(0,0,0,0.08);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Space Mono', monospace;
  font-size:0.85rem;
  letter-spacing:0.2em;
  color:var(--muted);
}

.section{
  padding:6rem 6vw;
  border-top:1px solid rgba(0,0,0,0.07);
}

.section h2{
  font-family:Helvetica, Arial, sans-serif;
  text-transform:uppercase;
  letter-spacing:0.1em;
  margin-bottom:2.5rem;
}

.featured-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2rem;
}

.project-card{
  background:white;
  padding:1.8rem;
  border-left:6px solid var(--accent);
  box-shadow:0 8px 25px rgba(0,0,0,0.04);
  transition:transform 0.3s ease;
}

.project-card:hover{
  transform:translateY(-6px);
}

.project-card h3{
  font-family:Helvetica, Arial, sans-serif;
  text-transform:uppercase;
  font-size:1.1rem;
  margin-bottom:0.8rem;
}

.project-card p{
  font-size:0.9rem;
  color:var(--muted);
  margin-bottom:1.2rem;
}

.project-card a{
  font-family:'Space Mono', monospace;
  font-size:0.75rem;
  letter-spacing:0.15em;
  text-decoration:none;
  color:var(--accent);
}

.carousel{
  overflow:hidden;
  position:relative;
}

.carousel-track{
  display:flex;
  transition:transform 0.4s ease;
  gap:2rem;
}

.carousel-item{
  min-width:300px;
  background:white;
  padding:1.5rem;
  border-left:4px solid var(--accent);
}

.carousel-controls{
  margin-top:2rem;
  display:flex;
  gap:1rem;
}

.carousel-controls button{
  font-family:'Space Mono', monospace;
  font-size:0.8rem;
  padding:0.5rem 1rem;
  border:1px solid rgba(0,0,0,0.2);
  background:white;
  cursor:pointer;
}

@media(max-width:900px){
  .hero{
    grid-template-columns:1fr;
  }
  .featured-grid{
    grid-template-columns:1fr;
  }
}