/* Light theme: force white background + black text */
:root { color-scheme: light; }

html, body {
  background: #fff !important;
  color: #000 !important;
}

header, main, section, article, nav {
  background: transparent !important;
  color: #000 !important;
}

/* Base typography */
body {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  margin: 40px;
  line-height: 1.5;
}

a { color: #000; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { opacity: 0.8; }

nav a { margin-right: 12px; }

/* Blog card grid */
:root {
  --card-radius: 16px;
  --card-gap: 30px;
  --shadow: 0 10px 30px rgba(0,0,0,0.12);
}

.stories { margin-top: 28px; }

.stories__header { margin-bottom: 18px; }
.stories__title {
  font-size: clamp(2rem, 3vw, 3rem);
  letter-spacing: -0.03em;
  margin: 0 0 10px;
}
.stories__rule {
  height: 2px;
  background: #000 !important;
  opacity: 0.12 !important;
}

.stories__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--card-gap);
}

.story {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  border-radius: 18px;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.story:hover { transform: translateY(-4px); box-shadow: var(--shadow); }

.story__media { display: block; border-radius: var(--card-radius); overflow: hidden; }
.story__img { width: 100%; height: 280px; object-fit: cover; display: block; }

.story__headline { margin: 0; font-size: 1.35rem; letter-spacing: -0.02em; line-height: 1.2; }
.story__headline a { text-decoration: none; }
.story__headline a:hover { text-decoration: underline; opacity: 1; }

.story__date { margin: 0; font-size: 0.95rem; opacity: 0.7; }
.story__excerpt { margin: 0; opacity: 0.9; line-height: 1.65; max-width: 60ch; }

.story__author {
  margin-top: 14px;
  padding-top: 10px;
  display: flex;
  align-items: center;
  gap: 10px;
  opacity: 0.95;
}

.story__avatar { width: 34px; height: 34px; border-radius: 999px; object-fit: cover; }
.story__name { font-weight: 700; }

/* Responsive */
@media (max-width: 860px) {
  .stories__grid { grid-template-columns: 1fr; }
  .story__img { height: 220px; }
}
/* Home hero (matches blog vibe) */
.home { margin-top: 28px; }

.home__header { margin-bottom: 18px; }
.home__title {
  font-size: clamp(2rem, 3vw, 3rem);
  letter-spacing: -0.03em;
  margin: 0 0 10px;
}
.home__rule {
  height: 2px;
  background: #000;
  opacity: 0.12;
}

.home__hero {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 28px;
  align-items: start;
}

.home__media {
  display: block;
  border-radius: 18px;
  overflow: hidden;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.home__media:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}

.home__img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  display: block;
}

.home__lede {
  margin: 0 0 16px;
  font-size: 1.1rem;
  line-height: 1.65;
  max-width: 45ch;
}

.home__links {
  display: grid;
  gap: 12px;
  max-width: 320px;
}

.home__link {
  display: block;
  padding: 14px 16px;
  border-radius: 14px;
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.home__link:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow);
  opacity: 1;
}

@media (max-width: 860px) {
  .home__hero { grid-template-columns: 1fr; }
  .home__img { height: 280px; }
}
/* Nav links: no underline */
nav a {
  text-decoration: none;
  opacity: 0.9;
}

nav a:hover {
  text-decoration: none;
  opacity: 1;
}