@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=IBM+Plex+Sans:ital,wght@0,100..700;1,100..700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

:root {
  --bg: #f7f4f0;
  --text: #111;
  --font-heading: 'Inter', sans-serif;
  --font-sans-serif: 'IBM Plex Sans', sans-serif;
}

html, body {
    margin: 0;
    padding: 0 1vw;
    background: var(--bg);
    color: var(--text);
}

body {
  padding-top: 1vw;
}

/* Container: full width, flush left */
.site {
  width: 100%;           /* full width minus body padding */
  max-width: 100%;       /* no centering */
  margin: 0;             /* remove auto centering */
  padding: 0;
}

/* Header - jumbo, left-aligned */
h1 {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 6vw;
  letter-spacing: clamp(-0.05em, -0.5vw, -0.5rem);
  margin: 0;
}

h2 {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 3.5vw;
  letter-spacing: clamp(-0.05em, -0.5vw, -0.5rem);
  margin: 0;
}

a {
  color: inherit;
  transition: transform 0.2s ease, color 0.2s ease;
  display: inline-block;  
}

a:hover {
  color: rgb(3, 66, 255);
  transform: skewX(-5deg);         
}

a :visited {
  color: inherit;
}

header p {
  font-size: 2.5vw;
  text-align: left;
  font-family: var(--font-sans-serif);
}

/* Feed */
.feed {
  display: flex;
  flex-direction: column;
  gap: 3.5vw;           
}

/* Posts */
.post {
  width: 100%;           /* fill the column */
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  transition: none;
  opacity: 0;            /* fade-in via JS */
}

.post.visible {
  opacity: 1;
}

/* Images */
.post img {
  width: 100%;           /* fill post width */
  height: auto;
  display: block;
  border-radius: 0;
  padding: 0;
}

/* Caption & Date */
.caption {
  padding-top: 1vw;
  font-size: 2vw;      
  text-align: left;
  padding-bottom: 1vw;
}

.nobr {
  white-space: nowrap;
}

.date {
  font-size: 1.5vw;
  text-align: left;
}

/* Mobile adjustments */
@media (max-width: 640px) {
  h1 { font-size: 8vw;}
  h2 { font-size: 4vw;}
  header p { font-size: 3.2vw; }
  .caption { font-size: 3vw; }
  .date { font-size: 2.5vw; }
}
