:root {
  --ink: #102b3f;
  --blue-950: #0a2b43;
  --blue-900: #123a5a;
  --blue-800: #1c4c6c;
  --blue-100: #dfeef3;
  --gold: #c08a2d;
  --gold-dark: #8e621d;
  --gold-soft: #f4e8cd;
  --cream: #fbf8f1;
  --paper: #fffdf8;
  --white: #ffffff;
  --muted: #5b6d78;
  --line: #d7e0e2;
  --shadow: 0 24px 60px rgba(11, 42, 62, 0.13);
  --radius-lg: 28px;
  --radius-md: 18px;
  --shell: min(1160px, calc(100% - 40px));
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  opacity: .18;
  pointer-events: none;
  background-image: radial-gradient(circle at 1px 1px, rgba(18, 58, 90, .22) 1px, transparent 0);
  background-size: 28px 28px;
  mask-image: linear-gradient(to bottom, black, transparent 65%);
}

a { color: inherit; }
img { max-width: 100%; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }

:focus-visible {
  outline: 3px solid #e8b652;
  outline-offset: 4px;
}

.shell { width: var(--shell); margin-inline: auto; }

.skip-link {
  position: fixed;
  left: 16px;
  top: -80px;
  z-index: 1000;
  padding: 10px 16px;
  border-radius: 8px;
  color: var(--white);
  background: var(--blue-950);
  font-weight: 700;
  transition: top .2s ease;
}
.skip-link:focus { top: 16px; }

.pilot-notice {
  color: #f8fbfc;
  background: var(--blue-950);
  font-size: .82rem;
}
.pilot-notice__inner { min-height: 38px; display: flex; align-items: center; justify-content: center; gap: 9px; text-align: center; }
.pilot-notice p { margin: 5px 0; }
.status-dot { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: #e7b95f; box-shadow: 0 0 0 4px rgba(231,185,95,.15); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,253,248,.97);
  border-bottom: 1px solid rgba(18,58,90,.09);
  backdrop-filter: blur(12px);
  box-shadow: 0 8px 28px rgba(11,42,62,.06);
}
.nav-wrap { position: relative; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 0; }
.brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; }
.brand-mark { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid rgba(18,58,90,.23); border-radius: 50% 50% 44% 56% / 54% 48% 52% 46%; color: var(--cream); background: var(--blue-900); transform: rotate(-5deg); }
.brand-mark span { font-family: Georgia, serif; font-size: 1.15rem; transform: rotate(5deg); }
.brand-copy { display: flex; flex-direction: column; line-height: 1.13; }
.brand-copy strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.08rem; letter-spacing: .01em; }
.brand-copy small { margin-top: 4px; color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .14em; }
.brand--logo {
  --logo-left: 14px;
  --logo-padding-top: 4px;
  --logo-margin-top: -24px;
  --logo-width: clamp(310px, 38vw, 430px);
  position: relative;
  overflow: hidden;
  padding: 4px 14px;
  border: 1px solid rgba(232, 182, 82, .62);
  border-radius: 16px;
  background: linear-gradient(145deg, #173f5d, #0a2b43);
  box-shadow: 0 9px 24px rgba(4, 27, 42, .22), inset 0 1px 0 rgba(255, 255, 255, .08);
}
.brand--logo::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: calc(var(--logo-padding-top) + var(--logo-margin-top));
  left: var(--logo-left);
  width: var(--logo-width);
  aspect-ratio: 1942 / 809;
  pointer-events: none;
  background: url("assets/whole-journey-logo-crown-v2.png") center / 100% 100% no-repeat;
  clip-path: circle(6.2% at 20.85% 35.1%);
}
.brand-logo {
  position: relative;
  z-index: 0;
  display: block;
  max-width: none;
  height: auto;
  filter: brightness(0) saturate(100%) invert(87%) sepia(18%) saturate(656%) hue-rotate(173deg) brightness(99%) contrast(90%);
}
.site-header .brand { grid-column: 2; justify-self: center; margin: 10px 0 9px; gap: 0; }
.brand-logo--header { width: clamp(310px, 38vw, 430px); margin: -24px 0 -34px; }
.site-header .brand-mark { width: 48px; height: 48px; }
.site-header .brand-mark span { font-size: 1.35rem; }
.site-header .brand-copy { text-align: center; }
.site-header .brand-copy strong { color: var(--blue-950); font-size: clamp(1.35rem, 2vw, 1.72rem); }
.site-header .brand-copy small { margin-top: 6px; color: var(--gold-dark); font-size: .68rem; letter-spacing: .18em; }
.primary-nav { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; gap: clamp(12px, 1.65vw, 23px); width: 100%; padding: 10px 0 11px; border-top: 1px solid rgba(18,58,90,.09); }
.primary-nav a { color: #25485e; font-size: clamp(.72rem, .82vw, .84rem); font-weight: 700; text-decoration: none; white-space: nowrap; }
.primary-nav a:not(.nav-cta):hover { color: var(--gold-dark); }
.primary-nav .mentor-login { color: var(--gold-dark); }
.primary-nav .nav-cta { padding: 10px 17px; border: 1px solid var(--blue-900); border-radius: 999px; }
.primary-nav .nav-cta:hover { color: var(--white); background: var(--blue-900); }
.menu-button { display: none; }

.hero { position: relative; overflow: hidden; padding: 94px 0 102px; }
.hero::after { content: ""; position: absolute; right: -170px; top: 10%; width: 480px; height: 480px; border: 1px solid rgba(192,138,45,.23); border-radius: 48% 52% 44% 56% / 55% 42% 58% 45%; transform: rotate(16deg); pointer-events: none; }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(340px, .78fr); align-items: center; gap: clamp(48px, 7vw, 92px); }
.eyebrow, .section-kicker { margin: 0 0 19px; color: var(--gold-dark); font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .16em; }
.eyebrow { display: flex; align-items: center; gap: 10px; }
.eyebrow span { width: 28px; height: 1px; background: var(--gold); }
h1, h2, h3 { margin-top: 0; line-height: 1.1; }
h1, h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; letter-spacing: -.035em; }
h1 { max-width: 760px; margin-bottom: 26px; color: var(--blue-950); font-size: clamp(3rem, 6vw, 5.35rem); }
h1 em { color: var(--blue-800); font-style: italic; }
.hero-intro { max-width: 680px; margin: 0 0 32px; color: #435e6e; font-size: clamp(1.06rem, 1.6vw, 1.22rem); }
.button-row { display: flex; flex-wrap: wrap; gap: 12px; }
.button { min-height: 49px; display: inline-flex; align-items: center; justify-content: center; gap: 17px; padding: 12px 21px; border: 1px solid transparent; border-radius: 999px; font-size: .92rem; font-weight: 750; text-decoration: none; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.button:hover { transform: translateY(-2px); }
.button--primary { color: var(--white); background: var(--blue-900); box-shadow: 0 10px 24px rgba(18,58,90,.18); }
.button--primary:hover { background: var(--blue-950); box-shadow: 0 14px 28px rgba(18,58,90,.23); }
.button--secondary { color: var(--blue-900); border-color: rgba(18,58,90,.35); background: rgba(255,255,255,.55); }
.button--secondary:hover { border-color: var(--blue-900); background: var(--white); }
.hero-note { margin: 22px 0 0; color: var(--muted); font-size: .82rem; font-weight: 620; }
.hero-note span:first-child { color: #46816c; }

.journey-card { position: relative; padding: 39px 38px 29px; overflow: hidden; color: var(--white); background: var(--blue-900); border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.journey-card::before { content: ""; position: absolute; width: 270px; height: 250px; right: -100px; top: -90px; border: 1px solid rgba(244,232,205,.22); border-radius: 50%; }
.journey-card__kicker { margin: 0 0 5px; color: #e9c77e; font-size: .72rem; font-weight: 750; text-transform: uppercase; letter-spacing: .17em; }
.journey-card h2 { margin-bottom: 31px; font-size: 2rem; }
.journey-mini { position: relative; margin: 0; padding: 0; list-style: none; }
.journey-mini::before { content: ""; position: absolute; left: 18px; top: 24px; bottom: 27px; border-left: 1px dashed rgba(255,255,255,.28); }
.journey-mini li { position: relative; display: flex; align-items: center; gap: 17px; margin: 0 0 20px; }
.journey-mini li > span { width: 37px; height: 37px; z-index: 1; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.36); border-radius: 50%; color: #f2d28f; background: var(--blue-900); font-size: .68rem; font-weight: 800; }
.journey-mini div { display: flex; flex-direction: column; line-height: 1.25; }
.journey-mini strong { font-size: .96rem; }
.journey-mini small { margin-top: 4px; color: #bcd0dc; }
.journey-card__footer { margin: 29px -38px -29px; padding: 20px 38px; color: #c7d7df; background: rgba(5,28,44,.36); font-size: .78rem; }

.section { padding: 100px 0; }
.welcome-section { color: var(--white); background: var(--blue-950); }
.welcome-grid { display: grid; grid-template-columns: 1.05fr .8fr; column-gap: clamp(50px, 9vw, 130px); row-gap: clamp(38px, 5vw, 68px); align-items: center; }
.welcome-section .section-kicker { color: #e8bc62; }
.welcome-section h2 { max-width: 700px; margin-bottom: 0; font-size: clamp(2.3rem, 4.2vw, 4.1rem); }
.welcome-copy { color: #d9e5eb; font-size: 1.07rem; }
.welcome-copy > p:first-child { margin-top: 0; }
.side-note { margin: 27px 0 0; padding: 18px 20px; border-left: 3px solid #d5a744; color: var(--white); background: rgba(255,255,255,.055); font-family: Georgia, serif; font-size: 1rem; font-style: italic; }
.community-portrait { position: relative; grid-column: 1 / -1; aspect-ratio: 16 / 5.4; margin: 0; overflow: hidden; border-radius: 28px; background: var(--blue-950); isolation: isolate; }
.community-portrait::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, rgba(4,27,42,.08), rgba(4,27,42,.25)); pointer-events: none; }
.community-portrait::after { content: ""; position: absolute; z-index: 2; inset: -1px; background: linear-gradient(90deg, var(--blue-950) 0%, transparent 11%, transparent 89%, var(--blue-950) 100%), linear-gradient(180deg, var(--blue-950) 0%, transparent 16%, transparent 82%, var(--blue-950) 100%); pointer-events: none; }
.community-portrait img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 28%; filter: saturate(.78) contrast(.96); }
.community-portrait figcaption { position: absolute; z-index: 3; right: 28px; bottom: 20px; margin: 0; font-size: .66rem; letter-spacing: .02em; }
.community-portrait figcaption a { color: rgba(255,255,255,.72); text-decoration: none; }
.community-portrait figcaption a:hover { color: var(--white); text-decoration: underline; }

.steps-section { background: var(--paper); }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; margin-bottom: 45px; }
.section-heading h2 { margin-bottom: 0; color: var(--blue-950); font-size: clamp(2.3rem, 4vw, 3.7rem); }
.section-heading > p { max-width: 430px; margin: 0 0 4px; color: var(--muted); }
.step-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.step-card { min-height: 310px; display: flex; flex-direction: column; padding: 28px 25px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
.step-card--featured { color: var(--white); border-color: var(--blue-900); background: var(--blue-900); transform: translateY(-8px); box-shadow: 0 18px 38px rgba(18,58,90,.14); }

.explore-section { background: #f7f3e9; }
.explore-heading { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: clamp(35px, 7vw, 95px); align-items: end; margin-bottom: 40px; }
.explore-heading h2 { max-width: 720px; }
.explore-heading > p { margin: 0; color: var(--muted); font-size: 1.02rem; }
.worldview-picker { display: flex; flex-wrap: wrap; gap: 9px; padding: 8px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.72); }
.worldview-picker button { min-height: 46px; flex: 1 1 145px; padding: 10px 18px; border: 0; border-radius: 12px; color: var(--blue-900); background: transparent; font: inherit; font-size: .88rem; font-weight: 750; cursor: pointer; }
.worldview-picker button:hover { background: var(--blue-100); }
.worldview-picker button[aria-selected="true"] { color: var(--white); background: var(--blue-900); box-shadow: 0 6px 18px rgba(18,58,90,.18); }
.worldview-picker button:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
.session-instruction { display: flex; gap: 10px; align-items: center; margin: 18px 4px 0; color: var(--muted); font-size: .84rem; }
.session-instruction span { color: var(--gold-dark); font-size: 1.1rem; }
.track-panel { margin-top: 22px; padding: clamp(26px, 4vw, 50px); border: 1px solid var(--line); border-radius: 24px; background: var(--paper); box-shadow: 0 18px 50px rgba(18,58,90,.08); }
.track-panel[hidden] { display: none; }
.track-intro { display: grid; grid-template-columns: 150px minmax(0, 1.15fr) minmax(250px, .85fr); gap: 24px 35px; align-items: start; padding-bottom: 30px; border-bottom: 1px solid var(--line); }
.track-label, .session-phase { margin: 0; color: var(--gold-dark); font-size: .69rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.track-intro h3 { margin: 0; color: var(--blue-950); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.75rem, 3vw, 2.6rem); line-height: 1.08; }
.track-intro > p:last-child { margin: 2px 0 0; color: var(--muted); }
.session-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 0; list-style: none; }
.session-grid li { min-height: 275px; display: grid; grid-template-columns: 34px 1fr; gap: 14px; padding: 34px 28px 30px 0; border-bottom: 1px solid var(--line); }
.session-grid li:nth-child(3n+2), .session-grid li:nth-child(3n+3) { padding-left: 28px; border-left: 1px solid var(--line); }
.session-grid li:nth-child(n+4) { border-bottom: 0; }
.session-grid li > span { color: #b5944e; font-size: .74rem; font-weight: 800; letter-spacing: .08em; }
.session-grid h4 { margin: 8px 0 10px; color: var(--blue-950); font-family: Georgia, 'Times New Roman', serif; font-size: 1.25rem; line-height: 1.2; }
.session-grid p:not(.session-phase) { margin: 0 0 16px; color: #455e6c; font-size: .9rem; }
.session-grid small { display: block; color: #6f5a30; font-size: .74rem; line-height: 1.5; }
.session-grid .session-bridge { background: linear-gradient(135deg, rgba(232,244,247,.7), rgba(255,255,255,0)); }
.session-card--interactive > div { display: flex; flex-direction: column; align-items: flex-start; }
.session-open { margin-top: auto; padding: 14px 0 0; border: 0; color: var(--blue-900); background: transparent; font: inherit; font-size: .76rem; font-weight: 800; cursor: pointer; text-align: left; text-decoration: underline; text-decoration-color: #d8b567; text-underline-offset: 5px; }
.session-open:hover { color: var(--gold-dark); }
.session-open:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; border-radius: 3px; }
.convergence-note { display: grid; grid-template-columns: 55px 1fr; gap: 24px; align-items: start; margin-top: 22px; padding: 26px 30px; border-radius: 18px; color: var(--white); background: var(--blue-950); }
.convergence-note > span { color: var(--gold); font-size: 2rem; line-height: 1; }
.convergence-note strong { display: block; margin-bottom: 5px; font-family: Georgia, 'Times New Roman', serif; font-size: 1.22rem; }
.convergence-note p { max-width: 900px; margin: 0; color: #c7d7df; }
.grow-section { background: var(--blue-100); }
.readiness-note { display: grid; grid-template-columns: 45px 1fr; gap: 18px; align-items: start; margin-bottom: 20px; padding: 22px 25px; border: 1px solid #bad2dd; border-radius: 16px; color: #244554; background: rgba(255,255,255,.72); }
.readiness-note > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: var(--white); background: var(--blue-900); font-weight: 800; }
.readiness-note strong { display: block; margin-bottom: 5px; color: var(--blue-950); font-family: Georgia, 'Times New Roman', serif; font-size: 1.12rem; }
.readiness-note p { max-width: 920px; margin: 0; color: var(--muted); }
.grow-track { border-color: #b8d1dc; box-shadow: 0 20px 55px rgba(18,58,90,.1); }
.grow-track .session-grid li:nth-child(1) { background: linear-gradient(135deg, rgba(244,227,188,.32), rgba(255,255,255,0)); }
.grow-next-note { background: linear-gradient(135deg, var(--blue-950), #174d6a); }
.equip-section { background: #f7f3e9; }
.equip-readiness { border-color: #ddc78e; background: rgba(255,252,244,.88); }
.equip-readiness > span { color: var(--blue-950); background: #e5bd64; }
.equip-track { border-color: #dac99e; box-shadow: 0 20px 55px rgba(91,65,20,.09); }
.equip-track .session-grid li:nth-child(1) { background: linear-gradient(135deg, rgba(232,244,247,.72), rgba(255,255,255,0)); }
.equip-next-note { background: linear-gradient(135deg, #5f481c, var(--blue-950)); }
.mission-section { background: #edf3ef; }
.mission-readiness { border-color: #b9d0c1; background: rgba(255,255,255,.78); }
.mission-readiness > span { background: #356b56; }
.mission-track { border-color: #bdd2c5; box-shadow: 0 20px 55px rgba(35,82,64,.09); }
.mission-track .session-grid li:nth-child(1) { background: linear-gradient(135deg, rgba(220,239,228,.72), rgba(255,255,255,0)); }
.mission-next-note { background: linear-gradient(135deg, #254f41, var(--blue-950)); }
.card-number { color: var(--gold-dark); font-size: .72rem; font-weight: 800; letter-spacing: .15em; }
.step-card--featured .card-number { color: #eccb88; }
.step-card h3 { margin: 38px 0 13px; font-family: Georgia, serif; font-size: 1.42rem; font-weight: 600; }
.step-card p { margin: 0 0 24px; color: var(--muted); font-size: .91rem; }
.step-card--featured p { color: #cfe0e8; }
.step-card a { margin-top: auto; color: var(--blue-900); font-size: .83rem; font-weight: 800; text-decoration: none; }
.step-card--featured a { color: #f0ce8a; }
.step-card a:hover { text-decoration: underline; text-underline-offset: 4px; }

.journey-section { color: var(--white); background: var(--blue-900); }
.section-heading--light h2 { color: var(--white); }
.section-heading--light .section-kicker { color: #efc978; }
.section-heading--light > p { color: #cadce5; }
.journey-timeline { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.23); }
.journey-timeline li { position: relative; min-height: 270px; padding: 38px 34px 28px 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.journey-timeline li:not(:nth-child(3n)) { border-right: 1px solid rgba(255,255,255,.18); padding-right: 34px; }
.journey-timeline li:not(:nth-child(3n + 1)) { padding-left: 34px; }
.timeline-number { color: #eccb88; font-size: .72rem; font-weight: 800; letter-spacing: .16em; }
.journey-timeline h3 { margin: 49px 0 13px; font-family: Georgia, serif; font-size: 1.3rem; font-weight: 600; }
.journey-timeline p { margin: 0; color: #c9dbe4; font-size: .91rem; }

.group-section { background: var(--cream); }
.group-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(50px, 8vw, 105px); align-items: center; }
.group-copy h2 { margin-bottom: 24px; color: var(--blue-950); font-size: clamp(2.3rem, 4vw, 3.7rem); }
.group-copy > p:not(.section-kicker) { color: var(--muted); }
.text-link { display: inline-block; margin-top: 18px; color: var(--blue-900); font-size: .9rem; font-weight: 800; text-underline-offset: 5px; }
.expectations-card { display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); box-shadow: 0 18px 50px rgba(11,42,62,.08); }
.expectations-column { min-height: 340px; padding: 35px 34px; }
.expectations-column--yes { border-right: 1px solid var(--line); background: #f7fbf9; }
.expectations-label { margin: 0 0 28px; color: var(--blue-900); font-size: .78rem; font-weight: 850; text-transform: uppercase; letter-spacing: .12em; }
.expectations-label span { width: 25px; height: 25px; display: inline-grid; place-items: center; margin-right: 8px; border-radius: 50%; color: #fff; background: #3d7564; }
.expectations-column--no .expectations-label span { color: var(--muted); background: #e6ecee; }
.check-list, .plain-list { margin: 0; padding: 0; list-style: none; }
.check-list li, .plain-list li { position: relative; margin: 0 0 19px; padding-left: 24px; color: #385362; font-size: .94rem; }
.check-list li::before { content: "✓"; position: absolute; left: 0; color: #3d7564; font-weight: 800; }
.plain-list li::before { content: "—"; position: absolute; left: 0; color: #8998a0; }

.commitments-section { background: var(--paper); }
.center-heading { max-width: 680px; margin: 0 auto 54px; text-align: center; }
.center-heading h2 { margin-bottom: 20px; color: var(--blue-950); font-size: clamp(2.3rem, 4vw, 3.7rem); }
.center-heading > p:last-child { color: var(--muted); }
.commitment-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.commitment-grid article { min-height: 250px; padding: 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.commitment-grid span { color: var(--gold-dark); font-size: .7rem; font-weight: 800; letter-spacing: .15em; }
.commitment-grid h3 { margin: 42px 0 12px; font-family: Georgia, serif; font-size: 1.25rem; }
.commitment-grid p { margin: 0; color: var(--muted); font-size: .89rem; }

.church-band { padding: 68px 0; color: var(--white); background: #194863; }
.church-band__inner { display: grid; grid-template-columns: 115px 1fr; gap: 42px; align-items: center; }
.church-band__marker { width: 110px; height: 110px; display: grid; place-items: center; margin: 0; border: 1px solid rgba(255,255,255,.26); border-radius: 50%; color: #eac575; font-family: Georgia, serif; font-size: 2.5rem; }
.church-band .section-kicker { margin-bottom: 8px; color: #eac575; }
.church-band h2 { margin-bottom: 12px; font-size: clamp(1.8rem, 3.2vw, 2.8rem); }
.church-band div > p:last-child { max-width: 790px; margin: 0; color: #d0e0e7; }

.faq-section { background: var(--cream); }
.faq-grid { display: grid; grid-template-columns: .68fr 1.15fr; gap: clamp(50px, 10vw, 135px); align-items: start; }
.faq-intro { position: sticky; top: 126px; }
.faq-intro h2 { margin-bottom: 22px; color: var(--blue-950); font-size: clamp(2.3rem, 4vw, 3.7rem); }
.faq-intro > p:not(.section-kicker) { color: var(--muted); }
.faq-list { border-top: 1px solid #becdd2; }
.faq-list details { border-bottom: 1px solid #becdd2; }
.faq-list summary { min-height: 77px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 19px 4px; color: var(--blue-950); font-family: Georgia, serif; font-size: 1.16rem; font-weight: 600; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { width: 27px; height: 27px; position: relative; flex: 0 0 auto; border: 1px solid rgba(18,58,90,.28); border-radius: 50%; }
.faq-list summary span::before, .faq-list summary span::after { content: ""; position: absolute; left: 7px; right: 7px; top: 12px; height: 1px; background: var(--blue-900); }
.faq-list summary span::after { transform: rotate(90deg); transition: transform .2s ease; }
.faq-list details[open] summary span::after { transform: rotate(0); }
.faq-list details p { margin: -3px 45px 25px 4px; color: var(--muted); font-size: .94rem; }
.faq-list details p a { color: var(--blue-900); font-weight: 700; }

.connect-section { padding: 92px 0; color: var(--white); background: var(--blue-950); }
.connect-panel { display: grid; grid-template-columns: 1.1fr .7fr; gap: 65px; align-items: center; }
.connect-copy .section-kicker { color: #eac575; }
.connect-copy h2 { margin-bottom: 22px; font-size: clamp(2.5rem, 5vw, 4.6rem); }
.connect-copy > p:last-child { max-width: 660px; margin: 0; color: #c9dbe4; }
.connect-actions { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
.button--gold { color: #152f40; background: #e6bb66; }
.button--gold:hover { background: #f0cb81; }
.button--outline-light { color: var(--white); border-color: rgba(255,255,255,.42); }
.button--outline-light:hover { background: rgba(255,255,255,.09); }
.contact-email { margin-top: 9px; color: #d4e2e8; font-size: .87rem; text-align: center; text-underline-offset: 4px; }

.site-footer { padding: 70px 0 28px; }
.footer-grid { display: grid; grid-template-columns: 1.6fr .6fr .7fr; gap: 70px; padding-bottom: 54px; }
.brand--footer { width: fit-content; color: var(--white); }
.brand--footer .brand-mark { border-color: rgba(255,255,255,.3); background: #1c4c6c; }
.brand--footer .brand-copy small { color: #94aeba; }
.brand--footer-logo { --logo-padding-top: 8px; --logo-margin-top: -17px; --logo-width: 300px; padding: 8px 14px; border: 1px solid rgba(232,182,82,.52); border-radius: 14px; background: linear-gradient(145deg, #173f5d, #0a2b43); }
.brand-logo--footer { width: 300px; margin: -17px 0 -25px; }
.footer-about > p { max-width: 430px; margin: 24px 0 0; color: #9fb6c1; }
.footer-nav { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.footer-nav strong { margin-bottom: 8px; color: #e9c77e; font-size: .72rem; text-transform: uppercase; letter-spacing: .15em; }
.footer-nav a { color: #c7d7df; text-decoration: none; }
.footer-nav a:hover { color: var(--white); text-decoration: underline; text-underline-offset: 4px; }
.social-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.footer-disclaimer { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.12); color: #829eab; font-size: .75rem; }
.footer-disclaimer p:first-child { max-width: 700px; }
.footer-disclaimer p { margin: 0; }

.policy-page { background: var(--paper); }
.policy-main { padding: 75px 0 105px; }
.policy-hero { max-width: 850px; margin-bottom: 55px; }
.policy-hero h1 { margin-bottom: 22px; font-size: clamp(2.8rem, 6vw, 5rem); }
.policy-hero > p:not(.section-kicker) { max-width: 720px; color: var(--muted); font-size: 1.08rem; }
.draft-badge { width: fit-content; display: flex; align-items: center; gap: 9px; margin-top: 27px; padding: 8px 13px; border: 1px solid #d2b066; border-radius: 999px; color: #6f4b13; background: #fff8e8; font-size: .76rem; font-weight: 750; }
.draft-badge > span:first-child { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--gold); }
.policy-layout { display: grid; grid-template-columns: 230px minmax(0, 720px); gap: clamp(55px, 10vw, 130px); align-items: start; }
.policy-toc { position: sticky; top: 125px; }
.policy-toc strong { display: block; margin-bottom: 14px; color: var(--gold-dark); font-size: .72rem; text-transform: uppercase; letter-spacing: .14em; }
.policy-toc a { display: block; padding: 7px 0; color: var(--muted); font-size: .86rem; text-decoration: none; }
.policy-toc a:hover { color: var(--blue-900); }
.policy-content section { margin-bottom: 48px; scroll-margin-top: 125px; }
.policy-content h2 { margin-bottom: 14px; color: var(--blue-950); font-size: 1.85rem; letter-spacing: -.02em; }
.policy-content h3 { margin: 30px 0 8px; font-size: 1rem; }
.policy-content p, .policy-content li { color: #455e6c; }
.policy-content ul { padding-left: 22px; }
.policy-content li { margin-bottom: 9px; }
.policy-callout { padding: 24px 26px; border-left: 4px solid var(--gold); background: var(--gold-soft); border-radius: 0 12px 12px 0; }
.policy-callout p { margin: 0; color: #58421c; }
.policy-contact { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--cream); }
.policy-contact h2 { margin-top: 0; }
.policy-contact a { color: var(--blue-900); font-weight: 750; }

.site-footer { padding: 34px 0; color: #c7d7df; background: var(--blue-950); font-size: .82rem; }
.site-footer p { max-width: 800px; margin: 0; }

.availability-dialog { max-width: 520px; padding: 40px; border: 0; border-radius: 22px; color: var(--ink); background: var(--paper); box-shadow: var(--shadow); }
.availability-dialog::backdrop { background: rgba(4,27,42,.7); backdrop-filter: blur(4px); }
.availability-dialog h2 { margin-bottom: 13px; color: var(--blue-950); font-size: 2.2rem; }
.availability-dialog p:not(.section-kicker) { color: var(--muted); }
.dialog-close { position: absolute; top: 14px; right: 16px; width: 38px; height: 38px; border: 0; border-radius: 50%; color: var(--ink); background: var(--blue-100); font-size: 1.5rem; cursor: pointer; }

.lesson-dialog, .discussion-dialog, .prayer-dialog { width: min(1040px, calc(100% - 32px)); max-height: calc(100vh - 32px); padding: 0; border: 0; border-radius: 24px; color: var(--ink); background: var(--paper); box-shadow: 0 28px 90px rgba(4,27,42,.32); }
.discussion-dialog { width: min(940px, calc(100% - 32px)); padding: clamp(28px, 5vw, 52px); overflow-y: auto; }
.prayer-dialog { width: min(760px, calc(100% - 32px)); padding: clamp(28px, 5vw, 52px); overflow-y: auto; }
.lesson-dialog::backdrop, .discussion-dialog::backdrop, .prayer-dialog::backdrop { background: rgba(4,27,42,.76); backdrop-filter: blur(5px); }
.lesson-dialog__header { padding: clamp(34px, 6vw, 64px); padding-right: 85px; color: var(--white); background: linear-gradient(135deg, var(--blue-950), var(--blue-900)); }
.lesson-dialog__header .section-kicker { color: #e9c77e; }
.lesson-dialog__header h2 { max-width: 720px; margin: 10px 0 15px; color: var(--white); font-size: clamp(2rem, 5vw, 3.8rem); }
.lesson-purpose { max-width: 760px; margin: 0; color: #cfe0e8; font-size: 1.04rem; }
.lesson-dialog__body { display: grid; gap: 45px; padding: clamp(32px, 6vw, 64px); }
.lesson-dialog__body section > h3 { margin: 0 0 18px; color: var(--blue-950); font-family: Georgia, 'Times New Roman', serif; font-size: 1.55rem; }
.lesson-readings { padding: 26px 30px; border-left: 4px solid var(--gold); border-radius: 0 14px 14px 0; background: var(--gold-soft); }
.lesson-readings ul { display: flex; flex-wrap: wrap; gap: 9px; margin: 0; padding: 0; list-style: none; }
.lesson-readings li { border: 1px solid #dec98f; border-radius: 999px; color: #654b1d; background: rgba(255,255,255,.62); font-size: .83rem; font-weight: 750; overflow: hidden; }
.lesson-readings .reading-starting-point { padding: 8px 12px; }
.passage-button { display: flex; align-items: center; gap: 8px; width: 100%; padding: 8px 12px; border: 0; color: inherit; background: transparent; font: inherit; cursor: pointer; }
.passage-button:hover { color: var(--blue-950); background: #fff; }
.passage-button:focus-visible { outline: 3px solid rgba(46,102,128,.32); outline-offset: -3px; }
.lesson-readings > p { margin: 18px 0 0; color: #66542f; font-size: .88rem; }
.lesson-flow { display: grid; grid-template-columns: 1fr 1fr; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.lesson-flow li { display: grid; grid-template-columns: 36px 1fr; gap: 15px; min-height: 260px; padding: 26px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.lesson-flow li > span { color: var(--gold-dark); font-size: .74rem; font-weight: 800; }
.lesson-flow strong { display: block; margin-bottom: 8px; color: var(--blue-950); }
.lesson-flow p { margin: 0 0 16px; color: var(--muted); font-size: .9rem; }
.lesson-flow .answer-entry textarea { min-height: 82px; }
.local-answer-notice { margin: -4px 0 20px; padding: 18px 20px; border: 1px solid #cbdce4; border-radius: 12px; background: #f2f8fa; }
.local-answer-notice strong { color: var(--blue-950); }
.local-answer-notice p { margin: 5px 0 0; color: var(--muted); font-size: .82rem; }
.lesson-reflection > ul { display: grid; gap: 14px; margin: 0 0 26px; padding: 0; list-style: none; counter-reset: reflection; }
.lesson-reflection > ul li { position: relative; padding: 18px 20px 18px 52px; border: 1px solid var(--line); border-radius: 12px; color: #38505e; counter-increment: reflection; }
.lesson-reflection > ul li::before { content: counter(reflection); position: absolute; left: 18px; top: 17px; color: var(--gold-dark); font-weight: 800; }
.lesson-reflection > ul label { display: grid; gap: 12px; }
.reflection-question { line-height: 1.5; font-weight: 700; }
.answer-entry { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: start; }
.answer-entry textarea { grid-column: 1 / -1; width: 100%; min-height: 76px; max-height: 145px; overflow-y: auto; resize: vertical; padding: 11px 12px; border: 1px solid #b9cdd6; border-radius: 9px; color: var(--ink); background: var(--white); font: inherit; font-size: .9rem; }
.answer-entry textarea:focus { outline: 3px solid rgba(196,145,48,.28); border-color: var(--gold-dark); }
.voice-entry { justify-self: start; display: inline-flex; align-items: center; gap: 7px; padding: 7px 11px; border: 1px solid #9fbac7; border-radius: 999px; color: var(--blue-900); background: var(--white); font: inherit; font-size: .75rem; font-weight: 750; cursor: pointer; }
.voice-entry span { color: #a74141; font-size: .62rem; }
.voice-entry.is-listening { color: #7c2929; border-color: #d5a5a5; background: #fff1f1; }
.voice-entry[disabled] { color: #70838c; cursor: not-allowed; opacity: .72; }
.voice-status { align-self: center; min-height: 1em; color: var(--muted); font-size: .72rem; }
.private-note { padding: 26px; border-radius: 16px; background: var(--blue-100); }
.private-note > strong { display: block; color: var(--blue-950); }
.private-note > p { margin: 7px 0 16px; color: var(--muted); }
.clear-note { margin-top: 12px; padding: 0; border: 0; color: var(--muted); background: transparent; font: inherit; font-size: .76rem; text-decoration: underline; cursor: pointer; }
.passage-panel { position: fixed; z-index: 4; inset: max(28px, 6vh) max(24px, calc((100vw - 760px) / 2)); display: grid; grid-template-rows: auto auto auto minmax(0, 1fr) auto; padding: clamp(26px, 5vw, 44px); border: 1px solid #d8e1e5; border-radius: 20px; color: var(--ink); background: var(--paper); box-shadow: 0 30px 100px rgba(4,27,42,.45); }
.passage-panel[hidden] { display: none; }
.passage-panel::before { content: ""; position: fixed; z-index: -1; inset: 0; background: rgba(4,27,42,.62); backdrop-filter: blur(3px); }
.passage-panel__close { position: absolute; top: 14px; right: 16px; width: 38px; height: 38px; border: 0; border-radius: 50%; color: var(--ink); background: var(--blue-100); font-size: 1.5rem; cursor: pointer; }
.passage-panel h3 { margin: 7px 54px 4px 0; color: var(--blue-950); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.7rem, 4vw, 2.5rem); }
.passage-panel__source { margin: 0 0 18px; color: var(--muted); font-size: .8rem; }
.passage-panel__text { min-height: 0; overflow-y: auto; padding: 22px 24px; border: 1px solid var(--line); border-radius: 12px; color: #263f4c; background: var(--white); font-family: Georgia, 'Times New Roman', serif; font-size: 1.02rem; line-height: 1.72; white-space: pre-wrap; }
.passage-panel__text:focus { outline: 3px solid rgba(46,102,128,.25); }
.passage-panel__note { margin: 14px 0 0; color: var(--muted); font-size: .78rem; }
.passage-panel__link { width: fit-content; margin-top: 15px; color: var(--blue-900); font-size: .8rem; font-weight: 750; }
.lesson-dialog__footer { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 30px clamp(32px, 6vw, 64px); color: var(--white); background: var(--blue-950); }
.lesson-dialog__footer strong { font-family: Georgia, 'Times New Roman', serif; font-size: 1.16rem; }
.lesson-dialog__footer p { margin: 4px 0 0; color: #bcd0da; font-size: .86rem; }
.lesson-dialog__footer .button { flex: 0 0 auto; }
.lesson-dialog .dialog-close { color: var(--white); background: rgba(255,255,255,.13); }
.discussion-dialog > h2, .prayer-dialog > h2 { margin: 8px 60px 12px 0; color: var(--blue-950); font-size: clamp(2rem, 4.6vw, 3.2rem); }
.discussion-dialog > p:not(.section-kicker), .prayer-dialog > p:not(.section-kicker) { max-width: 680px; margin-bottom: 30px; color: var(--muted); }
.discussion-form { display: grid; gap: 20px; }
.form-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px 20px; }
.discussion-form label { min-width: 0; display: grid; gap: 7px; color: #274451; font-size: .8rem; font-weight: 750; }
.form-grid > label > span { min-height: 2.7em; display: flex; align-items: flex-end; line-height: 1.35; }
.form-grid-span { grid-column: 1 / -1; }
.discussion-form input:not([type="checkbox"]):not([type="radio"]), .discussion-form select, .discussion-form textarea { min-width: 0; width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #b9cdd6; border-radius: 9px; color: var(--ink); background: var(--white); font: inherit; }
.discussion-form textarea { resize: vertical; }
.discussion-form input:focus, .discussion-form select:focus, .discussion-form textarea:focus { outline: 3px solid rgba(196,145,48,.28); border-color: var(--gold-dark); }
.request-choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; border: 0; }
.request-choice legend { width: 100%; margin: 0 0 9px; color: var(--blue-950); font-family: Georgia, 'Times New Roman', serif; font-size: 1.16rem; font-weight: 700; }
.request-choice label { position: relative; display: flex; grid-template-columns: none; gap: 10px; min-height: 122px; padding: 16px; border: 1px solid #b9cdd6; border-radius: 12px; background: var(--white); cursor: pointer; }
.request-choice label:last-of-type { grid-column: 1 / -1; min-height: 0; }
.request-choice label:has(input:checked) { border-color: var(--blue-900); background: var(--blue-100); box-shadow: inset 0 0 0 1px var(--blue-900); }
.request-choice input { width: 18px; height: 18px; flex: 0 0 auto; margin: 2px 0 0; accent-color: var(--blue-900); }
.request-choice span { display: grid; gap: 5px; }
.request-choice strong { color: var(--blue-950); font-size: .88rem; line-height: 1.35; }
.request-choice small { color: var(--muted); font-size: .75rem; font-weight: 500; line-height: 1.45; }
.contact-request-toggle { display: flex !important; grid-template-columns: none; gap: 12px !important; padding: 18px; border: 1px solid #b9cdd6; border-radius: 12px; background: #f3f8fa; cursor: pointer; }
.contact-request-toggle input { width: 19px; height: 19px; flex: 0 0 auto; margin: 2px 0 0; accent-color: var(--blue-900); }
.contact-request-toggle span { display: grid; gap: 4px; }
.contact-request-toggle strong { color: var(--blue-950); font-size: .9rem; }
.contact-request-toggle small { color: var(--muted); font-size: .76rem; font-weight: 500; line-height: 1.45; }
.prayer-contact-fields { display: grid; gap: 18px; padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--cream); }
.prayer-contact-fields[hidden] { display: none; }
.prayer-contact-heading { margin: 0; color: var(--blue-950); font-family: Georgia, 'Times New Roman', serif; font-size: 1.15rem; font-weight: 700; }
.check-field { display: flex !important; grid-template-columns: auto 1fr; align-items: flex-start; gap: 10px !important; font-weight: 500 !important; }
.check-field input { margin-top: 3px; }
.safety-note { padding: 18px 20px; border-radius: 12px; color: #5e471d; background: var(--gold-soft); }
.safety-note p { margin: 5px 0 0; font-size: .82rem; }
.form-status { min-height: 1.4em; margin: 0; color: #2b6643; font-size: .86rem; font-weight: 700; }
.form-status.is-error { color: #8b2f2f; }
.form-status.is-success { padding: 14px 16px; border-radius: 10px; color: #245c3b; background: #e5f3e9; }
.discussion-actions button[disabled] { opacity: .62; cursor: wait; }
.discussion-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* Journey Guide website assistant */
.journey-guide-launcher { position: fixed; z-index: 460; right: 22px; bottom: 22px; min-height: 58px; display: inline-flex; align-items: center; gap: 10px; padding: 8px 17px 8px 9px; border: 1px solid #d8b45d; border-radius: 999px; color: var(--white); background: linear-gradient(145deg, var(--blue-900), var(--blue-950)); box-shadow: 0 16px 42px rgba(4,27,42,.3); font-size: .84rem; font-weight: 800; cursor: pointer; }
.journey-guide-launcher:hover { transform: translateY(-2px); box-shadow: 0 20px 48px rgba(4,27,42,.35); }
.journey-guide-launcher img { width: 40px; height: 40px; padding: 3px; border-radius: 50%; background: #f7ecd0; object-fit: contain; }
.journey-guide-panel { position: fixed; z-index: 459; right: 22px; bottom: 92px; width: min(390px, calc(100vw - 32px)); height: min(610px, calc(100vh - 118px)); display: flex; flex-direction: column; overflow: hidden; border: 1px solid #b9ccd4; border-radius: 20px; color: var(--ink); background: var(--paper); box-shadow: 0 28px 80px rgba(4,27,42,.32); font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.journey-guide-panel[hidden] { display: none; }
.journey-guide-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 17px; color: var(--white); background: linear-gradient(145deg, var(--blue-900), var(--blue-950)); }
.journey-guide-header > div { min-width: 0; display: flex; align-items: center; gap: 11px; }
.journey-guide-header img { width: 42px; height: 42px; flex: 0 0 auto; padding: 3px; border-radius: 50%; background: #f7ecd0; object-fit: contain; }
.journey-guide-header span { min-width: 0; display: grid; gap: 2px; }
.journey-guide-header strong { color: var(--white); font-family: Georgia, 'Times New Roman', serif; font-size: 1.15rem; }
.journey-guide-header small { color: #bdd2dc; font-size: .67rem; letter-spacing: .03em; }
.journey-guide-header button { width: 35px; height: 35px; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; color: var(--white); background: rgba(255,255,255,.08); font-size: 1.35rem; line-height: 1; cursor: pointer; }
.journey-guide-messages { min-height: 160px; flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 18px 16px 10px; background: #f4f6f3; }
.journey-guide-message { display: flex; flex-direction: column; align-items: flex-start; margin-bottom: 13px; }
.journey-guide-message--user { align-items: flex-end; }
.journey-guide-bubble { max-width: 88%; padding: 11px 13px; border: 1px solid #d4dfe2; border-radius: 4px 15px 15px 15px; color: #294554; background: var(--white); font-size: .83rem; line-height: 1.55; white-space: pre-wrap; }
.journey-guide-message--user .journey-guide-bubble { border-color: var(--blue-900); border-radius: 15px 4px 15px 15px; color: var(--white); background: var(--blue-900); }
.journey-guide-actions { max-width: 88%; display: flex; flex-wrap: wrap; gap: 7px; margin-top: 7px; }
.journey-guide-actions a, .journey-guide-actions button { min-height: 34px; display: inline-flex; align-items: center; padding: 7px 10px; border: 1px solid #9eb7c2; border-radius: 999px; color: var(--blue-900); background: var(--white); font: 750 .71rem/1.2 Inter, ui-sans-serif, system-ui, sans-serif; text-decoration: none; cursor: pointer; }
.journey-guide-actions button { color: var(--white); border-color: var(--blue-900); background: var(--blue-900); }
.journey-guide-prompts { display: flex; gap: 7px; overflow-x: auto; padding: 10px 14px; border-top: 1px solid #dce4e6; background: #f9faf7; scrollbar-width: thin; }
.journey-guide-prompts button { flex: 0 0 auto; padding: 7px 10px; border: 1px solid #c8d7dc; border-radius: 999px; color: #315468; background: var(--white); font: 700 .68rem/1.25 Inter, ui-sans-serif, system-ui, sans-serif; cursor: pointer; }
.journey-guide-form { display: grid; gap: 6px; padding: 11px 14px 8px; border-top: 1px solid #dce4e6; background: var(--paper); }
.journey-guide-form > label { color: #496674; font-size: .67rem; font-weight: 800; }
.journey-guide-form > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
.journey-guide-form input { min-width: 0; min-height: 43px; padding: 9px 11px; border: 1px solid #afc3cc; border-radius: 10px; color: var(--ink); background: var(--white); font: .82rem Inter, ui-sans-serif, system-ui, sans-serif; }
.journey-guide-form input:focus { outline: 3px solid rgba(196,145,48,.28); border-color: var(--gold-dark); }
.journey-guide-form button { min-width: 62px; border: 1px solid var(--blue-900); border-radius: 10px; color: var(--white); background: var(--blue-900); font: 800 .74rem Inter, ui-sans-serif, system-ui, sans-serif; cursor: pointer; }
.journey-guide-scope { margin: 0; padding: 0 14px 11px; color: #71858e; background: var(--paper); font-size: .61rem; line-height: 1.4; }

/* Private mentor and leader library */
.leader-body { min-height: 100vh; background: #f2efe7; }
.leader-header { border-bottom: 1px solid rgba(18,58,90,.12); background: var(--paper); }
.leader-nav { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.leader-header .brand--logo { --logo-margin-top: -15px; --logo-width: 280px; }
.brand-logo--leader { width: 280px; margin: -15px 0 -22px; }
.leader-account { display: flex; align-items: center; gap: 16px; color: var(--muted); font-size: .82rem; font-weight: 700; }
.leader-account form { margin: 0; }
.leader-admin-link { padding: 8px 12px; border: 1px solid #c7d5da; border-radius: 999px; color: var(--blue-900); text-decoration: none; }
.leader-admin-link:hover { border-color: var(--gold); background: var(--gold-soft); }
.text-button { padding: 0; border: 0; color: var(--blue-900); background: transparent; font-weight: 800; text-decoration: underline; cursor: pointer; }
.leader-main { padding-block: clamp(54px, 8vw, 90px); }
.auth-card { width: min(560px, 100%); margin-inline: auto; padding: clamp(28px, 6vw, 54px); border: 1px solid var(--line); border-radius: 24px; background: var(--paper); box-shadow: var(--shadow); }
.auth-card h1 { margin-bottom: 18px; font-size: clamp(2.25rem, 6vw, 3.7rem); }
.auth-card > p:not(.section-kicker, .auth-message) { color: var(--muted); }
.auth-form { display: grid; gap: 18px; margin-top: 30px; }
.auth-form label { display: grid; gap: 7px; color: #274451; font-size: .82rem; font-weight: 750; }
.auth-form input,.auth-form select,.auth-form textarea { width: 100%; min-height: 49px; padding: 10px 12px; border: 1px solid #b9cdd6; border-radius: 9px; color: var(--ink); background: var(--white); font: inherit; }
.auth-form textarea { min-height: 92px; resize: vertical; }
.auth-form input:focus,.auth-form select:focus,.auth-form textarea:focus { outline: 3px solid rgba(196,145,48,.28); border-color: var(--gold-dark); }
.auth-form .button { width: fit-content; margin-top: 5px; cursor: pointer; }
.auth-message, .library-notice { padding: 13px 16px; border-radius: 10px; color: #245c3b; background: #e5f3e9; font-size: .86rem; font-weight: 700; }
.auth-message.is-error, .auth-card .auth-message { color: #7d2a2a; background: #f8e8e6; }
.leader-back { display: inline-block; margin-top: 26px; color: var(--blue-900); font-size: .84rem; font-weight: 750; }
.leader-hero { max-width: 780px; margin-bottom: 42px; }
.leader-hero h1 { margin-bottom: 18px; font-size: clamp(3rem, 7vw, 5.2rem); }
.leader-hero > p:not(.section-kicker) { max-width: 680px; color: var(--muted); font-size: 1.08rem; }
.leader-hero > .button { margin-top: 8px; }
.library-notice { width: fit-content; margin: -20px 0 30px; }
.library-empty { padding: clamp(34px, 6vw, 62px); border: 1px dashed #9eb2bb; border-radius: 22px; text-align: center; background: rgba(255,255,255,.5); }
.library-empty > span { width: 58px; height: 58px; display: grid; place-items: center; margin: 0 auto 20px; border-radius: 50%; color: var(--gold-dark); background: var(--gold-soft); font-size: 2rem; }
.library-empty h1, .library-empty h2 { margin-bottom: 14px; color: var(--blue-950); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 5vw, 3rem); }
.library-empty p { max-width: 670px; margin: 10px auto; color: var(--muted); }
.study-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.study-list__item { min-height: 250px; display: flex; flex-direction: column; padding: 30px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); box-shadow: 0 12px 36px rgba(11,42,62,.07); text-decoration: none; transition: transform .18s ease, border-color .18s ease; }
.study-list__item:hover { transform: translateY(-3px); border-color: var(--gold); }
.study-list__category { color: var(--gold-dark); font-size: .72rem; font-weight: 850; text-transform: uppercase; letter-spacing: .15em; }
.study-list__item h2 { margin: 17px 0 12px; color: var(--blue-950); font-size: 1.65rem; }
.study-list__item p { margin: 0 0 26px; color: var(--muted); }
.study-list__item strong { margin-top: auto; color: var(--blue-900); font-size: .83rem; }
.leader-help { margin-top: 36px; padding: 24px 28px; border-left: 4px solid var(--gold); color: #435e6e; background: var(--gold-soft); }
.leader-help h2 { margin-bottom: 6px; color: var(--blue-950); font-size: 1.16rem; }
.leader-help p { margin: 0 0 8px; }
.leader-help a { color: var(--blue-900); font-weight: 750; }
.leader-study-workspace { display: grid; grid-template-columns: minmax(250px,.55fr) minmax(0,1.45fr); gap: 28px; align-items: start; margin: 0 0 28px; padding: clamp(24px,4vw,38px); border: 1px solid #a9c8be; border-radius: 22px; background: linear-gradient(135deg,#edf7f2,#fbfdfb); box-shadow: 0 15px 42px rgba(11,42,62,.07); }
.leader-study-workspace--admin { grid-template-columns: 1fr auto; align-items: center; border-color: #d2b36d; background: linear-gradient(135deg,#fff8e6,#fffdf7); }
.leader-study-workspace--preparing { border-color: #c7d5da; background: #f4f7f7; }
.leader-study-workspace header h2,.complete-library > header h2 { margin: 5px 0 8px; color: var(--blue-950); font-family: Georgia,'Times New Roman',serif; font-size: clamp(1.8rem,4vw,2.7rem); }
.leader-study-workspace header p:last-child,.complete-library > header p:last-child { margin: 0; color: var(--muted); }
.authorized-study-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.authorized-study-card { display: grid; gap: 8px; min-width: 0; padding: 16px; border: 1px solid #cfddda; border-radius: 12px; color: var(--blue-950); background: #fff; text-decoration: none; }
.authorized-study-card:hover { border-color: var(--gold); transform: translateY(-2px); }
.authorized-study-card > span { display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.authorized-study-card small { color: var(--muted); font-size: .68rem; text-align: right; }
.authorized-study-card strong { font-size: .92rem; line-height: 1.4; }
.authorized-study-card em { color: var(--blue-900); font-size: .76rem; font-style: normal; font-weight: 850; }
.authorized-study-empty { margin: 0; padding: 18px; border: 1px dashed #aabcc2; border-radius: 12px; color: var(--muted); background: rgba(255,255,255,.65); }
.complete-library { margin-top: 52px; }
.complete-library > header { max-width: 780px; margin-bottom: 24px; }
.complete-library > .library-series + .library-series { margin-top: 32px; }
.library-study-filters { display: grid; grid-template-columns: minmax(240px,1fr) minmax(210px,.45fr) auto; gap: 12px; align-items: end; margin: 0 0 26px; padding: 18px; border: 1px solid #d5e0e3; border-radius: 14px; background: #f4f7f7; }
.library-study-filters label { display: grid; gap: 6px; color: #355464; font-size: .75rem; font-weight: 850; }
.library-study-filters input,.library-study-filters select { width: 100%; min-height: 45px; padding: 9px 11px; border: 1px solid #b9cdd6; border-radius: 9px; color: var(--ink); background: #fff; font: inherit; }
.library-study-filters input:focus,.library-study-filters select:focus { outline: 3px solid rgba(196,145,48,.28); border-color: var(--gold-dark); }
.library-study-filters > p { grid-column: 1 / -1; min-height: 1.2em; margin: 0; color: var(--muted); font-size: .78rem; }
.study-authorization-badge { display: inline-flex; width: fit-content; padding: 4px 8px; border-radius: 999px; color: #5b6570; background: #e9eef0; font: 850 .61rem/1.2 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing: .02em; text-transform: none; white-space: nowrap; }
.study-authorization-badge--approved { color: #1f5b40; background: #dff2e6; }
.study-authorization-badge--preparing,.study-authorization-badge--pending { color: #6b4d12; background: #fff0c9; }
.study-authorization-badge--suspended { color: #7d2a2a; background: #f8e8e6; }
.library-chapter-list a > span:first-child .study-authorization-badge { display: flex; margin-top: 5px; }
.admin-hero { max-width: 810px; margin-bottom: 34px; }
.admin-hero h1 { margin: 8px 0 16px; font-size: clamp(2.8rem, 7vw, 4.8rem); }
.admin-hero > p:last-child { max-width: 720px; color: var(--muted); font-size: 1.06rem; }
.admin-grid { display: grid; grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr); gap: 22px; align-items: start; }
.admin-card { padding: clamp(24px, 4vw, 36px); border: 1px solid var(--line); border-radius: 20px; background: var(--paper); box-shadow: 0 14px 38px rgba(11,42,62,.07); }
.admin-card h2, .temporary-credential h2 { margin-bottom: 10px; color: var(--blue-950); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.65rem, 3vw, 2.25rem); }
.admin-card > p, .temporary-credential > p { color: var(--muted); }
.temporary-credential { margin: 0 0 28px; padding: clamp(24px, 5vw, 38px); border: 1px solid #d2b36d; border-radius: 20px; background: #fff9ea; box-shadow: 0 16px 42px rgba(98,70,19,.1); }
.credential-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 24px 0 18px; }
.credential-grid label { display: grid; gap: 7px; color: #274451; font-size: .78rem; font-weight: 800; }
.credential-grid input { width: 100%; min-height: 50px; padding: 10px 12px; border: 1px solid #c6b37f; border-radius: 9px; color: var(--blue-950); background: #fff; font: 750 .95rem/1.2 Inter, ui-sans-serif, system-ui, sans-serif; }
.credential-grid label:last-child input { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .03em; }
.copy-status { min-height: 1.4em; margin: 12px 0 0 !important; color: #2b6643 !important; font-size: .84rem; font-weight: 750; }
.mentor-list-heading { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.mentor-list-heading h2 { margin: 0 0 4px; }
.mentor-list-heading p { margin: 0; color: var(--muted); font-size: .84rem; }
.mentor-table-wrap { max-width: 100%; overflow-x: auto; }
.mentor-table { width: 100%; border-collapse: collapse; font-size: .87rem; }
.mentor-table th, .mentor-table td { padding: 14px 12px; border-bottom: 1px solid #dbe3e5; text-align: left; vertical-align: middle; }
.mentor-table thead th { color: var(--muted); font-size: .71rem; text-transform: uppercase; letter-spacing: .08em; }
.mentor-table tbody th { min-width: 220px; color: var(--blue-950); }
.mentor-table tbody th span { display: block; margin-top: 3px; color: var(--muted); font-size: .8rem; font-weight: 500; }
.mentor-table tbody tr:last-child th, .mentor-table tbody tr:last-child td { border-bottom: 0; }
.mentor-empty { padding-block: 28px !important; color: var(--muted); text-align: center !important; }
.account-status { display: inline-flex; padding: 6px 9px; border-radius: 999px; color: #245c3b; background: #e5f3e9; font-size: .72rem; font-weight: 800; white-space: nowrap; }
.account-status--waiting-for-first-sign-in { color: #6b4d12; background: #fff0c9; }
.account-status--inactive { color: #7d2a2a; background: #f8e8e6; }
.authorization-admin-grid { display: grid; grid-template-columns: minmax(290px,.72fr) minmax(0,1.28fr); gap: 22px; align-items: start; }
.authorization-register { margin-top: 24px; }
.recommendation-list { display: grid; gap: 14px; }
.recommendation-card { padding: 18px; border: 1px solid #d8e2e5; border-radius: 14px; background: #fff; }
.recommendation-card > header { display: flex; justify-content: space-between; gap: 16px; }
.recommendation-card h3 { margin: 3px 0 0; color: var(--blue-950); }
.recommendation-card > header > span { flex: 0 0 auto; color: var(--muted); font-size: .76rem; }
.recommendation-card blockquote { margin: 12px 0; padding: 12px 15px; border-left: 3px solid var(--gold); color: #4f6170; background: var(--gold-soft); }
.recommendation-card > form:last-child { margin-top: 12px; }
.study-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 32px; }
.study-toolbar > a { color: var(--blue-900); font-weight: 750; }
.study-toolbar div { display: flex; gap: 10px; }
.study-toolbar button { cursor: pointer; }
.study-assignment-locked { margin-top: 18px; padding: 20px; border: 1px solid #d6dee1; border-radius: 14px; background: #f4f7f7; }
.study-assignment-locked h3 { margin: 12px 0 7px; color: var(--blue-950); }
.study-assignment-locked p { margin: 7px 0; color: var(--muted); }
.study-document { max-width: 850px; margin-inline: auto; padding: clamp(34px, 7vw, 76px); border: 1px solid var(--line); border-radius: 20px; background: var(--paper); box-shadow: var(--shadow); }
.study-document h1 { max-width: none; margin-bottom: 18px; font-size: clamp(2.7rem, 6vw, 4.6rem); }
.study-summary { margin-bottom: 40px; color: var(--muted); font-size: 1.12rem; }
.study-note-privacy { display: grid; grid-template-columns: 38px 1fr; gap: 14px; margin: -14px 0 34px; padding: 17px 19px; border: 1px solid #bdd2c5; border-radius: 12px; color: #315547; background: #eef7f1; }
.study-note-privacy > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: var(--white); background: #356b56; font-size: 1rem; font-weight: 850; }
.study-note-privacy strong { display: block; margin-bottom: 3px; color: #214c3a; font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: .88rem; }
.study-note-privacy p { margin: 0; color: #48695c; font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: .78rem; line-height: 1.55; }
.study-content { color: #294554; font-family: Georgia, 'Times New Roman', serif; font-size: 1.04rem; }
.study-content h2 { margin: 42px 0 16px; color: var(--blue-950); font-size: 2rem; }
.study-content h3 { margin: 30px 0 12px; color: var(--blue-900); font-family: Georgia, 'Times New Roman', serif; font-size: 1.35rem; }
.study-content blockquote, .study-scripture { margin: 26px 0; padding: 20px 24px; border-left: 4px solid var(--gold); background: var(--gold-soft); }
.study-scripture p { margin-bottom: 0; }
.library-series { padding: clamp(28px, 5vw, 48px); border: 1px solid #cbd8dc; border-radius: 24px; background: rgba(255,253,248,.78); box-shadow: 0 18px 50px rgba(11,42,62,.08); }
.library-series > header { max-width: 760px; margin-bottom: 30px; }
.library-series > header h2 { margin: 8px 0 12px; color: var(--blue-950); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 5vw, 3.25rem); }
.library-series > header p:last-child { margin: 0; color: var(--muted); font-size: 1.04rem; }
.library-resource-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.library-resource-card { position: relative; overflow: hidden; padding: 30px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); }
.library-resource-card--manual { color: #eaf5fa; background: linear-gradient(145deg, var(--blue-900), var(--blue-950)); border-color: rgba(232,182,82,.55); }
.library-resource-card h3 { max-width: 560px; margin: 8px 0 10px; color: var(--blue-950); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.55rem, 3vw, 2.2rem); }
.library-resource-card > p:not(.study-list__category) { margin: 0 0 24px; color: var(--muted); }
.library-resource-card--manual h3 { color: var(--white); }
.library-resource-card--manual > p:not(.study-list__category) { color: #bdd2dc; }
.library-resource-card--manual .study-list__category { color: #efcb80; }
.library-resource-card--manual .button { margin-top: 10px; color: var(--blue-950); background: #e8c172; }
.library-resource-number { position: absolute; right: 21px; top: 13px; color: rgba(18,58,90,.08); font-family: Georgia, 'Times New Roman', serif; font-size: 5rem; font-weight: 700; line-height: 1; }
.library-resource-card--manual .library-resource-number { color: rgba(255,255,255,.09); }
.library-language-picker { display: inline-flex; flex-wrap: wrap; gap: 6px; margin: 2px 0 0; padding: 5px; border: 1px solid #d6e1e5; border-radius: 999px; background: #edf3f5; }
.library-language-picker button { min-height: 40px; padding: 8px 17px; border: 1px solid transparent; border-radius: 999px; color: var(--blue-900); background: transparent; font: inherit; font-size: .83rem; font-weight: 850; letter-spacing: .015em; cursor: pointer; transition: color .16s ease, background .16s ease, box-shadow .16s ease; }
.library-language-picker button:hover { background: rgba(255,255,255,.72); }
.library-language-picker button[aria-selected="true"] { color: #fff; background: var(--blue-900); box-shadow: 0 4px 12px rgba(10,43,67,.18); }
.library-language-picker button:focus-visible { outline: 3px solid rgba(192,138,45,.36); outline-offset: 2px; }
.library-language-panel[hidden] { display: none; }
.library-language-panel .library-chapter-list { margin-top: 18px; }
.library-chapter-groups { display: grid; gap: 24px; margin-top: 24px; }
.library-chapter-group { min-width: 0; border: 1px solid #d8e2e5; border-radius: 12px; background: rgba(255,255,255,.46); }
.library-chapter-group summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; color: var(--blue-900); font-size: .77rem; font-weight: 900; line-height: 1.45; text-transform: uppercase; letter-spacing: .075em; cursor: pointer; list-style: none; }
.library-chapter-group summary::-webkit-details-marker { display: none; }
.library-chapter-group summary::after { content: '+'; flex: 0 0 auto; width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; color: var(--blue-900); background: #eaf1f3; font-size: 1rem; line-height: 1; }
.library-chapter-group[open] summary::after { content: '−'; }
.library-chapter-group summary small { margin-left: auto; color: var(--muted); font-size: .68rem; font-weight: 750; letter-spacing: .02em; text-transform: none; }
.library-chapter-group > .library-chapter-list { padding: 0 12px 12px; }
.library-chapter-group h4 { margin: 0 0 10px; padding-bottom: 9px; border-bottom: 1px solid #d8e2e5; color: var(--blue-900); font-size: .77rem; font-weight: 900; line-height: 1.45; text-transform: uppercase; letter-spacing: .085em; }
.library-chapter-group .library-chapter-list { margin-top: 0; }
.library-resource-card--manual .library-chapter-group h4 { border-color: rgba(210,226,233,.22); color: #efcb80; }
.library-resource-card--manual .library-chapter-group { border-color: rgba(210,226,233,.22); background: rgba(255,255,255,.035); }
.library-resource-card--manual .library-chapter-group summary { color: #efcb80; }
.library-resource-card--manual .library-chapter-group summary small { color: #bdd2dc; }
.library-resource-card--manual .library-chapter-group summary::after { color: #efcb80; background: rgba(255,255,255,.09); }
.library-chapter-list { display: grid; gap: 8px; margin: 24px 0 0; padding: 0; list-style: none; counter-reset: chapter; }
.library-chapter-list li { counter-increment: chapter; }
.library-chapter-list a { display: grid; grid-template-columns: minmax(82px, auto) 1fr auto; align-items: center; gap: 13px; padding: 12px 14px; border: 1px solid #d8e2e5; border-radius: 10px; text-decoration: none; background: #fbfaf5; transition: border-color .16s ease, transform .16s ease; }
.library-chapter-list a:hover { transform: translateX(3px); border-color: var(--gold); }
.library-chapter-list a > span:first-child { color: var(--gold-dark); font-size: .71rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.library-chapter-list a strong { color: var(--blue-950); font-size: .91rem; line-height: 1.35; }
.library-chapter-list a > span:last-child { color: var(--blue-900); }
.library-resource-card--manual .library-chapter-list a { border-color: rgba(210,226,233,.22); background: rgba(255,255,255,.075); }
.library-resource-card--manual .library-chapter-list a:hover { border-color: #e8c172; background: rgba(255,255,255,.11); }
.library-resource-card--manual .library-chapter-list a > span:first-child { color: #efcb80; }
.library-resource-card--manual .library-chapter-list a strong { color: #f4f9fb; }
.library-resource-card--manual .library-chapter-list a > span:last-child { color: #c9e4f0; }
.additional-library { margin-top: 40px; }
.additional-library > h2 { margin-bottom: 20px; color: var(--blue-950); font-family: Georgia, 'Times New Roman', serif; font-size: 2rem; }
.study-web-toc { margin: 34px 0 42px; padding: 24px 26px; border: 1px solid #d4dfe2; border-radius: 14px; background: #f6f8f6; }
.study-web-toc > strong { display: block; margin-bottom: 12px; color: var(--gold-dark); font-size: .74rem; text-transform: uppercase; letter-spacing: .14em; }
.study-web-toc ol { columns: 2; gap: 36px; margin: 0; padding-left: 21px; }
.study-web-toc li { margin: 7px 0; break-inside: avoid; }
.study-web-toc a { color: var(--blue-900); font-size: .9rem; font-weight: 700; text-underline-offset: 3px; }
.study-kicker { margin: 0 0 8px !important; color: var(--gold-dark); font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: .74rem; font-weight: 850; text-transform: uppercase; letter-spacing: .14em; }
.study-section-label { width: fit-content; margin-top: 24px !important; padding: 7px 11px; border-radius: 7px; color: var(--white) !important; background: var(--blue-900); font-family: Inter, ui-sans-serif, system-ui, sans-serif !important; font-size: .77rem !important; letter-spacing: .05em; }
.study-scripture-text { margin: 0 !important; padding: 7px 14px; border-left: 3px solid #c8d8de; color: #25485e; background: #f7faf9; }
.study-scripture-text + .study-scripture-text { padding-top: 4px; }
.study-question { position: relative; margin: 12px 0 !important; padding: 15px 18px 15px 46px; border: 1px solid #dde5e7; border-radius: 10px; color: var(--blue-950); background: #fbfaf6; font-weight: 700; }
.study-question::before { content: '?'; position: absolute; left: 16px; top: 14px; width: 21px; height: 21px; display: grid; place-items: center; border-radius: 50%; color: var(--white); background: var(--gold-dark); font: 800 .72rem/1 Inter, sans-serif; }
.study-reference-button { display: inline; margin: 0 .08em; padding: .08em .22em; border: 0; border-bottom: 2px solid var(--gold); color: var(--blue-900); background: linear-gradient(180deg, transparent 58%, rgba(232,193,114,.28) 58%); font: inherit; font-weight: 850; line-height: inherit; cursor: pointer; }
.study-reference-button::after { content: ' ▤'; color: var(--gold-dark); font-size: .78em; }
.study-reference-button:hover { color: #071f31; background-color: rgba(224,241,250,.7); }
.study-reference-button:focus-visible { outline: 3px solid rgba(192,138,45,.36); outline-offset: 3px; border-radius: 4px; }
.study-passage-dialog { width: min(760px, calc(100% - 30px)); max-height: min(88vh, 850px); margin: auto; padding: 0; overflow: hidden; border: 1px solid rgba(232,193,114,.7); border-radius: 19px; color: var(--ink); background: #fbfaf5; box-shadow: 0 28px 90px rgba(2,21,35,.42); }
.study-passage-dialog::backdrop { background: rgba(4,24,37,.72); backdrop-filter: blur(3px); }
.study-passage-dialog__card { display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; max-height: min(88vh, 850px); }
.study-passage-dialog header { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; padding: 23px 25px 19px; color: #f3f8fb; background: var(--blue-950); }
.study-passage-dialog header p { margin: 0 0 4px; color: #e8c172; font-size: .68rem; font-weight: 900; text-transform: uppercase; letter-spacing: .14em; }
.study-passage-dialog h2 { margin: 0; color: #f3f8fb; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.55rem, 4vw, 2.15rem); line-height: 1.15; }
.study-passage-close { flex: 0 0 auto; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; color: #fff; background: rgba(255,255,255,.08); font: 300 1.7rem/1 Arial, sans-serif; cursor: pointer; }
.study-passage-close:hover { background: rgba(255,255,255,.18); }
.study-passage-close:focus-visible { outline: 3px solid #e8c172; outline-offset: 3px; }
.study-passage-guidance { display: grid; grid-template-columns: 20px 1fr; gap: 9px; margin: 0; padding: 13px 24px; border-bottom: 1px solid #dfd3b6; color: #604f2b; background: #fff5d9; font: 750 .8rem/1.5 Inter, ui-sans-serif, system-ui, sans-serif; }
.study-passage-guidance span { color: var(--gold-dark); }
.study-passage-scroll { overflow-y: auto; padding: 20px 24px 25px; overscroll-behavior: contain; }
.study-passage-verse { display: grid; grid-template-columns: 30px 1fr; gap: 10px; margin: 0; padding: 8px 12px; border-left: 4px solid transparent; color: #29495b; font: 1rem/1.7 Georgia, 'Times New Roman', serif; transition: background .15s ease; }
.study-passage-verse strong { color: #718895; font: 850 .73rem/1.8 Inter, ui-sans-serif, system-ui, sans-serif; }
.study-passage-verse.is-supporting { margin: 5px 0; border-left-color: var(--gold); border-radius: 0 9px 9px 0; color: #102b3f; background: #fff0b8; box-shadow: inset 0 0 0 1px rgba(192,138,45,.18); }
.study-passage-verse.is-supporting strong { color: #8d6119; }
.study-passage-source { margin: 0; padding: 11px 24px 14px; border-top: 1px solid #dbe3e5; color: #687d89; background: #f2f6f6; font: .72rem/1.5 Inter, ui-sans-serif, system-ui, sans-serif; }
.study-callout, .study-response-card { margin: 24px 0; padding: 20px 23px; border-left: 4px solid var(--gold); border-radius: 0 12px 12px 0; color: #3f5360; background: var(--gold-soft); }
.study-callout p, .study-response-card p { margin: 0; }
.study-response-card { border: 1px solid #d9c79e; border-left-width: 4px; background: #fffaf0; }
.study-response-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 26px 0; }
.study-response-grid section { min-width: 0; padding: 17px; border: 1px solid #dbe3e5; border-radius: 10px; background: #f8faf9; }
.study-response-grid p { margin: 0; font-size: .92rem; }
.writing-space { min-height: 58px; display: block; margin-top: 8px; border-bottom: 1px solid #9eb2bb; }
.study-note-entry { margin: 10px 0 24px; padding: 14px; border: 1px solid #d4dfe2; border-radius: 11px; background: #f8faf9; font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.study-question + .study-note-entry { margin-top: -3px; }
.study-response-grid .study-note-entry, .study-response-card .study-note-entry { margin: 14px 0 0; padding: 0; border: 0; background: transparent; }
.study-note-label { display: grid; gap: 7px; }
.study-note-label > span { color: #355464; font-size: .75rem; font-weight: 800; letter-spacing: .01em; }
.study-note-label textarea { width: 100%; min-height: 96px; max-height: 170px; overflow-y: auto; resize: vertical; padding: 11px 12px; border: 1px solid #b9cdd6; border-radius: 9px; color: var(--ink); background: var(--white); font: .9rem/1.5 Inter, ui-sans-serif, system-ui, sans-serif; }
.study-note-label textarea:focus { outline: 3px solid rgba(196,145,48,.28); border-color: var(--gold-dark); }
.study-note-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 12px; margin-top: 8px; }
.study-note-status { min-width: 180px; flex: 1; }
.study-table-wrap { max-width: 100%; overflow-x: auto; margin: 26px 0; border: 1px solid #cfdadd; border-radius: 11px; }
.study-table-wrap table { width: 100%; border-collapse: collapse; font: .9rem/1.5 Inter, ui-sans-serif, system-ui, sans-serif; }
.study-table-wrap th, .study-table-wrap td { padding: 13px 14px; border-right: 1px solid #d7e0e2; border-bottom: 1px solid #d7e0e2; text-align: left; vertical-align: top; }
.study-table-wrap th:last-child, .study-table-wrap td:last-child { border-right: 0; }
.study-table-wrap tr:last-child td { border-bottom: 0; }
.study-table-wrap th { color: var(--white); background: var(--blue-900); font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; }
.study-table-wrap tbody tr:nth-child(even) { background: #f7f9f8; }
.study-body-list { margin: 16px 0 24px; padding-left: 24px; }
.study-body-list li { margin: 8px 0; padding-left: 3px; }
.study-content a { color: var(--blue-800); font-weight: 700; text-underline-offset: 3px; }
.study-tool-figure { margin: 30px 0; padding: clamp(12px, 3vw, 22px); border: 1px solid #cfdbdf; border-radius: 14px; background: #fff; box-shadow: 0 10px 28px rgba(11,42,62,.08); }
.study-tool-figure img { width: 100%; height: auto; display: block; margin-inline: auto; object-fit: contain; }
.study-tool-figure figcaption { margin-top: 12px; color: var(--muted); font: 700 .75rem/1.5 Inter, ui-sans-serif, system-ui, sans-serif; text-align: center; }
.study-small-note { color: var(--muted); font: .78rem/1.55 Inter, ui-sans-serif, system-ui, sans-serif; }
.study-participant-overview { margin: 28px 0; padding: clamp(20px, 4vw, 28px); border: 1px solid #d4dfe2; border-radius: 14px; background: #f7faf8; }
.study-participant-overview h3 { margin-top: 0; }
.study-participant-overview > p { margin-bottom: 18px; color: #355464; font-size: 1.06rem; line-height: 1.75; }
.study-participant-overview .study-body-list { margin-bottom: 0; }
.study-tool-scriptures, .study-tool-passages, .study-tool-reflection { margin-top: 34px; }
.study-sequence { display: flex; justify-content: space-between; gap: 22px; margin-top: 50px; padding-top: 24px; border-top: 1px solid var(--line); }
.study-sequence a { color: var(--blue-900); font-weight: 800; text-decoration: none; }
.study-sequence a:last-child { margin-left: auto; text-align: right; }
.study-share-panel, .share-created { max-width: 850px; margin: 0 auto 26px; padding: clamp(22px, 4vw, 32px); border: 1px solid #cbdadd; border-radius: 18px; background: #f8faf8; box-shadow: 0 12px 32px rgba(11,42,62,.06); }
.study-share-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .72fr); gap: 24px 30px; align-items: end; }
.study-share-panel h2, .share-created h2 { margin: 6px 0 8px; color: var(--blue-950); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.55rem, 3vw, 2.15rem); }
.study-share-panel p, .share-created p { margin: 0; color: var(--muted); }
.share-create-form { display: grid; gap: 12px; }
.share-create-form label, .share-link-field { display: grid; gap: 7px; color: #355464; font-size: .76rem; font-weight: 800; }
.share-create-form select, .share-link-field input { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid #b9cbd2; border-radius: 9px; color: var(--blue-950); background: var(--white); font: 700 .9rem/1.2 Inter, ui-sans-serif, system-ui, sans-serif; }
.share-history { grid-column: 1 / -1; padding-top: 18px; border-top: 1px solid #d6e0e2; }
.share-history summary { width: fit-content; color: var(--blue-900); cursor: pointer; font-size: .84rem; font-weight: 800; }
.share-history ul { display: grid; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.share-history li { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 14px; border: 1px solid #dbe4e6; border-radius: 10px; background: var(--white); }
.share-history li > div { display: grid; gap: 2px; }
.share-history li strong { color: var(--blue-950); font-size: .83rem; }
.share-history li span { color: var(--muted); font-size: .74rem; }
.share-history .share-list-empty { display: block; color: var(--muted); font-size: .82rem; text-align: center; }
.share-revoke { color: #8a2f2f; }
.share-created { border-color: #d2b36d; background: #fff9ea; }
.share-created > p:not(.study-list__category) { max-width: 680px; }
.share-link-field { margin-top: 18px; }
.share-link-field input { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-weight: 600; }
.share-created-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 13px; }

.shared-study-body { min-width: 0; color: var(--ink); background: linear-gradient(180deg, #edf4f5 0, #f7f4ec 300px, #f2efe7 100%); }
.shared-study-header { border-bottom: 1px solid rgba(211,171,77,.5); background: var(--blue-950); }
.shared-study-nav { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.shared-study-nav .brand--logo { --logo-margin-top: -8px; --logo-width: 265px; }
.shared-study-nav .brand-logo--leader { width: 265px; margin: -8px 0 -18px; }
.shared-study-nav > span { padding: 7px 11px; border: 1px solid rgba(232,193,114,.52); border-radius: 999px; color: #f0cf89; font-size: .7rem; font-weight: 850; text-transform: uppercase; letter-spacing: .1em; white-space: nowrap; }
.shared-study-main { width: min(100% - 32px, 940px); margin-inline: auto; padding: clamp(28px, 6vw, 60px) 0 96px; }
.shared-study-welcome { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; max-width: 850px; margin: 0 auto 24px; padding: 0 8px; }
.shared-study-welcome > div { max-width: 650px; }
.shared-study-print-actions { display: flex; flex: 0 0 auto; gap: 9px; }
.shared-study-welcome h1 { margin: 5px 0 8px; color: var(--blue-950); font-size: clamp(2rem, 5vw, 3.15rem); }
.shared-study-welcome p:last-child { margin: 0; color: var(--muted); }
.study-document--shared { width: 100%; }
.study-document--shared .study-content { font-size: 1.08rem; line-height: 1.78; }
.shared-study-footer { margin-top: 54px; padding: 24px 0 0; border-top: 2px solid var(--gold); color: var(--blue-900); }
.shared-study-footer strong { font-family: Georgia, 'Times New Roman', serif; font-size: 1.45rem; }
.shared-study-footer p { margin: 5px 0 0; color: var(--muted); }
.study-feedback { margin: 58px 0 10px; padding: clamp(22px, 4vw, 36px); border: 1px solid #b9ceca; border-radius: 20px; background: linear-gradient(145deg, #f5faf8, #fffdf8); box-shadow: 0 14px 38px rgba(13,43,62,.08); }
.study-feedback h2 { margin: 5px 0 10px; color: var(--blue-950); font-size: clamp(1.7rem, 4vw, 2.35rem); }
.study-feedback > p:not(.section-kicker) { color: var(--muted); }
.study-feedback-lessons { display: grid; gap: 14px; margin-top: 24px; }
.study-feedback-lesson { padding: 15px; border: 1px solid #d5e2e3; border-radius: 13px; background: #fff; }
.study-feedback-lesson label,.study-feedback-field { display: grid; gap: 8px; color: var(--blue-900); font-weight: 800; }
.study-feedback-lesson textarea,.study-feedback-field textarea { width: 100%; resize: vertical; padding: 12px 13px; border: 1px solid #9eb5bf; border-radius: 9px; color: var(--ink); background: #fff; font: 500 1rem/1.55 Inter, ui-sans-serif, system-ui, sans-serif; }
.study-feedback-lesson textarea:focus,.study-feedback-field textarea:focus { border-color: var(--blue-600); outline: 3px solid rgba(68,157,209,.18); }
.study-feedback-lesson > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 9px; }
.study-feedback-add { margin: 14px 0 24px; }
.study-feedback-field { margin: 16px 0; }
.study-feedback .journey-consent { margin: 22px 0 16px; }
.study-feedback--closed ul { display: grid; gap: 9px; padding-left: 24px; }
.shared-study-message { max-width: 720px; margin: clamp(28px, 9vw, 100px) auto; padding: clamp(30px, 7vw, 64px); border: 1px solid var(--line); border-radius: 22px; background: var(--paper); box-shadow: var(--shadow); text-align: center; }
.shared-study-message h1 { margin: 8px 0 16px; color: var(--blue-950); font-size: clamp(2.3rem, 7vw, 4rem); }
.shared-study-message p:not(.section-kicker) { margin: 0 auto 24px; color: var(--muted); }

@media (max-width: 960px) {
  .hero { padding-top: 70px; }
  .hero-grid { grid-template-columns: 1fr 340px; gap: 38px; }
  .step-grid { grid-template-columns: repeat(2, 1fr); }
  .step-card--featured { transform: none; }
  .track-intro { grid-template-columns: 120px 1fr; }
  .track-intro > p:last-child { grid-column: 2; }
  .session-grid { grid-template-columns: repeat(2, 1fr); }
  .session-grid li, .session-grid li:nth-child(3n+2), .session-grid li:nth-child(3n+3) { padding: 30px 24px 30px 0; border: 0; border-bottom: 1px solid var(--line); }
  .session-grid li:nth-child(even) { padding-left: 24px; border-left: 1px solid var(--line); }
  .session-grid li:nth-child(n+5) { border-bottom: 0; }
  .journey-timeline { grid-template-columns: repeat(2, 1fr); }
  .journey-timeline li:not(:nth-child(3n)) { border-right: 0; }
  .journey-timeline li:not(:nth-child(3n + 1)) { padding-left: 0; }
  .journey-timeline li:nth-child(odd) { padding-right: 30px; border-right: 1px solid rgba(255,255,255,.18); }
  .journey-timeline li:nth-child(even) { padding-left: 30px; }
  .footer-grid { grid-template-columns: 1.3fr .7fr .8fr; gap: 38px; }
}

@media (max-width: 900px) {
  body:not(.policy-page) .nav-wrap { grid-template-columns: minmax(0, 1fr) auto; min-height: 76px; }
  body:not(.policy-page) .site-header .brand { --logo-left: 10px; --logo-margin-top: -14px; --logo-width: clamp(235px, 66vw, 300px); grid-column: 1; justify-self: start; margin: 8px 0; padding-inline: 10px; text-align: left; }
  body:not(.policy-page) .brand-logo--header { width: clamp(235px, 66vw, 300px); margin: -14px 0 -20px; }
  body:not(.policy-page) .site-header .brand-mark { width: 43px; height: 43px; }
  body:not(.policy-page) .site-header .brand-copy { text-align: left; }
  body:not(.policy-page) .site-header .brand-copy strong { font-size: clamp(1rem, 4vw, 1.3rem); }
  body:not(.policy-page) .site-header .brand-copy small { font-size: .58rem; letter-spacing: .12em; }
  body:not(.policy-page) .menu-button { width: 48px; height: 43px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(18,58,90,.25); border-radius: 12px; color: var(--ink); background: transparent; cursor: pointer; }
  body:not(.policy-page) .menu-button__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  body:not(.policy-page) .menu-icon { display: grid; gap: 4px; }
  body:not(.policy-page) .menu-icon span { width: 19px; height: 2px; display: block; border-radius: 2px; background: var(--blue-900); transition: transform .2s ease, opacity .2s ease; }
  body:not(.policy-page) .menu-button[aria-expanded="true"] .menu-icon span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  body:not(.policy-page) .menu-button[aria-expanded="true"] .menu-icon span:nth-child(2) { opacity: 0; }
  body:not(.policy-page) .menu-button[aria-expanded="true"] .menu-icon span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  body:not(.policy-page) .primary-nav { position: absolute; inset: calc(100% + 1px) 0 auto; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 12px 16px 20px; border-bottom: 1px solid var(--line); background: var(--paper); box-shadow: 0 16px 28px rgba(11,42,62,.12); }
  body:not(.policy-page) .primary-nav.is-open { display: flex; }
  body:not(.policy-page) .primary-nav a { padding: 12px 10px; font-size: .86rem; white-space: normal; }
  body:not(.policy-page) .primary-nav .mentor-login { margin-top: 7px; border-top: 1px solid var(--line); }
  body:not(.policy-page) .primary-nav .nav-cta { margin-top: 7px; text-align: center; }
}

@media (max-width: 760px) {
  :root { --shell: min(100% - 32px, 680px); }
  .pilot-notice__inner { align-items: flex-start; padding: 5px 0; text-align: left; }
  .status-dot { margin-top: 10px; }
  .nav-wrap { min-height: 70px; }
  .request-choice { grid-template-columns: 1fr; }
  .request-choice label, .request-choice label:last-of-type { grid-column: auto; min-height: 0; }
  .leader-nav { min-height: 72px; align-items: flex-start; padding-block: 13px; }
  .leader-header .brand--logo { --logo-margin-top: -10px; --logo-width: 220px; }
  .brand-logo--leader { width: 220px; margin: -10px 0 -16px; }
  .leader-nav .brand-copy strong { font-size: .92rem; }
  .leader-nav .brand-copy small, .leader-account > span { display: none; }
  .admin-grid, .credential-grid { grid-template-columns: 1fr; }
  .study-list { grid-template-columns: 1fr; }
  .library-resource-grid { grid-template-columns: 1fr; }
  .study-web-toc ol { columns: 1; }
  .study-response-grid { grid-template-columns: 1fr; }
  .study-toolbar { align-items: flex-start; flex-direction: column; }
  .study-toolbar div { width: 100%; }
  .study-toolbar .button { flex: 1; }
  .study-document { padding: 30px 22px; }
  .study-share-panel { grid-template-columns: 1fr; align-items: stretch; }
  .share-history { grid-column: auto; }
  .shared-study-main { width: min(100% - 24px, 760px); }
  .shared-study-welcome { align-items: flex-start; flex-direction: column; }
  .shared-study-welcome .button { min-height: 44px; }
  .menu-button { width: 48px; height: 43px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(18,58,90,.25); border-radius: 12px; color: var(--ink); background: transparent; cursor: pointer; }
  .menu-button__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .menu-icon { display: grid; gap: 4px; }
  .menu-icon span { width: 19px; height: 2px; display: block; border-radius: 2px; background: var(--blue-900); transition: transform .2s ease, opacity .2s ease; }
  .menu-button[aria-expanded="true"] .menu-icon span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .menu-button[aria-expanded="true"] .menu-icon span:nth-child(2) { opacity: 0; }
  .menu-button[aria-expanded="true"] .menu-icon span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .primary-nav { position: absolute; inset: calc(100% + 1px) 0 auto; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 12px 16px 20px; border-bottom: 1px solid var(--line); background: var(--paper); box-shadow: 0 16px 28px rgba(11,42,62,.12); }
  .primary-nav.is-open { display: flex; }
  .primary-nav a { padding: 12px 10px; }
  .primary-nav .nav-cta { margin-top: 7px; text-align: center; }
  .hero { padding: 57px 0 72px; }
  .hero-grid, .welcome-grid { grid-template-columns: 1fr; }
  h1 { font-size: clamp(2.65rem, 12.5vw, 4.5rem); }
  .hero-intro { font-size: 1rem; }
  .journey-card { max-width: 520px; }
  .section { padding: 72px 0; }
  .welcome-grid { gap: 38px; }
  .community-portrait { aspect-ratio: 5 / 3; border-radius: 22px; }
  .section-heading { display: block; }
  .explore-heading { grid-template-columns: 1fr; gap: 20px; }
  .lesson-dialog__footer { align-items: flex-start; flex-direction: column; }
  .lesson-flow { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid-span { grid-column: auto; }
  .form-grid > label > span { min-height: 0; }
  .section-heading > p { margin-top: 18px; }
  .group-grid, .faq-grid, .connect-panel { grid-template-columns: 1fr; }
  .faq-intro { position: static; }
  .commitment-grid { grid-template-columns: repeat(2, 1fr); }
  .church-band__inner { grid-template-columns: 80px 1fr; gap: 25px; }
  .church-band__marker { width: 76px; height: 76px; font-size: 1.8rem; }
  .footer-grid { grid-template-columns: 1.2fr 1fr; }
  .footer-about { grid-column: 1 / -1; }
  .footer-disclaimer { display: block; }
  .footer-disclaimer p + p { margin-top: 17px; }
  .policy-layout { grid-template-columns: 1fr; gap: 38px; }
  .policy-toc { position: static; padding: 20px; border: 1px solid var(--line); border-radius: 14px; }
  .policy-toc a { display: inline-block; margin-right: 15px; }
}

/* Compact study print: two physical A4 pages, with two columns on every page. */
.compact-print-layout { display: none; }

@media print {
  @page compact-study {
    size: A4 portrait;
    margin: 5mm;
  }

  body.print-compact { page: compact-study; background: #fff !important; }
  body.print-compact > :not(.compact-print-layout) { display: none !important; }
  body.print-compact .compact-print-layout {
    width: 100%;
    display: block !important;
    margin: 0;
    padding: 0;
    color: #101820;
    background: #fff;
  }
  body.print-compact .compact-print-page {
    box-sizing: border-box;
    width: 100%;
    height: 287mm;
    margin: 0;
    padding: 0;
    overflow: hidden;
    break-after: page;
    page-break-after: always;
  }
  body.print-compact .compact-print-page:last-child {
    break-after: auto;
    page-break-after: auto;
  }
  body.print-compact .compact-print-heading {
    height: 27mm;
    box-sizing: border-box;
    margin: 0 0 3mm;
    padding: 2mm 0 2.5mm;
    border-bottom: .45mm solid #b78327;
  }
  body.print-compact .compact-print-heading p {
    margin: 0 0 1mm;
    color: #805d1f;
    font: 700 8.5pt/1.1 Arial, Helvetica, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  body.print-compact .compact-print-heading h1,
  body.print-compact .compact-print-heading h2 {
    margin: 0;
    color: #123a5a;
    font: 700 18pt/1.04 Georgia, "Times New Roman", serif;
  }
  body.print-compact .compact-print-heading div {
    margin-top: 1.1mm;
    color: #42545e;
    font: 9pt/1.18 Arial, Helvetica, sans-serif;
  }
  body.print-compact .compact-print-heading--continued {
    height: 18mm;
    margin-bottom: 3mm;
  }
  body.print-compact .compact-print-heading--continued h2 { font-size: 14pt; }
  body.print-compact .compact-print-columns {
    height: 254mm;
    overflow: hidden;
    column-count: 2;
    column-gap: 7mm;
    column-rule: .2mm solid #cbd5da;
    column-fill: balance;
    orphans: 2;
    widows: 2;
    color: #111820;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10.5pt;
    line-height: 1.18;
    hyphens: auto;
  }
  body.print-compact .compact-print-page--second .compact-print-columns { height: 263mm; }
  body.print-compact .compact-print-columns h2,
  body.print-compact .compact-print-columns h3,
  body.print-compact .compact-print-columns h4 {
    break-after: avoid;
    page-break-after: avoid;
    color: #123a5a;
    font-family: Georgia, "Times New Roman", serif;
    line-height: 1.08;
  }
  body.print-compact .compact-print-columns h2 { margin: 2.3mm 0 1.1mm; font-size: 13.5pt; }
  body.print-compact .compact-print-columns h3 { margin: 2mm 0 .9mm; font-size: 11.5pt; }
  body.print-compact .compact-print-columns h4 { margin: 1.7mm 0 .8mm; font-size: 10.5pt; }
  body.print-compact .compact-print-columns p { margin: 0 0 1.25mm; }
  body.print-compact .compact-print-columns ul,
  body.print-compact .compact-print-columns ol { margin: 0 0 1.4mm; padding-left: 5mm; }
  body.print-compact .compact-print-columns li { margin: 0 0 .7mm; padding-left: .5mm; }
  body.print-compact .compact-print-columns blockquote,
  body.print-compact .compact-print-columns aside,
  body.print-compact .compact-print-columns .study-callout,
  body.print-compact .compact-print-columns .study-response-card,
  body.print-compact .compact-print-columns .study-response-grid > *,
  body.print-compact .compact-print-columns .study-grid > * {
    break-inside: avoid;
    margin: 1.2mm 0;
    padding: 1.8mm 2mm;
    border: .2mm solid #bdcbd1;
    border-radius: 1.5mm;
    background: #f7f9f8 !important;
    box-shadow: none !important;
  }
  body.print-compact .compact-print-columns .study-response-grid,
  body.print-compact .compact-print-columns .study-grid { display: block; margin: 0; }
  body.print-compact .compact-print-columns .study-scripture-text { margin: 1mm 0; padding: 1.5mm 1.8mm; }
  body.print-compact .compact-print-columns table { width: 100%; margin: 1mm 0; border-collapse: collapse; font-size: 9pt; }
  body.print-compact .compact-print-columns th,
  body.print-compact .compact-print-columns td { padding: 1mm 1.2mm; border: .2mm solid #aebdc4; }
  body.print-compact .compact-print-columns figure { break-inside: avoid; margin: 1.2mm 0; }
  body.print-compact .compact-print-columns img { display: block; max-height: 48mm; width: auto; margin: 0 auto; object-fit: contain; }
}

@media print {
  @page compact { size: A4 portrait; margin: 4.5mm; }
  .leader-header, .shared-study-header, .study-toolbar, .shared-study-welcome, .study-share-panel, .share-created, .leader-help, .journey-guide-launcher, .journey-guide-panel, .study-passage-dialog { display: none !important; }
  .leader-body, .leader-main, .shared-study-body, .shared-study-main { background: #fff; }
  .leader-main, .shared-study-main { width: 100%; padding: 0; }
  .study-document { max-width: none; padding: 0; border: 0; box-shadow: none; }
  .study-web-toc, .study-sequence { display: none; }
  .study-content h2, .study-content h3, .study-callout, .study-response-card, .study-response-grid section, .study-table-wrap { break-inside: avoid; }
  .study-scripture-text, .study-callout, .study-response-card, .study-response-grid section, .study-table-wrap th { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  body.print-compact .study-document { page: compact; color: #111; font-family: Arial,Helvetica,sans-serif; font-size: 9pt; line-height: 1.14; }
  body.print-compact .study-document > .section-kicker { margin: 0 0 1.5mm !important; color: #555; font-size: 6.5pt; letter-spacing: .08em; }
  body.print-compact .study-document > h1 { margin: 0 0 1.2mm; color: #071f31; font-family: Georgia,'Times New Roman',serif; font-size: 17pt; line-height: 1.02; }
  body.print-compact .study-summary { margin: 0 0 2mm; padding-bottom: 1.4mm; border-bottom: .35mm solid #bd8a30; color: #394d58; font-size: 8.3pt; line-height: 1.12; }
  body.print-compact .study-content { column-count: 2; column-gap: 3.6mm; column-rule: .18mm solid #d6dde0; column-fill: auto; font-family: Arial,Helvetica,sans-serif; font-size: 8.7pt; line-height: 1.12; hyphens: auto; }
  body.print-compact-tight .study-content { font-size: 8.15pt; line-height: 1.08; column-gap: 3.2mm; }
  body.print-compact-ultra .study-content { font-size: 7.65pt; line-height: 1.05; column-gap: 2.8mm; }
  body.print-compact .study-content h2 { margin: 1.8mm 0 .7mm; color: #092b43; font-family: Georgia,'Times New Roman',serif; font-size: 11.5pt; line-height: 1.04; break-after: avoid; }
  body.print-compact .study-content h3 { margin: 1.5mm 0 .55mm; color: #123e59; font-family: Georgia,'Times New Roman',serif; font-size: 9.6pt; line-height: 1.04; break-after: avoid; }
  body.print-compact .study-content h4 { margin: 1.2mm 0 .45mm; font-size: 8.6pt; line-height: 1.04; break-after: avoid; }
  body.print-compact .study-content p { margin: 0 0 .72mm; orphans: 2; widows: 2; }
  body.print-compact .study-content ul, body.print-compact .study-content ol { margin: .45mm 0 .85mm; padding-left: 4mm; }
  body.print-compact .study-content li { margin: 0 0 .32mm; break-inside: avoid; }
  body.print-compact .study-scripture-text { margin: 0 !important; padding: .38mm 1mm; border-left-width: .45mm; font-size: 8pt; line-height: 1.08; break-inside: auto; }
  body.print-compact .study-question { margin: .55mm 0 !important; padding: .8mm 1mm .8mm 4.4mm; border-radius: 1.2mm; font-size: 8.2pt; line-height: 1.08; break-inside: avoid; }
  body.print-compact .study-question::before { left: 1.4mm; top: 1.25mm; width: 3mm; height: 3mm; font-size: 5pt; }
  body.print-compact .study-reference-button { padding: 0; border: 0; color: inherit; background: transparent; font-size: inherit; }
  body.print-compact .study-reference-button::after { content: none; }
  body.print-compact .study-callout, body.print-compact .study-response-card, body.print-compact .study-scripture, body.print-compact .study-content blockquote { margin: .8mm 0; padding: 1mm 1.4mm; border-left-width: .5mm; background: #f7f5ef; break-inside: avoid; }
  body.print-compact .study-response-grid { grid-template-columns: 1fr; gap: .6mm; margin: .8mm 0; }
  body.print-compact .study-response-grid section { padding: .9mm; border-radius: .8mm; break-inside: avoid; }
  body.print-compact .study-table-wrap { margin: .8mm 0; overflow: visible; break-inside: auto; }
  body.print-compact table { width: 100%; table-layout: fixed; font-size: 7.2pt; line-height: 1.06; word-break: break-word; }
  body.print-compact th, body.print-compact td { padding: .5mm; }
  body.print-compact img { max-width: 100%; max-height: 34mm; object-fit: contain; break-inside: avoid; }
  body.print-compact .study-note-entry, body.print-compact .writing-space, body.print-compact .study-note-privacy, body.print-compact .study-feedback, body.print-compact .shared-study-footer, body.print-compact .study-web-toc, body.print-compact .study-sequence { display: none !important; }
}

@media (max-width: 520px) {
  .community-portrait { aspect-ratio: 4 / 3; border-radius: 18px; }
  .community-portrait::after { background: linear-gradient(90deg, var(--blue-950) 0%, transparent 8%, transparent 92%, var(--blue-950) 100%), linear-gradient(180deg, var(--blue-950) 0%, transparent 12%, transparent 86%, var(--blue-950) 100%); }
  .community-portrait figcaption { right: 16px; bottom: 13px; }
  .journey-guide-launcher { right: 12px; bottom: 12px; width: 56px; min-height: 56px; justify-content: center; padding: 7px; }
  .journey-guide-launcher img { width: 40px; height: 40px; }
  .journey-guide-launcher span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .journey-guide-panel { right: 8px; bottom: 76px; width: calc(100vw - 16px); height: min(620px, calc(100vh - 90px)); border-radius: 16px; }
  .policy-page .site-header .brand--logo { --logo-margin-top: -12px; --logo-width: 240px; }
  .policy-page .brand-logo--header { width: 240px; margin: -12px 0 -17px; }
  .brand--footer-logo { --logo-margin-top: -13px; --logo-width: 240px; }
  .brand-logo--footer { width: 240px; margin: -13px 0 -19px; }
  .leader-header .brand--logo { --logo-margin-top: -9px; --logo-width: 190px; }
  .brand-logo--leader { width: 190px; margin: -9px 0 -14px; }
  .study-share-panel, .share-created { padding: 20px 17px; border-radius: 14px; }
  .share-create-form .button, .share-created-actions .button { width: 100%; min-height: 46px; }
  .share-history li { align-items: flex-start; flex-direction: column; }
  .share-revoke { min-height: 40px; padding: 6px 0; }
  .shared-study-header { position: relative; }
  .shared-study-nav { width: calc(100% - 24px); min-height: 70px; }
  .shared-study-nav .brand--logo { --logo-margin-top: -7px; --logo-width: 178px; }
  .shared-study-nav .brand-logo--leader { width: 178px; margin: -7px 0 -13px; }
  .shared-study-nav > span { padding: 6px 8px; font-size: .58rem; letter-spacing: .07em; }
  .shared-study-main { width: 100%; padding: 22px 0 max(82px, env(safe-area-inset-bottom)); }
  .shared-study-welcome { width: calc(100% - 32px); margin-bottom: 20px; padding: 0; }
  .shared-study-welcome h1 { font-size: 2.05rem; line-height: 1.08; }
  .shared-study-welcome .button { width: 100%; }
  .shared-study-print-actions { display: grid; width: 100%; }
  .study-feedback { margin: 42px 0 8px; padding: 20px 16px; border-radius: 14px; }
  .study-feedback .journey-submit,.study-feedback-add { width: 100%; }
  .study-document--shared { padding: 30px 18px 52px; border-right: 0; border-left: 0; border-radius: 0; box-shadow: none; }
  .study-document--shared > h1 { font-size: clamp(2.35rem, 12vw, 3.25rem); line-height: 1.04; overflow-wrap: anywhere; }
  .study-document--shared .study-summary { margin-bottom: 30px; font-size: 1rem; line-height: 1.65; }
  .study-document--shared .study-content { font-size: 1.04rem; line-height: 1.82; }
  .study-document--shared .study-content p { overflow-wrap: anywhere; }
  .study-document--shared .study-content h2 { margin-top: 36px; font-size: 1.72rem; }
  .study-document--shared .study-content h3 { font-size: 1.28rem; }
  .study-document--shared .study-question { padding: 15px 14px 15px 42px; }
  .study-document--shared .study-question::before { left: 13px; }
  .study-reference-button { min-height: 36px; padding: .12em .24em; }
  .study-passage-dialog { width: calc(100% - 18px); max-height: calc(100dvh - 18px); border-radius: 14px; }
  .study-passage-dialog__card { max-height: calc(100dvh - 18px); }
  .study-passage-dialog header { padding: 18px 17px 15px; }
  .study-passage-close { width: 44px; height: 44px; }
  .study-passage-guidance { padding: 12px 16px; }
  .study-passage-scroll { padding: 14px 12px 19px; }
  .study-passage-verse { grid-template-columns: 26px 1fr; gap: 7px; padding: 8px 9px; font-size: .98rem; line-height: 1.72; }
  .study-passage-source { padding: 10px 16px 12px; }
  .study-document--shared .study-callout, .study-document--shared .study-response-card { padding: 17px 16px; }
  .study-document--shared .study-scripture-text { padding: 8px 10px; }
  .study-tool-figure { margin-inline: -4px; padding: 9px; border-radius: 10px; }
  .study-participant-overview { padding: 19px 16px; }
  .study-document--shared .study-note-privacy { grid-template-columns: 30px 1fr; gap: 11px; padding: 15px 14px; }
  .study-document--shared .study-note-privacy > span { width: 28px; height: 28px; }
  .study-note-label textarea { min-height: 118px; max-height: 220px; font-size: 16px; }
  .voice-entry { min-height: 44px; }
  .study-table-wrap { margin-inline: -8px; border-radius: 8px; }
  .study-table-wrap table { min-width: 540px; }
  .shared-study-footer { margin-top: 42px; }
  .leader-admin-link { display: none; }
  .button-row { align-items: stretch; flex-direction: column; }
  .button { width: 100%; }
  .hero-note { line-height: 1.8; }
  .journey-card { padding: 32px 25px 25px; border-radius: 22px; }
  .journey-card__footer { margin: 26px -25px -25px; padding: 18px 25px; }
  .step-grid { grid-template-columns: 1fr; }
  .worldview-picker { display: grid; grid-template-columns: 1fr 1fr; }
  .worldview-picker button:last-child { grid-column: 1 / -1; }
  .track-panel { padding: 25px 20px; }
  .track-intro { grid-template-columns: 1fr; gap: 12px; }
  .track-intro > p:last-child { grid-column: auto; }
  .session-grid { grid-template-columns: 1fr; }
  .session-grid li, .session-grid li:nth-child(3n+2), .session-grid li:nth-child(3n+3), .session-grid li:nth-child(even) { min-height: 0; padding: 26px 0; border: 0; border-bottom: 1px solid var(--line); }
  .session-grid li:last-child { border-bottom: 0; }
  .convergence-note { grid-template-columns: 1fr; gap: 10px; padding: 24px; }
  .readiness-note { grid-template-columns: 1fr; }
  .lesson-dialog, .discussion-dialog, .prayer-dialog { width: calc(100% - 16px); max-height: calc(100vh - 16px); border-radius: 16px; }
  .lesson-dialog__header, .lesson-dialog__body, .lesson-dialog__footer { padding: 30px 22px; }
  .lesson-dialog__header { padding-right: 62px; }
  .lesson-readings { padding: 22px; }
  .lesson-reflection > ul li { padding: 17px 15px 17px 43px; }
  .lesson-reflection > ul li::before { left: 15px; }
  .answer-entry { grid-template-columns: 1fr; }
  .voice-status { min-height: 0; }
  .passage-panel { inset: 8px; padding: 28px 18px 20px; border-radius: 15px; }
  .passage-panel__text { padding: 18px 16px; font-size: .96rem; }
  .lesson-flow li { min-height: 0; padding: 22px 16px; }
  .discussion-dialog, .prayer-dialog { padding: 30px 22px; }
  .step-card { min-height: 270px; }
  .availability-dialog { width: calc(100% - 28px); padding: 34px 25px; }
  .journey-timeline { grid-template-columns: 1fr; border-top: 0; }
  .journey-timeline li, .journey-timeline li:nth-child(odd), .journey-timeline li:nth-child(even) { min-height: 0; padding: 28px 0; border-right: 0; border-top: 1px solid rgba(255,255,255,.18); }
  .journey-timeline h3 { margin-top: 26px; }
  .expectations-card { grid-template-columns: 1fr; }
  .expectations-column { min-height: 0; padding: 29px 25px; }
  .expectations-column--yes { border-right: 0; border-bottom: 1px solid var(--line); }
  .commitment-grid { grid-template-columns: 1fr; }
  .commitment-grid article { min-height: 220px; }
  .church-band__inner { display: block; }
  .church-band__marker { margin-bottom: 28px; }
  .footer-grid { grid-template-columns: 1fr; gap: 36px; }
  .footer-about { grid-column: auto; }
  .library-series { padding: 24px 18px; }
  .library-resource-card { padding: 24px 18px; }
  .library-language-picker { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); width: 100%; border-radius: 14px; }
  .library-language-picker button { width: 100%; padding-inline: 10px; }
  .library-chapter-group summary { align-items: flex-start; flex-wrap: wrap; }
  .library-chapter-group summary small { order: 3; width: 100%; margin-left: 0; }
  .library-chapter-list a { grid-template-columns: 1fr auto; }
  .library-chapter-list a > span:first-child { grid-column: 1 / -1; }
  .study-sequence { align-items: flex-start; flex-direction: column; }
  .study-sequence a:last-child { margin-left: 0; text-align: left; }
  .policy-main { padding-top: 55px; }
  .draft-badge { width: 100%; align-items: flex-start; border-radius: 14px; line-height: 1.4; }
  .draft-badge > span:first-child { margin-top: .42em; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Journey Survey */
.leader-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.journey-dashboard { display: grid; grid-template-columns: minmax(280px,.75fr) minmax(0,1.35fr); gap: 22px; margin: 28px 0 48px; }
.journey-person-list { display: grid; gap: 10px; }
.journey-person-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 8px 10px 8px 16px; border: 1px solid #d8e2e5; border-radius: 12px; color: var(--blue-900); background: #fff; }
.journey-person-row > a { min-width: 0; display: flex; flex: 1; align-items: center; justify-content: space-between; gap: 18px; padding: 7px 6px 7px 0; color: var(--blue-900); text-decoration: none; }
.journey-person-row span:first-child { display: grid; gap: 4px; }
.journey-person-row small { color: var(--muted); text-transform: capitalize; }
.journey-reflection-badge { display: inline-flex; width: fit-content; margin-left: 8px; padding: 3px 8px; border-radius: 999px; background: #fff0c8; color: #734b00; font-family: var(--font-sans); font-size: .72rem; font-style: normal; font-weight: 900; letter-spacing: .02em; vertical-align: middle; }
.journey-person-actions { display: flex; align-items: center; gap: 4px; }
.journey-person-edit { position: relative; }
.journey-person-edit > summary { cursor: pointer; list-style: none; padding: 8px; color: var(--blue-700); font-weight: 800; white-space: nowrap; }
.journey-person-edit > summary::-webkit-details-marker { display: none; }
.journey-person-edit[open] > summary { color: var(--gold-700); }
.journey-person-edit form { position: absolute; z-index: 8; right: 0; top: calc(100% + 8px); width: min(320px, calc(100vw - 48px)); padding: 16px; border: 1px solid #c7d8de; border-radius: 14px; background: #fff; box-shadow: 0 18px 45px rgba(10,43,67,.18); }
.journey-person-edit label { display: grid; gap: 7px; color: var(--blue-900); font-size: .85rem; font-weight: 800; }
.journey-person-edit input { width: 100%; padding: 11px 12px; border: 1px solid #9eb5bf; border-radius: 8px; font: inherit; color: var(--blue-900); background: #fff; }
.journey-person-edit form > div { display: flex; justify-content: flex-end; margin-top: 12px; }
.journey-person-edit .button { min-height: 38px; padding: 8px 14px; }
.journey-delete { padding: 8px; color: #8a2f2f; white-space: nowrap; }
.journey-result,.journey-notes,.journey-answers,.journey-guide,.journey-survey,.journey-thanks { max-width: 900px; margin: 26px auto; padding: clamp(24px,4vw,46px); border: 1px solid #d8e2e5; border-radius: 22px; background: #fff; box-shadow: 0 18px 55px rgba(13,43,62,.08); }
.journey-guide section { padding: 22px 0; border-top: 1px solid #e1e8ea; }
.journey-guide li,.journey-result li { margin-bottom: 8px; line-height: 1.65; }
.journey-set2-action { max-width: 900px; margin: 20px auto; padding: 22px; border-radius: 16px; background: #edf5f3; }
.journey-set2-action label { display: grid; gap: 7px; margin-bottom: 14px; }
.journey-notes form { display: grid; gap: 12px; }
.journey-notes textarea { min-height: 130px; resize: vertical; }
.journey-notes ul { display: grid; gap: 10px; padding: 0; list-style: none; }
.journey-notes li { padding: 14px 16px; border-radius: 12px; background: #f3f6f7; }
.journey-notes li p { white-space: pre-wrap; }
.journey-survey { margin-block: 34px 60px; }
.journey-welcome { margin: 24px 0 34px; padding: 22px; border-left: 4px solid #3c7d72; border-radius: 0 14px 14px 0; background: #edf5f3; }
.journey-question { margin: 0; padding: 25px 0; border: 0; border-top: 1px solid #dce5e7; }
.journey-question legend { display: grid; grid-template-columns: 34px 1fr; gap: 10px; width: 100%; color: var(--blue-900); font-weight: 800; line-height: 1.5; }
.journey-question legend span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: #fff; background: #3c7d72; }
.journey-scale { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; margin-top: 18px; }
.journey-scale label { cursor: pointer; }
.journey-scale input { position: absolute; opacity: 0; }
.journey-scale span { display: grid; place-items: center; min-height: 58px; padding: 9px; border: 1px solid #cbd8db; border-radius: 10px; text-align: center; font-size: .84rem; line-height: 1.3; background: #fff; }
.journey-scale input:checked + span { border-color: #2f6f65; color: #163e38; background: #dcefe9; box-shadow: 0 0 0 2px #2f6f65; }
.journey-scale input:focus-visible + span { outline: 3px solid #d1a648; outline-offset: 2px; }
.journey-open { display: grid; gap: 8px; margin: 24px 0; font-weight: 800; }
.journey-open textarea { min-height: 110px; resize: vertical; }
.journey-consent { display: flex; align-items: flex-start; gap: 12px; margin: 30px 0 20px; padding: 18px; border-radius: 12px; background: #fff7e8; }
.journey-consent input { width: 22px; height: 22px; flex: 0 0 auto; }
.journey-submit { min-height: 54px; }
.journey-submit:disabled { cursor: wait; opacity: .72; }
.journey-submit-status { min-height: 1.5em; margin: 12px 0 0; color: var(--blue-900); font-weight: 750; }
.journey-form-error { min-height: 1.5em; margin: 0 0 14px; color: #8a2f2f; font-weight: 800; }
.journey-error-text { color: #8a2f2f !important; }
.journey-invalid { margin-inline: -12px; padding-inline: 12px; border-radius: 12px; background: #fff1ed; box-shadow: 0 0 0 2px #b94a3a; }
.journey-storage-choice { margin: 30px 0 20px; padding: 22px; border: 1px solid #b9ceca; border-radius: 16px; background: #edf5f3; }
.journey-storage-choice legend { padding: 0 8px; color: var(--blue-900); font-weight: 850; }
.journey-storage-choice > label { display: flex; align-items: flex-start; gap: 12px; margin: 12px 0; padding: 14px; border: 1px solid #cbd8db; border-radius: 12px; cursor: pointer; background: #fff; }
.journey-storage-choice input { width: 22px; height: 22px; flex: 0 0 auto; }
.journey-storage-choice label span { display: grid; gap: 3px; }
.journey-storage-choice small { color: var(--muted); font-weight: 500; line-height: 1.45; }
.journey-storage-choice > p { margin: 16px 0 0; color: #36586a; font-size: .92rem; line-height: 1.6; }
.journey-local-record { max-width: 980px; margin: 24px auto 56px; }
.journey-import,.journey-storage-panel { margin: 22px auto; padding: clamp(22px,3vw,32px); border: 1px solid #b9ceca; border-radius: 18px; background: #edf5f3; box-shadow: 0 12px 36px rgba(13,43,62,.07); }
.journey-import { border-color: #d1a648; background: #fff8e9; }
.journey-import h2,.journey-storage-panel h2 { margin-top: 3px; }
.journey-import [role="status"],.journey-storage-panel [role="status"],[data-note-status],[data-plan-status] { min-height: 1.4em; margin: 12px 0 0; font-weight: 750; }
.journey-local-record > .journey-result,.journey-local-record > .journey-notes,.journey-local-record > .journey-answers,.journey-local-record [data-journey-record-content] > * { max-width: none; }
.journey-answer-list { display: grid; gap: 10px; padding: 0; list-style: none; }
.journey-answer-list li { padding: 14px 16px; border-radius: 12px; background: #f3f6f7; }
.journey-answer-list p { margin: 0 0 6px; }
.journey-studies { max-width: 980px; margin: 28px auto; padding: clamp(22px, 4vw, 34px); border: 1px solid #c8d8dc; border-radius: 20px; background: #f8fbfa; box-shadow: 0 12px 34px rgba(13,43,62,.06); }
.journey-studies > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; margin-bottom: 20px; }
.journey-studies > header h2 { margin: 3px 0 5px; color: var(--blue-950); }
.journey-studies > header p:last-child { margin: 0; color: var(--muted); }
.assignment-list { display: grid; gap: 14px; }
.assignment-card { padding: 18px; border: 1px solid #d5e1e4; border-radius: 14px; background: #fff; }
.assignment-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.assignment-card h3 { margin: 3px 0 0; color: var(--blue-950); font-size: 1.18rem; }
.assignment-card > p { margin: 10px 0; color: var(--muted); font-size: .9rem; }
.assignment-status { flex: 0 0 auto; padding: 6px 9px; border-radius: 999px; color: var(--blue-900); background: #e9f3f5; font-size: .72rem; text-align: center; }
.assignment-feedback { margin: 14px 0; padding: 0 15px 14px; border: 1px solid #dbe5e6; border-radius: 11px; background: #fbf9f3; }
.assignment-feedback summary { padding: 13px 0; color: var(--blue-900); font-weight: 850; cursor: pointer; }
.assignment-feedback h4 { margin: 8px 0; }
.assignment-feedback li { margin-bottom: 6px; }
.assignment-readiness { display: grid; gap: 3px; margin: 14px 0 !important; padding: 13px 15px; border-radius: 10px; color: #6b4d12 !important; background: #fff0c9; }
.assignment-readiness--approved { color: #245c3b !important; background: #e5f3e9; }
.assignment-readiness span { font-size: .84rem; }
.assignment-recommend { margin: 14px 0; border: 1px solid #d6e1e3; border-radius: 11px; background: #f8faf9; }
.assignment-recommend > summary { padding: 13px 15px; color: var(--blue-900); font-weight: 850; cursor: pointer; }
.assignment-recommend form { display: grid; gap: 12px; padding: 0 15px 15px; }
.assignment-recommend label { display: grid; gap: 6px; color: #355464; font-size: .78rem; font-weight: 800; }
.assignment-recommend textarea { width: 100%; padding: 10px 11px; border: 1px solid #b9cdd6; border-radius: 9px; resize: vertical; font: inherit; }
.assignment-card > footer { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-top: 14px; }
.assignment-card > footer form { margin: 0; }
.assignment-card > footer .button { min-height: 40px; padding: 8px 13px; }
.journey-transfer { max-width: 980px; margin: 28px auto 56px; padding: clamp(22px, 4vw, 34px); border: 1px solid #d9c99f; border-radius: 20px; background: #fffaf0; box-shadow: 0 12px 34px rgba(13,43,62,.06); }
.journey-transfer h2 { margin: 3px 0 10px; color: var(--blue-950); }
.journey-transfer-incoming { display: grid; gap: 3px; margin: 16px 0; padding: 14px 16px; border-left: 4px solid #3c7d72; border-radius: 0 10px 10px 0; background: #edf5f3; }
.journey-transfer-incoming span,.journey-transfer-history span { color: var(--muted); font-size: .88rem; }
.journey-transfer-warning { margin: 18px 0; padding: 15px 17px; border-radius: 12px; color: #68470c; background: #fff0c8; }
.journey-transfer-history,.journey-transfer-action { margin-top: 16px; border: 1px solid #dbcda9; border-radius: 13px; background: #fff; }
.journey-transfer-history > summary,.journey-transfer-action > summary { padding: 16px 18px; color: var(--blue-900); font-weight: 850; cursor: pointer; }
.journey-transfer-history ol { display: grid; gap: 10px; margin: 0; padding: 0 18px 18px; list-style: none; }
.journey-transfer-history li { display: grid; gap: 3px; padding-top: 10px; border-top: 1px solid #e8e0ca; }
.journey-transfer-action form,.journey-transfer-action > .form-help { margin: 0 18px 20px; }
.journey-transfer-action select { width: 100%; }
.journey-preview { margin: 14px 0; padding: 0 20px; border: 1px solid #d8e2e5; border-radius: 14px; background: #fff; }
.journey-preview summary { padding: 18px 0; color: var(--blue-950); font-weight: 800; cursor: pointer; }
.journey-preview[open] { padding-bottom: 20px; }
.journey-preview-list { display: grid; gap: 10px; margin: 14px 0 18px; padding-left: 25px; }
.journey-preview-list li { padding-left: 5px; color: #435e6e; }
.journey-thanks { margin-top: 60px; text-align: center; }
@media (max-width: 760px) {
  .leader-study-workspace,.leader-study-workspace--admin,.authorization-admin-grid { grid-template-columns: 1fr; }
  .authorized-study-grid { grid-template-columns: 1fr; }
  .library-study-filters { grid-template-columns: 1fr; }
  .library-study-filters > p { grid-column: auto; }
  .journey-dashboard { grid-template-columns: 1fr; }
  .journey-studies > header { align-items: stretch; flex-direction: column; }
  .journey-studies > header .button { width: 100%; }
  .assignment-card > header { flex-direction: column; gap: 10px; }
  .assignment-status { align-self: flex-start; }
  .journey-person-row { align-items: flex-start; flex-wrap: wrap; }
  .journey-person-row > a { flex-basis: 100%; }
  .journey-person-actions { width: 100%; justify-content: flex-end; border-top: 1px solid #e4ecee; padding-top: 4px; }
  .journey-scale { grid-template-columns: 1fr 1fr; }
  .journey-scale label:last-child { grid-column: 1 / -1; }
  .journey-scale span { min-height: 50px; }
  .journey-survey,.journey-thanks { margin: 12px 8px 40px; padding: 24px 18px; border-radius: 16px; }
  .journey-storage-choice { padding: 18px 14px; }
.journey-import .share-created-actions,.journey-storage-panel .share-created-actions { display: grid; }
}

/* Shared geometry for live compact-print measurement and the final printed pages. */
.compact-print-layout { --compact-font-size: 12pt; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-layout { width: 200mm; margin: 0; padding: 0; color: #101820; background: #fff; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-page { box-sizing: border-box; width: 200mm; height: 287mm; margin: 0; padding: 0; overflow: hidden; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-heading { box-sizing: border-box; height: 27mm; margin: 0 0 3mm; padding: 2mm 0 2.5mm; border-bottom: .45mm solid #b78327; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-heading p { margin: 0 0 1mm; color: #805d1f; font: 700 8.5pt/1.1 Arial, Helvetica, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-heading h1,
:is(body.print-compact, body.compact-print-measuring) .compact-print-heading h2 { margin: 0; color: #123a5a; font: 700 18pt/1.04 Georgia, "Times New Roman", serif; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-heading div { margin-top: 1.1mm; color: #42545e; font: 9pt/1.18 Arial, Helvetica, sans-serif; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-heading--continued { height: 18mm; margin-bottom: 3mm; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-heading--continued h2 { font-size: 14pt; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns {
  box-sizing: border-box;
  width: 200mm;
  height: 254mm;
  overflow: hidden;
  column-count: 2;
  column-gap: 7mm;
  column-rule: .2mm solid #cbd5da;
  column-fill: auto;
  orphans: 2;
  widows: 2;
  color: #111820;
  font-family: Arial, Helvetica, sans-serif;
  font-size: var(--compact-font-size, 12pt);
  line-height: 1.18;
  hyphens: auto;
}
:is(body.print-compact, body.compact-print-measuring) .compact-print-page--second .compact-print-columns { height: 263mm; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns h2,
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns h3,
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns h4 { break-after: avoid; page-break-after: avoid; color: #123a5a; font-family: Georgia, "Times New Roman", serif; line-height: 1.08; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns h2 { margin: 2.3mm 0 1.1mm; font-size: 1.28em; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns h3 { margin: 2mm 0 .9mm; font-size: 1.1em; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns h4 { margin: 1.7mm 0 .8mm; font-size: 1em; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns p { margin: 0 0 1.25mm; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns ul,
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns ol { margin: 0 0 1.4mm; padding-left: 5mm; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns li { margin: 0 0 .7mm; padding-left: .5mm; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns blockquote,
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns aside,
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns .study-callout,
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns .study-response-card,
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns .study-response-grid > *,
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns .study-grid > * { break-inside: avoid; margin: 1.2mm 0; padding: 1.8mm 2mm; border: .2mm solid #bdcbd1; border-radius: 1.5mm; background: #f7f9f8 !important; box-shadow: none !important; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns .study-response-grid,
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns .study-grid { display: block; margin: 0; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns .study-scripture-text { margin: 1mm 0; padding: 1.5mm 1.8mm; font-size: inherit; line-height: inherit; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns .study-question { font-size: inherit; line-height: inherit; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns table { width: 100%; margin: 1mm 0; border-collapse: collapse; font-size: .86em; line-height: 1.1; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns th,
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns td { padding: 1mm 1.2mm; border: .2mm solid #aebdc4; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns figure { break-inside: avoid; margin: 1.2mm 0; }
:is(body.print-compact, body.compact-print-measuring) .compact-print-columns img { display: block; width: auto; max-width: 100%; max-height: 48mm; margin: 0 auto; object-fit: contain; }

@media screen {
  body.compact-print-measuring .compact-print-layout { position: fixed; z-index: -1; top: 0; left: -10000px; display: block !important; visibility: hidden; pointer-events: none; }
}
