/* LexTalks light theme — applies to every page (body.theme-light).
   Mostly white, soft cream for gentle emphasis, navy for text, antique gold for fine accents only.
   Lora for headings (matches the logo wordmark), Inter for everything else.
   Boxes that invite action use one shared style ("Light A"): cream, fine gold top line, same padding and radius. */
body.theme-light {
  --navy: #1E2A48;
  --navy-2: #2B3753;
  --ink: #2A3550;
  --muted: #646B78;
  --gold: #B18B3E;
  --gold-ink: #86672A;
  --gold-soft: #F3EBD9;
  --cream: #F8F5EE;
  --line: #E8E3D8;
  --white: #FFFFFF;
  --teal: var(--gold);
  --teal-ink: var(--gold-ink);
  --mist: var(--cream);
  --on-navy: var(--ink);
  --on-navy-muted: var(--muted);
  --f-head: "Lora", Georgia, "Times New Roman", serif;
  --f-body: "Inter", "Segoe UI", Arial, sans-serif;
  --box-pad: clamp(24px, 3vw, 34px);
  --box-radius: 12px;
  background: var(--white);
  color: var(--ink);
  font-size: 1.0625rem;
  line-height: 1.7;
}
body.theme-light::before { background: var(--white); }
.theme-light h1, .theme-light h2, .theme-light h3, .theme-light h4 { font-family: var(--f-head); font-weight: 500; letter-spacing: 0; color: var(--navy); }
.theme-light a { color: var(--navy); }
.theme-light .eyebrow { font-family: var(--f-body); font-weight: 600; letter-spacing: .16em; color: var(--gold-ink); }
.theme-light .lede { color: var(--muted); }

/* ---------- Banner + menu ---------- */
.lt-top { padding-top: 20px; background: var(--white); }
.lt-banner { display: flex; justify-content: center; align-items: center; background: var(--cream); border-radius: 6px; text-decoration: none; }
.lt-banner picture, .lt-banner img { display: block; }
.lt-banner--full { padding: clamp(28px, 4.5vw, 56px) 24px; }
.lt-banner--full img { width: 1000px; max-width: 100%; height: auto; }
.lt-banner--slim { padding: clamp(16px, 2vw, 22px) 24px; }
.lt-banner--slim img { width: 560px; max-width: 100%; height: auto; }
@media (max-width: 600px) {
  .lt-banner--full img { width: 290px; }
  .lt-banner--slim img { width: 220px; }
}

.theme-light .site-header { background: rgba(255,255,255,.97); border-bottom: 1px solid var(--line); top: env(safe-area-inset-top, 0px); }
.theme-light .site-header .wrap { min-height: 76px; gap: 16px; }
.theme-light .nav { flex: 1; justify-content: space-between; gap: 24px; }
.nav-left, .nav-right { display: flex; align-items: center; gap: 4px; }
.theme-light .nav-left { margin-left: -14px; }  /* text of the first item lines up with the banner edge */
.theme-light .nav-link, .theme-light .nav-group__btn {
  font-family: var(--f-body); font-weight: 500; font-size: 1.125rem; color: var(--navy);
  height: 48px; padding: 0 14px; border-radius: 0; background: none;
}
.theme-light .nav-link:hover, .theme-light .nav-group__btn:hover, .theme-light .nav-group[data-open="true"] .nav-group__btn { background: none; color: var(--navy); box-shadow: inset 0 -2px 0 rgba(177,139,62,.55); }
.theme-light .nav-link[aria-current="page"], .theme-light .nav-group__btn.is-current { color: var(--navy); box-shadow: inset 0 -2px 0 var(--gold); }
.theme-light .chev { width: 13px; height: 13px; }
.theme-light .nav-group__menu { border-color: var(--line); box-shadow: 0 16px 36px rgba(30,42,72,.08); min-width: 280px; }
.theme-light .nav-group__menu a span { font-family: var(--f-body); font-weight: 600; font-size: 1rem; }
.theme-light .nav-group__menu a small { font-size: .86rem; }
.theme-light .nav-group__menu a:hover { background: var(--cream); }
.theme-light .nav-group__menu a[aria-current="page"] span { color: var(--gold-ink); }
.theme-light .nav-cta { margin-left: 10px; background: transparent; color: var(--navy); border: 1.5px solid var(--navy); font-family: var(--f-body); font-weight: 500; font-size: 1.125rem; height: 48px; padding: 0 26px; border-radius: 999px; }
.theme-light .nav-cta:hover { background: var(--navy); color: var(--white); }
.lt-mini { display: none; }
.lt-mini img { height: 40px; width: auto; display: block; }
.theme-light .nav-toggle { color: var(--navy); align-items: center; gap: 8px; font-family: var(--f-body); font-weight: 500; font-size: 1rem; }
.theme-light .nav-toggle span { line-height: 1; }
@media (max-width: 1100px) {
  .lt-mini { display: block; }
  .theme-light .site-header .wrap { min-height: 64px; }
  .theme-light .nav { gap: 0; }
  .nav-left, .nav-right { flex-direction: column; align-items: stretch; gap: 0; }
  .theme-light .nav-left { margin-left: 0; }
  .theme-light .nav-link, .theme-light .nav-group__btn { height: auto; padding: 16px 4px; font-size: 1.15rem; border-bottom: 1px solid var(--line); justify-content: space-between; width: 100%; }
  .theme-light .nav-link:hover, .theme-light .nav-group__btn:hover, .theme-light .nav-link[aria-current="page"], .theme-light .nav-group__btn.is-current, .theme-light .nav-group[data-open="true"] .nav-group__btn { box-shadow: none; }
  .theme-light .nav-link[aria-current="page"], .theme-light .nav-group__btn.is-current { color: var(--gold-ink); }
  .theme-light .nav-group__menu { min-width: 0; }
  .theme-light .nav-cta { margin: 20px 0 0; justify-content: center; height: 52px; }
}

/* ---------- Buttons and links ---------- */
.theme-light .btn { font-family: var(--f-body); font-weight: 500; font-size: 1rem; padding: 12px 24px; }
.theme-light .btn--gold, .theme-light .btn--navy { background: var(--navy); color: var(--white); border-color: var(--navy); }
.theme-light .btn--gold:hover, .theme-light .btn--navy:hover { background: var(--navy-2); color: var(--white); }
.theme-light .btn--ghost, .theme-light .band--navy .btn--ghost { color: var(--navy); border: 1.5px solid #C9CDD6; background: transparent; }
.theme-light .btn--ghost:hover, .theme-light .band--navy .btn--ghost:hover { border-color: var(--navy); background: transparent; color: var(--navy); }
.theme-light .textlink { font-family: var(--f-body); font-weight: 500; color: var(--navy) !important; border-bottom: 1.5px solid var(--gold); padding-bottom: 2px; justify-self: start; }
.theme-light .textlink::after { content: ""; }
.theme-light .textlink:hover { color: var(--gold-ink) !important; }

/* ---------- Bands: no dark blocks anywhere ---------- */
.theme-light .band--navy { background: var(--cream); color: var(--ink); }
.theme-light .band--navy h1, .theme-light .band--navy h2, .theme-light .band--navy h3 { color: var(--navy); }
.theme-light .band--navy a:not(.btn) { color: var(--navy); }
.theme-light .band--navy .eyebrow { color: var(--gold-ink); }
.theme-light .band--navy .lede { color: var(--muted); }
.theme-light .band--navy .ticks li { color: var(--ink); }
.theme-light .band--mist { background: var(--cream); }
.theme-light .section-head h2 { font-size: clamp(1.8rem, 1.4rem + 1.3vw, 2.4rem); }

/* ---------- Inner page headers (style A) ---------- */
.theme-light .page-hero { background: linear-gradient(180deg, var(--cream) 0%, var(--white) 100%); color: var(--ink); border-bottom: 1px solid var(--line); }
.theme-light .page-hero .wrap { padding-block: clamp(48px, 6vw, 76px) clamp(40px, 5vw, 60px); gap: 12px; }
.theme-light .page-hero h1 { color: var(--navy); font-size: clamp(2.1rem, 1.6rem + 2vw, 3rem); line-height: 1.15; }
.theme-light .page-hero h1::after { content: ""; display: block; width: 56px; height: 2px; background: var(--gold); margin-top: 22px; border-radius: 2px; }
.theme-light .page-hero .lede { color: var(--muted); }
.theme-light .crumbs, .theme-light .crumbs a { color: var(--muted); }
.theme-light .hero-meta, .theme-light .page-hero .card__meta { color: var(--muted); }

/* ---------- Light A boxes: one shared style ---------- */
.theme-light .prog, .theme-light .chapter, .theme-light .form-card, .theme-light .aside-card,
.theme-light .author-box, .theme-light .video__soon, .theme-light .arch__col, .theme-light .empty, .lt-box {
  background: var(--cream); color: var(--ink); border: 0; border-top: 3px solid var(--gold);
  border-radius: var(--box-radius); padding: var(--box-pad); box-shadow: none;
}
.theme-light .prog, .theme-light .chapter, .lt-box { display: flex; flex-direction: column; gap: 12px; height: 100%; }
.theme-light .prog h3, .theme-light .chapter h3, .lt-box h3 { color: var(--navy); font-size: 1.35rem; line-height: 1.3; }
.theme-light .prog h3 span { color: var(--gold-ink); }
.theme-light .prog p, .theme-light .chapter p, .lt-box p { color: var(--muted); font-size: 1rem; }
.theme-light .prog > a:last-child, .theme-light .chapter > a:last-child, .lt-box > a:last-child { margin-top: auto; }   /* links and buttons line up at the bottom */
.theme-light .prog > .btn, .theme-light .chapter > .btn, .lt-box > .btn { align-self: flex-start; }
.theme-light .prog .textlink, .theme-light .chapter .textlink { color: var(--navy) !important; }
.theme-light .chapter--live { border-top-color: var(--gold); }
.theme-light .chapter h3 small { color: var(--muted); }
.theme-light .grid { align-items: stretch; }
.theme-light .aside-card { display: grid; gap: 16px; }
.theme-light .facts dd { color: var(--navy); }
.theme-light .author-box { border-left: 0; border-radius: var(--box-radius); }
.theme-light .author-box__label { color: var(--gold-ink); }
.theme-light .video { background: none; }
.theme-light .video__soon { aspect-ratio: 16 / 9; display: grid; place-content: center; text-align: center; gap: 8px; color: var(--muted); }
.theme-light .video__soon b { color: var(--navy); font-family: var(--f-head); font-weight: 500; font-size: 1.35rem; }
.theme-light .empty { border-style: solid; text-align: center; }
.theme-light .empty h3 { color: var(--navy); }
.theme-light .arch__root { background: var(--navy); font-family: var(--f-head); font-weight: 500; }
.theme-light .arch__col h3 { font-family: var(--f-body); font-weight: 600; color: var(--gold-ink); }
.theme-light .arch__col li { font-family: var(--f-head); font-weight: 500; }

/* ---------- Lists stay light: thin lines, no boxes ---------- */
.theme-light .event-row { grid-template-columns: 84px minmax(0, 1fr) auto; gap: 28px; padding: 28px 0; align-items: start; border-top: 1px solid var(--line); }
.theme-light .event-row:last-child { border-bottom: 1px solid var(--line); }
.theme-light .event-row > .textlink { align-self: center; }
.theme-light .datebox { width: 84px; border: 0; background: none; border-radius: 0; text-align: center; padding-top: 4px; }
.theme-light .datebox__m { background: none; color: var(--gold-ink); font-family: var(--f-body); font-weight: 600; font-size: .74rem; letter-spacing: .16em; padding: 0; }
.theme-light .datebox__d { font-family: var(--f-head); font-weight: 500; font-size: 2.6rem; line-height: 1.05; padding-top: 2px; color: var(--navy); }
.theme-light .datebox__y { font-size: .78rem; color: var(--muted); padding: 0; }
.theme-light .event-row h3 { font-size: 1.3rem; line-height: 1.3; }
.theme-light .event-row:hover h3 { color: var(--gold-ink); }
@media (max-width: 680px) { .theme-light .event-row { grid-template-columns: 64px minmax(0, 1fr); gap: 18px; } .theme-light .datebox { width: 64px; } .theme-light .datebox__d { font-size: 2.1rem; } .theme-light .event-row > .textlink { grid-column: 2; align-self: start; } }

.theme-light .card { border: 0; border-radius: 0; background: none; border-top: 2px solid var(--gold); box-shadow: none; }
.theme-light .card:hover { transform: none; box-shadow: none; }
.theme-light .card:hover h3 { color: var(--gold-ink); }
.theme-light .card__cat { display: none; }
.theme-light .card__body { padding: 24px 0 0; gap: 12px; }
.theme-light .card h3 { font-size: 1.35rem; line-height: 1.3; }
.theme-light .grid--3 { gap: 48px; }

.theme-light .res-grid { gap: 0; }
.theme-light .res { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: none; padding: 24px 0; }
.theme-light .res:first-child { border-top: 1px solid var(--line); }
.theme-light .res:hover { box-shadow: none; border-color: var(--line); }
.theme-light .res:hover h3 { color: var(--gold-ink); }
.theme-light .res h3 { font-size: 1.2rem; }
.theme-light .res__src { color: var(--gold-ink); }
.theme-light .res__host { color: var(--navy); }
.theme-light .res-group__title { font-size: clamp(1.5rem, 1.3rem + .6vw, 1.8rem); border-bottom: 0; padding-bottom: 0; }
.theme-light .res-note { background: var(--cream); }
.theme-light .search input { border-color: #D3D6DC; }
.theme-light .search input:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(177,139,62,.18); }

/* ---------- Tags, chips, tabs, ticks ---------- */
.theme-light .tag { background: var(--gold-soft); color: var(--gold-ink); font-family: var(--f-body); font-weight: 600; letter-spacing: .1em; }
.theme-light .tag--grey { background: #EFF0F3; color: var(--muted); }
.theme-light .tag--gold { background: var(--gold-soft); color: var(--gold-ink); }
.theme-light .chip { font-family: var(--f-body); font-weight: 500; font-size: .92rem; border-color: #D3D6DC; color: var(--navy); }
.theme-light .chip[aria-pressed="true"] { background: var(--navy); border-color: var(--navy); color: var(--white); }
.theme-light .tabs { border-bottom-color: var(--line); }
.theme-light .tab { font-family: var(--f-body); font-weight: 500; font-size: 1rem; color: var(--muted); }
.theme-light .tab[aria-selected="true"] { color: var(--navy); border-bottom-color: var(--gold); }
.theme-light .ticks li::before { background-color: var(--gold); }
.theme-light .status-dot { background: var(--gold); box-shadow: 0 0 0 4px rgba(177,139,62,.2); }
.theme-light .card__meta { color: var(--muted); }

/* ---------- Forms ---------- */
.theme-light .field label, .theme-light .field legend { font-family: var(--f-body); font-weight: 600; color: var(--navy); }
.theme-light .field input, .theme-light .field select, .theme-light .field textarea { border-color: #D3D6DC; background: var(--white); }
.theme-light .field input:focus, .theme-light .field select:focus, .theme-light .field textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(177,139,62,.18); }
.theme-light .check input { accent-color: var(--navy); }
.form-free { font-size: .95rem; color: var(--gold-ink); font-weight: 500; margin: 0; }

/* ---------- About page: Samvega, stories, guidelines ---------- */
.theme-light .pair .p1 { background: var(--gold-soft); }
.theme-light .pair .p2 { background: var(--white); border: 1px solid var(--line); }
.theme-light .pair .p2 b { color: var(--gold-ink); }
.theme-light .pair .p3 { background: var(--white); border: 1.5px solid var(--navy); color: var(--navy); }
.theme-light .pair .p3 b { color: var(--gold-ink); }
.theme-light .stories { border-color: var(--line); }
.theme-light .stories summary { font-family: var(--f-head); font-weight: 500; font-size: 1.2rem; }
.theme-light .stories__body .lesson { background: var(--cream); }

/* ---------- People behind LexTalks ---------- */
.lt-team { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 1000px) { .lt-team { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 580px) { .lt-team { grid-template-columns: 1fr; } }
.lt-team .lt-box h3 { font-size: 1.25rem; }
.lt-note { margin-top: 24px; font-size: .92rem; color: var(--muted); font-style: italic; max-width: 80ch; }
.lt-commit { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin-top: 8px; }
@media (max-width: 760px) { .lt-commit { grid-template-columns: 1fr; gap: 24px; } }
.lt-commit div { display: grid; gap: 6px; align-content: start; border-top: 2px solid var(--gold); padding-top: 18px; }
.lt-commit b { font-family: var(--f-head); font-weight: 500; font-size: 1.25rem; color: var(--navy); }
.lt-commit span { color: var(--muted); }
.lt-thanks { margin-top: 48px; text-align: center; font-family: var(--f-head); font-style: italic; font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem); color: var(--navy); }

/* ---------- Home page ---------- */
.l-eyebrow { font-family: var(--f-body); font-size: .78rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gold-ink); margin: 0; }
.l-rule { display: block; width: 56px; height: 2px; background: var(--gold); margin: 20px auto 0; border-radius: 2px; }
.l-actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }
.l-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 28px; border-radius: 999px; font-family: var(--f-body); font-weight: 500; font-size: 1.02rem; text-decoration: none; transition: background .2s, color .2s, border-color .2s; }
.l-btn--solid { background: var(--navy); color: var(--white) !important; border: 1.5px solid var(--navy); }
.l-btn--solid:hover { background: var(--navy-2); border-color: var(--navy-2); }
.l-btn--line { background: transparent; color: var(--navy) !important; border: 1.5px solid #C9CDD6; }
.l-btn--line:hover { border-color: var(--navy); }
.l-link { font-family: var(--f-body); font-weight: 500; font-size: .98rem; color: var(--navy) !important; text-decoration: none; border-bottom: 1.5px solid var(--gold); padding-bottom: 2px; }
.l-link:hover { color: var(--gold-ink) !important; }
.l-center { text-align: center; margin-top: 40px; }
.l-head { text-align: center; max-width: 760px; margin: 0 auto 48px; }
.l-head h2 { font-size: clamp(1.9rem, 1.5rem + 1.4vw, 2.5rem); line-height: 1.2; }
.l-head .l-eyebrow + h2 { margin-top: 12px; }
.l-sec { padding-block: clamp(64px, 8vw, 104px); }
.l-sec--cream { background: var(--cream); }
.l-sec--top { border-top: 1px solid var(--line); }
.l-narrow { max-width: 920px; }

.l-vision { text-align: center; }
.l-vision .l-statement { font-family: var(--f-body); font-weight: 400; font-size: clamp(1.35rem, 1.1rem + 1vw, 1.9rem); line-height: 1.55; color: var(--muted); max-width: 46ch; margin: 0 auto; }
.l-vision .l-intro { margin: 28px auto 0; max-width: 60ch; font-size: 1.08rem; color: var(--muted); }

.l-tagline { display: grid; grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr); align-items: center; gap: 0 clamp(20px, 4vw, 64px); margin: clamp(48px, 6vw, 72px) auto 0; max-width: 1180px; }
.l-tagline::before { content: ""; grid-column: 2; grid-row: 1; align-self: stretch; background: var(--gold); min-height: 110px; }
.l-tagline span { font-family: var(--f-head); font-weight: 500; font-size: clamp(2rem, .6rem + 4.2vw, 3.8rem); line-height: 1.1; color: var(--navy); white-space: nowrap; }
.l-tagline span:first-child { grid-column: 1; grid-row: 1; text-align: right; }
.l-tagline span:last-child { grid-column: 3; grid-row: 1; text-align: left; font-style: italic; font-weight: 400; color: var(--gold-ink); }
@media (max-width: 767px) {
  .l-tagline { grid-template-columns: 1fr; gap: 14px; }
  .l-tagline span { white-space: normal; }
  .l-tagline::before { grid-column: 1; grid-row: 2; min-height: 0; height: 2px; width: 56px; justify-self: center; }
  .l-tagline span:first-child { grid-row: 1; text-align: center; }
  .l-tagline span:last-child { grid-column: 1; grid-row: 3; text-align: center; }
}
.l-cta-row { margin-top: clamp(44px, 5vw, 60px); }
.l-next { margin-top: 26px; text-align: center; font-size: .95rem; color: var(--muted); }
.l-next strong { color: var(--navy); font-weight: 600; }

.l-mission { list-style: none; margin: 0 auto; padding: 0; max-width: 820px; display: grid; }
.l-mission li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--line); font-size: 1.1rem; color: var(--ink); }
.l-mission li:first-child { border-top: 1px solid var(--line); }
.l-mission li::before { content: ""; width: 9px; height: 9px; margin-top: 11px; margin-left: 6px; background: var(--gold); transform: rotate(45deg); }

.l-trust { text-align: center; max-width: 860px; margin: 0 auto; display: grid; justify-items: center; gap: 22px; }
.l-trust p { font-family: var(--f-head); font-size: clamp(1.2rem, 1.05rem + .6vw, 1.5rem); line-height: 1.6; color: var(--navy); margin: 0; }
.l-trust .l-free { font-family: var(--f-body); font-size: .8rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gold-ink); }

.l-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 56px 48px; }
@media (max-width: 900px) { .l-grid3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 580px) { .l-grid3 { grid-template-columns: 1fr; gap: 40px; } }
.l-item { text-align: center; display: grid; justify-items: center; gap: 10px; align-content: start; }
.l-item svg { width: 34px; height: 34px; color: var(--gold); stroke-width: 1.6; }
.l-item h3 { font-size: 1.3rem; margin-top: 6px; }
.l-item p { color: var(--muted); font-size: 1rem; max-width: 32ch; }

.l-cta { text-align: center; display: grid; justify-items: center; gap: 18px; max-width: 760px; }
.l-cta h2 { font-size: clamp(1.8rem, 1.4rem + 1.4vw, 2.4rem); line-height: 1.2; }
.l-cta p { color: var(--muted); max-width: 52ch; margin-bottom: 14px; }

/* ---------- Footer ---------- */
.theme-light .site-footer { background: var(--white); color: var(--muted); border-top: 1px solid var(--line); }
.theme-light .site-footer .wrap { padding-block: 60px 32px; }
.theme-light .footer-top { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 44px; }
.theme-light .footer-top > div:first-child { grid-column: 1 / -1; display: grid; gap: 8px; padding-bottom: 40px; border-bottom: 1px solid var(--line); }
.theme-light .footer-lockup { display: inline-block; max-width: 100%; margin-bottom: 14px; }
.theme-light .footer-lockup img { width: 620px; max-width: 100%; height: auto; display: block; }
.theme-light .footer-tagline { color: var(--gold-ink); letter-spacing: .22em; margin: 0; font-family: var(--f-body); }
.theme-light .footer-voluntary { margin: 0; color: var(--navy); font-weight: 500; }
.theme-light .footer-top > div:first-child p { margin: 0; }
.theme-light .site-footer h4 { color: var(--navy); font-family: var(--f-body); font-weight: 600; font-size: .78rem; letter-spacing: .16em; }
.theme-light .site-footer a { color: var(--ink); }
.theme-light .site-footer a:hover { color: var(--gold-ink); }
.theme-light .footer-bottom { border-top-color: var(--line); color: var(--muted); }
.theme-light .socials a { border-color: var(--line); color: var(--navy); }
@media (max-width: 860px) { .theme-light .footer-top > div:first-child { justify-items: center; text-align: center; } }
@media (max-width: 600px) { .theme-light .footer-top { grid-template-columns: 1fr 1fr; } .theme-light .footer-lockup img { width: 290px; } }

/* Box details: labels keep their small size; links only as wide as their text */
.lt-box .eyebrow, .theme-light .prog .eyebrow { font-size: .75rem; color: var(--gold-ink); }
.theme-light .prog > a, .theme-light .chapter > a, .lt-box > a { align-self: flex-start; }

/* ---------- Banner v2: full-width cream, bigger logos, no white gaps ---------- */
body.theme-light::before { background: var(--cream); }
.lt-top { padding-top: 0; background: var(--cream); }
.lt-banner { background: none; border-radius: 0; }
.lt-banner--full { padding: clamp(36px, 5vw, 64px) 0 clamp(28px, 4vw, 48px); }
.lt-banner--full img { width: 1180px; }
.lt-banner--slim { padding: clamp(22px, 3vw, 32px) 0 clamp(16px, 2vw, 24px); }
.lt-banner--slim img { width: 860px; }
.theme-light .site-header { background: rgba(248,245,238,.97); border-top: 1px solid var(--line); }
.theme-light .page-hero { background: linear-gradient(180deg, var(--cream) 0%, var(--white) 100%); }
@media (max-width: 600px) {
  .lt-banner--full img { width: 340px; }
  .lt-banner--slim img { width: 300px; }
}

/* ================= Layout v3: wider content, one left/right edge, larger type ================= */
body.theme-light { --wrap: 1320px; font-size: 1.1875rem; }
@media (max-width: 760px) { body.theme-light { font-size: 1.0625rem; } }
.theme-light .prose { font-size: 1.15rem; max-width: 76ch; }
.theme-light .prose p, .theme-light .page-hero .lede, .theme-light .section-head .lede, .l-justify { text-align: justify; }

/* Section headings line up with the menu's left edge */
.l-head { text-align: left; max-width: none; margin: 0 0 clamp(36px, 4vw, 52px); }
.l-head h2 { font-size: clamp(2.1rem, 1.6rem + 1.6vw, 3rem); }
.l-rule { margin: 18px 0 0; width: 64px; }
.theme-light .section-head h2 { font-size: clamp(2rem, 1.5rem + 1.5vw, 2.8rem); }
.theme-light .section-head .lede { font-size: 1.25rem; max-width: none; }
.theme-light .section-head { max-width: none; }

/* Vision */
.l-vision { text-align: left; }
.l-vision .l-statement { max-width: none; margin: 0; text-align: justify; font-size: clamp(1.5rem, 1.15rem + 1.2vw, 2.25rem); line-height: 1.5; color: var(--muted); }
.l-vision .l-intro { max-width: none; margin: 28px 0 0; text-align: justify; font-size: clamp(1.15rem, 1.05rem + .4vw, 1.4rem); }
.l-tagline { max-width: none; }
.l-tagline span { font-size: clamp(2.2rem, .6rem + 4.6vw, 4.6rem); }
.l-btn { min-height: 56px; padding: 0 32px; font-size: 1.12rem; }
.l-next { font-size: 1.05rem; }

/* Mission in two columns, rows aligned */
.l-mission { max-width: none; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(4, auto); grid-auto-flow: column; column-gap: clamp(32px, 5vw, 80px); }
.l-mission li { font-size: clamp(1.15rem, 1.05rem + .35vw, 1.35rem); padding: 22px 0; align-items: start; }
.l-mission li:first-child, .l-mission li:nth-child(5) { border-top: 1px solid var(--line); }
@media (max-width: 760px) { .l-mission { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; } .l-mission li:nth-child(5) { border-top: 0; } }

/* Trust paragraph: justified, larger */
.l-trust { text-align: left; max-width: none; justify-items: start; gap: 26px; margin: 0; }
.l-trust p { text-align: justify; font-size: clamp(1.35rem, 1.1rem + 1vw, 2rem); line-height: 1.55; }
.l-trust .l-free { font-size: .95rem; }

/* "Meet the people behind LexTalks": a feature link */
.l-feature { display: inline-flex; align-items: center; gap: 18px; text-decoration: none; color: var(--navy) !important; font-family: var(--f-head); font-weight: 500; font-size: clamp(1.3rem, 1.1rem + .7vw, 1.75rem); }
.l-feature span { border-bottom: 2px solid var(--gold); padding-bottom: 4px; transition: color .2s; }
.l-feature i { flex: none; width: 52px; height: 52px; border-radius: 50%; background: var(--navy); color: var(--white); display: inline-flex; align-items: center; justify-content: center; transition: transform .2s, background .2s; }
.l-feature i svg { width: 22px; height: 22px; }
.l-feature:hover span { color: var(--gold-ink); }
.l-feature:hover i { transform: translateX(6px); background: var(--gold-ink); }
@media (prefers-reduced-motion: reduce) { .l-feature:hover i { transform: none; } }

/* Six ways: left-aligned, larger */
.l-item { text-align: left; justify-items: start; }
.l-item h3 { font-size: clamp(1.35rem, 1.2rem + .4vw, 1.6rem); }
.l-item p { max-width: none; font-size: 1.1rem; }
.l-item svg { width: 40px; height: 40px; }

/* Events and Insights use the full width */
.l-narrow { max-width: none; }
.l-center { text-align: left; }
.theme-light .event-row h3 { font-size: clamp(1.35rem, 1.2rem + .4vw, 1.6rem); }
.theme-light .event-row p { font-size: 1.08rem; }
.theme-light .card h3 { font-size: clamp(1.4rem, 1.25rem + .4vw, 1.65rem); }
.theme-light .card p { font-size: 1.08rem; }

/* Closing invitation: text left, buttons right, on the same edges */
.l-cta { max-width: none; grid-template-columns: minmax(0, 1fr) auto; text-align: left; justify-items: start; align-items: center; column-gap: 48px; }
.l-cta h2 { grid-column: 1; font-size: clamp(2rem, 1.5rem + 1.5vw, 2.8rem); }
.l-cta p { grid-column: 1; max-width: none; margin: 0; font-size: 1.2rem; }
.l-cta .l-actions { grid-column: 2; grid-row: 1 / span 2; justify-content: flex-end; }
@media (max-width: 860px) { .l-cta { grid-template-columns: 1fr; } .l-cta .l-actions { grid-column: 1; grid-row: auto; justify-content: flex-start; } }

/* Inner pages: larger type, same edges */
.theme-light .page-hero h1 { font-size: clamp(2.3rem, 1.6rem + 2.4vw, 3.6rem); }
.theme-light .page-hero .lede { font-size: clamp(1.15rem, 1.05rem + .4vw, 1.4rem); max-width: 70ch; }
.theme-light .prog p, .theme-light .chapter p, .lt-box p { font-size: 1.08rem; }
.theme-light .prog h3, .theme-light .chapter h3, .lt-box h3 { font-size: clamp(1.35rem, 1.2rem + .4vw, 1.6rem); }
.theme-light .ticks li { font-size: 1.1rem; }
.theme-light .res h3 { font-size: clamp(1.25rem, 1.15rem + .3vw, 1.45rem); }
.theme-light .res p { font-size: 1.05rem; }
.theme-light .lt-commit b { font-size: 1.45rem; }
.theme-light .lt-commit span { font-size: 1.1rem; }
.theme-light .lt-note { font-size: 1rem; max-width: none; }
.theme-light .lt-thanks { text-align: left; font-size: clamp(1.2rem, 1.05rem + .5vw, 1.5rem); }
.theme-light .facts div { font-size: 1.05rem; }
.theme-light .field input, .theme-light .field select, .theme-light .field textarea { font-size: 1.05rem; }
.theme-light .split { gap: clamp(32px, 6vw, 96px); }
/* keep these sections on the shared content edges */
.wrap.l-narrow, .wrap.l-cta { max-width: calc(var(--wrap) + 2 * 24px); }
/* more breathing room at the sides on larger screens (same value everywhere, so edges stay aligned) */
.theme-light .wrap { padding-left: max(clamp(20px, 4vw, 56px), env(safe-area-inset-left, 0px)); padding-right: max(clamp(20px, 4vw, 56px), env(safe-area-inset-right, 0px)); max-width: calc(var(--wrap) + 2 * 56px); }
.theme-light .wrap.l-narrow, .theme-light .wrap.l-cta { max-width: calc(var(--wrap) + 2 * 56px); }
@media (max-width: 1100px) { .theme-light .nav { padding-left: max(clamp(20px, 4vw, 56px), env(safe-area-inset-left, 0px)); padding-right: max(clamp(20px, 4vw, 56px), env(safe-area-inset-right, 0px)); } }
/* short introductions under page headings read better left-aligned */
.theme-light .page-hero .lede { text-align: left; max-width: 72ch; }

/* ================= November 2 updates ================= */
/* White menu bar with a fine gold line on top, clearly separate from the cream banner */
.theme-light .site-header { background: rgba(255,255,255,.98); border-top: 2px solid var(--gold); border-bottom: 1px solid var(--line); box-shadow: 0 6px 18px rgba(30,42,72,.04); }

/* Illustration between the menu and the vision statement (home) */
.l-illus { background: var(--white); padding-top: clamp(32px, 4vw, 56px); }
.l-illus svg { display: block; width: 100%; height: auto; max-height: 360px; }
.l-illus + .l-vision { padding-top: clamp(40px, 5vw, 72px); }

/* Footer: brand left, link columns right with a fine separator, contact strip, bottom line */
.theme-light .site-footer.ft { background: var(--cream); border-top: 3px solid var(--gold); color: var(--muted); }
.ft .wrap { padding-block: 0 !important; }
.ft-top { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 2fr); gap: 0; padding: clamp(48px, 5vw, 68px) 0 clamp(36px, 4vw, 52px); }
.ft-brand { display: grid; gap: 10px; align-content: start; padding-right: clamp(32px, 4vw, 64px); }
.ft-lockup img { width: 430px; max-width: 100%; height: auto; display: block; }
.ft-tagline { margin: 14px 0 0; font-family: var(--f-body); font-weight: 600; font-size: .78rem; letter-spacing: .22em; text-transform: uppercase; color: var(--gold-ink); }
.ft-voluntary { margin: 0; color: var(--navy); font-weight: 500; font-size: 1.05rem; }
.ft-desc { margin: 0; color: var(--muted); font-size: 1rem; line-height: 1.6; max-width: 44ch; }
.ft-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; align-content: start; border-left: 1px solid #DDD5C3; padding-left: clamp(32px, 4vw, 64px); padding-top: 6px; }
.ft-col h4 { margin: 0 0 18px; font-family: var(--f-body); font-weight: 600; font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; color: var(--navy); }
.ft-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ft-col a { color: var(--ink); text-decoration: none; font-size: 1.02rem; }
.ft-col a:hover { color: var(--gold-ink); text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 4px; }
.ft-strip { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: 22px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ft-contact { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.ft-email { display: inline-flex; align-items: baseline; gap: 12px; font-size: 1.02rem; }
.ft-email b { font-family: var(--f-body); font-weight: 600; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; color: var(--gold-ink); }
.ft-email a { color: var(--navy); text-decoration: none; }
.ft-email a:hover { color: var(--gold-ink); }
.ft .socials { margin: 0; }
.ft .socials a { border-color: #D9D3C4; color: var(--navy); }
.ft-join { padding: 13px 28px; }
.ft-bottom { display: flex; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; padding: 22px 0 28px; font-size: .9rem; color: var(--muted); }
.ft-bottom a { color: var(--ink); text-decoration: none; }
.ft-bottom a:hover { color: var(--gold-ink); }
@media (max-width: 980px) {
  .ft-top { grid-template-columns: 1fr; gap: 36px; }
  .ft-brand { padding-right: 0; }
  .ft-cols { border-left: 0; padding-left: 0; border-top: 1px solid var(--line); padding-top: 32px; }
}
@media (max-width: 640px) {
  .ft-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 32px; }
  .ft-brand { justify-items: center; text-align: center; }
  .ft-lockup img { width: 290px; }
  .ft-strip { flex-direction: column; align-items: flex-start; }
}
/* the large vision statement reads better left-aligned (justifying it at this size leaves wide gaps) */
.l-vision .l-statement { text-align: left; }
.theme-light .site-footer .ft-join, .theme-light .site-footer .ft-join:hover { color: #FFFFFF !important; }

/* ================= Justified running text, with hyphenation to keep spacing even ================= */
.theme-light main p, .theme-light main li, .theme-light .lt-commit span, .theme-light .ft-desc {
  text-align: justify; hyphens: auto; -webkit-hyphens: auto; hyphenate-limit-chars: 7 3 3; text-justify: inter-word;
}
/* keep short labels, meta lines and centred statements as they are */
.theme-light main .eyebrow, .theme-light main .l-eyebrow, .theme-light main .l-free, .theme-light main .card__meta,
.theme-light main .crumbs, .theme-light main .l-next, .theme-light main .l-center, .theme-light main .res__src,
.theme-light main .tag, .theme-light main .form-free, .theme-light main .field, .theme-light main .check span,
.theme-light main .empty p, .theme-light main .video__soon, .theme-light main .facts, .theme-light main .datebox,
.theme-light main .nav-group__menu, .theme-light main .gallery figcaption, .theme-light main .photo figcaption,
.theme-light main .form-status, .theme-light main .lt-thanks {
  text-align: inherit; hyphens: manual; -webkit-hyphens: manual;
}
.theme-light main .empty p, .theme-light main .video__soon { text-align: center; }
.theme-light .l-vision .l-statement, .theme-light .page-hero .lede { text-align: justify; hyphens: auto; -webkit-hyphens: auto; }
.theme-light main .l-next { text-align: center; }
/* people boxes two-by-two, so justified text has room */
.lt-team { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 580px) { .lt-team { grid-template-columns: 1fr; } }
/* short notices stay ragged; on phones the large-type statement and hero ledes go left-aligned (too few words per line to justify evenly) */
.theme-light main .notice { text-align: left; hyphens: manual; -webkit-hyphens: manual; }
@media (max-width: 600px) {
  .theme-light .l-vision .l-statement, .theme-light .page-hero .lede { text-align: left; }
}

/* ================= 3 Nov 2026 updates ================= */
/* page intros run the full content width, so justified lines meet the page edge */
.theme-light .page-hero .lede { max-width: none; }
/* consent line and form messages wrap like paragraphs: justify them too */
.theme-light main .check span, .theme-light main .form-status { text-align: justify; hyphens: auto; -webkit-hyphens: auto; }
/* copy button next to the email address */
.copy-btn { margin-left: 10px; padding: 3px 10px; border: 1px solid #D9CFB8; border-radius: 999px; background: #FFFFFF;
  color: #86672A; font: 600 .75rem/1.4 Inter, system-ui, sans-serif; letter-spacing: .02em; cursor: pointer; vertical-align: middle; }
.copy-btn:hover { border-color: #B18B3E; color: #1E2A48; }
.copy-btn.is-done { background: #1E2A48; border-color: #1E2A48; color: #FFFFFF; }
/* downloads box on event pages */
.downloads { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line, #E8E3D8); }
.downloads h3 { font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: #86672A; margin: 0 0 8px; font-family: Inter, system-ui, sans-serif; }
.dl { display: grid; gap: 2px; padding: 10px 12px 10px 40px; margin-top: 6px; border: 1px solid #E8E3D8; border-radius: 10px; background: #FFFFFF; text-decoration: none; position: relative; }
.dl::before { content: ""; position: absolute; left: 12px; top: 12px; width: 18px; height: 22px; border-radius: 3px; background: #B18B3E;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 22'%3E%3Cpath d='M2 0h9l7 7v13a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm8 1.5V8h6.5' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 22'%3E%3Cpath d='M2 0h9l7 7v13a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm8 1.5V8h6.5' fill='black'/%3E%3C/svg%3E") center/contain no-repeat; }
.dl:hover { border-color: #B18B3E; }
.dl__label { color: #1E2A48; font-weight: 600; font-size: .95rem; }
.dl__note { color: var(--muted, #5C6270); font-size: .82rem; }
