/* linstead — desktop-first editorial */
:root {
  --ls-bg: #f7f5f0;
  --ls-fg: #1a1a1a;
  --ls-muted: #6b6560;
  --ls-rule: #e5e1d8;
  --ls-serif: "Newsreader", "Iowan Old Style", Palatino, Georgia, serif;
  --ls-sans: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --ls-shell: 72rem;   /* full page shell */
  --ls-measure: 40rem; /* article measure */
  --background-color: #f7f5f0; /* Source expects this; empty broke contrast script */
}

html, body {
  background: var(--ls-bg) !important;
  color: var(--ls-fg) !important;
  font-family: var(--ls-sans) !important;
  font-size: 1.0625rem;
  line-height: 1.65;
  min-width: 320px;
}

.gh-viewport, .gh-site, .site-wrapper { background: var(--ls-bg) !important; }

/* ---- Desktop navigation (kill stuck mobile burger) ---- */
.gh-navigation {
  background: transparent !important;
  border-bottom: 1px solid var(--ls-rule) !important;
  box-shadow: none !important;
}
.gh-navigation-inner,
.gh-inner,
.gh-outer > .gh-inner {
  max-width: var(--ls-shell) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

/* Force horizontal nav on tablet+ */
@media (min-width: 768px) {
  .gh-burger { display: none !important; }
  .gh-navigation-menu {
    display: flex !important;
    visibility: visible !important;
    position: static !important;
    height: auto !important;
    overflow: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  .gh-navigation-menu .nav {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 1.25rem !important;
    flex-wrap: nowrap !important;
  }
  .gh-navigation.is-middle-logo .gh-navigation-menu,
  .gh-navigation.is-middle-logo .gh-navigation-actions {
    display: flex !important;
  }
  /* Source sometimes collapses middle-logo into drawer — undo */
  .gh-navigation-menu[data-open],
  .gh-navigation.is-open .gh-navigation-menu {
    display: flex !important;
  }
}

.gh-navigation-logo,
.gh-navigation-logo.is-title {
  font-family: var(--ls-serif) !important;
  font-weight: 500 !important;
  font-size: 1.35rem !important;
  letter-spacing: -0.02em;
  color: var(--ls-fg) !important;
}
.gh-navigation-menu a,
.nav a {
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: var(--ls-muted) !important;
  text-transform: none !important;
  letter-spacing: 0.01em;
  white-space: nowrap;
}
.gh-navigation-menu a:hover,
.nav a:hover,
.nav-current a { color: var(--ls-fg) !important; }

/* Hide members CTA / portal chrome day-1 */
.gh-navigation-members,
.gh-footer-signup,
.gh-subscribe,
a.gh-button[data-portal],
.gh-portal { display: none !important; }

h1, h2, h3,
.gh-article-title,
.gh-card-title {
  font-family: var(--ls-serif) !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em;
  color: var(--ls-fg) !important;
}

/* Content widths: shell wide, prose measured */
.gh-main { max-width: var(--ls-shell) !important; margin: 0 auto !important; }
.gh-canvas,
.gh-content { max-width: var(--ls-measure) !important; }

.gh-content {
  font-size: 1.125rem !important;
  line-height: 1.7 !important;
}

.gh-card, .post-card {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-bottom: 1px solid var(--ls-rule) !important;
  border-radius: 0 !important;
  padding: 1.5rem 0 !important;
  max-width: none !important;
}
.gh-card-image, .post-card-image { display: none !important; }
.gh-card-excerpt, .post-card-excerpt { color: var(--ls-muted) !important; }

/* Home */
.ls-home {
  max-width: 48rem;
  margin: 4.5rem auto 6rem;
  padding: 0 1.5rem;
}
.ls-home h1 {
  font-family: var(--ls-serif);
  font-size: clamp(2.4rem, 4vw, 3.4rem);
  line-height: 1.12;
  margin: 0 0 1rem;
}
.ls-home .ls-intro {
  color: var(--ls-muted);
  font-size: 1.2rem;
  max-width: 36rem;
  margin-bottom: 2.75rem;
}
.ls-banner {
  border: 1px solid var(--ls-rule);
  padding: 0.85rem 1rem;
  margin-bottom: 2.5rem;
  font-size: 0.95rem;
  color: var(--ls-muted);
}
.ls-lanes {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 768px) {
  .ls-lanes { grid-template-columns: 1fr 1fr; gap: 1.35rem; }
}
.ls-lane {
  border: 1px solid var(--ls-rule);
  padding: 1.5rem 1.35rem;
  text-decoration: none !important;
  color: inherit !important;
  min-height: 7rem;
}
.ls-lane:hover { border-color: #bdb7ac; background: rgba(255,255,255,0.35); }
.ls-lane h2 {
  font-family: var(--ls-serif);
  font-size: 1.45rem;
  margin: 0 0 0.45rem;
}
.ls-lane p { margin: 0; color: var(--ls-muted); font-size: 0.98rem; }

footer.gh-foot, .gh-foot {
  border-top: 1px solid var(--ls-rule) !important;
  background: transparent !important;
  color: var(--ls-muted) !important;
  font-size: 0.85rem !important;
}
.gh-aside { display: none !important; }

/* MEMBERSHIP HIDDEN — day-1 no signin/signup */
.gh-navigation-members,
.gh-navigation-actions .gh-button,
a.gh-button[href*="portal"],
a[data-portal],
a[data-portal-link],
.gh-footer-signup,
.gh-footer-signup-header,
.gh-footer-signup-subhead,
.gh-form,
.nav-sign-up,
.nav-sign-in,
.nav-signin,
.nav-signup,
.nav-subscribe,
li.nav-sign-up,
li.nav-sign-in,
.gh-post-upgrade-cta,
.gh-members-styles,
#ghost-portal-root,
iframe[src*="portal"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* Work log datetime always visible */
.ls-datetime,
.ls-post-datetime,
.ls-post-datetime time {
  display: block !important;
  color: var(--ls-muted) !important;
  font-size: 0.92rem !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
  margin: 0.35rem 0 0;
}
.gh-card-meta .ls-datetime {
  display: inline !important;
  margin-left: 0.35rem;
}
.gh-card-meta {
  display: flex !important;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
  align-items: center;
  margin-top: 0.65rem !important;
  color: var(--ls-muted) !important;
}
