@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Caveat:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');

:root {
  --ink: #0b0c0d;
  --ink-soft: #17191a;
  --teal: #147d83;
  --teal-deep: #07515b;
  --orange: #ef5b38;
  --gold: #f4bd46;
  --cream: #f5f0e7;
  --paper: #fffdf9;
  --muted: #706c63;
  --line: #11141620;
  --dark-line: #ffffff25;
  --shadow: 0 28px 70px #0810132b;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--ink);
  color: var(--paper);
  font: 16px/1.65 'DM Sans', Arial, sans-serif;
}
body::selection { background: var(--gold); color: var(--ink); }
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
.wrap { width: min(100% - 48px, 1260px); margin: 0 auto; }
.skip { position: fixed; left: 18px; top: -80px; z-index: 100; padding: 12px 16px; background: var(--gold); color: var(--ink); font-weight: 800; }
.skip:focus { top: 12px; }

/* Navigation */
.nav {
  position: sticky;
  top: 0;
  z-index: 40;
  border-bottom: 1px solid #ffffff18;
  background: #0b0c0de8;
  color: var(--paper);
  backdrop-filter: blur(20px);
}
.nav-in { display: flex; min-height: 82px; align-items: center; gap: 22px; }
.brand-logo {
  display: block;
  flex: 0 0 auto;
  width: 152px;
  height: 58px;
  border-radius: 7px;
  object-fit: cover;
  object-position: center;
  box-shadow: 0 7px 18px #0005;
}
.navlinks { display: flex; flex: 1 1 auto; align-items: center; justify-content: center; gap: clamp(12px, 1.8vw, 25px); font: 700 13px/1 'Barlow Condensed', sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.navlinks a, .navlinks summary { position: relative; cursor: pointer; white-space: nowrap; color: #f7f3ea; }
.navlinks a::after, .navlinks summary::after { content: ''; position: absolute; right: 100%; bottom: -10px; left: 0; height: 2px; background: var(--orange); transition: right .2s ease; }
.navlinks a:hover::after, .navlinks a[aria-current='page']::after, .navlinks details[open] summary::after { right: 0; }
.navlinks a:hover, .navlinks a[aria-current='page'], .navlinks summary:hover, .navlinks details[open] summary { color: var(--gold); }
.navlinks details { position: relative; }
.navlinks summary { list-style: none; }
.navlinks summary::-webkit-details-marker { display: none; }
.dropdown { position: absolute; top: 28px; left: 50%; min-width: 240px; padding: 10px; transform: translateX(-50%); border: 1px solid #ffffff22; border-radius: 8px; background: #161819fa; color: var(--paper); box-shadow: var(--shadow); }
.dropdown a { display: block; padding: 11px 12px; border-radius: 8px; }
.dropdown a::after { display: none; }
.dropdown a:hover { background: #ffffff12; color: var(--gold); }
.menu-toggle { display: none; }

/* Type and controls */
h1, h2, h3, h4, .display { margin-top: 0; font-family: 'Barlow Condensed', Impact, sans-serif; font-weight: 800; letter-spacing: -.045em; line-height: .92; text-transform: uppercase; }
h1 { font-size: clamp(70px, 10vw, 150px); }
h2 { margin-bottom: 24px; font-size: clamp(48px, 6.5vw, 92px); }
h3 { margin-bottom: 12px; font-size: clamp(27px, 3vw, 40px); }
p { margin-top: 0; }
.eyebrow, .tag { display: inline-block; color: var(--orange); font: 800 13px/1.2 'Barlow Condensed', sans-serif; letter-spacing: .2em; text-transform: uppercase; }
.lead { max-width: 820px; color: #d7ded8; font-size: clamp(18px, 1.7vw, 23px); line-height: 1.55; }
.light .lead { color: #4f544e; }
.section { padding: clamp(78px, 10vw, 150px) 0; border-bottom: 1px solid var(--dark-line); }
.section.light { background: var(--cream); color: var(--ink); border-bottom-color: var(--line); }
.section.teal { background: var(--teal); }
.section.orange { background: var(--orange); color: var(--ink); }
.section h2 em, .hero h1 em, .page-hero h1 em { color: var(--gold); font-family: 'Caveat', cursive; font-weight: 600; letter-spacing: 0; text-transform: none; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 10px; padding: 12px 21px; border: 1px solid var(--orange); border-radius: 5px; background: var(--orange); color: #fff; font-weight: 800; letter-spacing: .03em; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button::after { content: '↗'; font-size: 19px; line-height: 0; }
.button:hover { transform: translateY(-3px); box-shadow: 0 12px 30px #0004; }
.button.alt { border-color: #ffffff9c; background: transparent; color: var(--paper); }
.light .button.alt { border-color: var(--ink); color: var(--ink); }
.button.alt:hover { border-color: var(--gold); color: var(--gold); }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--teal); font-weight: 800; border-bottom: 1px solid currentColor; }
.text-link::after { content: '↗'; font-size: 18px; }
a:focus-visible, summary:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }

/* Hero */
.hero, .page-hero { position: relative; display: grid; align-items: end; min-height: 720px; overflow: hidden; background-color: var(--ink-soft); background-image: linear-gradient(90deg, #050607f7 0%, #050607df 36%, #05060772 70%, #050607e8 100%), var(--page-hero); background-position: center, 70% center; background-size: cover; }
.hero::after, .page-hero::after { content: ''; position: absolute; inset: auto 0 0; height: 35%; background: linear-gradient(0deg, var(--ink), transparent); pointer-events: none; }
.hero-in, .page-hero .wrap { position: relative; z-index: 1; }
.hero-in { padding: 178px 0 120px; }
.hero h1, .page-hero h1 { max-width: 1040px; margin: 22px 0 24px; line-height: .82; }
.hero p { max-width: 700px; color: #eef1e8; font-size: clamp(19px, 2vw, 26px); }
.page-hero { min-height: 620px; padding: 190px 0 100px; background-position: center, 68% center; }
.page-hero h1 { font-size: clamp(62px, 9vw, 130px); }
.page-hero .lead { max-width: 760px; }

/* Homepage rhythm */
.brand-lockup { display: flex; align-items: center; gap: 22px; max-width: 760px; }
.brand-lockup img { width: min(300px, 40vw); border-radius: 12px; box-shadow: 12px 12px 0 #f4bd2e45; }
.brand-lockup span { max-width: 300px; color: #cad7d0; font: 700 17px/1.25 'Barlow Condensed', sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.rail { display: grid; grid-template-columns: repeat(5, 1fr); background: var(--paper); color: var(--ink); }
.rail-item { min-height: 124px; display: grid; align-content: center; gap: 7px; padding: 20px; border-right: 1px solid var(--line); text-align: center; transition: background .2s ease, transform .2s ease; }
.rail-item:hover { background: #f1e4cd; transform: translateY(-3px); }
.rail-item:last-child { border-right: 0; }
.rail-item strong { font: 800 27px/1 'Barlow Condensed', sans-serif; text-transform: uppercase; }
.rail-item span { color: #63675e; font-size: 13px; }
.rail-item:nth-child(2) strong { color: var(--teal); }
.rail-item:nth-child(3) strong { color: var(--orange); }
.rail-item:nth-child(4) strong { color: #b47717; }
.rail-item:nth-child(5) strong { color: var(--teal-deep); }
.intro-grid, .split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(34px, 7vw, 100px); align-items: center; }
.intro-grid .quote { max-width: 560px; }
.quote { margin: 0 0 24px; color: var(--gold); font: 800 clamp(30px, 4.5vw, 68px)/.98 'Barlow Condensed', sans-serif; text-transform: uppercase; }
.manifesto { padding: clamp(30px, 5vw, 65px); background: var(--teal); color: var(--paper); box-shadow: 20px 20px 0 #f4bd2e; }
.manifesto h3 { color: var(--gold); }
.manifesto p { max-width: 580px; font-size: 18px; }
.ecosystem-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; margin-top: 52px; }
.ecosystem-card { position: relative; min-height: 278px; display: flex; flex-direction: column; justify-content: end; overflow: hidden; padding: 22px; border: 1px solid #ffffff2a; background: #172024; transition: transform .25s ease, border-color .25s ease; }
.ecosystem-card:hover { transform: translateY(-7px); border-color: var(--gold); }
.ecosystem-card::before { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, #061013ef, #0610131c 70%); }
.ecosystem-card:nth-child(1) { background-image: url('assets/ref/gather-home-hero.jpg'); background-position: center; background-size: cover; }
.ecosystem-card:nth-child(2) { background-image: url('assets/ref/conference-hero.jpg'); background-position: center; background-size: cover; }
.ecosystem-card:nth-child(3) { background-image: url('assets/ref/heart-soul-hero.jpg'); background-position: center; background-size: cover; }
.ecosystem-card:nth-child(4) { background-image: url('assets/brand/heart-soul-source.jpeg'); background-position: center; background-size: cover; }
.ecosystem-card:nth-child(5) { background-image: url('assets/ref/aaron-ministry-hero.jpg'); background-position: center; background-size: cover; }
.ecosystem-card:nth-child(6) { background-image: url('assets/brand/heart-soul-source.jpeg'); background-position: center; background-size: cover; }
.ecosystem-card > * { position: relative; z-index: 1; }
.ecosystem-card h3 { margin-bottom: 8px; color: #fff; font-size: 31px; }
.ecosystem-card p { margin-bottom: 16px; color: #e1e4dc; font-size: 14px; line-height: 1.45; }
.ecosystem-card .text-link { color: var(--gold); border-color: #f4bd2e75; }
.media-band { background: #e9e0d0; color: var(--ink); }
.media-art { position: relative; }
.media-art img { display: block; width: 100%; border-radius: 8px; box-shadow: 18px 18px 0 var(--orange); }
.media-art .media-sticker { position: absolute; right: -20px; bottom: -22px; width: 160px; padding: 20px 14px; background: var(--teal); color: var(--paper); font: 800 25px/.9 'Barlow Condensed', sans-serif; text-align: center; text-transform: uppercase; transform: rotate(5deg); }
.event-feature { background: var(--ink-soft); }
.event-feature img { width: 100%; border: 1px solid #ffffff25; box-shadow: 20px 22px 0 #f4bd2e3d; }
.event-feature h2 { max-width: 650px; }
.story-strip { display: grid; grid-template-columns: 1.2fr repeat(4, 1fr); gap: 14px; margin-top: 46px; }
.story-card { min-height: 200px; display: flex; flex-direction: column; justify-content: end; padding: 20px; border: 1px solid #ffffff25; background: linear-gradient(0deg, #050607ee, #05060710), url('assets/ref/gather-home-hero.jpg') center / cover; }
.story-card:nth-child(3) { background-image: linear-gradient(0deg, #050607ee, #05060710), url('assets/ref/conference-hero.jpg'); }
.story-card:nth-child(4) { background-image: linear-gradient(0deg, #050607ee, #05060710), url('assets/brand/heart-soul-source.jpeg'); }
.story-card:nth-child(5) { background-image: linear-gradient(0deg, #050607ee, #05060710), url('assets/ref/aaron-ministry-hero.jpg'); }
.story-card strong { font: 800 24px/1 'Barlow Condensed', sans-serif; text-transform: uppercase; }
.story-card span { color: #ddd8cc; font-size: 12px; }
.story-card:first-child { border-color: var(--gold); background: var(--gold); color: var(--ink); }
.story-card:first-child span { color: #4c3d17; }
.closing { position: relative; overflow: hidden; background: linear-gradient(120deg, #0c1719, #175d63 54%, #0c1719); }
.closing::after { content: 'H+S'; position: absolute; right: -3%; bottom: -35%; color: #ffffff08; font: 900 300px/.7 'Barlow Condensed', sans-serif; }
.closing .wrap { position: relative; z-index: 1; }

/* Cards, lists and media */
.grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 4vw, 56px); margin-top: 48px; }
.card { padding-top: 22px; border-top: 3px solid var(--orange); }
.light .card { border-top-color: var(--teal); }
.card p { color: #c5ccc4; }
.light .card p { color: #5e625a; }
.card h3 { font-size: clamp(26px, 2.8vw, 38px); }
.plain-list { max-width: 880px; margin: 38px 0 34px; padding: 0; list-style: none; }
.plain-list li { padding: 18px 0; border-bottom: 1px solid currentColor; font: 800 clamp(23px, 2.6vw, 36px)/1.05 'Barlow Condensed', sans-serif; text-transform: uppercase; }
.plain-list li::before { content: '↳'; display: inline-block; width: 42px; color: var(--orange); }
.light .plain-list li { border-color: var(--line); }
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 45px; }
.metric { padding-top: 15px; border-top: 3px solid var(--gold); }
.metric strong { display: block; font: 800 52px/1 'Barlow Condensed', sans-serif; }
.metric span { color: var(--muted); }
.image-frame { margin: 0; overflow: hidden; border: 1px solid #ffffff25; background: #141a1c; }
.image-frame img { display: block; width: 100%; height: 100%; object-fit: cover; }
.logo-panel { display: grid; place-items: center; min-height: 210px; padding: 28px; background: #efe7d8; }
.logo-panel img { max-width: min(100%, 420px); max-height: 130px; object-fit: contain; }
.media-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: end; }
.media-pair img { width: 100%; border: 1px solid #1114161c; box-shadow: 12px 14px 0 var(--teal); }
.media-pair img:last-child { box-shadow: 12px 14px 0 var(--orange); }
.timeline { position: relative; max-width: 1000px; margin-top: 60px; }
.event { position: relative; display: grid; grid-template-columns: 190px 1fr; gap: 46px; padding: 0 0 62px; }
.event::before { content: ''; position: absolute; top: 15px; bottom: 0; left: 213px; width: 1px; background: #15151530; }
.event::after { content: ''; position: absolute; top: 11px; left: 209px; width: 9px; height: 9px; border: 3px solid var(--cream); border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 1px var(--orange); }
.event:last-child::before { display: none; }
.event-number { color: var(--orange); font: 800 58px/.9 'Barlow Condensed', sans-serif; opacity: .85; }
.event h3 { margin-top: 8px; font-size: clamp(29px, 4vw, 50px); }
.event p { color: #5f625b; font-size: 17px; }
.event .eyebrow { color: var(--teal); }
.inquiry { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 36px; max-width: 920px; margin-top: 45px; }
.inquiry label { display: grid; gap: 8px; color: var(--paper); font-weight: 700; }
.inquiry label span { color: #aebbb2; font-weight: 400; }
.inquiry .full { grid-column: 1 / -1; }
.inquiry input, .inquiry select, .inquiry textarea { width: 100%; padding: 14px 12px; border: 0; border-bottom: 1px solid #ffffff66; border-radius: 0; background: #ffffff08; color: var(--paper); }
.inquiry select option { background: var(--ink-soft); }
.light .inquiry label { color: var(--ink); }
.light .inquiry input, .light .inquiry select, .light .inquiry textarea { border-color: #15151544; background: #00000004; color: var(--ink); }
.light .inquiry label span { color: #6e7068; }
.light .inquiry select option { background: var(--cream); color: var(--ink); }
.small { color: #aeb9b1; font-size: 13px; }
.light .small { color: #656961; }
.form-note { max-width: 780px; padding: 18px 20px; border-left: 4px solid var(--gold); background: #ffffff08; }
.light .form-note { background: #00000006; }

/* Founder and brand pages */
.founder-layout { display: grid; grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr); gap: clamp(42px, 8vw, 115px); align-items: center; }
.founder-photo { margin: 0; overflow: hidden; border-radius: 30px 6px 30px 6px; box-shadow: 20px 22px 0 var(--gold); }
.founder-photo img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.founder-signature { display: grid; gap: 12px; margin-top: 32px; }
.founder-signature img { width: min(100%, 420px); height: 90px; object-fit: contain; object-position: left center; mix-blend-mode: multiply; }
.founder-quote { max-width: 720px; margin: 30px 0 0; padding: 20px 0 0 22px; border-left: 4px solid var(--orange); color: var(--ink); font: italic 700 clamp(22px, 2.2vw, 31px)/1.2 'Libre Baskerville', Georgia, serif; }
.founders-section { position: relative; overflow: hidden; background: radial-gradient(circle at 12% 8%, #1c6163 0%, transparent 34%), radial-gradient(circle at 92% 82%, #502b25 0%, transparent 31%), linear-gradient(135deg, #081314 0%, #102528 55%, #111416 100%); }
.founders-section::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, transparent 0 48%, #ffffff08 48% 49%, transparent 49% 100%); }
.founders-section > .wrap { position: relative; z-index: 1; }
.founders-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .8fr); gap: clamp(32px, 8vw, 120px); align-items: end; }
.founders-heading h2 { margin-bottom: 0; }
.founders-section h2 em, .founders-section h3 em { color: var(--gold); font-family: 'Caveat', cursive; font-weight: 600; letter-spacing: 0; text-transform: none; }
.founders-kicker { max-width: 500px; margin: 0; color: #d8e2dd; font-size: clamp(18px, 1.8vw, 24px); line-height: 1.45; }
.founders-gallery { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(290px, 1fr)); gap: 18px; margin-top: 58px; }
.founder-photo-card { position: relative; min-height: 240px; margin: 0; overflow: hidden; border: 1px solid #ffffff2c; border-radius: 24px 8px 24px 8px; background: #0b1112; box-shadow: 0 22px 55px #0004; }
.founder-photo-card--lead { grid-column: span 4; min-height: 360px; border-color: #f4bd4670; }
.founder-photo-card:nth-child(2), .founder-photo-card:nth-child(3) { grid-column: span 4; }
.founder-photo-card:nth-child(4), .founder-photo-card:nth-child(5) { grid-column: span 6; }
.founder-photo-card:nth-child(6) { grid-column: span 12; min-height: 360px; }
.founder-photo-card img, .founder-photo-card video { display: block; width: 100%; height: 100%; min-height: 100%; object-fit: cover; transition: transform .45s ease; }
.founder-photo-card:hover img, .founder-photo-card:hover video { transform: scale(1.03); }
.founder-photo-card:nth-child(1) img { object-position: 50% 30%; }
.founder-photo-card:nth-child(2) img { object-position: 50% 25%; }
.founder-photo-card:nth-child(3) img { object-position: 50% 34%; }
.founder-photo-card:nth-child(4) img, .founder-photo-card:nth-child(5) img { object-position: 50% 35%; }
.founder-photo-card figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 34px 20px 18px; background: linear-gradient(0deg, #050708e8, transparent); color: #fff; font-weight: 700; }
.founders-bio { display: grid; grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr); gap: clamp(34px, 7vw, 105px); margin-top: 78px; padding-top: 42px; border-top: 1px solid #ffffff35; }
.founders-bio-intro h3 { margin-top: 18px; font-size: clamp(42px, 5vw, 70px); }
.founders-copy { max-width: 900px; }
.founders-copy .lead { color: #eef5ef; }
.founders-copy > p:not(.lead) { max-width: 820px; color: #d0dbd4; font-size: 17px; }
.founder-bio-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 38px; }
.founder-bio-columns > div { padding-top: 20px; border-top: 2px solid var(--orange); }
.founder-bio-columns p { color: #d0dbd4; }
.founders-family { margin-top: 38px; padding: 18px 0 0 20px; border-left: 4px solid var(--gold); color: #f2eee4; }
.boundary { display: flex; gap: 20px; align-items: baseline; margin-top: 44px; padding: 20px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.boundary strong { flex: 0 0 auto; color: var(--orange); font: 800 25px/1 'Barlow Condensed', sans-serif; text-transform: uppercase; }
.boundary span { color: #5f625b; }
.book-card { display: grid; grid-template-columns: .65fr 1.35fr; gap: 36px; align-items: center; }
.book-card img { width: 100%; max-width: 330px; border: 1px solid #1114161c; box-shadow: 16px 18px 0 var(--teal); }
.book-list { columns: 2; column-gap: 34px; max-width: 760px; padding: 0; list-style: none; }
.book-list li { padding: 12px 0; border-bottom: 1px solid var(--line); font: 800 22px/1.05 'Barlow Condensed', sans-serif; text-transform: uppercase; break-inside: avoid; }
.book-list li::before { content: '•'; display: inline-block; width: 22px; color: var(--orange); }

/* Footer */
.footer { padding: 58px 0 46px; background: #080b0c; }
.footer-in { display: flex; justify-content: space-between; gap: 34px; padding-top: 30px; border-top: 1px solid #ffffff20; }
.footer-logo { width: 210px; height: 86px; object-fit: cover; object-position: center; border-radius: 8px; }
.footer a:not(.footer-logo) { color: #dbe1d8; }
.footer a:not(.footer-logo):hover { color: var(--gold); }

@media (max-width: 1100px) {
  .nav-in { flex-wrap: wrap; padding: 10px 0; }
  .navlinks { order: 3; width: 100%; justify-content: flex-start; overflow-x: auto; }
  .nav-cta { margin-left: auto; }
  .ecosystem-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ecosystem-card:nth-child(4), .ecosystem-card:nth-child(5) { min-height: 220px; }
  .story-strip { grid-template-columns: repeat(2, 1fr); }
  .story-card:first-child { grid-column: span 2; }
}

@media (max-width: 720px) {
  .wrap { width: min(100% - 36px, 1260px); }
  .nav { top: 0; }
  .nav-in { min-height: 70px; flex-wrap: wrap; padding: 8px 0; }
  .brand-logo { width: 140px; height: 54px; }
  .menu-toggle { display: inline-flex; margin-left: auto; min-width: 42px; min-height: 40px; align-items: center; justify-content: center; border: 1px solid #11141635; border-radius: 5px; background: transparent; color: var(--ink); font-size: 0; }
  .menu-toggle::before { content: '☰'; font-size: 19px; }
  .nav.open .menu-toggle::before { content: '×'; font-size: 26px; }
  .navlinks { display: none; order: 3; width: 100%; flex-direction: column; align-items: stretch; gap: 0; padding: 6px 0 2px; overflow: visible; }
  .nav.open .navlinks { display: flex; }
  .navlinks a, .navlinks summary { padding: 13px 4px; }
  .navlinks a::after, .navlinks summary::after { display: none; }
  .navlinks details { width: 100%; }
  .dropdown { position: static; min-width: 0; padding: 5px; transform: none; box-shadow: none; border-color: #ffffff1b; }
  .nav-cta { display: none; }
  .nav.open .nav-cta { display: inline-flex; order: 4; width: 100%; margin: 10px 0 2px; }
  .hero { min-height: 760px; background-position: center, 68% center; }
  .hero-in { padding: 150px 0 90px; }
  .hero h1, .page-hero h1 { font-size: clamp(58px, 16vw, 98px); }
  .brand-lockup { align-items: flex-start; flex-direction: column; }
  .brand-lockup img { width: 245px; }
  .rail { grid-template-columns: repeat(2, 1fr); }
  .rail-item { min-height: 100px; padding: 16px 10px; }
  .rail-item:nth-child(odd) { border-right: 1px solid var(--line); }
  .rail-item:nth-child(n+3) { border-top: 1px solid var(--line); }
  .rail-item:last-child { grid-column: span 2; border-right: 0; }
  .section { padding: 78px 0; }
  .intro-grid, .split, .founder-layout, .book-card { grid-template-columns: 1fr; }
  .founders-heading, .founders-bio { grid-template-columns: 1fr; }
  .founders-gallery { grid-template-columns: 1fr; grid-template-rows: auto; }
  .founders-gallery .founder-photo-card, .founders-gallery .founder-photo-card--lead { grid-column: auto; grid-row: auto; }
  .founder-photo-card--lead { min-height: 380px; }
  .founder-bio-columns { grid-template-columns: 1fr; }
  .manifesto { box-shadow: 12px 14px 0 var(--gold); }
  .ecosystem-grid, .grid { grid-template-columns: 1fr; }
  .ecosystem-card { min-height: 300px; }
  .media-art .media-sticker { right: 8px; bottom: -20px; width: 130px; }
  .story-strip { grid-template-columns: 1fr; }
  .story-card:first-child { grid-column: auto; }
  .page-hero { min-height: 580px; padding: 160px 0 78px; background-position: center, 65% top; }
  .event { grid-template-columns: 1fr; gap: 8px; padding-left: 28px; }
  .event::before { left: 3px; top: 14px; }
  .event::after { left: -1px; top: 11px; }
  .event-number { display: none; }
  .metrics { grid-template-columns: repeat(2, 1fr); }
  .inquiry { grid-template-columns: 1fr; }
  .inquiry .full { grid-column: auto; }
  .media-pair { grid-template-columns: 1fr 1fr; gap: 10px; }
  .book-list { columns: 1; }
  .boundary { flex-direction: column; gap: 10px; align-items: flex-start; }
  .footer-in { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Editorial cleanup: one clear story, strong type, and intentional imagery. */
.page-hero { background-image: linear-gradient(115deg, #071012 0%, #101719 54%, #0a0d0e 100%), none; }
.signal-panel { min-height: 300px; display: flex; flex-direction: column; justify-content: center; gap: 16px; padding: clamp(28px, 6vw, 70px); border: 1px solid #ffffff2b; background: linear-gradient(135deg, #192b2c 0%, #0d1718 100%); box-shadow: 18px 18px 0 var(--gold); }
.signal-panel strong { max-width: 560px; color: var(--paper); font: 800 clamp(34px, 5vw, 68px)/.95 'Barlow Condensed', sans-serif; letter-spacing: -.035em; text-transform: uppercase; }
.signal-panel span { max-width: 560px; color: #d9dfd7; font-size: 18px; }
.section.light .signal-panel { background: linear-gradient(135deg, #0d1718 0%, #17383a 100%); }
.ecosystem-card, .story-card { background-image: none !important; }
.ecosystem-card:nth-child(1), .ecosystem-card:nth-child(2), .ecosystem-card:nth-child(3), .ecosystem-card:nth-child(4), .ecosystem-card:nth-child(5), .ecosystem-card:nth-child(6), .story-card:nth-child(3), .story-card:nth-child(4), .story-card:nth-child(5) { background: #172024; }
.image-removed { background: transparent; }
.page-index #programs .image-removed::after { content: 'GATHER, FORM, EQUIP, SEND.'; min-height: 300px; display: flex; align-items: center; padding: 42px; background: linear-gradient(135deg, #147d83, #07515b); color: var(--paper); box-shadow: 18px 18px 0 var(--orange); font: 800 clamp(34px, 5vw, 64px)/.92 'Barlow Condensed', sans-serif; }
.page-road-to-gather .image-removed::after { content: 'BRING A TABLE. MAKE ROOM. KEEP GOING.'; min-height: 300px; display: flex; align-items: center; padding: 42px; background: linear-gradient(135deg, #147d83, #07515b); color: var(--paper); box-shadow: 18px 18px 0 var(--gold); font: 800 clamp(34px, 5vw, 64px)/.92 'Barlow Condensed', sans-serif; }
.page-gather #measure .image-removed::after { content: 'TRUST. BELONGING. GROWTH.'; min-height: 300px; display: flex; align-items: center; padding: 42px; background: linear-gradient(135deg, #192b2c, #0d1718); color: var(--paper); box-shadow: 18px 18px 0 var(--gold); font: 800 clamp(34px, 5vw, 64px)/.92 'Barlow Condensed', sans-serif; }
.page-about #family .image-removed::after { content: 'HEALTHY MOVEMENTS BEGIN WITH HEALTHY RELATIONSHIPS.'; min-height: 300px; display: flex; align-items: center; padding: 42px; background: linear-gradient(135deg, #192b2c, #0d1718); color: var(--paper); box-shadow: 18px 18px 0 var(--gold); font: 800 clamp(34px, 5vw, 64px)/.92 'Barlow Condensed', sans-serif; }
.media-art img, .event-feature img { display: none; }
.media-art { min-height: 300px; display: flex; align-items: center; }
.media-art::before { content: 'REAL FAITH.\A EVERYDAY LIFE.\A ETERNAL PURPOSE.'; white-space: pre; display: block; width: 100%; padding: 70px 34px; background: linear-gradient(135deg, #147d83, #07515b); color: var(--paper); box-shadow: 18px 18px 0 var(--orange); font: 800 clamp(30px, 5vw, 64px)/.92 'Barlow Condensed', sans-serif; }
.media-art .media-sticker { display: none; }
#founder .founder-photo > img:first-child { display: none; }
#founder .founder-photo { display: grid; place-items: center; min-height: 240px; }
.founders-gallery .founder-photo-card--lead { display: none; }

/* Sleek modern system: clear logo contrast, fluid surfaces, and restrained motion. */
img[src*="heart-soul-logo-transparent"] { background: #f7f3ea; padding: 8px 12px; border-radius: 12px; object-fit: contain !important; box-shadow: 0 8px 24px #0002; }
img[src*="aaron-young-logo-transparent"] { background: #111416; padding: 8px 12px; border-radius: 12px; object-fit: contain !important; box-shadow: 0 8px 24px #0003; }
img[src*="gather-conference-logo-transparent"] { background: #f7f3ea; padding: 10px 14px; border-radius: 14px; object-fit: contain !important; box-shadow: 0 10px 28px #0003; }
.brand-logo { object-fit: contain !important; }
.nav { box-shadow: 0 12px 40px #0003; }
.button, .card, .feature-card, .logo-panel, .manifesto, .ecosystem-card { transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease; }
.button:hover { transform: translateY(-4px) scale(1.01); }
.card:hover, .ecosystem-card:hover, .logo-panel:hover { transform: translateY(-6px); box-shadow: 0 18px 38px #0003; }
.card, .ecosystem-card, .logo-panel { border-radius: 18px; }
.card { padding: 26px; border: 1px solid #ffffff18; border-top: 3px solid var(--orange); }
.light .card { border-top-color: var(--teal); border-color: #1112; }
.logo-panel { overflow: hidden; border: 1px solid #1112; }
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.button,.card,.feature-card,.logo-panel,.manifesto,.ecosystem-card{transition:none}}
.conference-media{background:#0b0e0f;color:var(--paper)}.conference-media-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,7vw,100px);align-items:end}.conference-media-head h2{margin-top:18px}.conference-video-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:22px;margin-top:48px}.video-frame,.video-link{border:1px solid #fff2;border-radius:20px;overflow:hidden;background:#121718}.video-frame iframe{display:block;width:100%;aspect-ratio:16/9;border:0}.video-frame .small{padding:0 18px 18px}.video-link{display:flex;flex-direction:column;justify-content:center;gap:18px;padding:clamp(24px,4vw,52px);color:var(--paper);transition:transform .28s ease,background .28s ease,border-color .28s ease}.video-link strong{font:800 clamp(30px,4vw,58px)/.95 'Barlow Condensed',sans-serif;color:var(--gold)}.video-link span:last-child{color:#c8cec7}.video-link:hover{transform:translateY(-6px);background:#182326;border-color:var(--gold)}.conference-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}.conference-photo-grid figure{margin:0;overflow:hidden;border-radius:18px;background:#111;border:1px solid #fff2}.conference-photo-grid img{display:block;width:100%;height:240px;object-fit:cover;transition:transform .5s ease}.conference-photo-grid figure:hover img{transform:scale(1.04)}.conference-photo-grid figcaption{padding:14px 16px;color:var(--gold);font:800 15px/1 'Barlow Condensed',sans-serif;letter-spacing:.12em;text-transform:uppercase}.conference-history{background:var(--cream);color:var(--ink)}.conference-history .small{color:#656961}.conference-history p{max-width:700px}.archive-note{margin-top:42px;padding:26px;border:1px solid #fff2;border-radius:18px;background:#151b1c}.archive-note h3{margin:.4rem 0;font:800 clamp(42px,6vw,76px)/.9 'Barlow Condensed',sans-serif;color:var(--gold)}.archive-note p{max-width:720px;color:#d7ddd5}.archive-note .small{color:#aeb9b1}@media(max-width:760px){.conference-media-head,.conference-video-grid{grid-template-columns:1fr}.conference-photo-grid{grid-template-columns:1fr}.conference-photo-grid img{height:220px}}

/* Uploaded worship photograph for the opening conference section. */
.page-conference .formed-hero{background-image:linear-gradient(90deg,#050607dc 0%,#0506079c 48%,#05060738 100%),url("assets/worship-crowd-hero.webp");background-position:center,center 42%;background-size:cover}.formed-hero p{max-width:740px}.page-conference .section.light .button.alt{color:var(--ink);border-color:var(--ink)}

/* Front Line team directory. */
.frontline-hero { min-height: 650px; background-image: radial-gradient(circle at 82% 28%, #147d8340, transparent 28%), linear-gradient(118deg, #06090a 0%, #101c1d 58%, #0d1112 100%); }
.frontline-hero::after { height: 42%; background: linear-gradient(0deg, #0b0c0d, transparent); }
.frontline-hero h1 { max-width: 900px; }
.frontline-overview { background: var(--cream); color: var(--ink); }
.frontline-overview-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr); gap: clamp(36px, 7vw, 100px); align-items: center; }
.frontline-overview h2 { max-width: 620px; margin-top: 18px; }
.frontline-overview h2 em { color: var(--teal-deep); }
.frontline-overview .lead { max-width: 700px; }
.frontline-overview p:not(.lead) { max-width: 720px; color: #565b54; font-size: 17px; }
.frontline-signals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 36px; }
.frontline-signals span { display: grid; gap: 6px; padding-top: 12px; border-top: 3px solid var(--orange); color: #3f4741; font-weight: 700; line-height: 1.25; }
.frontline-signals b { color: var(--teal); font: 800 28px/1 'Barlow Condensed', sans-serif; }
.frontline-board { position: relative; margin: 0; overflow: hidden; border: 1px solid #1114162b; background: #101718; box-shadow: 18px 20px 0 var(--gold); }
.frontline-board img { display: block; width: 100%; aspect-ratio: 1.08 / 1; object-fit: cover; object-position: center top; }
.frontline-board figcaption { padding: 15px 18px; background: #101718; color: var(--gold); font: 800 14px/1.15 'Barlow Condensed', sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.frontline-note { display: flex; gap: 24px; align-items: baseline; margin-top: 74px; padding: 20px 0 0; border-top: 1px solid #11141642; }
.frontline-note strong { flex: 0 0 auto; color: var(--orange); font: 800 23px/1 'Barlow Condensed', sans-serif; text-transform: uppercase; }
.frontline-note span { max-width: 800px; color: #5c625a; }
.frontline-dark { background: #0b0c0d; color: var(--paper); }
.frontline-paper { background: var(--cream); color: var(--ink); }
.frontline-section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .72fr); gap: clamp(32px, 7vw, 100px); align-items: end; }
.frontline-section-head h2 { margin: 17px 0 0; }
.frontline-section-head .lead { margin: 0; }
.frontline-paper .frontline-section-head .lead { color: #555b53; }
.frontline-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 58px; }
.frontline-card { min-height: 430px; display: flex; flex-direction: column; padding: 24px 22px 20px; border: 1px solid #ffffff22; border-top: 3px solid var(--gold); background: linear-gradient(150deg, #172224, #111819); color: var(--paper); transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.frontline-card:hover { transform: translateY(-7px); border-color: var(--gold); box-shadow: 0 18px 40px #0007; }
.frontline-card-top { display: flex; justify-content: space-between; gap: 12px; align-items: start; min-height: 48px; }
.frontline-number { color: var(--orange); font: 800 42px/.85 'Barlow Condensed', sans-serif; }
.frontline-status { max-width: 130px; color: #cfd9cf; font: 800 11px/1.15 'Barlow Condensed', sans-serif; letter-spacing: .13em; text-align: right; text-transform: uppercase; }
.frontline-card h3 { margin: 20px 0 12px; font-size: clamp(28px, 2.7vw, 39px); line-height: .9; }
.frontline-card h3 span { display: block; margin-top: 8px; color: #bcc8bd; font: 700 14px/1.05 'DM Sans', sans-serif; letter-spacing: .02em; text-transform: none; }
.frontline-motto { min-height: 24px; color: var(--gold); font: 800 13px/1.2 'Barlow Condensed', sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.frontline-card p { margin: 20px 0 22px; color: #cbd4cc; font-size: 15px; line-height: 1.5; }
.frontline-card details { margin-top: auto; border-top: 1px solid #ffffff24; }
.frontline-card summary { padding-top: 16px; cursor: pointer; color: var(--paper); font-weight: 800; list-style: none; }
.frontline-card summary::-webkit-details-marker { display: none; }
.frontline-card summary::after { content: '+'; float: right; color: var(--gold); font-size: 22px; line-height: .7; }
.frontline-card details[open] summary::after { content: '−'; }
.frontline-card ul { display: grid; gap: 8px; margin: 15px 0 0; padding: 0 0 2px 18px; color: #cbd4cc; font-size: 14px; line-height: 1.4; }
.frontline-grid-light .frontline-card { border-color: #11141622; border-top-color: var(--teal); background: #fffdf9; color: var(--ink); box-shadow: 0 16px 40px #1114160c; }
.frontline-grid-light .frontline-card:hover { border-color: var(--teal); box-shadow: 0 18px 42px #11141620; }
.frontline-grid-light .frontline-status { color: #69736b; }
.frontline-grid-light .frontline-card h3 span { color: #5f675f; }
.frontline-grid-light .frontline-card p, .frontline-grid-light .frontline-card ul { color: #5b635b; }
.frontline-grid-light .frontline-card details { border-color: #11141626; }
.frontline-grid-light .frontline-card summary { color: var(--ink); }
.frontline-close { background: var(--teal); }
.frontline-close .split { align-items: end; }
.frontline-close h2 { margin-bottom: 0; }
@media (max-width: 1050px) {
  .frontline-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .frontline-overview-grid, .frontline-section-head { grid-template-columns: 1fr; }
  .frontline-overview-grid { gap: 48px; }
  .frontline-signals { grid-template-columns: 1fr; gap: 18px; }
  .frontline-board { box-shadow: 12px 14px 0 var(--gold); }
  .frontline-note { display: grid; gap: 10px; margin-top: 58px; }
  .frontline-grid { grid-template-columns: 1fr; margin-top: 38px; }
  .frontline-card { min-height: 0; }
}

/* Navigation, clear next steps, and readable supporting information. */
[id]{scroll-margin-top:110px} [hidden]{display:none!important} .help-list{max-width:900px;margin-top:32px}.help-list details{padding:20px 0;border-bottom:1px solid currentColor}.help-list summary{font-size:1.125rem;font-weight:700;cursor:pointer}.help-list p{max-width:75ch;line-height:1.7}.audit-section p{max-width:75ch}.audit-section .actions{margin-bottom:20px}.site-directory{padding:28px 0;border-top:1px solid #ffffff40;margin-top:32px;display:flex;flex-wrap:wrap;gap:16px 24px}.site-directory a{text-decoration:underline;text-underline-offset:5px;font-size:1rem}.navlinks{font-size:14px}.navlinks a,.navlinks summary{min-height:44px;display:inline-flex;align-items:center}.audit-section textarea{width:100%;min-height:160px;font:inherit;padding:14px}.button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e4b863;outline-offset:5px}.audit-note{font-size:1rem;line-height:1.65}.draft-copy{width:100%;min-height:200px;padding:16px;font:inherit}.image-removed::after{display:none}.split.image-removed{grid-template-columns:1fr}.split.image-removed>div{max-width:900px}.help-list summary::marker{color:currentColor}@media(max-width:1100px){.nav-in{flex-wrap:wrap}.navlinks{flex-wrap:wrap;gap:8px 18px}}@media(max-width:720px){.nav-in{flex-wrap:wrap}.navlinks{flex-basis:100%}.nav.open .navlinks{max-height:65vh;overflow-y:auto}.site-directory{flex-direction:column}.help-list summary{line-height:1.45}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}

.story-copy{max-width:850px;margin:0 auto}.story-copy p{font-size:1.125rem;line-height:1.8}.story-copy h3{margin-top:2.5rem}.story-copy .button.alt{color:inherit;border-color:currentColor}.formation-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:48px}.formation-steps article{padding-top:24px;border-top:2px solid var(--accent)}.formation-steps strong{font-size:1rem}.formation-steps h3{font-size:1.75rem;line-height:1.2;margin-top:18px}.formation-steps p{font-size:1rem;line-height:1.7}@media(max-width:720px){.formation-steps{grid-template-columns:1fr}.story-hero h1{font-size:clamp(2.8rem,11vw,4.5rem)}}
