/* ============================================================
   Gospel Companion — New Christian path (/new-christian/…)
   Dawn variant of the celestial palette. Loaded after styles.css.
   ============================================================ */
.jr{position:relative;padding:120px 0 40px;min-height:100svh}
.jr::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 40% at 50% 0%,rgba(240,166,160,.18),transparent 70%)}
.jr-wrap{position:relative;max-width:960px}
.nc-eyebrow{color:#F2C9A0}
.nc-lede{max-width:660px;margin:0 auto 30px;color:var(--faint);font-size:clamp(15px,1.5vw,18px);line-height:1.7}
.nc-verse{max-width:640px;margin:38px auto 0;padding:26px 30px;border:1px solid rgba(240,166,160,.28);border-radius:18px;background:rgba(240,166,160,.05)}
.nc-verse p{font-family:'Cinzel',serif;font-size:clamp(15px,2vw,19px);line-height:1.75;color:var(--white-hot)}
.nc-verse cite{display:block;margin-top:12px;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:#F2C9A0;font-style:normal}

/* ---- constellation rail ---- */
.rail{display:flex;align-items:flex-start;justify-content:space-between;position:relative;margin:0 auto 54px;padding:0 6px}
.rail::before{content:"";position:absolute;left:24px;right:24px;top:17px;height:1px;background:rgba(142,153,194,.22)}
.rail .seg{position:absolute;top:17px;height:1px;background:linear-gradient(90deg,#E8B873,#F2C9A0);box-shadow:0 0 8px rgba(232,184,115,.6)}
.node{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;width:0;flex:1}
.node .dot{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(142,153,194,.3);background:#0A0F22;color:rgba(142,153,194,.7);font-size:13px;transition:all .3s}
.node .lbl{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);white-space:nowrap}
.node.done .dot{background:linear-gradient(135deg,#FDF6E8,#E8B873);border-color:transparent;color:#1a1206;box-shadow:0 0 18px rgba(232,184,115,.55)}
.node.done .lbl{color:#F5D9A8}
.node.now .dot{border-color:#F2C9A0;color:#F2C9A0;box-shadow:0 0 0 5px rgba(240,166,160,.14),0 0 22px rgba(240,166,160,.35)}
.node.now .lbl{color:var(--white-hot)}
.node:hover .dot{border-color:#F2C9A0}

/* ---- page head + actions ---- */
.jr-head{text-align:center;margin-bottom:40px}
.jr-title{font-size:clamp(30px,4.6vw,54px);margin-bottom:18px}
.jr-title.big{font-size:clamp(34px,5.4vw,62px)}
.jr-body{max-width:860px;margin:0 auto}
.jr-actions{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:48px auto 0}
.jr-skip{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);text-decoration:none;padding:10px 6px;background:none;border:0;font-family:inherit;cursor:pointer}
.jr-skip:hover{color:var(--white-hot)}
.jr-count{text-align:center;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint);margin-top:26px}
.jr-foot{text-align:center;margin-top:34px;font-size:12.5px;color:var(--faint)}
.jr-foot a{color:#F2C9A0;text-decoration:none}
.jr-foot a:hover{text-decoration:underline}

/* ---- shared blocks ---- */
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}
.note-card{padding:24px 26px;border-radius:16px;border:1px solid rgba(142,153,194,.14);background:rgba(10,15,34,.55)}
.note-card h3{font-family:var(--font-display);font-size:15px;letter-spacing:.1em;color:var(--white-hot);margin-bottom:10px;font-weight:500}
.note-card p,.note-card li{font-size:14px;color:var(--faint);line-height:1.7}
.note-card ol{padding-left:18px}
.truths{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;max-width:960px;margin:44px auto 0;text-align:left}
.truth{padding:22px 24px;border-radius:16px;border:1px solid rgba(142,153,194,.14);background:rgba(10,15,34,.55)}
.truth b{display:block;font-family:var(--font-display);font-weight:500;letter-spacing:.08em;color:var(--white-hot);margin-bottom:8px;font-size:15px}
.truth p{font-size:13.5px;color:var(--faint);line-height:1.65}
.truth cite{display:block;margin-top:10px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#F2C9A0;font-style:normal}

/* start-page map */
.map{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:40px}
.map a{display:block;padding:18px 18px 16px;border-radius:16px;border:1px solid rgba(142,153,194,.16);background:rgba(10,15,34,.6);text-decoration:none;color:var(--white-hot)}
.map a:hover{border-color:rgba(240,166,160,.45)}
.map a .n{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.3em;color:#F2C9A0}
.map a b{display:block;font-family:var(--font-display);font-weight:500;letter-spacing:.06em;font-size:15px;margin:8px 0 6px}
.map a small{display:block;font-size:12.5px;color:var(--faint);line-height:1.5}
.map a.done{border-color:rgba(232,184,115,.45);background:rgba(232,184,115,.07)}
.map a.done .n::after{content:"  ✦ done";letter-spacing:.1em;color:#E8B873}

/* step 1 — guided prayer */
.pray{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.pray div{padding:22px 18px;border-radius:16px;border:1px solid rgba(142,153,194,.16);background:rgba(10,15,34,.6);text-align:center}
.pray b{display:block;font-family:'Cinzel',serif;font-size:11px;letter-spacing:.3em;color:#F2C9A0;margin-bottom:10px}
.pray p{font-size:14px;color:#D6DCEC;line-height:1.6}

/* step 2 — reading tracker */
.plan{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;max-width:780px;margin:0 auto}
.plan a{position:relative;display:block;text-align:center;padding:13px 0 11px;border-radius:12px;border:1px solid rgba(232,184,115,.22);color:var(--white-hot);text-decoration:none;font-size:13.5px;background:rgba(232,184,115,.06);transition:background .2s}
.plan a:hover{background:rgba(232,184,115,.16)}
.plan a small{display:block;font-size:8.5px;letter-spacing:.22em;color:var(--faint);margin-top:4px}
.plan .tick{position:absolute;top:5px;right:5px;width:18px;height:18px;border-radius:50%;border:1px solid rgba(232,184,115,.4);font-size:10px;line-height:16px;text-align:center;color:transparent;background:rgba(4,6,15,.5);transition:all .2s}
.plan .tick:hover{border-color:#E8B873;color:rgba(232,184,115,.8)}
.plan a.read{background:rgba(232,184,115,.2);border-color:rgba(232,184,115,.6)}
.plan a.read .tick{background:#E8B873;border-color:#E8B873;color:#1a1206}
.then{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:30px}
.then span{padding:10px 16px;border-radius:999px;border:1px solid rgba(142,153,194,.2);font-size:13px;color:var(--faint)}
.then span b{color:var(--white-hot);font-weight:500}
.save{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;max-width:780px;margin:22px auto 0;padding:20px 24px;border-radius:16px;border:1px solid rgba(240,166,160,.32);background:rgba(240,166,160,.06)}
.save>div:first-child{flex:1;min-width:260px}
.save b{display:block;font-family:var(--font-display);font-weight:500;letter-spacing:.06em;color:var(--white-hot);font-size:15px;margin-bottom:6px}
.save p{font-size:13.5px;color:var(--faint);line-height:1.6}
.save-acts{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.save-acts .btn{padding:11px 18px;font-size:12px}
.save.on{border-color:rgba(62,207,168,.35);background:rgba(62,207,168,.05)}
.save.on b{color:#3ECFA8}

/* step 3 — say it */
.say{display:flex;flex-direction:column;gap:10px;max-width:640px;margin:0 auto}
.say div{padding:16px 20px;border-radius:14px;border:1px solid rgba(142,153,194,.16);background:rgba(10,15,34,.6);font-size:15px;color:var(--white-hot);line-height:1.5}
.say div::before{content:"“";color:#F2C9A0;margin-right:6px}

/* step 4 — church */
.mark{padding:26px 28px;border-radius:18px;border:1px solid rgba(142,153,194,.16);background:rgba(10,15,34,.6)}
.mark h3{font-family:var(--font-display);font-size:15px;letter-spacing:.1em;color:var(--white-hot);margin-bottom:14px;font-weight:500}
.mark ul{list-style:none;padding:0;margin:0}
.mark li{padding:10px 0;border-bottom:1px solid rgba(142,153,194,.1);font-size:14px;color:#D6DCEC;display:flex;gap:12px;line-height:1.55}
.mark li:last-child{border-bottom:0}
.mark li::before{content:"\2726";color:#3ECFA8;flex:none}
.mark.red li::before{content:"\2715";color:#F0926B}
.dirs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:26px}
.dirs a{padding:11px 18px;border-radius:999px;border:1px solid rgba(142,153,194,.22);color:var(--white-hot);text-decoration:none;font-size:13px;background:rgba(10,15,34,.5)}
.dirs a:hover{border-color:rgba(232,184,115,.5)}
.dirs a small{color:var(--faint);margin-left:8px;font-size:10.5px;letter-spacing:.12em}
.finest{text-align:center;font-size:12px;color:var(--faint);margin-top:16px}

/* step 6 — questions */
.qa{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.qa a{display:block;padding:18px 20px;border-radius:14px;border:1px solid rgba(142,153,194,.16);background:rgba(10,15,34,.6);color:var(--white-hot);text-decoration:none;font-size:15px;line-height:1.4}
.qa a:hover{border-color:rgba(232,184,115,.4)}
.qa a small{display:block;color:var(--faint);font-size:12px;margin-top:6px}
.ask{max-width:660px;margin:44px auto 0;padding:30px;border-radius:18px;border:1px solid rgba(240,166,160,.28);background:rgba(240,166,160,.05)}
.ask h3{font-family:var(--font-display);font-size:17px;letter-spacing:.08em;color:var(--white-hot);font-weight:500;margin-bottom:6px}
.ask p{font-size:13.5px;color:var(--faint);line-height:1.65}
.ask .row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.ask input,.ask textarea{width:100%;background:rgba(4,6,15,.6);border:1px solid rgba(142,153,194,.2);border-radius:11px;padding:12px 14px;color:var(--starlight);font-family:inherit;font-size:14px}
.ask input:focus,.ask textarea:focus{outline:none;border-color:rgba(240,166,160,.6)}
.ask textarea{margin-top:10px;min-height:96px;resize:vertical}
.ask .btn{margin-top:14px}
.ask .small{font-size:12px;margin-top:12px}
.ask .err{color:#F0926B;font-size:13px;margin-top:10px;min-height:0}
.ask.sent{text-align:center}

/* step 7 — keep going */
.finish{text-align:center;padding:34px;border-radius:18px;border:1px solid rgba(232,184,115,.35);background:rgba(232,184,115,.06);margin-bottom:28px}
.finish .stars{font-size:22px;letter-spacing:.5em;color:#E8B873;text-shadow:0 0 18px rgba(232,184,115,.6);margin-bottom:12px}
.finish h3{font-family:var(--font-display);font-weight:500;letter-spacing:.08em;font-size:20px;color:var(--white-hot);margin-bottom:8px}
.finish p{color:var(--faint);font-size:14px}
.keep{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;align-items:stretch}
.keep .kcard{padding:30px;border-radius:18px;border:1px solid rgba(142,153,194,.16);background:rgba(10,15,34,.6);display:flex;flex-direction:column}
.keep h3{font-family:var(--font-display);font-size:18px;letter-spacing:.08em;color:var(--white-hot);font-weight:500;margin-bottom:10px}
.keep p{font-size:14px;color:var(--faint);line-height:1.7}
.keep ul{margin:14px 0 22px;padding-left:18px;color:#D6DCEC;font-size:14px;line-height:1.9}
.keep .btn{align-self:flex-start;margin-top:auto}
.keep form{display:flex;gap:10px;margin-top:auto;padding-top:18px;flex-wrap:wrap}
.keep form input{flex:1;min-width:200px;background:rgba(4,6,15,.6);border:1px solid rgba(142,153,194,.2);border-radius:999px;padding:12px 18px;color:var(--starlight);font-family:inherit;font-size:14px}
.keep form input:focus{outline:none;border-color:rgba(240,166,160,.6)}
.keep .msg{width:100%;font-size:12.5px;color:#3ECFA8;margin-top:6px}
.nc-end{text-align:center;padding:60px 28px 20px;color:var(--faint);font-size:13px}

@media(max-width:820px){
  .jr{padding-top:96px}
  .rail .lbl{display:none}.rail .node.now .lbl{display:block;position:absolute;top:44px}
  .rail{margin-bottom:64px}
  .pray,.two,.keep,.ask .row{grid-template-columns:1fr}
  .plan{grid-template-columns:repeat(4,1fr)}
}

/* attribution on the start page */
.nc-credit{text-align:center;margin:44px auto 0;max-width:640px;font-size:14.5px;color:var(--faint);line-height:1.7}
.nc-credit a{color:#F2C9A0;text-decoration:none;border-bottom:1px solid rgba(242,201,160,.35)}
.nc-credit a:hover{border-bottom-color:#F2C9A0}

/* start page — 30-day email signup */
.signup{display:grid;grid-template-columns:1.15fr 1fr;gap:22px;align-items:center;max-width:860px;margin:26px auto 0;padding:24px 28px;border-radius:18px;border:1px solid rgba(240,166,160,.32);background:rgba(240,166,160,.06)}
.signup p{font-size:14px;color:var(--faint);line-height:1.65;margin:0}
.signup form{display:flex;flex-direction:column;gap:10px}
.signup form input{width:100%;background:rgba(4,6,15,.6);border:1px solid rgba(142,153,194,.2);border-radius:999px;padding:13px 18px;color:var(--starlight);font-family:inherit;font-size:14px}
.signup form input:focus{outline:none;border-color:rgba(240,166,160,.6)}
.signup form .btn{width:100%;justify-content:center}
.signup .msg{font-size:12.5px;color:#3ECFA8;min-height:0}
.keep .kcard ul a{color:var(--white-hot);text-decoration:none;border-bottom:1px solid rgba(232,184,115,.35)}
.keep .kcard ul a:hover{border-bottom-color:#E8B873}
@media(max-width:820px){.signup{grid-template-columns:1fr}}
/* signup: account fields */
.signup form input[hidden],.signup form .pw[hidden],.signup form .btn[hidden],.signup .who[hidden],.signup .fine[hidden]{display:none}
.signup form .pw{position:relative}
.signup form .pw input{padding-right:64px}
.signup form .pw button{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:0;color:#F2C9A0;font:600 11px 'Outfit',sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;padding:6px 8px}
.signup .who{font-size:13px;color:var(--faint);padding:10px 14px;border:1px dashed rgba(240,166,160,.35);border-radius:12px}
.signup .who b{color:var(--white-hot);font-weight:600}
.signup .who a,.signup .fine a{color:#F2C9A0;text-decoration:none;border-bottom:1px solid rgba(242,201,160,.4)}
.signup .fine{font-size:12.5px;color:var(--faint);margin:0}
.signup .msg[hidden]{display:none}

/* email series: confirmed / preferences / unsubscribed */
.es{max-width:560px;margin:0 auto;text-align:left}
.es .esbox{padding:24px 26px;border:1px solid rgba(240,166,160,.28);border-radius:18px;background:rgba(240,166,160,.05)}
.es .esbox+.esbox{margin-top:14px}
.es h3{font-family:'Outfit',sans-serif;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#F2C9A0;margin:0 0 10px}
.es p{color:var(--faint);font-size:14.5px;line-height:1.65;margin:0}
.es p b{color:var(--white-hot);font-weight:600}
.hourpick{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 4px}
.hourpick button{padding:9px 16px;border-radius:999px;border:1px solid rgba(142,153,194,.25);background:rgba(4,6,15,.5);color:var(--starlight);font:600 13px 'Outfit',sans-serif;cursor:pointer}
.hourpick button.on{border-color:#F2C9A0;color:#F2C9A0;background:rgba(240,166,160,.1)}
.es .acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.es .esmsg{font-size:12.5px;color:#3ECFA8;margin-top:10px;min-height:1em}
.es .esmsg.bad{color:#F0926B}
.es [hidden]{display:none}

/* day pages */
.day-wrap{max-width:720px}
.day-fn{max-width:640px;margin:10px auto 0;font-size:12.5px;color:var(--faint);text-align:center}
.day-thought{max-width:640px;margin:30px auto 0}
.day-thought p{font-size:clamp(15.5px,1.5vw,17.5px);line-height:1.75;color:var(--starlight);margin:0 0 16px}
.day-pray{max-width:640px;margin:22px auto 0;padding:20px 24px;border-radius:14px;background:rgba(12,17,38,.85);border:1px solid rgba(232,184,115,.35)}
.day-pray b{display:block;font-family:'Outfit',sans-serif;font-size:11px;letter-spacing:.24em;color:#E8B873;margin-bottom:8px}
.day-pray p{font-family:'Cinzel',serif;font-size:clamp(15px,1.8vw,18px);line-height:1.7;color:var(--white-hot);margin:0;font-style:normal}
.day-wrap .jr-actions{margin-top:28px}
.day-wrap .jr-actions .btn.read::before{content:"✦ "}
.daynav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;max-width:640px;margin:26px auto 0;font-size:13px}
.daynav a{color:var(--faint);text-decoration:none;border-bottom:1px solid rgba(142,153,194,.25);padding-bottom:2px}
.daynav a:hover{color:#F2C9A0;border-bottom-color:#F2C9A0}
.daynav .mid{color:#F2C9A0}
.save.warn{border-color:rgba(240,146,107,.4);background:rgba(240,146,107,.06)}
.save.warn b{color:#F0926B}
.save.warn a{color:#F2C9A0}
