
:root{
  --ink:#2e241f; --muted:#6f625b; --cream:#f7f2e9; --paper:#fffdf8; --gold:#a4763d;
  --gold-dark:#7a5127; --rose:#ead7cb; --line:#e8ddd0; --shadow:0 18px 55px rgba(70,47,29,.12);
  --radius:28px; --serif:"Playfair Display",Georgia,serif; --sans:"DM Sans",Arial,sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto} a{color:inherit} button,a{touch-action:manipulation}.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.skip-link{position:absolute;left:10px;top:-100px;background:#fff;padding:10px 14px;z-index:1000}.skip-link:focus{top:10px}.announcement{background:#2d241f;color:#f8f1e7;text-align:center;padding:9px 16px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,248,.92);backdrop-filter:blur(15px);border-bottom:1px solid rgba(164,118,61,.18)}.header-inner{width:min(1240px,calc(100% - 32px));margin:auto;display:flex;align-items:center;justify-content:space-between;min-height:86px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand img{width:58px;height:58px;object-fit:contain}.brand span{display:grid;line-height:1.1}.brand strong{font-family:var(--serif);font-size:1.22rem}.brand small{color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;margin-top:6px}.site-nav{display:flex;align-items:center;gap:28px}.site-nav a{text-decoration:none;font-size:.92rem;font-weight:600;position:relative}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--gold);transition:.25s}.site-nav a:hover:after,.site-nav a:focus-visible:after{right:0}.menu-button{display:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 16px;font-weight:700}
.hero{width:min(1480px,calc(100% - 32px));margin:22px auto 0;border-radius:34px;overflow:hidden;box-shadow:var(--shadow);background:#eadac6}.hero picture,.hero img{width:100%}.hero img{aspect-ratio:16/9;object-fit:cover}.intro-section{text-align:center;padding:82px 0 94px}.eyebrow{margin:0 0 12px;color:var(--gold-dark);font-size:.75rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.intro-section h1,.section-heading h2,.featured-copy h2,.editorial-section h2,.two-column-copy h2,.affiliate-copy h2,.faq-section h2,.final-cta h2{font-family:var(--serif);line-height:1.08;letter-spacing:-.025em}.intro-section h1{font-size:clamp(2.8rem,6vw,5.2rem);margin:0}.intro-lead{max-width:790px;margin:24px auto 0;color:var(--muted);font-size:1.12rem}.intro-actions{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:34px;flex-wrap:wrap}.primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 24px;border:0;border-radius:999px;background:var(--ink);color:#fff;text-decoration:none;font:700 .92rem var(--sans);box-shadow:0 12px 28px rgba(46,36,31,.18);cursor:pointer;transition:transform .2s,background .2s}.primary-button:hover{transform:translateY(-2px);background:var(--gold-dark)}.text-link{font-weight:700;text-decoration:none;color:var(--gold-dark)}
.category-section{padding-bottom:112px}.section-heading{max-width:680px;margin-bottom:38px}.section-heading h2{font-size:clamp(2.2rem,4vw,3.6rem);margin:0 0 18px}.section-heading p:last-child{color:var(--muted);margin:0}.section-heading.centred{text-align:center;margin:0 auto 42px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.category-card{position:relative;overflow:hidden;border-radius:24px;background:#eee;text-decoration:none;box-shadow:0 12px 32px rgba(58,42,29,.1)}.category-card img{width:100%;aspect-ratio:6/7;object-fit:cover;transition:transform .5s}.category-card:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(28,20,15,.72))}.category-card span{position:absolute;left:22px;right:22px;bottom:20px;z-index:2;color:#fff;font-weight:700}.category-card:hover img{transform:scale(1.035)}
.gallery-section{background:var(--cream);padding:110px 0}.filter-bar{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:0 auto 44px}.filter-button{border:1px solid #d8c9b8;background:rgba(255,255,255,.6);border-radius:999px;padding:10px 17px;color:var(--ink);font-weight:700;cursor:pointer}.filter-button.active,.filter-button:hover{background:var(--ink);border-color:var(--ink);color:#fff}.blessing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:start}.blessing-card{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 12px 34px rgba(74,52,34,.09);transition:transform .25s,box-shadow .25s}.blessing-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(74,52,34,.14)}.blessing-card[hidden]{display:none}.image-button{display:block;position:relative;width:100%;padding:0;border:0;background:#d9c8b2;cursor:zoom-in}.image-button img{display:block;width:100%;height:auto;object-fit:contain;background:#f4ede2}.view-badge{position:absolute;right:14px;bottom:14px;background:rgba(255,255,255,.9);padding:7px 11px;border-radius:999px;font-size:.72rem;font-weight:700;opacity:0;transform:translateY(5px);transition:.2s}.image-button:hover .view-badge,.image-button:focus-visible .view-badge{opacity:1;transform:none}.card-body{padding:20px 20px 18px}.card-kicker{margin:0 0 8px;color:var(--gold-dark);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.card-quote{margin:0;min-height:68px;font-family:var(--serif);font-size:1.18rem;line-height:1.4}.card-actions{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}.action-button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:8px 12px;text-decoration:none;font:700 .72rem var(--sans);cursor:pointer}.action-button:hover{border-color:var(--gold);color:var(--gold-dark)}
.featured-prayer{display:grid;grid-template-columns:1.25fr .75fr;align-items:stretch;margin-top:110px;margin-bottom:120px;background:#2f251f;color:#fff;border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.featured-prayer>img{width:100%;height:100%;object-fit:cover;min-height:490px}.featured-copy{padding:58px 50px;display:flex;flex-direction:column;justify-content:center}.featured-copy .eyebrow{color:#e8c995}.featured-copy h2{font-size:clamp(2.2rem,4vw,3.7rem);margin:0 0 24px}.featured-copy p{color:#eadfd5;margin:0 0 28px}.featured-copy .primary-button{align-self:flex-start;background:#fff;color:var(--ink)}
.editorial-section{padding-bottom:110px}.editorial-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.editorial-section h2,.two-column-copy h2,.affiliate-copy h2{font-size:clamp(2.3rem,4vw,4rem);margin:0 0 24px}.editorial-section p,.two-column-copy p,.affiliate-copy p{color:var(--muted)}blockquote{margin:0;background:var(--cream);border-radius:28px;padding:48px;font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.45;color:var(--gold-dark);box-shadow:inset 0 0 0 1px #eadfce}.message-list{margin-top:54px;border-top:1px solid var(--line)}.message-list p{display:grid;grid-template-columns:52px 1fr;gap:12px;margin:0;padding:19px 0;border-bottom:1px solid var(--line);color:var(--ink);font-size:1.02rem}.message-list span{color:var(--gold);font-weight:700}
.soft-section{background:#f1e6da;padding:110px 0}.two-column-copy{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:start}.two-column-copy h3{font-family:var(--serif);font-size:1.6rem;margin:30px 0 6px}.how-to-card{background:#fff;border-radius:28px;padding:42px;box-shadow:var(--shadow)}.how-to-card h3{font-size:2rem;margin:0 0 20px}.how-to-card ol{padding-left:20px;color:var(--muted)}.how-to-card li{margin-bottom:14px}
.affiliate-section{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:center;padding-top:120px;padding-bottom:120px}.affiliate-image{border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.affiliate-image img{width:100%;aspect-ratio:4/3;object-fit:cover}.affiliate-button{margin:10px 0 18px}.affiliate-note{font-size:.82rem;line-height:1.55}
.faq-section{padding-bottom:110px}.faq-list{max-width:880px;margin:auto;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:0}summary{cursor:pointer;list-style:none;padding:24px 42px 24px 0;font-weight:700;position:relative;font-size:1.05rem}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:8px;top:19px;font-size:1.5rem;color:var(--gold)}details[open] summary:after{content:"−"}details p{margin:0;padding:0 40px 24px 0;color:var(--muted)}.final-cta{background:#2f251f;color:#fff;text-align:center;padding:100px 0}.final-cta .eyebrow{color:#e8c995}.final-cta h2{font-size:clamp(2.4rem,5vw,4.6rem);margin:0}.final-cta p{color:#e5dbd1;margin:18px auto 28px;max-width:600px}.final-cta .primary-button{background:#fff;color:var(--ink)}
.site-footer{background:#1d1714;color:#f6efe7;padding:58px 0 26px}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-brand{display:flex;align-items:center;gap:16px}.footer-brand img{filter:invert(1);width:58px;height:58px;object-fit:contain}.footer-brand div{display:grid}.footer-brand strong{font-family:var(--serif);font-size:1.25rem}.footer-brand span{font-size:.82rem;color:#bfb2a9}.site-footer nav{display:flex;gap:24px;flex-wrap:wrap}.site-footer a{font-size:.86rem;text-decoration:none;color:#e6dcd2}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:#9e9188;font-size:.75rem}.footer-bottom p{margin:0}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#1f1916;color:#fff;border-radius:999px;padding:11px 18px;font-weight:700;font-size:.84rem;opacity:0;pointer-events:none;transition:.25s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}.lightbox{width:min(760px,calc(100% - 30px));max-height:94vh;padding:0;border:0;border-radius:24px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.35)}.lightbox::backdrop{background:rgba(20,15,12,.82);backdrop-filter:blur(5px)}.lightbox img{width:100%;max-height:72vh;object-fit:contain;background:#eadfce}.lightbox-close{position:absolute;right:12px;top:12px;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.92);font-size:1.8rem;line-height:1;cursor:pointer}.lightbox-copy{padding:18px 24px 24px}.lightbox-copy p{margin:0}.lightbox-text{font-family:var(--serif);font-size:1.2rem}
@media (max-width:1000px){.site-nav{gap:16px}.blessing-grid{grid-template-columns:repeat(2,1fr)}.featured-prayer{grid-template-columns:1fr}.featured-prayer>img{min-height:0;aspect-ratio:16/9}.editorial-grid,.two-column-copy,.affiliate-section{grid-template-columns:1fr;gap:42px}.affiliate-image{max-width:720px}.footer-grid,.footer-bottom{align-items:flex-start;flex-direction:column}}
@media (max-width:760px){.shell{width:min(100% - 28px,1180px)}.announcement{font-size:.65rem}.header-inner{min-height:74px}.brand img{width:48px;height:48px}.brand strong{font-size:1.05rem}.menu-button{display:block}.site-nav{position:absolute;left:16px;right:16px;top:68px;display:none;flex-direction:column;align-items:stretch;gap:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px;box-shadow:var(--shadow)}.site-nav.open{display:flex}.site-nav a{padding:12px}.site-nav a:after{display:none}.hero{width:calc(100% - 20px);margin-top:10px;border-radius:24px}.hero img{aspect-ratio:4/5}.intro-section{padding:54px 0 68px}.intro-section h1{font-size:2.75rem}.intro-lead{font-size:1rem}.intro-actions{gap:16px}.category-section{padding-bottom:76px}.category-grid{grid-template-columns:1fr;gap:18px}.gallery-section{padding:76px 0}.section-heading h2{font-size:2.45rem}.filter-bar{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.filter-button{white-space:nowrap}.blessing-grid{grid-template-columns:1fr;gap:22px}.card-quote{min-height:0}.featured-prayer{margin-top:72px;margin-bottom:78px;border-radius:22px}.featured-copy{padding:34px 24px}.featured-copy h2{font-size:2.4rem}.editorial-section{padding-bottom:78px}blockquote{padding:30px;font-size:1.45rem}.message-list p{grid-template-columns:38px 1fr}.soft-section{padding:76px 0}.how-to-card{padding:28px}.affiliate-section{padding-top:78px;padding-bottom:78px}.faq-section{padding-bottom:78px}.final-cta{padding:76px 0}.footer-grid nav{display:grid;gap:12px}.footer-bottom{gap:8px}.view-badge{display:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.page-two-intro{text-align:center;padding:82px 0 64px}
.page-two-intro h1{font-family:var(--serif);font-size:clamp(2.5rem,5vw,4.6rem);line-height:1.08;letter-spacing:-.025em;margin:0}
.page-two-intro>p:not(.eyebrow){max-width:760px;margin:22px auto;color:var(--muted);font-size:1.08rem}
.page-two-affiliate{padding-top:90px}
.page-two-intro+.gallery-section{padding-top:86px}

.gallery-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:max-content;
  max-width:100%;
  margin:52px auto 0;
  padding:10px;
  border:1px solid rgba(160,126,83,.22);
  border-radius:999px;
  background:rgba(255,255,255,.92);
  box-shadow:0 14px 36px rgba(74,52,34,.10);
}
.pagination-pages{display:flex;align-items:center;gap:7px}
.page-number,.page-arrow{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:46px;
  border:1px solid #dfd2c2;
  background:#fff;
  color:var(--ink) !important;
  font:700 .88rem/1 var(--sans) !important;
  text-decoration:none !important;
  white-space:nowrap;
  transition:transform .2s,border-color .2s,background .2s,color .2s,box-shadow .2s;
}
.page-number{width:46px;min-width:46px;padding:0;border-radius:50%}
.page-arrow{min-width:112px;padding:0 18px;border-radius:999px;gap:8px}
.page-number.active{
  background:var(--ink);
  border-color:var(--ink);
  color:#fff !important;
  box-shadow:0 8px 20px rgba(46,36,31,.18);
}
.page-number:not(.active):hover,.page-arrow:hover{
  transform:translateY(-2px);
  border-color:var(--gold);
  background:#fffaf3;
  color:var(--gold-dark) !important;
  box-shadow:0 8px 20px rgba(160,126,83,.12);
}
.page-arrow .arrow{font-size:1.12rem;line-height:1}

@media(max-width:600px){
  .page-two-intro{padding:58px 0 44px}
  .gallery-pagination{
    width:min(100%,360px);
    margin-top:38px;
    padding:9px;
    border-radius:24px;
    gap:8px;
  }
  .page-arrow{flex:1;min-width:0;padding:0 13px}
  .page-number{width:44px;min-width:44px;min-height:44px}
}
