:root {
  --lm-ink: #20251d;
  --lm-muted: #67705f;
  --lm-line: #e2e5dc;
  --lm-surface: #ffffff;
  --lm-canvas: #f8f9f5;
  --lm-radius: 18px;
}
body { background-color: var(--lm-canvas); color: var(--lm-ink); }
body.index-page { background-color: transparent; }
html { scroll-padding-top: 24px; }
body #lm-unified-header { border-bottom-color: var(--lm-line) !important; }
#lm-unified-header .lm-nav-btn { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; }
body #lm-unified-footer { margin-top: 72px !important; padding-top: 56px !important; padding-bottom: 36px !important; }
body #lm-unified-footer p { max-width: 380px; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #869d55; outline-offset: 4px; }

/* A single readable job-title treatment, without synthetic bold. */
html body .lm-opportunity-card .lm-card-title,
html body .lm-header-card .lm-job-title {
  font-family: 'Jaro', sans-serif !important;
  font-weight: 400 !important;
  font-synthesis: none;
  font-variation-settings: 'opsz' 24;
  text-transform: none !important;
  letter-spacing: .015em !important;
  overflow-wrap: anywhere;
}
html body .lm-opportunity-card .lm-card-title { font-size: 25px !important; line-height: 1.2 !important; }
html body .lm-header-card .lm-job-title { font-size: clamp(34px, 4.2vw, 48px) !important; line-height: 1.15 !important; max-width: 900px; }

/* Home and browse share one spacious board surface. */
body .lm-page-hero { padding-top: 64px; }
body .lm-page-hero h1 { margin-bottom: 26px; }
body .lm-page-hero p { line-height: 1.75 !important; }
body #notion-opps-section { max-width: 1200px !important; margin-top: 56px !important; padding: 0 24px !important; }
body .lm-opportunity-card { padding: 24px !important; border-radius: 14px !important; border-color: var(--lm-line) !important; margin-bottom: 16px !important; gap: 20px; }
body .lm-card-logo-box { border-color: var(--lm-line) !important; background: #f5f6f1 !important; }
body .lm-card-meta { max-width: 37%; gap: 3px; }
body .lm-card-meta span { font-size: 12px !important; line-height: 1.6; }
body #searchInput { min-height: 48px; font-size: 14px; }
body #arrangementBtn, body #typeBtn { min-height: 48px; border-color: var(--lm-line); background: #f7f8f3; }
body .lm-ad-card { border-radius: 14px !important; border-color: var(--lm-line) !important; box-shadow: none !important; }

/* Detail pages use the same surfaces and give long passages room to breathe. */
body .lm-detail-wrapper { max-width: 1200px; padding: 48px 24px 24px; margin: 0 auto; }
body .lm-back-link { margin-bottom: 28px; font-size: 13px; color: var(--lm-muted); }
body .lm-header-card { padding: 40px; border: 1px solid var(--lm-line); border-radius: var(--lm-radius); background: #fff; box-shadow: none; }
body .lm-company-name { font-size: 13px; letter-spacing: .06em; color: var(--lm-muted); margin-top: 10px; }
body .lm-meta-grid { column-gap: 40px; row-gap: 24px; padding-top: 12px; }
body .lm-meta-label { font-size: 10px; letter-spacing: .1em; color: var(--lm-muted); }
body .lm-meta-value { font-size: 13px; font-weight: 500; line-height: 1.6; }
body .lm-action-bar { gap: 20px; padding-top: 28px; border-color: var(--lm-line); }
body .lm-btn-apply, body .lm-btn-secondary { min-height: 48px; border-radius: 10px; padding: 14px 22px; font-size: 12px; }
body .lm-btn-apply { background: var(--lm-ink); }
body .lm-btn-secondary { background: #fff; border-color: var(--lm-line); }
body .lm-main-layout { gap: 32px; margin-top: 32px; }
body .lm-description-col { padding: 40px; border-radius: var(--lm-radius); border-color: var(--lm-line); box-shadow: none; }
body #lm-opportunity-detail .lm-description-col p, body #lm-opportunity-detail .lm-description-col li { font-size: 18px !important; line-height: 1.8 !important; }
body #lm-opportunity-detail .lm-description-col p { margin-bottom: 22px; }
body .lm-description-col h2, body .lm-description-col h3 { margin-top: 32px; margin-bottom: 16px; }
body .lm-description-col > h2:first-child { margin-top: 0; }
body .lm-cover-box { border-radius: var(--lm-radius) !important; border-color: var(--lm-line) !important; box-shadow: none !important; }
body .lm-similar-section { margin-top: 56px !important; }

/* Form pages keep their existing fields and handlers, with calmer visual rhythm. */
#post-opportunity-main { padding-top: 56px; padding-bottom: 32px; }
#post-opportunity-main > .lm-post-intro { margin-bottom: 40px; }
#post-opportunity-main .lm-post-intro p { margin-top: 18px; font-size: 18px !important; line-height: 1.7 !important; }
#post-opportunity-main .lm-post-form-card, #post-opportunity-main .lm-post-faq-card { border: 1px solid var(--lm-line); border-radius: var(--lm-radius); box-shadow: none; padding: 40px; }
#post-opportunity-main .lm-post-form-card > div:first-child { padding-bottom: 24px; margin-bottom: 28px; border-color: var(--lm-line); }
#post-opportunity-main form > .grid { gap: 24px; }
#post-opportunity-main form label { margin-bottom: 9px; font-size: 10px; font-weight: 600; letter-spacing: .08em; }
#post-opportunity-main input:not([type='checkbox']):not([type='file']):not([type='hidden']),
#post-opportunity-main select,
#post-opportunity-main textarea { border: 1px solid #dce1d3; border-radius: 10px; background: #fbfcf8; font-size: 14px; color: var(--lm-ink); }
#post-opportunity-main input:not([type='checkbox']):not([type='file']):not([type='hidden']), #post-opportunity-main select { min-height: 52px; }
#post-opportunity-main textarea { min-height: 200px; padding: 16px; line-height: 1.7; }
#post-opportunity-main input:focus, #post-opportunity-main select:focus, #post-opportunity-main textarea:focus { outline: 2px solid #b8c88f; outline-offset: 2px; border-color: #7c8e5c; }
#post-opportunity-main button[type='submit'] { min-height: 54px; border-radius: 10px; }
#post-opportunity-main #sliderCard { min-height: 260px; border-radius: var(--lm-radius); box-shadow: none; background: #20251d; border-color: #20251d; }
#post-opportunity-main #slideTitle { font-size: clamp(24px, 3.2vw, 36px) !important; }
#post-opportunity-main #slideActionBtn { border-radius: 10px; box-shadow: none; }
#post-opportunity-main details { border-color: var(--lm-line); background: #fafbf7; padding: 20px; }

@media (max-width: 900px) {
  body .lm-main-layout { gap: 28px; }
  body .lm-description-col { padding: 28px; }
}
@media (max-width: 640px) {
  body .lm-page-hero { padding-top: 40px; }
  body #notion-opps-section { padding: 0 16px !important; margin-top: 36px !important; }
  body .lm-opportunity-card { padding: 20px !important; gap: 16px !important; }
  html body .lm-opportunity-card .lm-card-title { font-size: 23px !important; }
  body .lm-card-meta { max-width: 100%; align-items: flex-start !important; margin-left: 0 !important; }
  body .lm-detail-wrapper { padding: 28px 16px 16px; }
  body .lm-header-card, body .lm-description-col { padding: 24px; }
  body #lm-opportunity-detail .lm-description-col p, body #lm-opportunity-detail .lm-description-col li { font-size: 17px !important; line-height: 1.75 !important; }
  body .lm-meta-grid { gap: 20px; }
  body .lm-action-left { flex-wrap: wrap; gap: 12px; }
  #post-opportunity-main { padding-top: 32px; }
  #post-opportunity-main .lm-post-form-card, #post-opportunity-main .lm-post-faq-card { padding: 24px; }
  body #lm-unified-footer { margin-top: 48px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .lm-opportunity-card, .lm-card-logo-box, .lm-ad-card { transform: none !important; transition: none !important; }
}

/* Page-title exceptions and a calm, accessible board loading state. */
@font-face {
  font-family: 'Post No Bills';
  src: url('../fonts/PostNoBillsColombo-Bold.ttf') format('truetype');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
body #lm-post-page-heading { font-family: 'Post No Bills', sans-serif !important; font-weight: 700 !important; }
body #lm-opportunity-detail .lm-description-heading { font-family: 'Poppins', sans-serif !important; font-weight: 600 !important; }
.lm-opportunities-loading {
  width: calc(100% - 40px);
  max-width: 1200px;
  min-height: 240px;
  margin: 32px auto;
  padding: 40px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  text-align: center;
  color: var(--lm-muted);
  border: 1px solid var(--lm-line);
  border-radius: var(--lm-radius);
  background: var(--lm-surface);
}
.lm-loading-spinner {
  width: 32px;
  height: 32px;
  border: 3px solid var(--lm-line);
  border-top-color: #637c38;
  border-radius: 50%;
  animation: lm-loading-spin .9s linear infinite;
}
.lm-loading-label { font-family: 'Poppins', sans-serif; font-size: 14px; font-weight: 500; }
@keyframes lm-loading-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .lm-loading-spinner { animation: none; } }


/* Keep the managed-hiring hero aligned with our other page titles. */
body.hiring-page #hiring-heading { font-family: 'Post No Bills', sans-serif !important; font-weight: 700 !important; }
