/* Shared editorial design. Loaded after site.css on every page.
Palette and fonts: colors.css. Homepage-only layouts: home/*.css. */

/* Page widths, display typography, and reusable text links. */
.shell {
  width: min(1440px, calc(100% - 112px));
}

h1,h2,h3,h4 {
  font-weight: 400;
  letter-spacing: -.025em;
}

h1 em,h2 em {
  font-weight: 400;
  font-style: normal;
}

.eyebrow {
  color: var(--muted);
  font-weight: 400;
}

.text-link {
  display: inline-block;
  border-bottom: 1px solid var(--line);
  padding-bottom: 8px;
  font-weight: 400;
}

.section-heading {
  margin-bottom: 48px;
}

.section-heading h2 {
  font-size: clamp(3rem,6vw,6.5rem);
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
}

/* Navigation and footer use the same gutters as the main content. */
.nav-inner {
  max-width: none;
  height: 76px;
  padding-inline: 56px;
}

.wordmark {
  font-family: var(--title-font-family);
  font-weight: 400;
  font-style: normal;
  font-size: 2rem;
  letter-spacing: -.06em;
}

.desktop-links {
  gap: 32px;
}

.desktop-links a {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.desktop-links a[aria-current]::after {
  height: 1px;
}

.theme-toggle {
  border-color: var(--line);
}

.site-footer {
  padding-inline: 56px;
  background: var(--bg);
}

/* Featured project is shared by the homepage and projects index. */
.featured-work {
  border: 0;
  grid-template-columns: 1.2fr 1fr;
  background: transparent;
  gap: 5%;
  align-items: center;
}

.work-copy {
  padding: 24px 0;
}

.work-copy h3 {
  font-size: 5.5rem;
  font-weight: 400;
  margin: 16px 0;
  text-transform: uppercase;
}

.tags span {
  border-radius: 0;
}

.simon-feature .simon-visual {
  min-height: 510px;
  background: radial-gradient(ellipse at 50% 45%,#303030,#1c1c1c 55%,#101010);
}

/* Consistent headings and square surfaces on existing detail pages. */
.button,.default-button,.redirect-button,.btn-submit,.card,.acc-card,.project-card,.contact-form,.resume-viewer {
  border-radius: 0;
}

.pattern-banner {
  min-height: 360px;
  background: var(--bg2);
  padding-block: 60px;
}

.pattern-banner h1 {
  font-size: clamp(3rem,7vw,7rem);
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.section-header__title {
  font-size: clamp(2.5rem,4vw,4rem);
  font-weight: 400;
}

.project-card__title {
  font-size: 2.4rem;
}

/* JS adds .reveal only after an observer is ready; no-JS content stays visible. */
.reveal {
  transform: translateY(38px);
  transition: opacity .9s ease, transform .9s cubic-bezier(.2,.65,.2,1);
}

@media (max-width: 900px) {
  .shell {
    width: calc(100% - 48px);
  }
  .nav-inner,.site-footer {
    padding-inline: 24px;
  }
  .desktop-links {
    gap: 20px;
  }
  .simon-feature .simon-visual {
    min-height: 420px;
  }
}

@media (max-width: 600px) {
  .nav-inner {
    height: 70px;
  }
  .section-heading h2 {
    font-size: 12vw;
  }
  .featured-work {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .simon-feature .simon-visual {
    min-height: 360px;
  }
  .work-copy h3 {
    font-size: 4rem;
  }
  .pattern-banner {
    min-height: 280px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal {
    transform: none;
  }
}

@media print {
  .reveal {
    opacity: 1;
    transform: none;
  }
}
