/* Lord Family Ministry. Hand-coded, no framework. Layout after revolutionyouth.com; colours, logo and type from the LFM Brand Guidelines (Nov 2022).
   Brand palette: sage #B1B1A6 · blush #E3B5A8 · slate #859DA2 · grey #CACAC9 · black · white.
   Headlines: Playfair Display Medium Italic (OFL), a web stand-in for Mirador (desktop font). Body: system sans = SF Pro on Apple devices (brand font 2). */
@font-face{font-family:"LFM Serif";src:url(/assets/fonts/playfair-medium-italic.woff2) format("woff2");font-style:italic;font-weight:500;font-display:swap}
/* long reading text (older pages, newsletter): Source Serif 4 (OFL), Nov 8 2026 */
@font-face{font-family:"LFM Text";src:url(/assets/fonts/source-serif-4.woff2) format("woff2");font-style:normal;font-weight:200 900;font-display:swap}
@font-face{font-family:"LFM Text";src:url(/assets/fonts/source-serif-4-italic.woff2) format("woff2");font-style:italic;font-weight:200 900;font-display:swap}
:root{
  --ink:#1d1f1e;--muted:#5d605c;--paper:#fbfaf7;--band:#eeede8;--line:#dedcd4;
  --sage:#b1b1a6;--blush:#e3b5a8;--slate:#859da2;--grey:#cacac9;
  --accent:#4d6469;--accent-ink:#3b4f53;--on-accent:#fff;--focus:#0b57d0;
  --sans:system-ui,-apple-system,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --serif:"LFM Serif",Georgia,"Times New Roman",serif;
  --read:"LFM Text",Charter,"Iowan Old Style",Georgia,serif;
  --wrap:72rem;--gutter:clamp(1.25rem,5vw,3rem);--space:clamp(4.5rem,9vw,8rem);--radius:1rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:1.0625rem/1.7 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:1rem;top:-4rem;background:var(--ink);color:var(--paper);padding:.6rem 1rem;z-index:20}
.skip:focus{top:1rem}
.wrap{width:min(100% - 2*var(--gutter),var(--wrap));margin-inline:auto}
h1,h2{font-family:var(--serif);font-style:italic;font-weight:500;line-height:1.12;letter-spacing:-.01em;margin:0 0 .6em;text-wrap:balance}
h1{font-size:clamp(2.3rem,5vw,4rem)}
h2{font-size:clamp(1.8rem,3.2vw,2.5rem);margin-bottom:.75em}
h3{font-size:1.2rem;font-weight:650;letter-spacing:-.015em;line-height:1.3;margin:0 0 .4em}
p{margin:0 0 1em;max-width:40rem;text-wrap:pretty}
.eyebrow{font:600 .78rem/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 1.25rem}
.lede{font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.55;color:var(--muted)}

/* header */
.site-head{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--paper) 90%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.site-head .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 2rem;padding:1rem 0}
.logo{display:block;line-height:0}
.logo img{width:150px;height:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1.75rem}
.nav a{color:var(--muted);text-decoration:none;font-size:.95rem;font-weight:500;padding:.35rem 0;display:inline-block;transition:color .15s}
.nav a:hover,.nav a[aria-current]{color:var(--ink)}
.nav .btn{padding:.5rem 1.15rem;font-size:.92rem;color:var(--ink)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--on-accent);font-weight:600;font-size:1rem;text-decoration:none;padding:.85rem 1.6rem;border-radius:999px;border:1.5px solid var(--accent);line-height:1.25;transition:background .15s,border-color .15s,color .15s}
.btn:hover{background:var(--accent-ink);border-color:var(--accent-ink);text-decoration:none}
.btn.give{background:var(--blush);border-color:var(--blush);color:var(--ink)}
.btn.give:hover{background:#d9a293;border-color:#d9a293}
.btn.alt{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.alt:hover{border-color:var(--ink)}
.btns{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}

/* sections */
section{padding:var(--space) 0}
.band{background:var(--band)}
.hero{padding:clamp(3rem,7vw,6rem) 0 var(--space)}
.hero-grid{display:grid;gap:2.5rem;align-items:center}
.hero img{border-radius:var(--radius);width:100%;aspect-ratio:5/4;object-fit:cover}
.hero .lede{margin-bottom:0}

/* seminar list */
.topics{display:grid;gap:0 3rem;margin:2rem 0 0;padding:0;list-style:none}
.topics li{border-top:1px solid var(--line);padding:1.1rem 0;color:var(--muted);max-width:none}
.topics strong{display:block;color:var(--ink);font-weight:650;font-size:1.08rem;margin-bottom:.15rem}

/* tiles */
.cards3{display:grid;gap:2.5rem 2rem;margin-top:.5rem}
.tile{display:block;color:var(--ink);text-decoration:none}
.tile img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);margin-bottom:1.25rem;transition:transform .35s ease,opacity .35s ease;background:var(--band)}
.tile h3::after{content:"\2192";display:inline-block;margin-left:.4em;color:var(--muted);transition:transform .2s ease}
.tile p{color:var(--muted);margin:0}
.tile:hover img{transform:translateY(-4px);opacity:.92}
.tile:hover h3::after{transform:translateX(4px);color:var(--ink)}

/* dark photo band (brand: forest imagery, white wordmark) */
.photo-band{position:relative;color:#fff;background:#1b1d1a center/cover no-repeat;isolation:isolate}
.photo-band::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,17,15,.82),rgba(15,17,15,.45));z-index:-1}
.photo-band p{color:rgba(255,255,255,.82)}
.photo-band .mark{width:56px;margin-bottom:1.5rem;opacity:.9}

/* footer */
.site-foot{border-top:1px solid var(--line);padding:3.5rem 0 2.5rem;font-size:.92rem}
.foot-top{display:grid;gap:2rem}
.foot-top .logo img{width:130px}
.foot-cols{display:grid;gap:1.75rem;grid-template-columns:1fr 1fr}
.foot-cols h2{font:600 .78rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .6rem}
.foot-cols ul{list-style:none;padding:0;margin:0}
.foot-cols li{margin:.3rem 0}
.foot-cols a{color:var(--ink);text-decoration:none}
.foot-cols a:hover{text-decoration:underline}
.foot-base{margin-top:2.5rem;padding-top:1.75rem;border-top:1px solid var(--line);color:var(--muted);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem}
.foot-base p{margin:0;max-width:none}
.foot-base a{color:var(--muted)}

@media (min-width:720px){
  .topics{grid-template-columns:1fr 1fr}
  .cards3{grid-template-columns:repeat(3,1fr)}
  .foot-top{grid-template-columns:1fr 2fr}
  .foot-cols{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:960px){.hero-grid{grid-template-columns:1.05fr 1fr;gap:5rem}}
@media (max-width:719px){.site-head{position:static}}
@media (max-width:520px){.logo img{width:124px}.nav ul{gap:.25rem 1.25rem}.btn{padding:.8rem 1.35rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.nav,.skip{display:none}.site-head{position:static}}

/* Venture With GOD! page (/Venture/) */
.subnav{padding:0;border-block:1px solid var(--line)}
.subnav ul{list-style:none;margin:0;padding:.75rem 0;display:flex;flex-wrap:wrap;gap:.25rem 1.75rem}
.subnav a{color:var(--ink);text-decoration:none;font-size:.95rem;font-weight:500}
.subnav a:hover{text-decoration:underline}
.split{display:grid;gap:2.5rem}
.split > *{min-width:0}
.split.center{align-items:center}
.split img{border-radius:var(--radius)}
.prose p{max-width:38rem}
.pull{font-family:var(--serif);font-style:italic;font-size:clamp(1.35rem,2.2vw,1.7rem);line-height:1.35;color:var(--ink);margin:1.75rem 0}
.pull span{display:block;font:600 .8rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:.5rem}
.side{margin:0;display:grid;gap:1.5rem;align-content:start}
.qr-card{display:flex;align-items:center;gap:1rem;color:var(--ink);text-decoration:none;font-weight:600;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1rem}
.qr-card img{width:96px;border-radius:0}
.praises{display:grid;gap:1.5rem}
.praise{margin:0;background:var(--paper);border-radius:var(--radius);padding:1.75rem}
.praise blockquote{margin:0 0 1rem;font-size:1.02rem}
.praise figcaption{font-weight:650}
.praise figcaption::before{content:"\2014\00a0"}
.note{color:var(--muted);font-size:.95rem}
.qr-list{list-style:none;margin:2rem 0 0;padding:0;counter-reset:qr;column-gap:3rem}
.qr-list li{break-inside:avoid;border-top:1px solid var(--line);padding:.8rem 0 .8rem 2.6rem;position:relative;max-width:none}
.qr-list li::before{position:absolute;left:0;top:.8rem;width:1.8rem;font-size:.8rem;line-height:1.7;color:var(--muted)}
ol.qr-list li{counter-increment:qr}
ol.qr-list li::before{content:counter(qr)}
.qr-list.bonus li.song::before{content:"\266A"}
.qr-list.bonus li::before{content:"\2192"}
.qr-list li.video::before{content:"\25B6"}
.qr-list a{color:var(--ink);text-decoration-color:var(--line)}
.qr-list a:hover{text-decoration-color:var(--ink)}
.qr-list .credit{color:var(--muted);font-size:.92rem}
.address{margin:1rem 0 0;max-width:min(100%,30rem)}
.buy{margin:0}
.buy .btn{cursor:pointer;font-family:inherit}
@media (min-width:720px){.praises{grid-template-columns:repeat(2,1fr)}.qr-list{column-count:2}}
@media (min-width:960px){.split{grid-template-columns:1.3fr 1fr;gap:5rem}}

/* older pages, carried over word for word into the new look */
.page{padding-top:clamp(3rem,6vw,5rem)}
.page h1{max-width:48rem}
.old-page{overflow-wrap:anywhere}
.old-page>*{max-width:46rem}
.old-page p,.old-page li{max-width:none}
.old-page h2{margin-top:1.5em}
.old-page h3,.old-page h4{margin:1.5em 0 .5em}
.old-page img{border-radius:.6rem;margin:1.25rem 0;width:auto;max-width:100%}
.old-page .block{margin:0 0 1.5rem}
.old-page .block img{margin:.5rem 0}
.old-page audio,.old-page video{display:block;width:100%;max-width:32rem;margin:.75rem 0 .25rem}
.old-page video{max-width:100%;border-radius:.6rem;background:#000}
.old-page .dl{display:inline-block;font-size:.85rem;color:var(--muted);margin:0 0 1rem}
.old-page iframe{display:block;width:100%;min-height:28rem;border:1px solid var(--line);border-radius:.6rem;margin:1.25rem 0}
.old-page table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}
.old-page td,.old-page th{padding:.25rem .5rem;vertical-align:top}
.old-page hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}
.old-page blockquote{margin:1.5rem 0;padding-left:1.25rem;border-left:3px solid var(--blush)}
.old-page .buy{margin:1.25rem 0}
.old-page h1.page-h1{font-size:clamp(2.1rem,4.5vw,3.4rem);margin:0 0 .75em}
.old-page h1.page-h1 :is(b,strong){font-weight:inherit}
.old-page ul,.old-page ol{padding-left:1.25rem}
.old-page li>ul,.old-page li>ol{padding-left:1rem}
.old-page>.photo-grid,.old-page .photo-grid{max-width:none;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));margin:1.5rem 0}
.photo-grid figure{margin:0}
.photo-grid img{margin:0;width:100%;aspect-ratio:4/3;object-fit:cover}

/* reading type for long text (Nov 8 2026): serif body, ~65-character lines, clear steps from title to caption */
.old-page,.article{font-family:var(--read);font-size:clamp(1.0625rem,.98rem + .35vw,1.1875rem);line-height:1.65;font-optical-sizing:auto}
.old-page>*,.article>*{max-width:38rem}
.old-page p,.article p{margin:0 0 1.15em;max-width:38rem}
.old-page li,.article li{margin:0 0 .45em;max-width:38rem}
.old-page :is(b,strong),.article :is(b,strong){font-weight:650}
.old-page h1.page-h1{font-family:var(--serif)}
.old-page h2,.article h2{font-family:var(--serif);font-size:clamp(1.55rem,2.6vw,2rem);line-height:1.2;margin:2.2em 0 .6em}
.old-page h3,.article h3{font-family:var(--sans);font-size:1.15rem;font-weight:650;line-height:1.35;letter-spacing:-.01em;margin:2em 0 .5em}
.old-page h4,.article h4{font:600 .8rem/1.45 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:1.75em 0 .5em}
.old-page :is(h2,h3,h4)+:is(p,ul,ol){margin-top:0}
.old-page .dl,.old-page figcaption,.article figcaption{font-family:var(--sans)}
.old-page .btn,.old-page button,.old-page .buy{font-family:var(--sans)}
.old-page iframe,.old-page table,.old-page>.photo-grid{font-family:var(--sans)}
.old-page hr{max-width:38rem}

/* newsletter (/newsletter/) */
.issue-list{list-style:none;margin:2rem 0 0;padding:0;max-width:46rem}
.issue-list li{border-top:1px solid var(--line);padding:1.75rem 0;max-width:none}
.issue-list time,.article-meta{display:block;font:600 .78rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
.issue-list h2{font-size:clamp(1.5rem,2.6vw,1.9rem);margin:0 0 .4em}
.issue-list h2 a{color:var(--ink);text-decoration:none}
.issue-list h2 a:hover{text-decoration:underline;text-decoration-thickness:1px}
.issue-list p{font-family:var(--read);color:var(--muted);margin:0}
.article figure{margin:2rem 0}
.article figure img{border-radius:var(--radius);width:100%}
.article .kicker{font:600 .8rem/1.45 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem}
.article .sign{text-align:right}
.article blockquote{margin:1.75rem 0;padding:1.25rem 1.5rem;background:var(--band);border-radius:var(--radius);max-width:38rem}
.article blockquote p:last-child{margin-bottom:0}
.thanks{background:var(--band);border-radius:var(--radius);padding:1rem 1.25rem;font-weight:600;max-width:40rem;margin:0 0 2rem}
.thanks[hidden]{display:none}
.thanks p{margin:0}.thanks p+p{margin-top:.6rem;font-weight:400}

/* sign-up (Kit form) */
.signup{background:var(--band);border-radius:var(--radius);padding:clamp(1.5rem,4vw,2.5rem);max-width:46rem;margin:2.5rem 0}
.signup h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:0 0 .4em}
.signup p{color:var(--muted)}
.signup .formkit-form{max-width:none!important;margin:1rem 0 0!important;background:none!important;border:0!important;box-shadow:none!important}
.signup .formkit-form [data-style=clean]{padding:0!important}
.signup .formkit-fields{display:flex;flex-wrap:wrap;gap:.75rem;margin:0!important}
.signup .formkit-field{flex:1 1 16rem;margin:0!important}
.signup .formkit-input{width:100%;font:1rem/1.4 var(--sans)!important;padding:.85rem 1.1rem!important;border:1.5px solid var(--line)!important;border-radius:999px!important;background:#fff!important;color:var(--ink)!important}
.signup .formkit-input:focus{border-color:var(--accent)!important;outline:3px solid var(--focus);outline-offset:2px}
.signup .formkit-submit{flex:0 0 auto;margin:0!important;background:var(--accent)!important;border-radius:999px!important;font:600 1rem/1.25 var(--sans)!important;cursor:pointer}
.signup .formkit-submit>span{padding:.85rem 1.6rem!important}
.signup .formkit-powered-by-convertkit-container{display:none!important}
.signup .formkit-alert-success{font:600 1rem/1.5 var(--sans)}
.signup .fallback{font-size:.95rem;margin:.75rem 0 0}

/* ---- gift form, /donate/ (Stripe, Nov 8 2026) ---- */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gift{background:var(--band);border-radius:var(--radius);padding:clamp(1.25rem,4vw,2.25rem);max-width:34rem;margin:2rem 0 3rem}
.gift fieldset{border:0;margin:0 0 1.5rem;padding:0;min-width:0}
.gift legend{font:600 .78rem/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem}
.gift input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.freq{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:.25rem}
.seg span{display:block;text-align:center;padding:.6rem 1rem;border-radius:999px;font-weight:600;cursor:pointer;color:var(--muted)}
.seg input:checked+span{background:var(--accent);color:var(--on-accent)}
.chips{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}
@media (max-width:420px){.chips{grid-template-columns:repeat(2,1fr)}}
.chip span{display:block;text-align:center;padding:.8rem .5rem;border:1.5px solid var(--line);border-radius:.75rem;background:#fff;font-weight:650;font-size:1.1rem;cursor:pointer}
.chip input:checked+span{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent-ink)}
.seg input:focus-visible+span,.chip input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}
.other{display:block;margin-top:1rem;font-weight:600}
.dollar{display:flex;align-items:center;margin-top:.4rem;background:#fff;border:1.5px solid var(--line);border-radius:.75rem;padding:0 1rem}
.dollar::before{content:"$";color:var(--muted);font-weight:600}
.dollar input{flex:1;border:0;background:none;font:600 1.1rem/1.4 var(--sans);padding:.75rem .35rem;min-width:0;color:var(--ink)}
.dollar input:focus{outline:none}.dollar:focus-within{border-color:var(--accent)}
.check{display:flex;gap:.6rem;align-items:flex-start;margin:0 0 1.5rem;line-height:1.5;cursor:pointer}
.check input{width:1.15rem;height:1.15rem;margin-top:.2rem;accent-color:var(--accent);flex:none}
.gift .btn{width:100%;font-size:1.1rem;padding:1rem;cursor:pointer;font-family:inherit}
.gift .small,.page .small{font-size:.9rem;color:var(--muted);margin:.6rem 0 0}
.gift-error{background:#fbe9e5;border-left:4px solid #b3472f;padding:.8rem 1rem;border-radius:.5rem;max-width:34rem}
.gift-error[hidden]{display:none}
.history-note{font-style:italic;color:var(--muted,#6b6460);margin:.25rem 0 1rem}
/* In loving memory (Nov 8 2026) */
.memorial-note{background:var(--band);border-bottom:1px solid var(--line);text-align:center;padding:.7rem 16px;margin:0;max-width:none;font:500 .95rem/1.4 var(--sans)}
.memorial-note a{color:var(--ink);text-decoration:none}.memorial-note a:hover span{text-decoration:underline}
.memorial-note em{font-style:normal;letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;color:var(--muted);margin-right:.6rem}
.memorial-hero{margin:0 0 2.5rem}.memorial-hero img{width:100%;height:auto;display:block;border-radius:var(--radius)}
.memorial-dates{font:500 .85rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:-.5rem 0 2rem}
.memorial blockquote{margin:2rem 0;padding:0 0 0 1.25rem;border-left:3px solid #c9a27a;font-style:italic;font-size:1.15em}
.memorial-photo{margin:2.5rem 0;max-width:26rem}.memorial-photo img{width:100%;height:auto;display:block;border-radius:var(--radius)}
.memorial h2{margin-top:2.5rem}
.old-page .block > img[width],.old-page .block > a > img[width]{max-width:min(100%,12rem)}
.old-page .block > img[src*="w_LF_Back_Bus"]{max-width:100%}
