:root {
  --ink: #171717;
  --paper: #f4f0e8;
  --acid: #d8ff3e;
  --violet: #7257ff;
  --coral: #ff8064;
  --line: rgba(23, 23, 23, .18);
}

html { scroll-behavior: smooth; }
body { color: var(--ink); background: var(--paper); font-family: Inter, Arial, sans-serif; }
a { color: inherit; }
.navbar { border-bottom: 1px solid var(--line); }
.navbar-brand { letter-spacing: .05em; }
.nav-link { color: var(--ink); font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; }
.nav-link:hover, .nav-link.active { color: var(--violet) !important; }
.eyebrow { font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; }
.hero { min-height: calc(100vh - 76px); padding: 5rem 0; }
.hero-inner { min-height: 62vh; }
.display-hero { font-size: clamp(3.7rem, 9vw, 8rem); line-height: .86; letter-spacing: -.075em; font-weight: 850; }
.display-hero em { color: var(--violet); font-family: Georgia, serif; font-weight: 400; }
.page-title { font-size: clamp(3.5rem, 8vw, 7rem); line-height: .9; letter-spacing: -.065em; }
.section-title { font-size: clamp(2.6rem, 6vw, 4.8rem); line-height: .95; letter-spacing: -.05em; }
.section-block { padding: 7rem 0; border-top: 1px solid var(--line); }
.btn-acid { --bs-btn-bg: var(--acid); --bs-btn-border-color: var(--ink); --bs-btn-color: var(--ink); --bs-btn-hover-bg: var(--acid); --bs-btn-hover-border-color: var(--ink); --bs-btn-hover-color: var(--ink); border-radius: 0; font-weight: 700; transition: .2s; }
.btn-acid:hover { transform: translate(-4px, -4px); box-shadow: 4px 4px 0 var(--ink); }
.btn-outline-dark { border-radius: 0; }
.feature-card { min-height: 360px; border: 1px solid var(--ink); border-radius: 0; overflow: hidden; }
.feature-card h2 { font-size: clamp(2.2rem, 4vw, 3.6rem); letter-spacing: -.04em; }
.bg-violet { background: var(--violet); color: #fff; }
.bg-acid { background: var(--acid); color: var(--ink); }
.bg-coral { background: var(--coral); color: var(--ink); }
.project-card { border: 0; border-radius: 0; background: transparent; }
.project-media { position: relative; overflow: hidden; border: 1px solid var(--ink); background: #ded9cf; aspect-ratio: 4 / 3; }
.project-media.print { aspect-ratio: 3 / 4; }
.project-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.project-card:hover .project-media img { transform: scale(1.025); }
.project-number { position: absolute; top: 12px; left: 12px; z-index: 2; background: var(--paper); border: 1px solid var(--ink); padding: .35rem .55rem; font-size: .72rem; font-weight: 700; }
.project-card .card-title { letter-spacing: -.025em; }
.info-list { border-top: 1px solid var(--line); }
.info-row { padding: 1.2rem 0; border-bottom: 1px solid var(--line); }
.contact-panel { min-height: 400px; background: var(--violet); color: white; }
.contact { color: var(--paper); background: var(--ink); }
footer { color: #aaa; background: var(--ink); border-top: 1px solid #444; }

@media (max-width: 767.98px) {
  .hero { min-height: auto; padding: 4.5rem 0; }
  .hero-inner { min-height: auto; }
  .section-block { padding: 4.5rem 0; }
  .feature-card { min-height: 300px; }
}
