/* ============================================================================
   Devotionals — Daily Prophetic Word (archive + single)
   A reverent "daily word" journey. Faithful to the Vespers system.
   ========================================================================== */

/* ── Archive hero ───────────────────────────────────────────────────────── */
.dev-hero{position:relative; isolation:isolate; overflow:hidden; background:var(--ink-900);
  padding:clamp(108px,16vh,180px) 0 clamp(52px,8vh,90px);}
.dev-hero-bg{position:absolute; inset:0; z-index:0;}
.dev-hero-bg img{width:100%; height:100%; object-fit:cover; opacity:.32; filter:saturate(.9);}
.dev-hero-scrim{position:absolute; inset:0; z-index:1;
  background:radial-gradient(120% 90% at 50% 8%, rgba(198,164,92,.16), transparent 60%),
    linear-gradient(180deg, rgba(20,22,46,.62), rgba(20,22,46,.92));}
.dev-hero .hero-arch{z-index:1;}
.dev-hero-inner{position:relative; z-index:2; text-align:center; max-width:760px;}
.dev-hero-inner .eyebrow{margin-bottom:18px;}
.dev-hero-inner h1{color:var(--on-dark-1); font-size:clamp(2.1rem,4.6vw,3.5rem); line-height:1.08; font-style:italic;}
.dev-hero-inner .lead{color:var(--on-dark-2); margin:18px auto 0; max-width:60ch;}
.dev-hero-stats{display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap;
  margin-top:26px; font:500 .9rem/1 var(--font-body); color:var(--on-dark-2);}
.dev-hero-stats b{color:var(--gilt-300); font-weight:800;}
.dev-hero-stats .dot{width:4px; height:4px; border-radius:50%; background:var(--gilt-500); opacity:.7;}

/* ── Lead card (begin the journey) ──────────────────────────────────────── */
.dev-lead{margin-top:clamp(-60px,-7vh,-44px); position:relative; z-index:3;}
.dev-lead-card{display:grid; grid-template-columns:1fr; background:var(--surface); border:1px solid var(--border);
  border-radius:22px; overflow:hidden; box-shadow:var(--shadow-lg);
  transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .4s;}
.dev-lead-media{position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--surface-sunken);}
.dev-lead-media img{width:100%; height:100%; object-fit:cover;}
.dev-lead-date{position:absolute; top:16px; left:16px; display:flex; flex-direction:column; align-items:center;
  justify-content:center; width:62px; height:70px; background:rgba(20,22,46,.82); color:var(--on-dark-1);
  border:1px solid var(--hairline-gold); border-radius:14px 14px 10px 10px; backdrop-filter:blur(6px);
  font:700 .62rem/1 var(--font-body); letter-spacing:.16em; text-transform:uppercase;}
.dev-lead-date span{font-family:var(--font-display); font-weight:600; font-size:1.85rem; letter-spacing:0; color:var(--gilt-300);}
.dev-lead-text{padding:clamp(22px,3vw,40px); display:flex; flex-direction:column; align-items:flex-start;}
.dev-eyebrow{display:inline-flex; align-items:center; gap:8px; font:700 .68rem/1 var(--font-body);
  letter-spacing:.18em; text-transform:uppercase; color:var(--accent-strong);}
.dev-eyebrow vm-icon{color:var(--gilt-500);}
.dev-lead-title{font:600 clamp(1.6rem,2.8vw,2.4rem)/1.1 var(--font-display); color:var(--fg1); margin:12px 0 0; letter-spacing:-.01em;}
.dev-lead-verse{font:italic 500 clamp(1.05rem,1.5vw,1.25rem)/1.5 var(--font-display); color:var(--accent-strong);
  margin-top:14px; padding-left:15px; border-left:2px solid var(--hairline-gold);}
.dev-lead-verse em{display:block; font-style:normal; font-family:var(--font-body); font-weight:700; font-size:.64rem;
  letter-spacing:.16em; text-transform:uppercase; color:var(--fg3); margin-top:6px;}
.dev-lead-dek{color:var(--fg2); margin-top:16px; max-width:54ch;}
.dev-card-cta{display:inline-flex; align-items:center; gap:7px; margin-top:18px;
  font:700 .85rem/1 var(--font-body); color:var(--accent-strong);}
.dev-card-cta vm-icon{transition:transform .25s var(--ease);}
@media (min-width:820px){
  .dev-lead-card{grid-template-columns:1.05fr 1fr; align-items:stretch;}
  .dev-lead-media{aspect-ratio:auto; height:100%; min-height:300px;}
  .dev-lead-text{justify-content:center;}
}
@media (hover:hover){
  .dev-lead-card:hover{transform:translateY(-5px); box-shadow:var(--shadow-xl); border-color:var(--hairline-gold);}
  .dev-lead-card:hover .dev-card-cta vm-icon{transform:translateX(4px);}
}

/* ── List + day cards ───────────────────────────────────────────────────── */
.dev-list-head{text-align:center; max-width:60ch; margin:0 auto clamp(26px,4vw,44px);}
.dev-list-head .lead{margin-top:10px;}
.dev-grid{display:grid; grid-template-columns:1fr; gap:clamp(14px,1.6vw,20px);}
@media (min-width:560px){ .dev-grid{grid-template-columns:repeat(2,1fr);} }
@media (min-width:980px){ .dev-grid{grid-template-columns:repeat(3,1fr);} }

.dev-card{position:relative; display:flex; gap:16px; padding:20px; background:var(--surface);
  border:1px solid var(--border); border-radius:16px; box-shadow:var(--shadow-sm);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;}
.dev-card::before{content:""; position:absolute; left:0; top:18px; bottom:18px; width:3px; border-radius:0 3px 3px 0;
  background:linear-gradient(var(--gilt-500), var(--gilt-300)); opacity:.55; transition:opacity .35s;}
.dev-card.is-hidden{display:none;}
.dev-card-col1{flex:0 0 auto; display:flex; flex-direction:column; align-items:center; gap:10px; width:64px;}
.dev-card-date{display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:64px; height:66px; border-radius:12px 12px 8px 8px; background:var(--surface-warm);
  border:1px solid var(--hairline-gold); color:var(--fg2);}
.dev-card-day{font-family:var(--font-display); font-weight:600; font-size:1.7rem; line-height:1; color:var(--accent-strong);}
.dev-card-mon{font:700 .58rem/1 var(--font-body); letter-spacing:.16em; text-transform:uppercase; color:var(--fg3); margin-top:4px;}
.dev-card-thumb{display:block; width:64px; height:64px; border-radius:12px; box-shadow:var(--shadow-sm);}
.dev-card-body{display:flex; flex-direction:column; min-width:0;}
.dev-card-ref{display:inline-flex; align-items:center; gap:6px; font:700 .62rem/1 var(--font-body);
  letter-spacing:.12em; text-transform:uppercase; color:var(--accent-strong);}
.dev-card-ref vm-icon{color:var(--gilt-500);}
.dev-card-title{font:600 1.18rem/1.22 var(--font-display); color:var(--fg1); margin:7px 0 0; letter-spacing:-.01em;}
.dev-card-dek{font:400 .92rem/1.55 var(--font-body); color:var(--fg2); margin-top:8px;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
.dev-card .dev-card-cta{margin-top:auto; padding-top:14px; font-size:.82rem;}
@media (hover:hover){
  .dev-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--hairline-gold);}
  .dev-card:hover::before{opacity:1;}
  .dev-card:hover .dev-card-cta vm-icon{transform:translateX(4px);}
}
.dev-empty{text-align:center;}

.dev-more-wrap{display:flex; justify-content:center; margin-top:clamp(26px,4vw,38px);}
.dev-more[hidden]{display:none !important;}

/* ── Single devotional ──────────────────────────────────────────────────── */
.dvs-head{position:relative; isolation:isolate; overflow:hidden; background:var(--ink-900);
  padding:clamp(104px,15vh,168px) 0 clamp(40px,6vh,72px);}
.dvs-head-bg{position:absolute; inset:0; z-index:0;}
.dvs-head-bg img{width:100%; height:100%; object-fit:cover; opacity:.3;}
.dvs-head-scrim{position:absolute; inset:0; z-index:1;
  background:radial-gradient(120% 90% at 50% 0%, rgba(198,164,92,.16), transparent 58%),
    linear-gradient(180deg, rgba(20,22,46,.58), rgba(20,22,46,.92));}
.dvs-head .hero-arch{z-index:1;}
.dvs-head-inner{position:relative; z-index:2; max-width:760px;}
.dvs-head-inner .t-crumb{display:flex; flex-wrap:wrap; gap:8px; align-items:center; font:600 .8rem/1 var(--font-body); color:var(--on-dark-3); margin-bottom:18px;}
.dvs-head-inner .t-crumb a{color:var(--on-dark-2);}
.dvs-head-inner .t-crumb a:hover{color:var(--gilt-300);}
.dvs-eyebrow{display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap; font:700 .68rem/1.4 var(--font-body);
  letter-spacing:.14em; text-transform:uppercase; color:var(--gilt-300);}
.dvs-eyebrow vm-icon{color:var(--gilt-300);}
.dvs-head-inner h1{color:var(--on-dark-1); font-size:clamp(2rem,4.4vw,3.3rem); line-height:1.08; margin:14px 0 0;}
.dvs-ref{display:inline-flex; align-items:center; gap:7px; margin-top:16px; padding:8px 15px;
  border:1px solid var(--border-on-dark); border-radius:999px; font:700 .7rem/1 var(--font-body);
  letter-spacing:.1em; text-transform:uppercase; color:var(--gilt-100);}
.dvs-ref vm-icon{color:var(--gilt-300);}

.dvs-shell{max-width:760px;}
.dvs-verse-top{margin:0 0 clamp(24px,4vw,40px); text-align:center; padding:clamp(20px,3vw,32px);
  background:var(--surface-warm); border:1px solid var(--hairline-gold); border-radius:18px; position:relative;}
.dvs-verse-top blockquote{margin:0; font:italic 500 clamp(1.35rem,2.4vw,1.95rem)/1.5 var(--font-display); color:var(--fg1);}
.dvs-verse-top .cite{margin-top:14px;}
.dvs-article{font:400 clamp(1.06rem,1.2vw,1.16rem)/1.85 var(--font-body); color:var(--fg1);}
.dvs-article > p{margin:0 0 1.25em;}
.dvs-lede{font:500 clamp(1.18rem,1.7vw,1.4rem)/1.6 var(--font-display) !important; color:var(--fg1); margin-bottom:1.1em !important;}
.dvs-article > p:first-of-type:not(.dvs-lede)::first-letter,
.dvs-lede + p::first-letter{font-family:var(--font-display); font-weight:600; font-size:3.4em; line-height:.8;
  float:left; margin:.06em .12em 0 0; color:var(--accent-strong);}
.dvs-article em{font-style:italic; color:var(--accent-strong);}

/* Prayer block */
.dvs-prayer{position:relative; margin:clamp(28px,4vw,44px) 0; padding:clamp(24px,3vw,36px);
  background:linear-gradient(180deg, var(--ink-900), var(--ink-800)); color:var(--on-dark-1);
  border-radius:20px; box-shadow:var(--shadow-lg); overflow:hidden;}
.dvs-prayer::after{content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(80% 60% at 50% 0%, rgba(198,164,92,.18), transparent 60%);}
.dvs-prayer-mark{position:relative; z-index:1; display:inline-flex; align-items:center; justify-content:center;
  width:48px; height:54px; color:var(--gilt-300); border:1.5px solid var(--hairline-gold);
  background:rgba(226,203,148,.08); border-radius:var(--arch);}
.dvs-prayer-h{position:relative; z-index:1; font:700 .72rem/1 var(--font-body); letter-spacing:.2em;
  text-transform:uppercase; color:var(--gilt-300); margin:16px 0 0;}
.dvs-prayer p{position:relative; z-index:1; font:italic 500 clamp(1.12rem,1.6vw,1.32rem)/1.6 var(--font-display);
  color:var(--on-dark-1); margin:12px 0 0;}

/* Share */
.dvs-share{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:clamp(24px,3vw,34px) 0 0;
  padding-top:22px; border-top:1px solid var(--border);}
.dvs-share .t-share-lbl{font:700 .7rem/1 var(--font-body); letter-spacing:.16em; text-transform:uppercase; color:var(--fg3); margin-right:4px;}

/* Journey nav */
.dvs-nav{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:clamp(28px,4vw,40px) 0;}
.dvs-nav-link{display:flex; flex-direction:column; gap:6px; padding:16px 18px; border:1px solid var(--border);
  border-radius:14px; background:var(--surface); transition:border-color .3s, transform .25s var(--ease), box-shadow .3s;}
.dvs-nav-next{text-align:right; align-items:flex-end;}
.dvs-nav-dir{display:inline-flex; align-items:center; gap:6px; font:700 .66rem/1 var(--font-body);
  letter-spacing:.14em; text-transform:uppercase; color:var(--accent-strong);}
.dvs-nav-title{font:600 1.02rem/1.25 var(--font-display); color:var(--fg1);}
@media (hover:hover){ .dvs-nav-link:hover{border-color:var(--hairline-gold); transform:translateY(-3px); box-shadow:var(--shadow-md);} }
@media (max-width:560px){ .dvs-nav{grid-template-columns:1fr;} .dvs-nav-next{text-align:left; align-items:flex-start;} }

.dvs-back{margin-top:30px;}

/* ── Signup — receive the daily word ────────────────────────────────────── */
.dev-signup{padding:clamp(40px,7vw,80px) 0;}
.dev-signup--inline{padding:0; margin:clamp(28px,4vw,40px) 0;}
.dev-signup-card{position:relative; isolation:isolate; overflow:hidden;
  max-width:760px; margin:0 auto; padding:clamp(28px,4vw,48px);
  background:linear-gradient(180deg, var(--surface), var(--surface-warm));
  border:1px solid var(--hairline-gold); border-radius:24px; box-shadow:var(--shadow-lg); text-align:center;}
.dev-signup--inline .dev-signup-card{padding:clamp(24px,3.5vw,36px); border-radius:20px; box-shadow:var(--shadow-md);}
.dev-signup-bg{position:absolute; inset:0; z-index:-2; pointer-events:none;}
.dev-signup-bg img{width:100%; height:100%; object-fit:cover; opacity:.42; filter:saturate(.95);}
.dev-signup-glow{position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(80% 70% at 50% -8%, rgba(198,164,92,.22), transparent 60%),
    linear-gradient(180deg, rgba(251,248,240,.82), rgba(246,241,228,.86));}
.dev-signup-mark{display:inline-flex; align-items:center; justify-content:center; width:54px; height:60px;
  margin:0 auto; color:var(--gilt-500); border:1.5px solid var(--hairline-gold);
  background:var(--surface); border-radius:var(--arch);}
.dev-signup--inline .dev-signup-mark{width:46px; height:52px;}
.dev-signup-eyebrow{display:block; margin-top:16px; font:700 .68rem/1 var(--font-body);
  letter-spacing:.2em; text-transform:uppercase; color:var(--accent-strong);}
.dev-signup-h{margin:12px 0 0; font:600 clamp(1.5rem,3vw,2.3rem)/1.12 var(--font-display); color:var(--fg1); letter-spacing:-.01em;}
.dev-signup--inline .dev-signup-h{font-size:clamp(1.35rem,2.4vw,1.8rem);}
.dev-signup-lead{margin:14px auto 0; max-width:52ch; font:400 1rem/1.65 var(--font-body); color:var(--fg2);}
.dev-signup--inline .dev-signup-lead{font-size:.94rem;}

.dev-signup-form{margin-top:24px;}
.dev-signup-hp{position:absolute; left:-9999px;}
.dev-signup-fields{display:flex; flex-direction:column; gap:12px; max-width:560px; margin:0 auto;}
.dev-signup-fields .vmm-field{margin:0; text-align:left;}
.dev-signup-fields .vmm-input{width:100%;}
.dev-signup-btn{justify-content:center; white-space:nowrap;}
@media (min-width:620px){
  .dev-signup-fields{flex-direction:row; align-items:stretch;}
  .dev-signup-name{flex:1 1 30%;}
  .dev-signup-email{flex:1 1 40%;}
  .dev-signup-btn{flex:0 0 auto;}
}
.dev-signup-note{display:inline-flex; align-items:center; gap:7px; margin:16px 0 0;
  font:500 .8rem/1.5 var(--font-body); color:var(--fg3);}
.dev-signup-note vm-icon{color:var(--gilt-500);}
.dev-signup-form .form-status{display:block; margin-top:10px;}

.dev-signup-success{text-align:center; padding:clamp(20px,3vw,32px) 0;}
.dev-signup-success[hidden]{display:none !important;}
.dev-signup-check{display:inline-flex; align-items:center; justify-content:center; width:62px; height:62px;
  margin:0 auto 14px; border-radius:50%; color:var(--gilt-500);
  background:var(--surface-warm); border:1.5px solid var(--hairline-gold);}
.dev-signup-success h2{margin:0; font:600 clamp(1.4rem,2.6vw,2rem)/1.15 var(--font-display); color:var(--fg1);}
.dev-signup-success p{margin:10px auto 0; max-width:46ch; color:var(--fg2);}

@media (prefers-reduced-motion:reduce){
  .dev-card, .dev-lead-card, .dvs-nav-link{transition:none;}
}
