:root {
  --ink: #142338;
  --navy: #203B57;
  --orange: #E36336;
  --orange-deep: #C84D26;
  --cream: #FBFAF7;
  --sand: #F1ECE4;
  --peach: #F7E3D8;
  --sage: #BFCDC1;
  --mist: #E8F0EC;
  --muted: #6C7784;
  --white: #FFFFFF;
  --border: rgba(32, 59, 87, 0.12);
  --shadow: 0 24px 60px rgba(31, 55, 82, 0.10);
  --serif: 'Playfair Display', Georgia, serif;
  --sans: 'DM Sans', Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: var(--sans); line-height: 1.55; }
button, input { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline: 3px solid var(--orange); outline-offset: 4px; }
.skip-link { position: absolute; top: -4rem; left: 1rem; background: var(--ink); color: white; z-index: 100; padding: .75rem 1rem; border-radius: .5rem; }
.skip-link:focus { top: 1rem; }

.container { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
.eyebrow { display: inline-flex; gap: .55rem; align-items: center; color: var(--orange); font-size: .73rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow::before { content: ''; display: inline-block; width: 1.6rem; height: 2px; background: currentColor; }
.display { font-family: var(--serif); font-weight: 600; letter-spacing: -.035em; line-height: 1.05; }
.section { padding: 7rem 0; }
.section-heading { max-width: 42rem; margin-bottom: 2.7rem; }
.section-heading h2 { margin: .8rem 0 1rem; font-size: clamp(2.2rem, 4vw, 4rem); color: var(--ink); }
.section-heading p { margin: 0; color: var(--muted); font-size: 1.05rem; }

/* Header & Hero */
.site-header { position: sticky; top: 0; z-index: 20; background: rgba(251,250,247,.88); border-bottom: 1px solid rgba(32, 59, 87,.08); backdrop-filter: blur(18px); }
.nav { height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { display: inline-flex; align-items: center; gap: .7rem; font-size: 1.05rem; font-weight: 700; letter-spacing: .08em; color: var(--ink); }
.brand-mark { display:grid; place-items:center; position:relative; width: 2.1rem; height:2.1rem; border: 2px solid var(--orange); border-radius: 999px; color: var(--orange); font-family: var(--serif); font-size: 1.1rem; }
.brand-mark::after { content:''; position:absolute; width:.35rem; height:.35rem; border-radius:50%; background:var(--navy); top:-.17rem; right:.22rem; }
.nav-links { display: flex; gap: 1.4rem; align-items:center; color: var(--muted); font-size:.92rem; font-weight:600; }
.nav-links a:hover { color: var(--orange); }
.nav-cta { padding: .72rem 1rem; border-radius: 999px; background: var(--ink); color: white; }

.hero { padding: 3.8rem 0 2rem; overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: 2.6rem; align-items: center; }
.hero-copy { padding: 3.5rem 0; }
.hero h1 { margin: .8rem 0 1.25rem; color: var(--ink); font-size: clamp(3.4rem, 6.4vw, 6.4rem); }
.hero h1 em { color: var(--orange); font-style: italic; }
.hero-intro { max-width: 36rem; margin: 0 0 1.8rem; color: var(--muted); font-size: 1.12rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.9rem; margin-bottom: 2.5rem; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:.55rem; padding: .95rem 1.25rem; border: 1px solid transparent; border-radius: .6rem; font-weight:700; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(20,35,56,.16); }
.button-primary { background: var(--orange); color:white; }
.button-primary:hover { background: var(--orange-deep); }
.button-secondary { background: white; border-color: var(--border); color: var(--ink); }
.hero-proof { display:flex; gap: 1.5rem; align-items:center; color: var(--muted); font-size:.88rem; }
.proof-number { color: var(--ink); display:block; font-family:var(--serif); font-size:1.85rem; line-height:1; }
.hero-visual { position:relative; min-height: 580px; }
.hero-photo { position:absolute; inset:0 0 3.5rem 2.5rem; width:calc(100% - 2.5rem); height:calc(100% - 3.5rem); object-fit:cover; border-radius: 160px 18px 160px 18px; box-shadow:var(--shadow); }
.orbit { position:absolute; width: 10rem; height:10rem; border: 2px solid var(--orange); border-radius: 999px; top: 1.5rem; left: 0; z-index:-1; }
.orbit::before { content:''; position:absolute; width:1rem; height:1rem; border-radius:50%; background:var(--sage); right:1rem; top:1rem; }
.hero-note { position:absolute; right:-.7rem; bottom:0; width: 15rem; padding:1.15rem; border:1px solid rgba(255,255,255,.8); border-radius: .75rem; background:rgba(255,255,255,.92); box-shadow:var(--shadow); }
.hero-note strong { display:block; color:var(--orange); font-size:.77rem; letter-spacing:.14em; text-transform:uppercase; }
.hero-note p { margin:.45rem 0 0; color:var(--ink); font-family:var(--serif); font-size:1.1rem; line-height:1.3; }

/* Mini journey */
.journey-wrap { padding-bottom: 2rem; }
.journey { display:grid; grid-template-columns: 1.4fr repeat(3, 1fr); border:1px solid var(--border); border-radius:1rem; background:white; box-shadow: 0 15px 40px rgba(32,59,87,.06); overflow:hidden; }
.journey-intro, .journey-step { padding: 1.5rem; }
.journey-intro { background:var(--ink); color:white; }
.journey-intro h2 { margin:0 0 .25rem; font-family:var(--serif); font-size:1.45rem; }
.journey-intro p { margin:0; color:rgba(255,255,255,.72); font-size:.9rem; }
.journey-step { border-left:1px solid var(--border); position:relative; }
.journey-step .number { display:block; color:var(--orange); font-size:.7rem; font-weight:700; letter-spacing:.14em; }
.journey-step strong { display:block; margin:.35rem 0; font-family:var(--serif); font-size:1.18rem; }
.journey-step p { margin:0; color:var(--muted); font-size:.86rem; }

/* Explore cards */
.explore { background: linear-gradient(180deg, var(--cream) 0%, var(--mist) 100%); }
.explore-layout { display:grid; grid-template-columns: 1fr .9fr; gap: 3.5rem; align-items:center; }
.explore-photo { width:100%; min-height:480px; object-fit:cover; border-radius:18px 110px 18px 18px; box-shadow:var(--shadow); }
.pathways { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.path-card { padding:1.25rem; min-height: 165px; border-radius: .9rem; background:white; border:1px solid var(--border); text-align:left; color:var(--ink); transition: transform .2s, border-color .2s, background .2s; }
.path-card:hover, .path-card.active { transform:translateY(-3px); border-color:var(--orange); background:var(--peach); }
.path-icon { display:grid; place-items:center; width:2.5rem; height:2.5rem; background:var(--sand); border-radius:.65rem; color:var(--orange); font-family:var(--serif); font-size:1.25rem; }
.path-card strong { display:block; margin:.7rem 0 .2rem; font-family:var(--serif); font-size:1.2rem; }
.path-card span { color:var(--muted); font-size:.86rem; }

/* Directory */
.directory { background:var(--cream); }
.directory-bar { display:flex; justify-content:space-between; gap:1.5rem; align-items:flex-end; margin-bottom:1.5rem; }
.directory-count { color:var(--orange); font-weight:700; }
.filter-shell { border:1px solid var(--border); border-radius: 1rem; padding:1rem; background:white; box-shadow: 0 10px 30px rgba(32,59,87,.05); margin-bottom: 2rem; }
.search-wrap { display:flex; align-items:center; gap:.65rem; padding:.3rem .4rem .9rem; border-bottom:1px solid var(--border); }
.search-wrap span { color:var(--orange); font-size:1.15rem; }
.search-wrap input { width:100%; border:0; outline:0; color:var(--ink); font-size:1rem; background:transparent; }
.filter-row { display:flex; flex-wrap:wrap; align-items:center; gap:.8rem; padding-top:1.15rem; }
.filter-row > div { display:flex; flex-wrap:wrap; gap:.6rem; }
.filter-label { min-width:5.7rem; margin-right:.25rem; color:var(--muted); font-size:.78rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.filter-button { border:1px solid transparent; background:var(--sand); color:var(--muted); padding:.55rem .8rem; border-radius:999px; font-size:.83rem; font-weight:700; transition:transform .18s, box-shadow .18s, background .18s, color .18s; }
.filter-button.active { color:white; background:var(--ink); border-color:var(--ink); box-shadow:0 5px 12px rgba(22,43,72,.18); }
.filter-button:not(.active):hover { transform:translateY(-2px); color:var(--ink); box-shadow:0 4px 10px rgba(22,43,72,.1); }
#category-filters .filter-button[data-value="Bible & Growth"] { background:#E8EFF6; border-color:#C7D7E7; color:#334E68; }
#category-filters .filter-button[data-value="Care & Support"] { background:#EAF0E9; border-color:#C7D6C8; color:#516C55; }
#category-filters .filter-button[data-value="Connection"] { background:#FBEAE2; border-color:#E9C3B2; color:#A95839; }
#category-filters .filter-button[data-value="Active & Interest"] { background:#E8EFF8; border-color:#C3D2E5; color:#456887; }
#category-filters .filter-button[data-value="All"] { background:#F6F1EB; border-color:#E5D8C8; color:#69594B; }
#category-filters .filter-button.active { color:white; background:var(--ink); border-color:var(--ink); }
.group-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1.25rem; }
.group-card { background:white; border:1px solid var(--border); border-radius:1rem; overflow:hidden; box-shadow:0 12px 26px rgba(32,59,87,.04); transition:transform .25s, box-shadow .25s, border-color .25s; }
.group-card:hover, .group-card.is-expanded { transform:translateY(-5px); border-color:rgba(227,99,54,.5); box-shadow:var(--shadow); }
.group-card.future { background: linear-gradient(135deg, #FFF9F4, var(--peach)); border-style:dashed; }
.group-card-overview { cursor:pointer; outline:none; }
.group-card-overview:focus-visible { outline:3px solid rgba(227,99,54,.75); outline-offset:-3px; }
.card-art { position:relative; min-height:108px; overflow:hidden; padding:1rem 1.15rem; color:white; background:var(--navy); }
.card-art::after { content:''; position:absolute; width:9rem; height:9rem; border-radius:50%; border: 1px solid rgba(255,255,255,.25); right:-3rem; bottom:-5rem; }
.card-art[data-category="Care & Support"] { background:#778A7A; }
.card-art[data-category="Bible & Growth"] { background:#334E68; }
.card-art[data-category="Connection"] { background:#C46B49; }
.card-art[data-category="Active & Interest"] { background:#57759E; }
.card-art[data-category="Future Group"] { background:#C98458; }
.card-art .category { position:relative; z-index:1; display:block; color:rgba(255,255,255,.82); font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.card-art .glyph { position:absolute; z-index:1; right:1rem; bottom:.2rem; color:rgba(255,255,255,.9); font-family:var(--serif); font-size:4.4rem; line-height:1; }
.group-body { padding:1.25rem; }
.group-name { margin:0 0 .4rem; font-family:var(--serif); color:var(--ink); font-size:1.45rem; line-height:1.08; }
.group-summary { min-height: 4.5rem; margin:0 0 1rem; color:var(--muted); font-size:.9rem; }
.group-detail-line { display:flex; gap:.45rem; margin:.4rem 0; color:var(--ink); font-size:.84rem; }
.group-detail-line span { color:var(--orange); }
.group-card-prompt { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.8rem 1.25rem; border-top:1px solid var(--border); color:var(--orange); background:#FFF9F6; font-size:.78rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.group-card-prompt span:last-child { color:var(--ink); font-size:.72rem; letter-spacing:.06em; }
.group-card:hover .group-card-prompt, .group-card.is-expanded .group-card-prompt { background:var(--peach); }
.group-details { border-top:1px solid var(--border); }
.group-details summary { display:flex; align-items:center; justify-content:space-between; padding:1rem 1.25rem; color:var(--ink); cursor:pointer; font-size:.88rem; font-weight:700; list-style:none; }
.group-details summary::-webkit-details-marker { display:none; }
.group-details summary::after { content:'+'; color:var(--orange); font-family:var(--serif); font-size:1.35rem; }
.group-details[open] summary::after { content:'–'; }
.detail-panel { padding: 0 1.25rem 1.25rem; color:var(--muted); font-size:.88rem; }
.detail-panel strong { color:var(--ink); }
.detail-panel .button { width:100%; margin-top:1rem; padding:.75rem; border-radius:.5rem; font-size:.85rem; }
.empty-message { grid-column:1/-1; padding:3rem; border:1px dashed var(--border); border-radius:1rem; text-align:center; color:var(--muted); }

/* Meeting flow */
.meeting { background:var(--ink); color:white; position:relative; overflow:hidden; }
.meeting::before { content:''; position:absolute; width:36rem; height:36rem; right:-16rem; top:-12rem; border-radius:50%; border:1px solid rgba(255,255,255,.12); }
.meeting .section-heading h2 { color:white; }
.meeting .section-heading p { color:rgba(255,255,255,.66); }
.meeting-grid { display:grid; grid-template-columns: .85fr 1.15fr; gap:3rem; align-items:start; }
.meeting-note { padding:1.65rem; border-radius:1rem; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); }
.meeting-note h3 { margin:.75rem 0; color:white; font-family:var(--serif); font-size:1.8rem; line-height:1.15; }
.meeting-note p { margin:0; color:rgba(255,255,255,.73); }
.flow { display:grid; gap:.65rem; }
.flow-step { display:grid; grid-template-columns: 3rem 1fr auto; align-items:center; gap:1rem; padding:1rem; border-radius:.75rem; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.11); }
.flow-step .flow-number { display:grid; place-items:center; width:2.25rem; height:2.25rem; border-radius:50%; background:var(--orange); color:white; font-family:var(--serif); font-size:1.15rem; }
.flow-step strong { display:block; color:white; font-size:1rem; }
.flow-step p { margin:.1rem 0 0; color:rgba(255,255,255,.6); font-size:.82rem; }
.flow-time { color:var(--sage); font-size:.82rem; font-weight:700; white-space:nowrap; }

/* Handbook */
.handbook { background:var(--cream); }
.handbook-grid { display:grid; grid-template-columns: .85fr 1.15fr; gap:3rem; align-items:start; }
.handbook-visual { position:sticky; top:110px; }
.handbook-image { width:100%; height:500px; object-fit:cover; border-radius: 16px 16px 110px 16px; box-shadow:var(--shadow); }
.handbook-callout { margin:-3rem 1.3rem 0; position:relative; padding:1.35rem; border-radius:.8rem; background:var(--orange); color:white; }
.handbook-callout strong { display:block; margin-bottom:.3rem; font-family:var(--serif); font-size:1.35rem; }
.handbook-callout p { margin:0; font-size:.88rem; }
.handbook-list { display:grid; gap: .8rem; }
.handbook-item { border:1px solid var(--border); border-radius:.8rem; background:white; overflow:hidden; }
.handbook-toggle { width:100%; display:grid; grid-template-columns:3rem 1fr 1.5rem; gap:.75rem; align-items:center; padding:1rem; border:0; background:white; text-align:left; color:var(--ink); }
.handbook-index { color:var(--orange); font-size:.78rem; font-weight:700; letter-spacing:.08em; }
.handbook-title { font-family:var(--serif); font-size:1.25rem; }
.handbook-plus { color:var(--orange); font-family:var(--serif); font-size:1.45rem; }
.handbook-detail { display:none; padding:0 1.1rem 1.2rem 4.75rem; color:var(--muted); font-size:.92rem; }
.handbook-item.open .handbook-detail { display:block; }
.handbook-item.open .handbook-plus { transform:rotate(45deg); display:block; }
.handbook-detail p { margin:0 0 .8rem; }
.handbook-points { display:grid; grid-template-columns:1fr 1fr; gap:.45rem; padding:0; margin:0; list-style:none; }
.handbook-points li { display:flex; gap:.45rem; align-items:flex-start; }
.handbook-points li::before { content:'•'; color:var(--orange); font-weight:700; }

/* Teams & Documents */
.teams { background:var(--mist); }
.teams-spotlight { display:grid; grid-template-columns:.9fr 1.1fr; overflow:hidden; border-radius:1rem; background:white; border:1px solid var(--border); box-shadow:var(--shadow); margin-bottom:2.5rem; }
.teams-photo { width:100%; height:360px; object-fit:cover; }
.teams-copy { align-self:center; padding:3rem; }
.teams-copy h3 { margin:.5rem 0 .8rem; font-family:var(--serif); font-size:2.25rem; line-height:1.1; }
.teams-copy p { color:var(--muted); margin:0 0 1.5rem; }
.team-grid { display:grid; grid-template-columns: repeat(4, 1fr); gap:.8rem; }
.team-card { min-height:155px; padding:1rem; border:1px solid var(--border); border-radius:.75rem; background:rgba(255,255,255,.75); }
.team-icon { color:var(--orange); font-family:var(--serif); font-size:1.65rem; }
.team-card h4 { margin:.45rem 0 .2rem; font-family:var(--serif); color:var(--ink); font-size:1.1rem; line-height:1.15; }
.team-card p { margin:0; color:var(--muted); font-size:.78rem; line-height:1.4; }
.documents-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.document { min-height:245px; padding:1.6rem; border-radius:1rem; background:white; border:1px solid var(--border); box-shadow:0 12px 30px rgba(32,59,87,.04); display:flex; flex-direction:column; }
.document-label { color:var(--orange); font-size:.75rem; letter-spacing:.12em; font-weight:700; text-transform:uppercase; }
.document h3 { margin:.6rem 0 .8rem; font-family:var(--serif); color:var(--ink); font-size:1.55rem; line-height:1.1; }
.document p { color:var(--muted); font-size:.9rem; margin:0 0 1.25rem; }
.document a { margin-top:auto; font-size:.9rem; font-weight:700; color:var(--ink); }
.document a span { color:var(--orange); padding-left:.25rem; }

/* Footer CTA */
.launch { padding: 6rem 0; background:var(--peach); }
.launch-card { display:grid; grid-template-columns:1fr auto; align-items:center; gap:2rem; padding: 3.5rem; border-radius:1.2rem; background:var(--orange); color:white; position:relative; overflow:hidden; }
.launch-card::after { content:''; position:absolute; width:26rem; height:26rem; right:-10rem; top:-15rem; border:1px solid rgba(255,255,255,.3); border-radius:50%; }
.launch-card h2 { max-width:38rem; margin:.6rem 0 0; font-family:var(--serif); font-size:clamp(2.3rem,4vw,4rem); line-height:1.05; }
.launch-card .button { position:relative; z-index:1; background:white; color:var(--ink); }
.site-footer { padding: 2rem 0; background:var(--ink); color:rgba(255,255,255,.65); }
.footer-row { display:flex; justify-content:space-between; gap:1rem; font-size:.82rem; }

@media (max-width: 1000px) {
  .hero-grid, .explore-layout, .meeting-grid, .handbook-grid, .teams-spotlight { grid-template-columns:1fr; }
  .hero-visual { min-height: 460px; max-width:620px; }
  .group-grid { grid-template-columns:repeat(2,1fr); }
  .team-grid { grid-template-columns:repeat(3,1fr); }
  .handbook-visual { position:relative; top:0; max-width:620px; }
  .journey { grid-template-columns:1fr 1fr; }
  .journey-intro { grid-column:1/-1; }
  .journey-step:nth-child(2) { border-left:0; }
}

@media (max-width: 700px) {
  .container { width:min(100% - 28px, 1160px); }
  .section { padding:4.5rem 0; }
  .nav { height:68px; }
  .nav-links { display:none; }
  .hero { padding-top:1.5rem; }
  .hero-copy { padding:2.5rem 0 1rem; }
  .hero h1 { font-size:clamp(3rem,14vw,4.4rem); }
  .hero-visual { min-height: 390px; }
  .hero-photo { inset:0 0 2.5rem 1rem; width:calc(100% - 1rem); height:calc(100% - 2.5rem); border-radius: 90px 12px 90px 12px; }
  .hero-note { right:0; width:13rem; }
  .journey { grid-template-columns:1fr; }
  .journey-step, .journey-step:nth-child(2) { border-left:0; border-top:1px solid var(--border); }
  .pathways, .group-grid, .documents-grid { grid-template-columns:1fr; }
  .directory-bar { align-items:flex-start; flex-direction:column; }
  .flow-step { grid-template-columns: 2.5rem 1fr; }
  .flow-time { grid-column:2; }
  .handbook-points { grid-template-columns:1fr; }
  .handbook-detail { padding-left:1.1rem; }
  .team-grid { grid-template-columns:repeat(2,1fr); }
  .teams-copy { padding:2rem; }
  .teams-photo { height:280px; }
  .launch-card { padding:2.25rem; grid-template-columns:1fr; }
  .footer-row { flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; }
}


/* Audience split: public signup view + leader hub */
.audience-switch { display:inline-flex; gap:.25rem; padding:.28rem; border:1px solid var(--border); border-radius:999px; background:rgba(255,255,255,.78); }
.audience-tab { border:0; border-radius:999px; padding:.52rem .86rem; background:transparent; color:var(--muted); font-size:.82rem; font-weight:700; }
.audience-tab.active { background:var(--ink); color:white; }
.view-panel[hidden] { display:none !important; }
.leader-hero { padding:6.5rem 0 5rem; background:linear-gradient(135deg, var(--mist) 0%, var(--cream) 56%, var(--peach) 100%); }
.leader-hero-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:3.5rem; align-items:center; }
.leader-hero h1 { max-width:43rem; margin:.8rem 0 1.25rem; color:var(--ink); font-size:clamp(3.2rem,6vw,6rem); }
.leader-hero h1 em { color:var(--orange); font-style:italic; }
.leader-hero p { max-width:41rem; color:var(--muted); font-size:1.1rem; }
.leader-hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.7rem; }
.leader-proof-card { padding:2.15rem; border-radius:1rem 5rem 1rem 1rem; background:var(--ink); color:white; box-shadow:var(--shadow); }
.leader-card-label { color:var(--sage); font-size:.73rem; letter-spacing:.14em; font-weight:700; text-transform:uppercase; }
.leader-proof-card h2 { margin:.75rem 0; font-family:var(--serif); font-size:2.15rem; line-height:1.08; }
.leader-proof-card p { color:rgba(255,255,255,.7); font-size:.95rem; }
.leader-stat-row { display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; margin-top:1.7rem; padding-top:1.2rem; border-top:1px solid rgba(255,255,255,.16); }
.leader-stat-row span { color:rgba(255,255,255,.63); font-size:.72rem; }
.leader-stat-row strong { display:block; color:var(--orange); font-family:var(--serif); font-size:1.55rem; }
@media (max-width: 1000px) { .leader-hero-grid { grid-template-columns:1fr; } }
@media (max-width: 700px) { .audience-switch { order:3; width:100%; justify-content:center; } .nav { height:auto; min-height:68px; padding:10px 0; flex-wrap:wrap; } .nav-cta { display:none; } .leader-hero { padding:4rem 0; } .leader-proof-card { border-radius:1rem 3rem 1rem 1rem; } }


/* Member portal, signup, survey, and leader workspace */
.nav-actions { display:flex; align-items:center; gap:.8rem; }
.nav-text-button { border:0; padding:.35rem .3rem; color:var(--muted); background:transparent; font-size:.86rem; font-weight:700; }
.nav-text-button:hover { color:var(--orange); }
.nav-cta { border:0; cursor:pointer; }
.join-survey-strip { padding:3.5rem 0; background:var(--mist); }
.survey-strip-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.survey-strip-inner h2 { margin:.6rem 0; font-size:2.25rem; color:var(--ink); }
.survey-strip-inner p { max-width:39rem; margin:0; color:var(--muted); }
.signup-dialog { width:min(580px, calc(100% - 24px)); border:0; border-radius:1rem; padding:2.25rem; box-shadow:0 32px 90px rgba(20,35,56,.30); color:var(--ink); background:var(--cream); }
.signup-dialog::backdrop { background:rgba(20,35,56,.62); backdrop-filter:blur(5px); }
.dialog-close { position:absolute; right:1rem; top:.9rem; width:2.2rem; height:2.2rem; border:1px solid var(--border); border-radius:50%; color:var(--ink); background:white; font-size:1.55rem; line-height:1; }
.signup-dialog h2 { margin:.75rem 0 .65rem; font-size:2.1rem; color:var(--ink); }
.signup-dialog > div > p { margin:0 0 1.4rem; color:var(--muted); }
#signup-form { display:grid; gap:.9rem; }
.form-status { min-height:1.3rem; margin:.15rem 0 0; color:var(--orange-deep); font-size:.88rem; font-weight:600; }
.form-card label, #signup-form label, .compact-form label, .workspace-picker label { display:grid; gap:.38rem; color:var(--ink); font-size:.88rem; font-weight:700; }
input, textarea, select { width:100%; border:1px solid var(--border); border-radius:.5rem; padding:.8rem .85rem; background:white; color:var(--ink); font:inherit; font-weight:400; }
textarea { resize:vertical; }
input:focus, select:focus, textarea:focus { outline:2px solid var(--orange); outline-offset:1px; border-color:var(--orange); }
.optional { color:var(--muted); font-size:.75rem; font-weight:500; }
.selected-group { display:grid; gap:.25rem; padding:1rem; background:var(--peach); border-left:3px solid var(--orange); border-radius:.45rem; font-size:.9rem; }
.selected-group span { color:var(--muted); }
.checkbox-label { display:flex !important; align-items:flex-start; gap:.6rem; color:var(--muted) !important; line-height:1.45; font-weight:500 !important; }
.checkbox-label input, .consent-box input, .choice-grid input { width:auto; margin-top:.2rem; accent-color:var(--orange); }
.privacy-copy { margin:0; color:var(--muted); font-size:.76rem; line-height:1.45; }
.portal-page { min-height:calc(100vh - 160px); padding:5.5rem 0; background:linear-gradient(150deg, var(--cream), var(--mist)); }
.narrow { width:min(760px, calc(100% - 40px)); }
.portal-page h1 { max-width:760px; margin:.7rem 0 1rem; color:var(--ink); font-size:clamp(2.8rem,5.2vw,5.1rem); }
.portal-intro { max-width:650px; color:var(--muted); font-size:1.05rem; }
.form-card { display:grid; gap:1.15rem; margin-top:2rem; padding:2rem; border:1px solid var(--border); border-radius:1rem; background:white; box-shadow:var(--shadow); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-card label { display:grid; gap:.42rem; color:var(--ink); font-size:.88rem; font-weight:700; }
.form-card fieldset { padding:1.1rem; border:1px solid var(--border); border-radius:.7rem; }
.form-card legend { padding:0 .35rem; color:var(--ink); font-size:.88rem; font-weight:700; }
.choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.choice-grid label { display:flex; align-items:flex-start; gap:.5rem; color:var(--muted); font-size:.86rem; font-weight:500; }
.consent-box { display:grid; gap:.7rem; padding:1rem; background:var(--sand); border-radius:.7rem; }
.consent-box label { display:flex; align-items:center; gap:.5rem; color:var(--muted); font-size:.82rem; font-weight:500; }
.portal-loading, .empty-state { padding:1.4rem; border:1px dashed var(--border); border-radius:.75rem; background:rgba(255,255,255,.6); color:var(--muted); }
.portal-login { max-width:720px; padding:3rem; border-radius:1.25rem 5rem 1.25rem 1.25rem; color:white; background:var(--ink); box-shadow:var(--shadow); }
.portal-login h1 { color:white; }
.portal-login p { max-width:550px; color:rgba(255,255,255,.72); font-size:1.05rem; }
.portal-login .button { margin-top:1rem; }
.portal-fine-print { margin-top:1.4rem !important; font-size:.78rem !important; }
.portal-header, .workspace-header { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-bottom:1.6rem; }
.portal-header h1, .workspace-header h1 { margin:.5rem 0; font-size:clamp(2.8rem,5.2vw,4.6rem); }
.portal-header p, .workspace-header p { margin:0; color:var(--muted); }
.portal-header-actions { display:flex; align-items:center; gap:.8rem; flex-wrap:wrap; }
.portal-stat-row { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-bottom:2.1rem; }
.portal-stat-row > div { padding:1.25rem; border-radius:.75rem; background:white; border:1px solid var(--border); }
.portal-stat-row strong { display:block; color:var(--orange); font-family:var(--serif); font-size:2rem; line-height:1; }
.portal-stat-row span { display:block; margin-top:.25rem; color:var(--muted); font-size:.82rem; }
.portal-layout { display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.portal-section, .workspace-card { padding:1.35rem; border:1px solid var(--border); border-radius:.85rem; background:white; }
.portal-section h2, .workspace-card h2 { margin:0 0 1rem; color:var(--ink); font-family:var(--serif); font-size:1.65rem; }
.member-groups, .portal-list, .resources-list { display:grid; gap:.7rem; }
.member-group { display:flex; gap:.8rem; padding:.9rem; border-radius:.65rem; background:var(--sand); }
.member-group-mark { display:grid; place-items:center; flex:0 0 2.3rem; height:2.3rem; border-radius:.55rem; background:var(--orange); color:white; font-family:var(--serif); }
.member-group h3 { margin:0; color:var(--ink); font-size:1rem; }
.member-group p, .member-group small { margin:.15rem 0 0; color:var(--muted); font-size:.78rem; }
.portal-item { padding:.85rem 0; border-bottom:1px solid var(--border); }
.portal-item:last-child { border-bottom:0; }
.item-kicker { display:block; color:var(--orange); font-size:.7rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.portal-item h3 { margin:.25rem 0; color:var(--ink); font-size:1rem; }
.portal-item p { margin:.3rem 0; color:var(--muted); font-size:.86rem; }
.portal-item small, .meeting-item span { color:var(--muted); font-size:.74rem; }
.meeting-item { display:grid; gap:.2rem; padding:.75rem 0; border-bottom:1px solid var(--border); }
.meeting-item:last-child { border-bottom:0; }
.resource-link { display:grid; gap:.2rem; padding:.8rem; border-radius:.55rem; background:var(--sand); color:var(--ink); font-size:.88rem; font-weight:700; }
.resource-link:hover { background:var(--peach); }
.resource-link span { color:var(--muted); font-size:.74rem; font-weight:500; }
.inline-button { border:0; color:var(--orange); background:transparent; font:inherit; font-weight:700; text-decoration:underline; }
.pulse-card { display:grid; grid-template-columns:.9fr 1.1fr; gap:2rem; margin-top:1.1rem; padding:2rem; border-radius:1rem; background:var(--peach); }
.pulse-card h2 { margin:.6rem 0; color:var(--ink); font-size:2.1rem; }
.pulse-card p { color:var(--muted); }
.compact-form { display:grid; gap:.75rem; }
.compact-ratings { display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; }
.workspace-picker { display:flex; align-items:end; gap:1rem; margin-bottom:1.5rem; padding:1.2rem; border:1px solid var(--border); border-radius:.8rem; background:white; }
.workspace-picker label { flex:1; }
.workspace-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.workspace-card-wide { grid-column:1/-1; }
.count-badge { display:inline-grid; place-items:center; min-width:1.6rem; height:1.6rem; padding:0 .35rem; border-radius:999px; color:white; background:var(--orange); font-family:var(--sans); font-size:.73rem; vertical-align:middle; }
.pending-row, .attendance-row { display:flex; align-items:center; justify-content:space-between; gap:.8rem; padding:.75rem 0; border-bottom:1px solid var(--border); }
.pending-row:last-child, .attendance-row:last-child { border-bottom:0; }
.pending-row strong, .attendance-row strong { display:block; color:var(--ink); font-size:.9rem; }
.pending-row small, .attendance-row small { color:var(--muted); font-size:.75rem; }
.button-small { padding:.6rem .75rem; font-size:.78rem; }
.workspace-help { margin:-.5rem 0 .8rem; color:var(--muted); font-size:.83rem; }
.attendance-toolbar { display:flex; gap:.7rem; margin-bottom:.6rem; }
.attendance-toolbar select { flex:1; }
.attendance-row select { width:150px; padding:.5rem; font-size:.8rem; }
@media (max-width: 850px) { .nav-actions { gap:.3rem; } .portal-header, .workspace-header, .survey-strip-inner { align-items:flex-start; flex-direction:column; } .portal-layout, .pulse-card { grid-template-columns:1fr; } .workspace-grid { grid-template-columns:1fr; } .workspace-card-wide { grid-column:auto; } }
@media (max-width: 700px) { .nav-text-button { display:none; } .form-grid, .choice-grid, .compact-ratings { grid-template-columns:1fr; } .portal-stat-row { grid-template-columns:1fr 1fr; } .portal-login { padding:2rem; border-radius:1rem 3rem 1rem 1rem; } .workspace-picker, .attendance-toolbar { align-items:stretch; flex-direction:column; } .pending-row, .attendance-row { align-items:flex-start; flex-direction:column; } .attendance-row select { width:100%; } .signup-dialog { padding:1.6rem; } }


/* Ministry-wide administration */
.admin-stat-grid { display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:.85rem; margin-bottom:1.2rem; }
.admin-stat-grid > div { min-height:112px; padding:1.1rem; border:1px solid var(--border); border-radius:.75rem; background:var(--ink); color:white; }
.admin-stat-grid strong { display:block; color:var(--orange); font-family:var(--serif); font-size:2rem; line-height:1; }
.admin-stat-grid span { display:block; margin-top:.45rem; color:rgba(255,255,255,.65); font-size:.76rem; line-height:1.2; }
.metric-row { display:grid; grid-template-columns:1fr auto; gap:.25rem .8rem; padding:.72rem 0; border-bottom:1px solid var(--border); color:var(--ink); font-size:.86rem; }
.metric-row:last-child { border-bottom:0; }
.metric-row strong { color:var(--orange-deep); font-size:.82rem; }
.metric-row small { grid-column:1/-1; color:var(--muted); font-size:.72rem; }
.signal-chips { display:flex; flex-wrap:wrap; gap:.5rem; }
.signal-chip { display:inline-flex; align-items:center; gap:.4rem; padding:.48rem .65rem; border-radius:999px; background:var(--peach); color:var(--ink); font-size:.78rem; }
.signal-chip b { display:inline-grid; place-items:center; min-width:1.25rem; height:1.25rem; border-radius:50%; color:white; background:var(--orange); font-size:.68rem; }
.muted-note { color:var(--muted); font-size:.85rem; }
@media (max-width: 1000px) { .admin-stat-grid { grid-template-columns:repeat(3, 1fr); } }
@media (max-width: 700px) { .admin-stat-grid { grid-template-columns:repeat(2, 1fr); } .admin-stat-grid > div { min-height:92px; } }
