/* Lot 82 — brand expansion (nav, division pages, homepage brand section)
   All classes use the .lx- prefix to avoid collisions with existing styles. */

/* ---------- Primary navigation ---------- */
.lx-nav {
  background: var(--black, #111111);
  border-bottom: 1px solid rgba(247, 242, 234, 0.14);
  position: relative;
  z-index: 50;
}
.lx-nav-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0.55rem 1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.lx-nav-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--hero-text, #F7F2EA);
  font-family: var(--lot82-heading-font, Oswald, sans-serif);
  font-weight: 700;
  letter-spacing: 0.08em;
  font-size: 1.05rem;
  margin-right: auto;
}
.lx-nav-brand img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  object-fit: contain;
}
.lx-nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.15rem 0.35rem;
  align-items: center;
}
.lx-nav-links a {
  color: rgba(247, 242, 234, 0.78);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.55rem 0.6rem;
  border-bottom: 3px solid transparent;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.lx-nav-links a:hover { color: #fff; }
.lx-nav-links a:focus-visible,
.lx-card:focus-visible,
.lx-nav-brand:focus-visible {
  outline: 2px solid #c5a572;
  outline-offset: 2px;
}
.lx-nav-links a.lx-active {
  color: #fff;
  border-bottom-color: #c5a572;
}
.lx-nav-links a.lx-nav-cta {
  color: #111;
  background: #c5a572;
  border-radius: 6px;
  border-bottom-color: transparent;
  margin-left: 0.35rem;
}
.lx-nav-links a.lx-nav-cta:hover { background: #d4ba8a; color: #111; }
.lx-nav-links a.lx-nav-cta.lx-active { border-bottom-color: #73000A; }

@media (max-width: 640px) {
  .lx-nav-inner { justify-content: center; }
  .lx-nav-brand { margin-right: 0; }
  .lx-nav-links { justify-content: center; }
  .lx-nav-links a { font-size: 0.68rem; padding: 0.45rem 0.45rem; }
}

/* ---------- Shared page scaffolding ---------- */
.lx-wrap { max-width: 1060px; margin: 0 auto; padding: 0 1.5rem; }
.lx-section { padding: 3rem 0; }
.lx-section-tight { padding: 2rem 0; }
.lx-center { text-align: center; }
.lx-h2 {
  font-family: var(--lot82-heading-font, Oswald, sans-serif);
  font-size: clamp(1.7rem, 4.5vw, 2.3rem);
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--text-dark, #1A1A1A);
  margin-bottom: 0.85rem;
}
.lx-lead { color: var(--text-muted, #5a5a5a); max-width: 44rem; }
.lx-lead p + p { margin-top: 0.9rem; }
.lx-hero {
  background: var(--black, #111111);
  color: var(--hero-text, #F7F2EA);
  text-align: center;
  padding: 2.75rem 1.5rem 3rem;
}
.lx-hero .eyebrow { color: #c5a572; }
.lx-hero h1 {
  font-family: var(--lot82-heading-font, Oswald, sans-serif);
  font-size: clamp(2rem, 6.5vw, 3.2rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--hero-text, #F7F2EA);
  margin: 0.5rem auto 0.85rem;
  max-width: 22ch;
}
.lx-hero-sub {
  color: rgba(247, 242, 234, 0.8);
  max-width: 38rem;
  margin: 0 auto;
  font-size: 1.02rem;
}
.lx-lockup {
  display: block;
  margin: 0 auto 1.5rem;
  width: min(320px, 78vw);
  height: auto;
  border-radius: 14px;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.28);
}
.lx-hero-light {
  background: var(--cream, #F7F2EA);
  color: var(--text-dark, #1A1A1A);
}
.lx-hero-light h1 { color: var(--garnet-deep, #5a0008); }
.lx-hero-light .lx-hero-sub { color: var(--text-muted, #5a5a5a); }
.lx-hero-light .lx-lockup { box-shadow: 0 14px 34px rgba(90, 0, 8, 0.16); }

/* ---------- Homepage brand section + cards ---------- */
.lx-brand-section {
  background: var(--cream, #F7F2EA);
  padding: 3.25rem 1.5rem 3.5rem;
  border-top: 4px solid var(--garnet, #73000A);
}
.lx-brand-inner { max-width: 1060px; margin: 0 auto; }
.lx-brand-section .lx-lead { margin-bottom: 2.25rem; }
.lx-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 700px) {
  .lx-cards { grid-template-columns: 1fr 1fr; }
}
.lx-card {
  display: flex;
  flex-direction: column;
  background: var(--white, #fff);
  border: 1px solid #e5dfd4;
  border-radius: 14px;
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.lx-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 34px rgba(90, 0, 8, 0.16);
}
.lx-card-media {
  background: var(--cream, #F7F2EA);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 250px;
  overflow: hidden;
}
.lx-card-media img {
  max-height: 100%;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}
.lx-card-media-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lx-card-body { padding: 1.4rem 1.5rem 1.6rem; }
.lx-card-body h3 {
  font-family: var(--lot82-heading-font, Oswald, sans-serif);
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--text-dark, #1A1A1A);
  margin-bottom: 0.35rem;
}
.lx-card-tag {
  color: var(--garnet, #73000A);
  font-weight: 700;
  font-size: 0.95rem;
  margin-bottom: 0.6rem;
}
.lx-card-go {
  margin-top: auto;
  color: var(--garnet, #73000A);
  font-weight: 700;
  font-size: 0.9rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* ---------- Program / initiative cards ---------- */
.lx-program-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.1rem;
}
@media (min-width: 700px) {
  .lx-program-grid { grid-template-columns: 1fr 1fr; }
}
.lx-program {
  background: var(--white, #fff);
  border: 1px solid #e5dfd4;
  border-top: 4px solid var(--garnet, #73000A);
  border-radius: 10px;
  padding: 1.5rem 1.6rem;
}
.lx-program h3 {
  font-family: var(--lot82-heading-font, Oswald, sans-serif);
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
  color: var(--text-dark, #1A1A1A);
}
.lx-program p { color: var(--text-muted, #5a5a5a); font-size: 0.97rem; }
.lx-tag-chip {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--garnet-deep, #5a0008);
  background: rgba(197, 165, 114, 0.25);
  border: 1px solid rgba(197, 165, 114, 0.7);
  border-radius: 999px;
  padding: 0.22rem 0.6rem;
  margin-bottom: 0.7rem;
}
.lx-serve-list {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.6rem;
}
@media (min-width: 700px) {
  .lx-serve-list { grid-template-columns: 1fr 1fr 1fr; }
}
.lx-serve-list li {
  background: var(--white, #fff);
  border: 1px solid #e5dfd4;
  border-radius: 10px;
  padding: 0.9rem 1rem;
  font-weight: 600;
  font-size: 0.95rem;
}

/* ---------- Forms (mailto compose) ---------- */
.lx-form-card {
  background: var(--white, #fff);
  border: 1px solid #e5dfd4;
  border-radius: 14px;
  padding: 1.75rem;
  max-width: 720px;
  margin: 0 auto;
}
.lx-form-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 640px) {
  .lx-form-grid { grid-template-columns: 1fr 1fr; }
}
.lx-field { display: flex; flex-direction: column; gap: 0.35rem; }
.lx-field-full { grid-column: 1 / -1; }
.lx-field label { font-weight: 700; font-size: 0.92rem; color: var(--text-dark, #1A1A1A); }
.lx-field .lx-req { color: var(--garnet, #73000A); }
.lx-field .lx-opt { color: var(--text-muted, #5a5a5a); font-weight: 500; font-size: 0.82rem; }
.lx-field input,
.lx-field select,
.lx-field textarea {
  font: inherit;
  font-size: 0.98rem;
  color: var(--text-dark, #1A1A1A);
  background: #fff;
  border: 1.5px solid #d4cdc0;
  border-radius: 8px;
  padding: 0.75rem 0.85rem;
  width: 100%;
}
.lx-field input:focus,
.lx-field select:focus,
.lx-field textarea:focus {
  outline: 2px solid var(--garnet, #73000A);
  outline-offset: 1px;
  border-color: var(--garnet, #73000A);
}
.lx-form-note { font-size: 0.85rem; color: var(--text-muted, #5a5a5a); margin-top: 1rem; }
.lx-form-actions { margin-top: 1.25rem; }
.lx-dark-band {
  background:
    radial-gradient(ellipse at top, rgba(115, 0, 10, 0.35), transparent 55%),
    #0a0a0a;
  color: var(--hero-text, #F7F2EA);
  padding: 3rem 1.5rem 3.5rem;
}
.lx-dark-band .lx-h2 { color: var(--hero-text, #F7F2EA); }
.lx-dark-band .eyebrow { color: #c5a572; }
.lx-dark-band .lx-lead { color: rgba(247, 242, 234, 0.78); }

/* ---------- Buttons row ---------- */
.lx-btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  justify-content: center;
  margin-top: 1.75rem;
}
.lx-btn-gold {
  background: #c5a572;
  color: #111;
  border-color: #c5a572;
  font-weight: 700;
}
.lx-btn-gold:hover { background: #d4ba8a; }

/* ---------- Rhythm Row editorial theme ---------- */
.lx-serif {
  font-family: Georgia, "Iowan Old Style", "Times New Roman", serif !important;
  letter-spacing: 0.01em !important;
}
.lx-rr-hero { background: var(--cream, #F7F2EA); }
.lx-rr-headline {
  color: var(--garnet-deep, #5a0008);
  text-transform: none;
  font-weight: 500;
}
.lx-rr-sub {
  font-family: Georgia, "Iowan Old Style", "Times New Roman", serif;
  font-style: italic;
  font-size: 1.25rem;
  color: var(--garnet, #73000A);
}
.lx-keys {
  height: 30px;
  border-top: 2px solid var(--garnet-deep, #5a0008);
  border-bottom: 2px solid var(--garnet-deep, #5a0008);
  background:
    repeating-linear-gradient(90deg, transparent 0 34px, #14100c 34px 52px, transparent 52px 86px),
    linear-gradient(#fdfaf3, #ece1cb);
}
.lx-rule {
  border: none;
  border-top: 1px solid rgba(197, 165, 114, 0.8);
  max-width: 220px;
  margin: 1.75rem auto;
}
.lx-rr-lines {
  font-family: Georgia, "Iowan Old Style", "Times New Roman", serif;
  font-style: italic;
  font-size: 1.15rem;
  color: var(--garnet-deep, #5a0008);
  line-height: 1.9;
}
.lx-rr-upcoming {
  background: linear-gradient(150deg, #5a0008 0%, #73000A 60%, #8b1a28 100%);
  color: var(--hero-text, #F7F2EA);
  text-align: center;
  padding: 3rem 1.5rem;
  border-radius: 16px;
}
.lx-rr-upcoming .lx-big {
  font-family: Georgia, "Iowan Old Style", "Times New Roman", serif;
  font-size: clamp(1.9rem, 5.5vw, 2.8rem);
  letter-spacing: 0.06em;
  margin: 0.4rem 0 0.6rem;
}
.lx-rr-upcoming p { color: rgba(247, 242, 234, 0.88); }
.lx-exp-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.1rem;
}
@media (min-width: 700px) {
  .lx-exp-grid { grid-template-columns: 1fr 1fr; }
}
.lx-exp {
  background: var(--white, #fff);
  border: 1px solid #e8ddc9;
  border-radius: 12px;
  padding: 1.6rem 1.7rem;
}
.lx-exp h3 {
  font-family: Georgia, "Iowan Old Style", "Times New Roman", serif;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--garnet-deep, #5a0008);
  margin-bottom: 0.5rem;
}
.lx-exp p { color: var(--text-muted, #5a5a5a); font-size: 0.97rem; }
.lx-exp .lx-note-small { font-size: 0.85rem; margin-top: 0.6rem; font-style: italic; }

/* ---------- Misc ---------- */
.lx-contact-line {
  text-align: center;
  color: var(--text-muted, #5a5a5a);
  margin-top: 1.5rem;
}
.lx-contact-line a { color: var(--garnet, #73000A); font-weight: 700; text-decoration: underline; }

/* ---------- Explore LOT 82 cross-links ---------- */
.lx-explore {
  background: var(--black, #111111);
  color: var(--hero-text, #F7F2EA);
  padding: 3rem 1.5rem 3.25rem;
  border-top: 1px solid rgba(247, 242, 234, 0.12);
}
.lx-explore-inner { max-width: 1060px; margin: 0 auto; }
.lx-explore .eyebrow { color: #c5a572; }
.lx-explore .lx-h2 { color: var(--hero-text, #F7F2EA); }
.lx-explore-links {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
  margin-top: 1.5rem;
}
@media (min-width: 700px) {
  .lx-explore-links { grid-template-columns: 1fr 1fr; }
}
.lx-explore-links a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  border: 1px solid rgba(247, 242, 234, 0.22);
  border-radius: 10px;
  padding: 1rem 1.15rem;
  color: var(--hero-text, #F7F2EA);
  transition: border-color 0.2s ease, background 0.2s ease;
}
.lx-explore-links a:hover {
  border-color: #c5a572;
  background: rgba(247, 242, 234, 0.05);
}
.lx-explore-links a:focus-visible { outline: 2px solid #c5a572; outline-offset: 2px; }
.lx-explore-links strong {
  font-family: var(--lot82-heading-font, Oswald, sans-serif);
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  font-size: 1rem;
}
.lx-explore-links span { color: rgba(247, 242, 234, 0.65); font-size: 0.88rem; text-align: right; }

/* ---------- Bio page + founder blocks ---------- */
.lx-bio-hero-img {
  display: block;
  margin: 0 auto 1.5rem;
  width: min(680px, 92vw);
  height: auto;
  border-radius: 14px;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.35);
  object-fit: cover;
}
.lx-bio-descriptor {
  color: rgba(247, 242, 234, 0.85);
  font-weight: 600;
  font-size: 0.98rem;
  letter-spacing: 0.03em;
  max-width: 44rem;
  margin: 0 auto;
}
.lx-bio-tagline {
  font-family: var(--lot82-heading-font, Oswald, sans-serif);
  color: #c5a572;
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-top: 0.85rem;
}
.lx-bio-body { color: var(--text-muted, #5a5a5a); max-width: 44rem; }
.lx-bio-body p + p { margin-top: 0.9rem; }
.lx-bio-stats {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.6rem;
  margin: 1rem 0;
}
@media (min-width: 700px) {
  .lx-bio-stats { grid-template-columns: 1fr 1fr; }
}
.lx-bio-stats li {
  background: var(--white, #fff);
  border: 1px solid #e5dfd4;
  border-left: 4px solid var(--garnet, #73000A);
  border-radius: 10px;
  padding: 0.9rem 1rem;
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--text-dark, #1A1A1A);
}
.lx-bio-signoff {
  font-family: var(--lot82-heading-font, Oswald, sans-serif);
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--text-dark, #1A1A1A) !important;
}
.lx-founder-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.75rem;
  align-items: center;
}
@media (min-width: 700px) {
  .lx-founder-grid { grid-template-columns: 0.9fr 1.1fr; }
}
.lx-founder-photo {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 420px;
  object-fit: cover;
  border-radius: 14px;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);
}
.lx-founder-tagline {
  font-family: var(--lot82-heading-font, Oswald, sans-serif);
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--garnet, #73000A);
  margin-bottom: 0.75rem;
}
.lx-dark-band .lx-founder-tagline { color: #c5a572; }
