
  :root{
    --deep-wine:#561744;
    --sage:#527763;
    --cream:#DBDBD3;
    --cream-light:#F4F2EC;
    --charcoal:#2E2E2C;
    --white:#FFFDF9;
  }

  *{box-sizing:border-box; margin:0; padding:0;}

  body{
    font-family:'Lato', sans-serif;
    background:var(--cream-light);
    color:var(--charcoal);
    line-height:1.6;
  }

  h1,h2,h3{
    font-family:'Quicksand', sans-serif;
    font-weight:600;
    color:var(--deep-wine);
  }

  .wrap{
    max-width:1000px;
    margin:0 auto;
    padding:0 28px;
  }

  a{ color:inherit; }

  /* ---------- Hero ---------- */
  .hero{
    padding:88px 0 60px;
    text-align:center;
  }

  .hero .mark{
    width:52px; height:52px;
    margin:0 auto 22px;
    border-radius:50%;
    background:var(--deep-wine);
    display:flex; align-items:center; justify-content:center;
  }
  .hero .mark svg{ width:26px; height:26px; }

  .hero h1{
    font-size:clamp(2.1rem, 5vw, 3rem);
  }

  .hero .tagline{
    font-style:italic;
    color:var(--sage);
    font-size:1.05rem;
    margin-top:14px;
  }

  .hero .lede{
    max-width:540px;
    margin:22px auto 0;
    font-size:1.02rem;
    opacity:0.85;
  }

  .vine{
    display:block;
    width:100%;
    height:56px;
  }
  .vine path{
    fill:none;
    stroke:var(--sage);
    stroke-width:1.6;
    stroke-linecap:round;
    opacity:0.5;
  }
  .vine circle{ fill:var(--deep-wine); opacity:0.65; }

  .section{ padding:60px 0; }
  .section-head{
    text-align:center;
    margin-bottom:36px;
  }
  .section-head h2{ font-size:1.65rem; }
  .section-head p{
    max-width:480px;
    margin:10px auto 0;
    opacity:0.8;
    font-size:0.98rem;
  }
  .eyebrow{
    font-family:'Quicksand', sans-serif;
    font-weight:600;
    letter-spacing:0.14em;
    text-transform:uppercase;
    font-size:0.72rem;
    color:var(--sage);
    display:block;
    margin-bottom:8px;
  }

  /* ---------- Newsletter signup (letter card) ---------- */
  .letter-card{
    background:var(--deep-wine);
    border-radius:22px;
    padding:52px 44px;
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:36px;
    align-items:center;
    color:var(--cream-light);
    position:relative;
    overflow:hidden;
  }
  .letter-card::before{
    content:"";
    position:absolute;
    top:-40px; right:-40px;
    width:180px; height:180px;
    border-radius:50%;
    background:rgba(219,219,211,0.06);
  }
  .letter-card h3{
    color:var(--cream-light);
    font-size:1.5rem;
    margin-bottom:10px;
  }
  .letter-card p{
    opacity:0.82;
    font-size:0.96rem;
  }
  .letter-card .quote{
    font-family:'Lora', serif;
    font-style:italic;
    opacity:0.65;
    font-size:0.9rem;
    margin-top:14px;
  }

  .signup-form{
    display:flex;
    flex-direction:column;
    gap:12px;
    position:relative;
  }
  .signup-form input{
    padding:14px 16px;
    border-radius:12px;
    border:none;
    font-family:'Lato', sans-serif;
    font-size:0.95rem;
    background:rgba(244,242,236,0.94);
    color:var(--charcoal);
  }
  .signup-form input::placeholder{ color:rgba(46,46,44,0.55); }
  .signup-form button{
    padding:14px 16px;
    border-radius:12px;
    border:none;
    background:var(--sage);
    color:var(--white);
    font-family:'Quicksand', sans-serif;
    font-weight:600;
    font-size:0.95rem;
    cursor:pointer;
    transition:filter 0.2s ease;
  }
  .signup-form button:hover{ filter:brightness(1.08); }
  .signup-form .fine{
    font-size:0.75rem;
    opacity:0.6;
    margin-top:2px;
  }

  @media (max-width:700px){
    .letter-card{ grid-template-columns:1fr; padding:38px 26px; }
  }

  /* ---------- Newsletter archive ---------- */
  .archive-list{
    display:flex;
    flex-direction:column;
    border-top:1px solid rgba(86,23,68,0.12);
  }
  .archive-item{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:20px;
    padding:20px 6px;
    border-bottom:1px solid rgba(86,23,68,0.12);
    text-decoration:none;
    color:inherit;
    transition:padding-left 0.2s ease, color 0.2s ease;
  }
  .archive-item:hover, .archive-item:focus-visible{
    padding-left:12px;
    color:var(--deep-wine);
    outline:none;
  }
  .archive-item .meta{
    display:flex;
    flex-direction:column;
    gap:3px;
  }
  .archive-item .issue{
    font-family:'Quicksand', sans-serif;
    font-weight:600;
    font-size:1.02rem;
  }
  .archive-item .date{
    font-size:0.82rem;
    opacity:0.6;
  }
  .archive-item .arrow{
    font-size:1.1rem;
    color:var(--sage);
    flex-shrink:0;
  }

  /* ---------- Testimony / prayer request ---------- */
  .share-band{
    background:var(--cream);
  }
  .share-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    align-items:start;
  }
  .share-grid .intro h2{ text-align:left; }
  .share-grid .intro p{
    margin:14px 0 0;
    opacity:0.82;
    font-size:0.98rem;
    max-width:380px;
  }
  .share-grid .intro ul{
    margin:22px 0 0 0;
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:12px;
  }
  .share-grid .intro li{
    font-size:0.92rem;
    display:flex;
    gap:10px;
    align-items:flex-start;
  }
  .share-grid .intro li svg{
    width:16px; height:16px;
    stroke:var(--sage);
    flex-shrink:0;
    margin-top:3px;
  }

  .share-form{
    background:var(--white);
    border-radius:18px;
    padding:32px;
    display:flex;
    flex-direction:column;
    gap:14px;
    box-shadow:0 2px 14px rgba(46,46,44,0.06);
  }
  .share-form label{
    font-family:'Quicksand', sans-serif;
    font-weight:600;
    font-size:0.85rem;
    color:var(--deep-wine);
    margin-bottom:-6px;
  }
  .share-form input, .share-form select, .share-form textarea{
    padding:12px 14px;
    border-radius:10px;
    border:1px solid rgba(86,23,68,0.18);
    font-family:'Lato', sans-serif;
    font-size:0.94rem;
    background:var(--cream-light);
    color:var(--charcoal);
    resize:vertical;
  }
  .share-form textarea{ min-height:100px; }
  .share-form .row-check{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:0.88rem;
    opacity:0.85;
  }
  .share-form button{
    margin-top:6px;
    padding:14px 16px;
    border-radius:10px;
    border:none;
    background:var(--deep-wine);
    color:var(--cream-light);
    font-family:'Quicksand', sans-serif;
    font-weight:600;
    font-size:0.95rem;
    cursor:pointer;
    transition:filter 0.2s ease;
  }
  .share-form button:hover{ filter:brightness(1.12); }

  @media (max-width:760px){
    .share-grid{ grid-template-columns:1fr; }
  }

  /* ---------- Social strip ---------- */
  .social-strip{
    text-align:center;
    padding:64px 0 80px;
  }
  .social-strip .icons{
    display:flex;
    justify-content:center;
    gap:16px;
    margin-top:22px;
  }
  .social-strip a{
    width:46px; height:46px;
    border-radius:50%;
    background:var(--white);
    border:1px solid rgba(86,23,68,0.12);
    display:flex; align-items:center; justify-content:center;
    text-decoration:none;
    transition:transform 0.2s ease, border-color 0.2s ease;
  }
  .social-strip a:hover, .social-strip a:focus-visible{
    transform:translateY(-3px);
    border-color:var(--sage);
    outline:none;
  }
  .social-strip svg{ width:20px; height:20px; stroke:var(--deep-wine); }
  .social-strip .placeholder-note{
    margin-top:22px;
    font-size:0.85rem;
    opacity:0.6;
    font-style:italic;
  }