body {
  margin: 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Inter, "Helvetica Neue", Arial, sans-serif;
  color: #111;
}

/* Header layout refined for baseline alignment and balanced padding */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  display: flex;
  align-items: baseline;           /* ensures text bottoms line up */
  justify-content: space-between;
  height: var(--header-height);
  padding: 1.5rem 7vw;            /* adjusted padding for visual balance */
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(6px);
  border-bottom: none;
}

/* Naomi text — matches portfolio style exactly */
.site-header .brand {
  font-weight: 700;
  font-size: clamp(2.5rem, 4vw, 3rem);
  letter-spacing: 0.3px;
  text-decoration: none;
  color: #000;
  line-height: 1;    
  padding-top: 3vh;             /* keeps vertical alignment crisp */
}

/* Navigation links — visually aligned with Naomi baseline */
.site-nav {
  display: flex;
  align-items: baseline;          /* ensures same bottom alignment */
  gap: 2.5rem;
}

.site-nav a {
  font-weight: 300;
  font-size: 1.7rem;
  line-height: 1.2;               /* syncs with baseline */
  text-decoration: none;
  color: #000;
  transition: color 0.2s ease;
}

.site-nav a:hover {
  color: #888;
}

.site-nav a[aria-current="page"] {
  font-weight: 400;
  color: #000;
}

/* Grid — matches portfolio but with side padding + smaller images */
:root {
  --card-gap: 14px;
  --card-radius: 12px;
}

.collection-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--card-gap);
  align-items: start;
  grid-auto-flow: row;
  padding-left: 6vw;   /* Added horizontal padding */
  padding-right: 6vw;  /* Added horizontal padding */
  max-width: 90vw;     /* Prevent grid from stretching too wide */
  margin: 0 auto;      /* Center the grid */
}

.grid-break { grid-column: 1 / -1; height: 0; }

/* Card */
.work {
  display: grid;
  gap: .5rem;
  outline: none;
  transform: scale(0.95); /* Makes images slightly smaller */
  transition: transform 0.25s ease;
}
.work:hover { transform: scale(0.98); } /* Subtle zoom on hover */
.work:focus-visible { box-shadow: 0 0 0 3px rgba(0,0,0,.25); }

/* Thumbnail */
.thumb {
  display: block;
  overflow: hidden;
  background: #f3f3f3;
  aspect-ratio: 4 / 5;
}

.thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}
.work:hover .thumb img { transform: scale(1.03); }

/* Meta text */
.meta { display: grid; gap: .15rem; }
.title {
  margin: 0;
  font-weight: 700;
}
.sub {
  margin: 0;
  font-size: clamp(.85rem, 1.6vw, .95rem);
  color: #555;
}

/* Responsive padding */
@media (max-width: 900px) {
  .collection-grid {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    max-width: 100%;
  }
}

/* Featured section styling (match portfolio) */
.feature-work {
  width: min(80vw, 800px);
  margin: 3rem auto;             /* centers it */
  display: grid;
  gap: .5rem;
}

/* Thumbnail container with same hover zoom */
.feature-thumb {
  display: block;
  overflow: hidden;
  background: #f3f3f3;
}

.feature-thumb img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform .4s ease;
}

.feature-thumb:hover img {
  transform: scale(1.03);
}


.feature-work .sub {
  font-size: clamp(.9rem, 1.5vw, 1.05rem);
  color: #555;
  margin: 0;
}

/* Center and match feature section spacing */
#grid-feature {
  display: grid;
  place-items: center;      /* centers the single image */
  padding: 3rem 6vw;
  margin: 0 auto;
  max-width: 90vw;
}

#grid-feature .work {
  transform: scale(0.95);   /* same as drawings grid */
  transition: transform 0.25s ease;
}

#grid-feature .work:hover {
  transform: scale(0.98);
}

/* Responsive header for mobile screens */
@media (max-width: 900px) {
  .site-header {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1rem 1.25rem;
    height: auto;
  }

  .site-header .brand {
    font-size: clamp(2rem, 6vw, 2.5rem);
    padding-top: 0;
    margin-bottom: 0.5rem;
  }

  .site-nav {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    width: 100%;
  }

  .site-nav a {
    font-size: 1.25rem;
    display: block;
    padding: 0.25rem 0;
  }

  /* Ensure the grid still fits nicely below the header */
  .collection-grid {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}


.contact-main {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5vh 2vw;
  min-height: 100vh; /* ensures it fills screen height */
  background: #fff;
}

.pdf-frame {
  width: 100%;
  max-width: 950px;       /* keep it centered and readable */
  height: 120vh;          /* makes view longer than the screen */
  margin: 0 auto;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  overflow: hidden;
}

.pdf-frame iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}


.site-nav {
  transition: opacity 0.3s ease;
}

/* Responsive PDF scaling on mobile */
@media (max-width: 900px) {
  .pdf-frame {
    width: 95vw; 
    height: 85vh;           
    max-width: none;       /* allow full width use */
    box-shadow: none;      /* cleaner mobile appearance */
    border-radius: 0;      /* remove corners for full-bleed look */
  }

  .pdf-frame iframe {
    width: 100%;
    height: 100%;
    border: none;
    transform: scale(1);   /* ensure no zoom issues */
  }
  .contact-main {
    padding: 2vh 0;        /* tighten top/bottom padding */
    min-height: 100vh;
  }
}
