@font-face{font-family:LocalSerif;src:local("Georgia")}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
:root{color-scheme:light;--paper:#f7f2e7;--ink:#302d24;--muted:#716c5f;--card:#fbf8ef;--panel:#eeeadc;--line:#dfd5bc;--action:#586747;--on-action:#fffaf0;--field:#f9f7ee;--accent:#9d793c}
:root[data-theme="dark"]{color-scheme:dark;--paper:#10151b;--ink:#eee8dc;--muted:#b8b0a4;--card:#1d252e;--panel:#172029;--line:#59616b;--action:#aec58b;--on-action:#182414;--field:#202a35;--accent:#ddbb75}
body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,sans-serif;line-height:1.6}
button,input{font:inherit}
button,a,input{touch-action:manipulation}
button:disabled{opacity:.5;cursor:not-allowed}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:LocalSerif,Georgia,serif;font-weight:400;line-height:1.12}
h1{font-size:clamp(3.5rem,6.6vw,6.3rem);letter-spacing:-.05em}
h1 em{color:var(--action);font-weight:400}
h2{font-size:clamp(2.4rem,4vw,3.6rem);letter-spacing:-.035em}
h3{font-size:1.5rem}
p{color:var(--muted)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #9d622e;outline-offset:5px}
.site-header{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:28px 40px;gap:25px}
.brand{font-family:Georgia,serif;font-size:1.4rem;white-space:nowrap}
.brand-mark{font-size:2rem;color:#9d793c;vertical-align:middle;margin-right:8px}
nav{display:flex;align-items:center;gap:28px;font-size:.88rem}
nav a:hover,.text-link:hover{text-decoration:underline}
.quiet{border:1px solid #cfc3ab;background:transparent;color:#423c30;border-radius:30px;padding:9px 18px}
.hero{max-width:1240px;margin:45px auto 70px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px;padding:0 40px}
.eyebrow{font-size:.68rem;letter-spacing:.2em;font-weight:650;color:#7e7e61;margin-bottom:20px}
.lead{font-size:1.08rem;max-width:420px;margin-top:26px}
.actions{display:flex;gap:25px;align-items:center;margin-top:32px;flex-wrap:wrap}
.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;border:1px solid #b7b79e;border-radius:28px;background:var(--panel);color:var(--ink);padding:12px 21px;font-size:.88rem;font-weight:600}
.primary{background:#586747;color:#fffaf0;border-color:#586747}
.primary:hover:enabled,.primary:hover:not(button){background:#445337}
.text-link{font-size:.86rem;font-weight:600;color:#5d644c}
.fine{font-size:.75rem;color:#817b6c;margin-top:18px;max-width:720px}
.hero-art{position:relative;aspect-ratio:1/1.03;border-radius:180px 180px 18px 18px;overflow:hidden;background:#acb577}
.hero-art img{width:100%;height:100%;object-fit:cover;object-position:50%;image-rendering:auto}
.hero-art:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#252d22bb)}
.hero-art figcaption{position:absolute;z-index:1;bottom:28px;left:32px;color:#fff8e9;display:grid;gap:8px}
.hero-art figcaption span{font-size:.64rem;letter-spacing:.18em}
.hero-art figcaption strong{font-size:1.2rem;font-weight:500}
.section-divider{display:flex;justify-content:center;gap:60px;border-block:1px solid #ded5c1;max-width:1160px;margin:auto;padding:21px 25px;font-size:.68rem;letter-spacing:.17em;color:#8a836c}
.section{max-width:1240px;margin:90px auto;padding:0 40px}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:25px}
.section-heading .eyebrow{margin-bottom:12px}
.notice{padding:14px 20px;border:1px solid #dfd5bc;background:#eee7d5;border-radius:10px;font-size:.86rem;margin-bottom:25px}
.journey-layout{display:grid;grid-template-columns:300px 1fr;gap:30px}
.journey-card{background:#e9e7d7;border:1px solid #d9d8bc;border-radius:14px;padding:30px}
.journey-card img{object-fit:contain;display:block;margin-bottom:20px;image-rendering:pixelated}
.journey-card .eyebrow{margin-bottom:10px}
.journey-card h3{margin-bottom:15px}
.journey-card p:not(.eyebrow){font-size:.88rem;margin-bottom:30px}
.small-label{font-size:.73rem;color:#807962}
.progress-panel{padding:25px 30px;border:1px solid #dfd6c2;border-radius:14px;background:var(--card)}
.panel-heading{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-bottom:25px}
.pill{display:inline-flex;font-size:.72rem;background:#e8e8d6;color:#65704f;border-radius:30px;padding:6px 13px;white-space:nowrap}
.empty{font-size:.9rem;padding:35px 0}
.book-list{display:grid;gap:18px;max-height:350px;overflow:auto}
.book-progress header{display:flex;justify-content:space-between;font-size:.86rem;margin-bottom:8px}
.progress-track{height:7px;background:#ece6d5;border-radius:10px;overflow:hidden}
.progress-fill{height:100%;background:#818d65;border-radius:10px}
.backup-tools{margin-top:22px;color:var(--muted);font-size:.85rem}
.backup-tools summary{cursor:pointer}
.backup-tools p{margin:12px 0}
.section-intro{max-width:620px;margin-bottom:30px}
.fellowship{background:var(--panel);border-radius:20px;padding:45px 40px}
.group-tools{display:grid;grid-template-columns:1fr 1fr;gap:35px}
label{display:block;font-size:.85rem;font-weight:650;margin-bottom:10px}
.input-row{display:flex;gap:8px}
input{min-width:0;width:100%;border:1px solid #cfc8b3;border-radius:9px;padding:12px 14px;background:#f9f7ee;color:#39392c}
.input-row button{white-space:nowrap}
.empty-panel{text-align:center;padding:60px 20px;border:1px dashed #cbc5b1;border-radius:14px;margin-top:28px}
.empty-symbol{display:block;font-size:2rem;color:#9f9f7d;margin-bottom:15px}
.empty-panel p{max-width:450px;font-size:.9rem;margin:15px auto 0}
.group-card{margin-top:25px;padding:25px;background:#f8f6ed;border:1px solid #d5cfbc;border-radius:14px}
.group-card>p{font-size:.8rem;margin:12px 0;overflow-wrap:anywhere}
.member-row{display:flex;justify-content:space-between;border-bottom:1px solid #e2dccb;padding:12px 0;font-size:.88rem}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.gallery-grid figure{border-radius:12px;overflow:hidden;background:#eee7d4;border:1px solid #dfd5bd}
.gallery-grid img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}
.gallery-grid figcaption{padding:22px}
.gallery-grid span{font-size:.65rem;letter-spacing:.15em;color:#867e64}
.gallery-grid h3{font-size:1.35rem;margin:8px 0}
.gallery-grid small{font-size:.7rem;color:#908776}
.support-note{text-align:center;padding:50px 25px 80px;border-top:1px solid #dfd5c0}
.support-note h2{font-size:2.5rem;margin-top:15px}
.support-note p{margin:20px auto;max-width:480px}
footer{max-width:1240px;margin:auto;border-top:1px solid #dfd5c0;display:flex;gap:25px;align-items:center;flex-wrap:wrap;padding:30px 40px;color:#857f6d;font-size:.75rem}
footer .brand{font-size:1.2rem;margin-right:auto}
.legal{max-width:780px;margin:50px auto;padding:0 25px}
.legal h2{font-size:1.5rem;margin:30px 0 12px}
.legal p{margin:15px 0}
@media(max-width:900px){.site-header{padding:20px 25px;flex-wrap:wrap}
nav{gap:18px;flex-wrap:wrap}
.hero{grid-template-columns:1fr 1fr;gap:30px;padding:0 25px}
.journey-layout{grid-template-columns:240px 1fr}
.group-tools{grid-template-columns:1fr}
.section{padding:0 25px}
.fellowship{padding:35px 25px;margin-inline:15px}
.section-divider{gap:30px}
.gallery-grid{gap:15px}
}
@media(max-width:620px){.site-header{gap:16px}
nav{font-size:.77rem;gap:15px}
.quiet{padding:8px 12px}
.hero{grid-template-columns:1fr;margin-top:28px}
.hero-art{aspect-ratio:1.3;max-height:410px;border-radius:140px 140px 14px 14px}
.hero h1{font-size:3.8rem}
.section{margin-top:60px;margin-bottom:60px}
.section-divider{font-size:.56rem;gap:18px;padding-inline:15px}
.journey-layout{grid-template-columns:1fr}
.journey-card{display:grid;grid-template-columns:72px 1fr;column-gap:20px}
.journey-card img{grid-row:1/5;width:72px;height:90px}
.journey-card p:not(.eyebrow){margin-bottom:12px}
.panel-heading{align-items:flex-start}
.progress-panel{padding:22px}
.gallery-grid{grid-template-columns:1fr}
.section-heading{align-items:flex-end}
.input-row{flex-wrap:wrap}
.input-row button{width:100%}
.support-note h2{font-size:2rem}
footer{padding:25px}
.group-card{padding:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}


.hero>*,.journey-layout>*,.group-tools>*,.gallery-grid>*{min-width:0}
.hero-art{min-width:0;max-width:100%}
@media(max-width:620px){.hero,.journey-layout{grid-template-columns:minmax(0,1fr)}}

.gallery-grid>.empty-panel{grid-column:1/-1;margin-top:0}

body,p,.small-label,.fine,.eyebrow,.backup-tools,footer{color:var(--muted)}
body,h1,h2,h3,.brand,.book-progress header{color:var(--ink)}
.quiet,.button,select{border-color:var(--line);color:var(--ink)}
.primary{background:var(--action);color:var(--on-action);border-color:var(--action)}
.primary:hover:enabled,.primary:hover:not(button){background:var(--action);filter:brightness(.92)}
.notice,.journey-card,.pill,.gallery-grid figure{background:var(--panel);border-color:var(--line);color:var(--ink)}
.progress-panel,.group-card{background:var(--card);border-color:var(--line)}
input,select{background:var(--field);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:12px 14px;max-width:100%;font:inherit}
select:disabled{opacity:.5}
.icon-button{width:44px;height:44px;padding:10px;flex-shrink:0}
.icon-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.sharing-choice,.gallery-filters{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:20px 0}
.sharing-choice input{width:220px}.sharing-choice label,.gallery-filters label{margin:0}
.member-row{display:block;border-color:var(--line)}
.member-heading{display:flex;justify-content:space-between;gap:12px}
.chapter-strip{display:flex;gap:3px;height:16px;margin:10px 0}
.chapter-cell{flex:1;background:var(--line);position:relative;overflow:hidden;border-radius:2px}
.chapter-cell-fill{height:100%;background:var(--action)}
.member-sharing{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.member-sharing input{width:200px}
.gallery-grid img{aspect-ratio:1536/690;object-fit:contain}
.gallery-grid button{display:block;padding:0;border:0;background:transparent;text-align:left;width:100%;color:var(--ink)}
dialog{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:18px;max-width:min(1000px,94vw);width:100%;max-height:92vh;overflow:auto;padding:24px}
dialog::backdrop{background:#000b}
dialog img{width:100%;height:auto;object-fit:contain;margin:18px 0}
@media(min-width:621px) and (max-width:1000px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.chapter-strip{gap:2px}.sharing-choice{display:grid}.sharing-choice input{width:100%}.site-header nav{gap:10px}.gallery-filters select{width:100%}}
