/* The public discipleship route follows the existing blue, gold and type palette. */
.nav .route-link{max-width:100%}
.discipleship-page{padding-bottom:24px}
.route-back{display:inline-flex;align-items:center;min-height:48px;margin:18px 0 8px;font-size:.9rem}
.route-welcome{border-bottom:1px solid var(--line);padding:36px 0 46px}
.route-welcome h1{font-size:clamp(2.5rem,5.1vw,4.65rem);line-height:1.04;text-transform:uppercase;max-width:920px;margin-bottom:22px}
.route-welcome h1 span{color:var(--teal)}
.route-subtitle{font-size:clamp(1.15rem,2vw,1.45rem);color:var(--ink);margin-bottom:30px}
.route-welcome-copy{max-width:850px;font-size:1.1rem;color:var(--body);line-height:1.8;border-left:3px solid var(--accent);padding-left:26px}
.route-welcome-copy p:last-child{margin-bottom:0}
.route-section-heading{padding:44px 0 26px}
.discipleship-page h2{font-size:clamp(1.65rem,3vw,2.2rem);line-height:1.15;margin-bottom:16px}
.route-section-heading>p:last-child,.route-resources>p:not(.eyebrow){color:var(--body);margin-bottom:0}
.route-steps{list-style:none;padding:0;margin:0}
.route-steps>li{display:grid;grid-template-columns:64px minmax(180px,.8fr) minmax(0,1.5fr);gap:24px;padding:32px;background:#fff;border-top:3px solid var(--teal);margin-bottom:18px}
.route-step-number{font-size:2.65rem;line-height:1;font-weight:700;color:var(--teal);letter-spacing:-.05em}
.route-step-label{text-transform:uppercase;font-size:.75rem;letter-spacing:.13em;color:var(--teal);font-weight:700;margin:0 0 9px}
.route-step-heading h3{font-size:clamp(1.45rem,2.5vw,1.85rem);line-height:1.15;max-width:320px;margin:0 0 16px}
.route-step-time{font-size:.9rem;font-weight:700;color:var(--ink);margin:0}
.route-step-time span{display:block;font-size:.8rem;color:var(--muted);font-weight:400;margin-top:3px}
.route-step-copy{color:var(--body);font-size:1rem;line-height:1.75}
.route-step-copy p{margin-bottom:14px}
.route-step-copy p:last-child{margin-bottom:0}
.route-step-purpose{font-weight:700;color:var(--teal)}
.route-rhythm{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:40px;margin:38px 0 0;padding:36px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.route-rhythm>div:last-child{color:var(--body)}
.route-rhythm p:last-child{margin-bottom:0}
.route-resources{padding:44px 0}
.route-visual{display:block;margin:26px 0 18px;border:1px solid var(--line);background:#fff;text-decoration:none}
.route-visual img{display:block;width:100%;height:auto}
.route-visual span{display:block;padding:13px 20px;color:var(--teal);font-size:.9rem;font-weight:700;border-top:1px solid var(--line)}
.route-resource-links{display:flex;flex-wrap:wrap;gap:12px}
.route-resource-links .btn{flex-direction:column;align-items:flex-start;gap:6px;text-align:left;min-width:260px}
.route-file-type{font-size:.75rem;letter-spacing:.03em;opacity:.8}
.route-help{background:var(--teal);color:white;padding:40px;display:flex;align-items:center;gap:40px;justify-content:space-between}
.route-help>div{max-width:780px}
.route-help .eyebrow{color:#fff}
.route-help p:last-child{margin-bottom:0}
.route-help .btn{flex-shrink:0;max-width:100%}
.route-signoff{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:36px 0 20px;margin:0 0 18px;border-bottom:1px solid var(--line)}
.route-signoff>p{font-family:Georgia,serif;font-size:clamp(1.15rem,2.5vw,1.45rem);line-height:1.5;margin:0}
.route-signoff>div{text-align:center;flex-shrink:0}
.route-signoff img{display:block;width:142px;height:auto;mix-blend-mode:multiply;margin:0 auto 4px}
.route-signoff>div p{margin:0}
@media(max-width:1000px){
 .route-steps>li{grid-template-columns:48px minmax(150px,.8fr) minmax(0,1.3fr);gap:20px;padding:26px}
 .route-help{align-items:flex-start;flex-direction:column;gap:22px}
}
@media(max-width:760px){
 .route-steps>li{grid-template-columns:46px minmax(0,1fr);gap:18px;padding:24px}
 .route-step-copy{grid-column:1/-1}
 .route-step-time span{display:inline}
 .route-rhythm{grid-template-columns:minmax(0,1fr);gap:18px}
}
@media(max-width:480px){
 .route-back{font-size:.8rem}
 .route-welcome{padding:24px 0 30px}
 .route-welcome h1{font-size:clamp(2rem,8.6vw,2.6rem)}
 .route-welcome-copy{font-size:1rem;line-height:1.75;padding-left:18px}
 .route-section-heading{padding-top:32px}
 .route-steps>li{padding:22px 18px;gap:14px}
 .route-step-number{font-size:2.2rem}
 .route-step-time span{display:block}
 .route-resource-links .btn{min-width:0;width:100%}
 .route-help{padding:28px 22px}
 .route-help .btn{width:100%}
 .route-signoff{align-items:flex-start;flex-direction:column;gap:16px}
 .route-signoff>div{align-self:flex-end}
}
