/* ==========================================================================
   home.css — homepage sections
   Ported verbatim from the inline <style> block of index.html.
   Shared tokens, base, buttons, header and footer live in global.css.
   ========================================================================== */
/* ------------------------------------------------------------------
   Home page — page-specific styles only.
   Shared tokens, base, buttons, header & footer: assets/global.css
   ------------------------------------------------------------------ */

/* ---------- Hero ---------- */
.hero{
  position:relative;
  min-height:min(92vh,840px);
  display:flex;align-items:center;
  text-align:center;overflow:hidden;
  padding-top:clamp(4rem,10vw,6.5rem);
  padding-bottom:clamp(4rem,10vw,6.5rem);
  background:var(--navy) center 45% / cover no-repeat;
}
.hero::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(180deg,rgba(12,19,36,.56) 0%,rgba(12,19,36,.60) 45%,rgba(9,14,27,.82) 100%);
}
.hero .wrap{position:relative;z-index:1;width:100%}
.hero .eyebrow{margin-bottom:1.4rem;color:var(--gold-bright)}
.hero h1{font-size:clamp(2.6rem,6vw,4.4rem);max-width:15ch;margin:0 auto .9rem;color:#fff;text-shadow:0 2px 34px rgba(0,0,0,.45)}
.hero .lede{max-width:46ch;margin:0 auto 2.3rem;color:rgba(251,247,239,.92);text-shadow:0 1px 20px rgba(0,0,0,.45)}
.hero-cta{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}
.hero .btn-primary{background:var(--gold-bright);color:var(--navy);box-shadow:0 16px 36px -14px rgba(0,0,0,.55)}
.hero .btn-primary:hover{background:#e6c17e;transform:translateY(-2px)}
.hero .btn-ghost{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.07)}
.hero .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.16);transform:translateY(-2px)}
.hero-verse{margin-top:clamp(2.6rem,6vw,3.6rem)}
.hero-verse::before{content:"";display:block;width:46px;height:2px;border-radius:2px;background:var(--gold-bright);opacity:.85;margin:0 auto 1.4rem}
.hero-verse p{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(1.15rem,2.2vw,1.6rem);line-height:1.35;color:#fff;max-width:34ch;margin:0 auto;text-shadow:0 2px 24px rgba(0,0,0,.6)}
.hero-verse cite{display:block;margin-top:.75rem;font-style:normal;font-family:var(--sans);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;color:var(--gold-bright);text-shadow:0 1px 12px rgba(0,0,0,.6)}

/* ---------- Section shells ---------- */
section{padding-block:var(--sect)}
.sect-head{text-align:center;max-width:var(--measure);margin:0 auto clamp(2.5rem,5vw,3.5rem)}
.sect-head .eyebrow{display:block;margin-bottom:1rem}
.sect-head p{margin-top:1rem;color:var(--muted);font-size:1.08rem}

/* ---------- Rhythm (the daily steps) ---------- */
.rhythm{background:var(--navy);color:var(--ivory)}
.rhythm h2{color:#fff}
.rhythm .eyebrow{color:var(--gold-bright)}
.rhythm .sect-head p{color:rgba(251,247,239,.72)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;counter-reset:step}
.step{
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);
  border-radius:20px;padding:2rem 1.6rem;position:relative;transition:transform .3s ease,background .3s ease;
}
.step:hover{transform:translateY(-6px);background:rgba(255,255,255,.075)}
.step .num{
  font-family:var(--serif);font-size:1.6rem;color:var(--gold-bright);
  width:52px;height:52px;border:1px solid rgba(214,174,99,.5);border-radius:50%;
  display:grid;place-items:center;margin-bottom:1.4rem;
}
.step h3{color:#fff;font-size:1.28rem;margin-bottom:.5rem}
.step p{color:rgba(251,247,239,.72);font-size:.96rem;line-height:1.55}

/* ---------- Sample guide ---------- */
.sample-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.sample-copy h2{margin-bottom:1.1rem}
.sample-copy p{color:var(--muted);margin-bottom:1.4rem;max-width:44ch}
.sample-list{list-style:none;display:grid;gap:1rem;margin-bottom:2rem}
.sample-list li{display:flex;gap:.9rem;align-items:flex-start;font-weight:600;color:var(--navy)}
.sample-list .tick{flex:none;width:26px;height:26px;border-radius:50%;background:var(--ivory-deep);color:var(--gold);display:grid;place-items:center;margin-top:1px}
.guide-card{
  background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;
  box-shadow:0 50px 90px -60px rgba(27,42,71,.5);
}
.guide-card .gc-head{background:var(--olive);color:#fff;padding:1.3rem 1.8rem;display:flex;align-items:center;justify-content:space-between}
.guide-card .gc-head .date{font-family:var(--serif);font-size:1.35rem}
.guide-card .gc-head .tag{font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:.85}
.guide-card .gc-body{padding:1.9rem 1.8rem 2.1rem}
.gc-imglink{display:block;aspect-ratio:16/9;overflow:hidden}
.gc-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.gc-imglink:hover .gc-img{transform:scale(1.04)}
.gc-more{display:inline-block;margin-top:1.5rem;font-family:var(--sans);font-weight:700;font-size:.9rem;color:var(--gold);border-bottom:2px solid transparent;transition:border-color .2s}
.gc-more:hover{border-color:var(--gold)}
.gc-label{font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.gc-verse{font-family:var(--serif);font-style:italic;font-size:1.5rem;line-height:1.32;color:var(--navy);margin-bottom:.4rem}
.gc-ref{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--olive);margin-bottom:1.7rem}
.gc-block{border-top:1px solid var(--line);padding-top:1.3rem;margin-top:1.3rem}
.gc-block:first-of-type{border-top:0;padding-top:0;margin-top:0}
.gc-block p{color:var(--ink);font-size:.98rem;line-height:1.6}
.gc-block .prayer{font-style:italic;color:var(--muted)}

/* ---------- Pillars ---------- */
.pillars{background:var(--ivory-deep)}
.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.pillar{
  background:#fff;border:1px solid var(--line);border-radius:20px;padding:2.2rem;
  transition:transform .3s ease,box-shadow .3s ease;
}
.pillar:hover{transform:translateY(-5px);box-shadow:0 40px 60px -46px rgba(27,42,71,.4)}
.pillar .ic{width:46px;height:46px;color:var(--gold);margin-bottom:1.3rem}
.pillar h3{margin-bottom:.55rem}
.pillar p{color:var(--muted);font-size:.98rem}

/* ---------- Promise (quote band) ---------- */
.promise{text-align:center}
.promise .wrap{max-width:820px}
.promise .sprig{margin-bottom:2rem}
.promise-q{font-family:var(--serif);font-size:clamp(1.7rem,3.6vw,2.7rem);line-height:1.32;color:var(--navy);font-weight:500}
.promise-q em{color:var(--gold);font-style:italic}
.promise-sub{margin-top:1.6rem;color:var(--muted);font-size:1.05rem}

/* ---------- Blog ---------- */
.blog{background:var(--navy);color:var(--ivory)}
.blog h2{color:#fff}
.blog .eyebrow{color:var(--gold-bright)}
.blog .sect-head p{color:rgba(251,247,239,.72)}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.post-card{
  display:flex;flex-direction:column;text-decoration:none;color:inherit;
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);
  border-radius:20px;padding:2rem 1.7rem;
  transition:transform .3s ease,background .3s ease,border-color .3s ease;
}
.post-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.08);border-color:rgba(214,174,99,.4)}
.pc-meta{font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:1rem}
.post-card h3{color:#fff;font-size:1.34rem;line-height:1.22;margin-bottom:.6rem}
.post-card p{color:rgba(251,247,239,.72);font-size:.97rem;line-height:1.55;margin-bottom:1.3rem;flex:1}
.pc-link{font-family:var(--sans);font-weight:700;font-size:.85rem;color:#fff;transition:color .25s ease}
.post-card:hover .pc-link{color:var(--gold-bright)}
.blog-more{text-align:center;margin-top:clamp(2.4rem,5vw,3.2rem)}

/* ---------- Email signup ---------- */
.signup{text-align:center;background:linear-gradient(180deg,var(--ivory),var(--ivory-deep))}
.signup .wrap{max-width:640px}
.signup h2{margin-bottom:.9rem}
.signup p{color:var(--muted);margin-bottom:2rem}
.form{display:flex;gap:.7rem;max-width:460px;margin:0 auto;flex-wrap:wrap}
.form input{
  flex:1 1 220px;padding:.9rem 1.2rem;border-radius:999px;border:1.5px solid var(--line);
  font-family:var(--sans);font-size:.95rem;background:#fff;color:var(--ink);
}
.form input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(176,129,60,.15)}
.form .btn{flex:0 0 auto}
.form-note{margin-top:1.1rem;font-size:.82rem;color:var(--muted)}
.form-done{color:var(--olive);font-weight:700;font-family:var(--serif);font-size:1.3rem;font-style:italic}

/* ---------- Responsive (page grids) ---------- */
@media(max-width:900px){
  .steps{grid-template-columns:repeat(2,1fr)}
  .pillar-grid{grid-template-columns:repeat(2,1fr)}
  .sample-grid{grid-template-columns:1fr}
  .sample-copy{order:2}
  .post-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .steps,.pillar-grid{grid-template-columns:1fr}
}

/* --- Hero image: self-hosted, responsive, WebP with a JPEG fallback -------
   Plain url() first so every browser has something it understands; the
   image-set() lines below are used by browsers that support them and pull
   WebP instead. Widths step with the viewport so phones never fetch a
   desktop-sized file. */
.hero{background-image:url("/assets/hero-960.jpg")}
.hero{background-image:-webkit-image-set(url("/assets/hero-960.webp") type("image/webp") 1x,url("/assets/hero-960.jpg") type("image/jpeg") 1x)}
.hero{background-image:image-set(url("/assets/hero-960.webp") type("image/webp") 1x,url("/assets/hero-960.jpg") type("image/jpeg") 1x)}

@media (min-width:641px){
  .hero{background-image:url("/assets/hero-1280.jpg")}
  .hero{background-image:-webkit-image-set(url("/assets/hero-1280.webp") type("image/webp") 1x,url("/assets/hero-1280.jpg") type("image/jpeg") 1x)}
  .hero{background-image:image-set(url("/assets/hero-1280.webp") type("image/webp") 1x,url("/assets/hero-1280.jpg") type("image/jpeg") 1x)}
}
@media (min-width:1025px){
  .hero{background-image:url("/assets/hero-1920.jpg")}
  .hero{background-image:-webkit-image-set(url("/assets/hero-1920.webp") type("image/webp") 1x,url("/assets/hero-1920.jpg") type("image/jpeg") 1x)}
  .hero{background-image:image-set(url("/assets/hero-1920.webp") type("image/webp") 1x,url("/assets/hero-1920.jpg") type("image/jpeg") 1x)}
}
@media (min-width:1921px){
  .hero{background-image:url("/assets/hero-2560.jpg")}
  .hero{background-image:-webkit-image-set(url("/assets/hero-2560.webp") type("image/webp") 1x,url("/assets/hero-2560.jpg") type("image/jpeg") 1x)}
  .hero{background-image:image-set(url("/assets/hero-2560.webp") type("image/webp") 1x,url("/assets/hero-2560.jpg") type("image/jpeg") 1x)}
}
