/* Mission Hub sign-up pages (/connect, /partner) — added 2026-10-07.
   Builds on /assets/style.css + /assets/mission.css (Black #0A0A0A + Yellow #FFCC00).
   Additive only: every rule here is a NEW class. No webfonts. */

/* hero: shorter than the partner-section hero, so the form is one thumb-scroll away on a phone */
.m-hero.hub-hero .wrap-wide{padding-top:60px;padding-bottom:48px;}
.m-hero.hub-hero h1{max-width:11em;}
/* words sit on the left: darken that side so the headline never fights a face or a sign in the photo */
.m-hero.hub-hero .m-bg img{opacity:.55;}
.m-hero.hub-hero::after{background:linear-gradient(90deg,rgba(10,10,10,.72) 0%,rgba(10,10,10,.38) 55%,rgba(10,10,10,.1) 100%),linear-gradient(180deg,rgba(10,10,10,.5) 0%,rgba(10,10,10,.12) 45%,rgba(10,10,10,.88) 100%);}
@media (min-width:720px){.m-hero.hub-hero .wrap-wide{padding-top:120px;padding-bottom:92px;}}

/* tighter section rhythm for these two short pages */
.hub-sec{padding:60px 0;}
@media (min-width:720px){.hub-sec{padding:92px 0;}}
.hub-sec .sub-v2{margin-bottom:36px;}

/* what happens next — three numbered steps */
.hub-steps{list-style:none;counter-reset:hs;margin:0 auto;padding:0;display:grid;gap:16px;max-width:1000px;}
@media (min-width:860px){.hub-steps{grid-template-columns:repeat(3,1fr);gap:22px;}}
.hub-steps li{counter-increment:hs;background:#fff;border-radius:16px;padding:26px 24px 26px;box-shadow:0 1px 3px rgba(0,0,0,.07);}
.hub-steps li::before{content:counter(hs);display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--gold);color:var(--black);font-weight:800;font-size:17px;margin-bottom:14px;}
.hub-steps b{display:block;font-size:19px;margin-bottom:6px;}
.hub-steps span{display:block;color:var(--muted);font-size:16px;line-height:1.55;}

/* pray · serve · give — the three choices on the partner card */
.hub-ways{display:grid;gap:18px;max-width:1100px;margin:0 auto;}
@media (min-width:860px){.hub-ways{grid-template-columns:repeat(3,1fr);gap:22px;}}
.hub-way{background:#fff;border-radius:18px;border-top:6px solid var(--gold);padding:28px 26px 22px;box-shadow:0 1px 3px rgba(0,0,0,.07);}
.hub-way .k{display:block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--muted);margin-bottom:6px;}
.hub-way h3{font-size:28px;margin:0 0 14px;letter-spacing:-.01em;}
.hub-way .ticks{margin-bottom:0;}
.hub-way .ticks li{color:var(--ink);}

/* the form block */
.hub-formsec{scroll-margin-top:8px;}
.hub-formwrap{max-width:760px;margin:0 auto;}
.hub-promise{border-left:4px solid var(--gold);background:#fff;border-radius:0 12px 12px 0;padding:16px 18px;margin:0 0 14px;font-size:16px;font-weight:700;line-height:1.5;}
.hub-privacy{font-size:14px;color:var(--muted);line-height:1.55;margin:0 0 22px;}
.hub-form{background:#fff;border-radius:16px;box-shadow:0 2px 14px rgba(10,10,10,.10);overflow:hidden;}
/* Google Forms cannot resize its own frame. Each page sets the height of its own form, tall on purpose,
   so the page scrolls, not a box inside the page. Measured 8 Oct 2026 on a computer: prayer form 2770 px,
   partner form 2557 px. Phones wrap more text, so they get more room. */
.hub-form iframe{display:block;width:100%;height:var(--h-phone,3500px);border:0;}
@media (min-width:720px){.hub-form iframe{height:var(--h-wide,2850px);}}
.hub-alt{text-align:center;margin:22px 0 0;}
.hub-alt p{font-size:15px;color:var(--muted);margin:0 0 12px;}

/* verse line under the steps */
.hub-verse{max-width:720px;margin:38px auto 0;text-align:center;font-size:19px;font-weight:700;line-height:1.45;}
.hub-verse cite{display:block;margin-top:8px;font-style:normal;font-weight:400;font-size:15px;color:var(--muted);}

/* give buttons inside the Give card (added 8 Oct 2026) */
.hub-way .btns{margin-top:18px;gap:10px;}
.hub-way .btn{padding:12px 18px;font-size:15px;}
.hub-givenote{font-size:13px;color:var(--muted);margin:12px 0 0;line-height:1.5;}

/* Mandarin line under the hero headline, for Chinese-speaking café visitors (added 8 Oct 2026) */
.m-hero h1 .hub-zh{display:block;font-family:var(--cjk);font-size:.62em;font-weight:700;line-height:1.35;letter-spacing:.02em;color:#fff;margin-top:.35em;}
