/* By His Grace — film chapter + Heart of Merci covenant (merged page) */
.gf{position:relative;z-index:2;background:#0b0907;height:640vh;isolation:isolate}
.gf-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.gf-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.gf-shade{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 55%,transparent 35%,rgba(11,9,7,.7) 100%),linear-gradient(180deg,rgba(11,9,7,.7),transparent 20%,transparent 42%,rgba(11,9,7,.8) 72%,rgba(11,9,7,.94))}
.gf-beat--center h2{text-shadow:0 2px 40px rgba(0,0,0,.85),0 0 2px rgba(0,0,0,.5)}
.gf-beat--center::before{content:'';position:absolute;inset:-25% -20%;z-index:-1;background:radial-gradient(closest-side,rgba(11,9,7,.62),transparent)}
.gf-beat{position:absolute;left:var(--gutter);bottom:clamp(90px,14vh,150px);max-width:min(620px,80vw);opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .7s ease;pointer-events:none}
.gf-beat.on{opacity:1;transform:none}
.gf-beat--center{left:50%;bottom:auto;top:50%;transform:translate(-50%,-44%);text-align:center}
.gf-beat--center.on{transform:translate(-50%,-50%)}
.gf-beat .eyebrow{margin:0 0 18px;color:var(--gold)}
.gf-beat h2{font-family:var(--serif);font-weight:400;font-size:clamp(40px,6.4vw,96px);line-height:.98;letter-spacing:-.02em;color:var(--paper);margin:0;text-shadow:0 2px 30px rgba(0,0,0,.55)}
.gf-beat h2 em{color:var(--gold)}
.gf-beat p.gf-body{margin:18px 0 0;font-size:15px;line-height:1.8;color:#e6d6bb;text-shadow:0 1px 14px rgba(0,0,0,.7)}
.gf-foot{position:absolute;left:var(--gutter);right:var(--gutter);bottom:28px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#cdb795}
.gf-track{position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(243,230,204,.12)}
.gf-track i{display:block;height:100%;width:0;background:var(--gold)}
.gf-load{position:absolute;inset:0;display:grid;place-items:center;color:#cdb795;font-size:10px;letter-spacing:.2em;text-transform:uppercase;transition:opacity .6s}
.gf.ready .gf-load{opacity:0;pointer-events:none}
.gf-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9}
.gf.ready .gf-poster{opacity:0;transition:opacity .6s}
@media(max-width:700px){.gf{height:560vh}.gf-beat{bottom:110px;right:var(--gutter)}.gf-beat p.gf-body{font-size:14px}.gf-foot span:first-child{display:none}}
@media(prefers-reduced-motion:reduce){.gf{height:auto}.gf-stage{position:relative;height:auto;min-height:100svh;padding:140px var(--gutter) 90px;display:grid;gap:70px;align-content:end}.gf-canvas,.gf-track,.gf-load,.gf-foot{display:none}.gf-poster{opacity:.35}.gf-beat,.gf-beat--center{position:relative;inset:auto;transform:none;opacity:1;left:auto;top:auto;bottom:auto;text-align:left}}
html.reading .gf{display:none}

.covenant{position:relative;z-index:2;background:linear-gradient(180deg,rgba(16,13,10,0),#100d0a 18%,#100d0a 82%,rgba(16,13,10,0))}
.covenant-inner{max-width:1200px;padding-block:150px 150px;display:grid;grid-template-columns:1fr 1.7fr;gap:clamp(60px,8vw,150px);align-items:start}
.covenant-mark{position:sticky;top:170px;color:var(--gold)}
.covenant-mark .station-numeral{font-family:var(--serif);font-size:clamp(56px,6vw,92px);line-height:1}
.covenant h2{font-family:var(--serif);font-weight:400;font-size:clamp(40px,5.2vw,76px);line-height:1.02;letter-spacing:-.015em;color:var(--paper);margin:14px 0 0}
.covenant h2 em{color:var(--gold)}
.covenant h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3vw,40px);line-height:1.1;color:var(--paper);margin:70px 0 0}
.covenant h3 em{color:var(--gold)}
.covenant .story-opening{font-family:var(--serif);font-size:clamp(22px,2.2vw,30px);line-height:1.35;color:var(--paper);margin:34px 0 0;max-width:30ch}
.covenant .story-opening em{color:var(--gold)}
.covenant-all{display:flex;flex-wrap:wrap;gap:8px 10px;margin:30px 0 4px;padding:0;list-style:none}
.covenant-all li{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#e5d2b3;border:1px solid var(--line);border-radius:999px;padding:8px 14px}
.covenant-name{margin:26px 0 0;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.covenant-terms{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid var(--line)}
.covenant-terms li{display:grid;grid-template-columns:56px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid var(--line);color:#e2d1b5;font-size:15px;line-height:1.8}
.covenant-terms li span{font-family:var(--serif);color:var(--gold);font-size:22px;line-height:1.3}
.covenant-amen{margin:80px 0 0;font-family:var(--serif);font-size:clamp(34px,4.4vw,64px);line-height:1.05;color:var(--paper)}
.covenant-amen em{color:var(--gold)}
.covenant-cta{display:flex;flex-wrap:wrap;gap:26px;margin-top:40px}
@media(max-width:900px){.covenant-inner{display:block;padding-block:100px}.covenant-mark{position:static;display:flex;align-items:center;gap:20px;margin-bottom:30px}.covenant-mark .station-numeral{font-size:52px}.covenant-terms li{grid-template-columns:40px 1fr;font-size:14px}}
.site-header .to-merci{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#e5d2b3;min-height:44px;display:inline-flex;align-items:center}
