:root{
  --orange:#ff5a1f;
  --orange-dark:#e64b14;
  --dark:#111111;
  --dark-soft:#1b1b1b;
  --white:#ffffff;
  --light:#f6f6f6;
  --text:#222222;
  --muted:#6d6d6d;
  --line:#e8e8e8;
  --shadow:0 18px 50px rgba(0,0,0,.10);
  --shadow-strong:0 20px 40px rgba(0,0,0,.14);
  --outline:0 0 0 1px rgba(255,90,31,.10);
  --radius-xl:28px;
  --radius-lg:22px;
  --radius-md:16px;
  --container:1200px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}

body{
  margin:0;
  font-family:'Inter',sans-serif;
  color:var(--text);
  background:#fff;
}

img{
  display:block;
  max-width:100%;
}

a{
  text-decoration:none;
  color:inherit;
}

button,input,select{
  font:inherit;
}

.container{
  width:min(var(--container), calc(100% - 28px));
  margin:0 auto;
}

.muted{
  color:var(--muted);
}

.mono{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
}

.secure-note{
  text-align:center;
  margin-top:12px;
  font-size:.9rem;
  color:#777;
}

/* =========================
   TOP INFO BAR
========================= */
.top-info{
  background:linear-gradient(90deg, #ff5a1f 0%, #ff5a1f 100%);
  color:#fff;
  position:relative;
  z-index:30;
}

.top-info-inner{
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:0;
}

.top-info-left{
  display:flex;
  align-items:center;
  gap:26px;
  flex-wrap:wrap;
  font-size:.95rem;
  font-weight:500;
}

.top-info-left span{
  color:#fff;
  opacity:.98;
}

.top-info-left a{
  color:inherit;
  text-decoration:none;
}

.top-info-left a:hover,
.top-info-left a:focus-visible{
  text-decoration:underline;
  text-underline-offset:3px;
}

.top-info-cta-group{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.top-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 16px;
  border-radius:999px;
  font-size:.92rem;
  font-weight:800;
  letter-spacing:.01em;
  color:#fff;
  background:rgba(17,18,24,.92);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 8px 18px rgba(0,0,0,.16);
  transition:transform .22s ease, background .22s ease, box-shadow .22s ease, border-color .22s ease;
  white-space:nowrap;
}

.top-cta-btn:hover{
  transform:translateY(-2px);
  background:linear-gradient(135deg, #2b2d35, #111218);
  border-color:rgba(255,255,255,.28);
  box-shadow:0 14px 28px rgba(0,0,0,.24);
  color:#fff;
}

.top-info-links{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:.95rem;
  font-weight:500;
}

.top-info-links a{
  color:#fff;
  position:relative;
  transition:all .25s ease;
  opacity:.95;
}

.top-info-links a:hover{
  opacity:1;
  color:#fff;
  text-shadow:0 0 8px rgba(255,255,255,.35);
}

.top-info-links a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-4px;
  width:0;
  height:2px;
  background:rgba(255,255,255,.8);
  transition:width .25s ease;
}

.top-info-links a:hover::after{
  width:100%;
}

.top-info-links a.highlight{
  color:#ffe6a3;
  font-weight:800;
}

.top-info-links a.highlight:hover{
  color:#fff3c4;
  text-shadow:0 0 10px rgba(255,215,120,.6), 0 0 18px rgba(255,200,90,.4);
}

.top-info-links a.highlight::after{
  background:linear-gradient(90deg, #ffd27a, #fff3c4);
}

.top-info-links .divider{
  opacity:.45;
  font-weight:400;
}

/* =========================
   MAIN NAV
========================= */
.main-nav{
  position:sticky;
  top:0;
  z-index:25;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(0,0,0,.06);
  box-shadow:0 10px 30px rgba(15,23,42,.05);
}

.nav-inner{
  min-height:84px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  position:relative;
}

.brand{
  display:flex;
  align-items:center;
  gap:14px;
  color:#23201c;
  min-width:0;
}

.brand-icon{
  width:42px;
  height:42px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#fff;
  box-shadow:0 8px 18px rgba(0,0,0,.08);
  flex:0 0 auto;
}

.brand-icon img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.brand-text{
  display:flex;
  flex-direction:column;
  line-height:1.05;
}

.brand-text strong{
  font-size:1.5rem;
  font-weight:900;
  color:#2c2823;
  letter-spacing:-.02em;
}

.brand-sub{
  margin-top:4px;
  font-size:.88rem;
  font-weight:700;
  color:#7a7268;
}

.nav-right{
  display:flex;
  align-items:center;
  gap:16px;
}

.nav-menu{
  display:flex;
  align-items:center;
  gap:6px;
}

.nav-menu > a,
.nav-item > a{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 14px;
  border-radius:999px;
  font-weight:800;
  font-size:.98rem;
  color:#2a2722;
  transition:color .22s ease, transform .22s ease, background .22s ease, box-shadow .22s ease;
}

.nav-menu > a::before,
.nav-item > a::before{
  content:"";
  position:absolute;
  inset:auto 14px 8px 14px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, #ff5a1f, #e0b14a);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .24s ease;
}

.nav-menu > a:hover,
.nav-item:hover > a{
  color:#111;
  background:linear-gradient(135deg, rgba(255,90,31,.08), rgba(224,177,74,.12));
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(0,0,0,.06);
}

.nav-menu > a:hover::before,
.nav-item:hover > a::before{
  transform:scaleX(1);
}

.lang-switcher{
  min-height:44px;
  padding:0 16px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.1);
  background:#fff;
  color:#2c2823;
  font-weight:800;
  outline:none;
  box-shadow:0 6px 14px rgba(0,0,0,.04);
}

.lang-switcher:focus{
  border-color:#ffad8c;
  box-shadow:0 0 0 4px rgba(255,90,31,.08);
}

/* =========================
   MENU TOGGLE
========================= */
.menu-toggle{
  display:none;
  width:48px;
  height:48px;
  border:none;
  border-radius:14px;
  background:#fff;
  box-shadow:0 10px 22px rgba(0,0,0,.08);
  cursor:pointer;
  padding:0;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
}

.menu-toggle span{
  width:20px;
  height:2px;
  border-radius:999px;
  background:#23201c;
  display:block;
}

/* =========================
   MEGA MENU
========================= */
.nav-item{
  position:relative;
}

.dropdown{
  position:absolute;
  top:calc(100% + 14px);
  left:0;
  width:min(920px, 92vw);
  background:#fff;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:40px;
  padding:34px 38px;
  border-radius:18px;
  box-shadow:0 25px 60px rgba(0,0,0,.08), 0 5px 20px rgba(0,0,0,.04);
  border:1px solid rgba(0,0,0,.06);
  opacity:0;
  visibility:hidden;
  transform:translateY(12px) scale(.98);
  transition:all .25s ease;
  z-index:1000;
}

.has-dropdown:hover .dropdown{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}

.mega-col h4{
  margin:0 0 12px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.5px;
  text-transform:uppercase;
  color:#8a7a55;
}

.mega-col a{
  display:block;
  margin-bottom:8px;
  padding:10px 12px;
  border-radius:10px;
  font-size:14px;
  color:#3a3a3a;
  transition:all .2s ease;
}

.mega-col a:hover{
  color:#1f1f1f;
  background:linear-gradient(135deg, rgba(198,165,92,.22), rgba(198,165,92,.10));
  box-shadow:inset 0 0 0 1px rgba(198,165,92,.18);
  transform:translateX(4px);
}

/* =========================
   HERO
========================= */
.hero {
    position: relative;
    min-height: 70vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #120d08;
}

.hero-media{
    position:absolute;
    inset:0;
    z-index:0;
    overflow:hidden;
}

.hero-media img,
.hero-media video{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}

.hero-particles span{
  position:absolute;
  width:10px;
  height:10px;
  border-radius:50%;
  background:rgba(255,255,255,.28);
  animation:float 10s linear infinite;
}

.hero-particles span:nth-child(1){left:8%;bottom:8%;animation-delay:0s;}
.hero-particles span:nth-child(2){left:18%;bottom:15%;animation-delay:2s;}
.hero-particles span:nth-child(3){left:35%;bottom:10%;animation-delay:4s;}
.hero-particles span:nth-child(4){left:52%;bottom:18%;animation-delay:1s;}
.hero-particles span:nth-child(5){left:70%;bottom:12%;animation-delay:3s;}
.hero-particles span:nth-child(6){left:84%;bottom:8%;animation-delay:5s;}

.hero-content{
  position:relative;
  z-index:2;
  width:100%;
  padding:120px 0;
  height:100%;
}

.hero-cta{
  position:absolute;
  bottom:60px;
  left:40%;
  transform:translateX(-50%);
  z-index:5;
}

.hero-cta-single{
  margin-top:22px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}

.hero-cta-label{
  font-size:.95rem;
  font-weight:700;
  color:#7a6a52;
  letter-spacing:.02em;
}

.hero-cta-multi,
.hero-cta-compact{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:12px;
}

.hero-donate-btn,
.hero-main-btn,
.hero-mini-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease;
}

.hero-donate-btn{
  padding:18px 34px;
  font-size:1.05rem;
  letter-spacing:.5px;
  color:#fff;
  background:linear-gradient(135deg, #ff5a1f, #e64b14);
  box-shadow:0 20px 40px rgba(255,90,31,.35);
}

.hero-donate-btn:hover{
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 28px 50px rgba(255,90,31,.45);
}

.hero-donate-btn::after{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:999px;
  background:rgba(255,90,31,.25);
  z-index:-1;
  filter:blur(12px);
  opacity:.6;
  animation:pulseGlow 2.5s infinite ease-in-out;
}

.hero-donate-btn-primary{
  background:linear-gradient(135deg, #d9a441, #f0c978);
  color:#22170a;
  font-weight:800;
  box-shadow:0 16px 34px rgba(0,0,0,.20);
}

.hero-donate-btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 40px rgba(0,0,0,.24);
}

.hero-donate-btn-secondary{
  background:rgba(255,255,255,.12);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(8px);
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}

.hero-donate-btn-secondary:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.18);
  box-shadow:0 18px 36px rgba(0,0,0,.22);
}

.hero-main-btn{
  min-height:52px;
  padding:0 26px;
  background:linear-gradient(135deg, #ff5a1f, #ff7a3a);
  color:#fff;
  font-size:1rem;
  letter-spacing:.02em;
  box-shadow:0 12px 28px rgba(255,90,31,.28), 0 6px 14px rgba(0,0,0,.08);
}

.hero-main-btn:hover{
  transform:translateY(-2px);
  background:linear-gradient(135deg, #ff6a2f, #ff8a4a);
  box-shadow:0 16px 34px rgba(255,90,31,.35), 0 10px 20px rgba(0,0,0,.12);
}

.hero-mini-btn{
  min-width:190px;
  height:46px;
  padding:0 18px;
  font-size:.96rem;
  letter-spacing:.01em;
  color:#fff;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(8px);
  box-shadow:0 10px 22px rgba(0,0,0,.14);
}

.hero-mini-btn:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.24);
  border-color:rgba(255,255,255,.32);
  box-shadow:0 14px 28px rgba(0,0,0,.18);
}

.hero-mini-btn-primary{
  color:#28170e;
  background:linear-gradient(135deg, #f2d18b 0%, #dca643 100%);
  border:1px solid rgba(191,132,36,.34);
  box-shadow:0 12px 26px rgba(180,120,28,.20);
}

.hero-mini-btn-primary:hover{
  background:linear-gradient(135deg, #f6db9e 0%, #dfa944 100%);
  border-color:rgba(191,132,36,.44);
  box-shadow:0 16px 30px rgba(180,120,28,.24);
}


/* =========================
   SECTIONS
========================= */
.section{
  padding:95px 0;
}

.project-section{
  background:
    radial-gradient(circle at top left, rgba(255,90,31,.05), transparent 22%),
    linear-gradient(180deg,#fff 0%, #fbfbfb 100%);
}

.section-head{
  margin-bottom:32px;
}

.premium-head{
  text-align:center;
  max-width:980px;
  margin:0 auto 40px;
}

.section-kicker{
  display:inline-block;
  color:var(--orange);
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:12px;
}

.section-head h2{
  margin:0 0 16px;
  font-size:clamp(2rem, 4vw, 3.35rem);
  line-height:1.04;
  letter-spacing:-.02em;
}

.section-lead{
  margin:0 auto;
  max-width:880px;
  color:#555;
  line-height:1.9;
  font-size:1.08rem;
}

/* =========================
   STORY / CONTENT CARDS
========================= */
.story-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}

.improved-story{
  align-items:stretch;
}

.story-card,
.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  padding:30px;
  box-shadow:var(--shadow);
}

.story-card h3,
.card h3{
  margin-top:0;
  font-size:1.35rem;
}

.story-card p:last-child,
.card p:last-child{
  margin-bottom:0;
}

.story-card p{
  line-height:1.85;
  color:#575757;
}

.elegant-card{
  position:relative;
  overflow:hidden;
  padding:0;
}

.story-image-wrap{
  position:relative;
  width:100%;
  height:240px;
  overflow:hidden;
  border-radius:28px 28px 0 0;
}

.story-image{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}

.elegant-card:hover .story-image{
  transform:scale(1.05);
}

.elegant-card::before{
  content:"";
  position:absolute;
  top:240px;
  left:0;
  right:0;
  height:5px;
  background:linear-gradient(90deg,var(--orange),#ff9d77);
  z-index:2;
}

.elegant-card h3,
.elegant-card p{
  padding-left:30px;
  padding-right:30px;
}

.elegant-card h3{
  padding-top:28px;
  margin-bottom:14px;
}

.elegant-card p{
  padding-bottom:30px;
}

.story-image-wrap.story-slider{
  background:#f3f3f3;
}

.story-slides{
  position:relative;
  width:100%;
  height:100%;
}

.story-slider .story-image{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .8s ease, transform 4s ease;
  transform:scale(1.03);
}

.story-slider .story-image.active{
  opacity:1;
  z-index:1;
  transform:scale(1);
}

.story-dots{
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
  z-index:3;
}

.story-dots button{
  width:10px;
  height:10px;
  border-radius:50%;
  border:0;
  padding:0;
  cursor:pointer;
  background:rgba(255,255,255,.55);
  transition:.25s ease;
}

.story-dots button.active{
  background:var(--orange);
  transform:scale(1.15);
  box-shadow:0 0 0 3px rgba(255,255,255,.25);
}

/* =========================
   DONATION SECTION
========================= */
.donation-section{
  background:linear-gradient(180deg,#fff 0%, #f8f8f8 100%);
}

.donation-premium{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at top left, rgba(255,140,56,0.16), transparent 28%),
    radial-gradient(circle at bottom right, rgba(255,255,255,0.08), transparent 22%),
    linear-gradient(135deg, #525f7f 0%, #44506c 45%, #39445e 100%);
  padding-top:90px;
  padding-bottom:90px;
}

.donation-premium::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cg fill='none' stroke='rgba(255,255,255,0.05)' stroke-width='1'%3E%3Ccircle cx='80' cy='80' r='52'/%3E%3Ccircle cx='80' cy='80' r='26'/%3E%3C/g%3E%3C/svg%3E");
  opacity:.35;
  pointer-events:none;
}

.donation-premium .container{
  position:relative;
  z-index:1;
}

.donation-head{
  color:#fff;
}

.donation-head .section-kicker{
  color:#ffd7c3;
}

.donation-head h2{
  color:#fff;
}

.donation-head p{
  color:rgba(255,255,255,.82);
  max-width:900px;
  margin-inline:auto;
}

.donation-grid,
.donation-grid-premium{
  display:grid;
  grid-template-columns:1.2fr .95fr;
  gap:28px;
  align-items:start;
}

.donation-card-main,
.qr-feature-card,
.bank-card-premium{
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  background:rgba(255,255,255,.94);
  box-shadow:0 22px 55px rgba(10,18,35,.20), 0 8px 20px rgba(10,18,35,.08);
  backdrop-filter:blur(4px);
}

.donation-card-main{
  padding:30px;
}

.donation-card-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:18px;
}

.donation-card-top h3{
  margin:0 0 8px;
  font-size:2rem;
  color:#1d2433;
}

.donation-card-top .muted{
  margin:0;
  color:#667085;
}

.secure-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  background:linear-gradient(135deg, #eef2fb, #f7f9fd);
  color:#44506c;
  font-weight:700;
  font-size:.88rem;
  white-space:nowrap;
  box-shadow:inset 0 0 0 1px rgba(82,95,127,.10);
}

.amount-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin:22px 0;
}

.amount-btn{
  border:1px solid #e5e5e5;
  background:#fff;
  border-radius:18px;
  padding:16px 10px;
  cursor:pointer;
  font-weight:800;
  transition:.2s ease;
}

.amount-btn.active,
.amount-btn:hover{
  background:#fff4ef;
  border-color:#ffb293;
  color:var(--orange);
  transform:translateY(-2px);
}

.donation-premium .amount-btn{
  border:1px solid rgba(82,95,127,.14);
  background:#fff;
  color:#1e2432;
  border-radius:16px;
  min-height:52px;
  box-shadow:0 4px 10px rgba(17,24,39,.03);
}

.donation-premium .amount-btn:hover{
  border-color:rgba(255,140,56,.50);
  box-shadow:0 10px 20px rgba(255,140,56,.10);
}

.donation-premium .amount-btn.active{
  background:linear-gradient(135deg, #fff7f2, #fff1e7);
  color:#f06d2f;
  border-color:rgba(240,109,47,.42);
  box-shadow:0 10px 22px rgba(240,109,47,.16);
}

.form-grid{
  display:grid;
  gap:14px;
}

.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.input{
  width:100%;
  min-height:54px;
  border:1px solid #dedede;
  border-radius:18px;
  padding:14px 16px;
  outline:none;
  background:#fff;
}

.input:focus{
  border-color:#ffad8c;
  box-shadow:0 0 0 4px rgba(255,90,31,.08);
}

.donation-premium .input,
.donation-premium select.input{
  min-height:56px;
  border-radius:16px;
  border:1px solid rgba(82,95,127,.14);
  background:#fff;
  box-shadow:inset 0 1px 1px rgba(0,0,0,.02);
}

.donation-premium .input:focus,
.donation-premium select.input:focus{
  border-color:#7f8dad;
  box-shadow:0 0 0 4px rgba(82,95,127,.10);
}

.payment-methods-title{
  margin-top:22px;
  margin-bottom:14px;
  font-size:1rem;
  font-weight:800;
  color:#222;
}

.payment-method-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:14px;
  margin-top:6px;
}

.payment-method-grid-single{
  grid-template-columns:1fr;
}

.pay-method-card{
  min-height:92px;
  border:1px solid #e3e3e3;
  background:#fff;
  border-radius:18px;
  padding:12px 14px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  cursor:pointer;
  text-align:left;
  transition:.25s ease;
  box-shadow:0 8px 20px rgba(0,0,0,.05);
}

.pay-method-card:hover{
  transform:translateY(-3px);
  border-color:#ffb293;
  box-shadow:0 16px 30px rgba(255,90,31,.12);
}

.pay-method-card.active{
  border-color:#ff8d63;
  box-shadow:0 16px 30px rgba(255,90,31,.16);
  background:#fffaf7;
}

.pay-method-logo{
  width:78px;
  height:42px;
  margin-bottom:12px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.pay-card-logo{
  position:relative;
  width:74px;
  justify-content:flex-start;
}

.mc-circle{
  width:28px;
  height:28px;
  border-radius:50%;
  position:absolute;
  top:7px;
}

.mc-left{
  left:8px;
  background:#ea001b;
}

.mc-right{
  left:28px;
  background:#f79e1b;
  opacity:.95;
}

.pay-method-label{
  font-size:1.05rem;
  font-weight:800;
  color:#222;
  line-height:1.2;
}

.pay-method-sub{
  margin-top:4px;
  font-size:.88rem;
  color:#6d6d6d;
  line-height:1.4;
}

.pay-logo-image-wrap{
  width:110px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin-bottom:12px;
}

.pay-logo-image,
.qr-image{
  max-width:100%;
  height:auto;
  display:block;
}

.satispay-logo-image{
  max-width:104px;
  max-height:30px;
  object-fit:contain;
}

.satispay-logo-text{
  font-size:1.2rem;
  font-weight:900;
  color:#e30613;
  justify-content:flex-start;
}

.stripe-logo-text{
  font-size:1.5rem;
  font-weight:900;
  color:#635bff;
  letter-spacing:-.5px;
  text-transform:lowercase;
  justify-content:flex-start;
}

.paypal-logo-text{
  font-size:1.35rem;
  font-weight:900;
  color:#003087;
  justify-content:flex-start;
}

.sepa-logo-text{
  font-size:1.2rem;
  font-weight:900;
  color:#0b4ea2;
  justify-content:flex-start;
  letter-spacing:.5px;
}

.wide-pay-btn,
.cinematic-pay-btn{
  width:100%;
  display:flex;
  align-items:center;
  gap:18px;
  text-align:left;
  transition:all .22s ease;
}

.wide-pay-btn{
  min-height:96px;
  padding:20px 22px;
  border-radius:22px;
  border:1px solid rgba(82,95,127,.15);
  background:linear-gradient(135deg, rgba(82,95,127,.08), rgba(255,255,255,.96)), #fff;
  box-shadow:0 14px 30px rgba(82,95,127,.10), inset 0 0 0 1px rgba(255,255,255,.6);
}

.wide-pay-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 34px rgba(82,95,127,.16), 0 8px 18px rgba(240,109,47,.10);
  border-color:rgba(240,109,47,.35);
}

.wide-pay-btn.active{
  border-color:rgba(240,109,47,.45);
  background:linear-gradient(135deg, rgba(255,140,56,.09), rgba(255,255,255,.98)), #fff;
}

.pay-method-copy{
  display:flex;
  flex-direction:column;
  gap:4px;
  flex:1;
  min-width:0;
}

.wide-pay-btn .pay-method-label{
  font-size:1.26rem;
  color:#1b2332;
}

.wide-pay-btn .pay-method-sub{
  font-size:.98rem;
  color:#667085;
  line-height:1.45;
}

.pay-method-arrow{
  font-size:1.6rem;
  font-weight:800;
  color:#f06d2f;
  line-height:1;
  flex-shrink:0;
}

.cinematic-pay-btn{
  margin-top:16px;
  border:none;
  border-radius:24px;
  padding:18px 22px;
  color:#fff;
  cursor:pointer;
  background:
    radial-gradient(circle at 72% 28%, rgba(255,173,82,.42), transparent 24%),
    linear-gradient(135deg, #17366b 0%, #283d77 46%, #222f66 100%);
  box-shadow:0 18px 35px rgba(25,48,99,.30), inset 0 1px 0 rgba(255,255,255,.14);
}

.cinematic-pay-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 24px 40px rgba(25,48,99,.35), 0 0 25px rgba(255,155,70,.16);
}

.cinematic-pay-icon{
  position:relative;
  width:58px;
  height:40px;
  flex-shrink:0;
}

.cinematic-pay-icon .mc-circle{
  top:6px;
}

.cinematic-pay-icon .mc-left{
  left:6px;
  background:#e5232e;
}

.cinematic-pay-icon .mc-right{
  left:24px;
  background:#f2a531;
  opacity:.92;
}

.cinematic-pay-copy{
  display:flex;
  flex-direction:column;
  gap:4px;
  flex:1;
}

.cinematic-pay-title{
  font-size:1.28rem;
  font-weight:800;
  line-height:1.1;
}

.cinematic-pay-sub{
  font-size:1rem;
  color:rgba(255,255,255,.86);
}

.cinematic-pay-arrow{
  font-size:2.4rem;
  line-height:1;
  color:#ffbf7a;
  flex-shrink:0;
}

.donation-trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
  margin-top:18px;
  padding-top:18px;
  border-top:1px dashed rgba(82,95,127,.16);
  color:#5f6b81;
  font-size:.94rem;
  font-weight:600;
}

.donation-side{
  display:grid;
  gap:18px;
}

.side-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.badge{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:#fff3ec;
  color:var(--orange);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.8px;
}

.qr-feature-card,
.bank-card-premium{
  padding:26px;
}

.qr-feature-card{
  position:relative;
  overflow:hidden;
}

.qr-feature-card::after{
  content:"";
  position:absolute;
  top:-40px;
  right:-40px;
  width:140px;
  height:140px;
  background:radial-gradient(circle, rgba(240,109,47,.18), transparent 70%);
  pointer-events:none;
}

.donation-premium .side-top h3{
  margin:0;
  font-size:1.6rem;
  color:#1d2433;
}

.donation-premium .badge{
  background:#fff2e8;
  color:#f06d2f;
  border:1px solid rgba(240,109,47,.18);
}

.qr-box,
.qr-box-premium{
  margin-top:18px;
  padding:22px;
  border-radius:24px;
  background:linear-gradient(135deg, rgba(82,95,127,.05), rgba(255,255,255,.85));
  border:1px dashed rgba(82,95,127,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  display:flex;
  justify-content:center;
}

.qr-feature-card .qr-image{
  max-width:230px;
  margin:0 auto;
  border-radius:18px;
  background:#fff;
  padding:12px;
  box-shadow:0 16px 30px rgba(17,24,39,.08);
}

.qr-note{
  margin-top:14px;
  color:#5f6b81;
  font-size:.95rem;
  line-height:1.5;
}

.bank-card-premium .bank-info{
  display:grid;
  gap:12px;
  color:#2a3142;
  line-height:1.55;
}

.bank-card-premium .mono{
  font-size:.98rem;
  background:#f5f7fb;
  padding:4px 8px;
  border-radius:8px;
  display:inline-block;
}

/* =========================
   DONATION GATEWAY HOMEPAGE
========================= */
.donation-gateway-section{
  position:relative;
  overflow:hidden;
  padding:54px 0;
  background:var(--donation-block-bg, #f4e6c7);
}

.donation-gateway-section::before{
  content:none;
  position:absolute;
  inset:0;
  pointer-events:none;
  background:none;
}

.donation-gateway-section .container{
  position:relative;
  z-index:1;
}

.donation-gateway-card{
  position:relative;
  display:grid;
  grid-template-columns:68% 32%;
  min-height:470px;
  height:auto;
  max-height:none;
  overflow:hidden;
  border-radius:28px;
  background:var(--donation-block-bg, #f4e6c7);
  border:1px solid rgba(137,104,52,.16);
  box-shadow:0 22px 64px rgba(69,47,19,.12), 0 8px 24px rgba(69,47,19,.06);
  backdrop-filter:blur(8px);
}

.donation-gateway-media{
  position:relative;
  display:grid;
  grid-template-rows:minmax(225px, 1fr) auto;
  gap:14px;
  min-height:0;
  height:auto;
  overflow:hidden;
  padding:18px;
  background:
    radial-gradient(circle at 20% 10%, rgba(255,246,214,.36), transparent 34%),
    rgba(255,250,240,.30);
}

.donation-gateway-media::before{
  content:"";
  position:absolute;
  inset:16px 18px auto 18px;
  height:58%;
  pointer-events:none;
  border-radius:24px;
  background:
    radial-gradient(circle at 55% 55%, rgba(255,238,176,.30), transparent 38%),
    radial-gradient(circle at 78% 12%, rgba(255,252,222,.22), transparent 26%);
  filter:blur(12px);
  opacity:.8;
  z-index:0;
}

.donation-gateway-visual{
  position:relative;
  min-height:0;
  overflow:hidden;
  border-radius:24px;
  background:#3c2d1e;
  border:1px solid rgba(255,246,214,.34);
  box-shadow:
    0 22px 48px rgba(58,37,14,.22),
    0 0 0 1px rgba(255,255,255,.08) inset;
  isolation:isolate;
}

.donation-gateway-visual::before{
  content:"";
  position:absolute;
  inset:-18%;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 56%, transparent 0 34%, rgba(255,230,154,.18) 35%, transparent 50%),
    conic-gradient(from 22deg at 54% 56%, transparent 0 11%, rgba(255,234,170,.18) 12% 13%, transparent 14% 28%, rgba(255,244,200,.12) 29% 30%, transparent 31% 100%);
  mix-blend-mode:screen;
  opacity:.58;
  animation:donationAuraBreathe 8s ease-in-out infinite;
}

.donation-gateway-visual::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(21,14,8,.20), transparent 34%, rgba(21,14,8,.22)),
    linear-gradient(180deg, rgba(255,242,203,.08), rgba(16,10,6,.16));
}

.donation-gateway-aura,
.donation-gateway-dust{
  position:absolute;
  pointer-events:none;
  z-index:2;
}

.donation-gateway-aura{
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,233,164,.22), rgba(255,216,120,.08) 52%, transparent 70%);
  filter:blur(8px);
  opacity:.7;
  animation:donationAuraFloat 9s ease-in-out infinite;
}

.donation-gateway-aura--one{right:10%;top:10%;}
.donation-gateway-aura--two{left:14%;bottom:8%;width:130px;height:130px;opacity:.42;animation-delay:-3s;}

.donation-gateway-dust{
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(255,235,170,.88);
  box-shadow:0 0 14px rgba(255,220,130,.38);
  opacity:.26;
  animation:donationDustRise 7s ease-in-out infinite;
}

.donation-gateway-dust--one{left:18%;top:66%;animation-delay:-1s;}
.donation-gateway-dust--two{left:72%;top:24%;width:4px;height:4px;animation-delay:-3.5s;}
.donation-gateway-dust--three{left:46%;top:18%;width:3px;height:3px;animation-delay:-5s;}

.donation-gateway-image{
  position:relative;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 42%;
  display:block;
  transform:scale(1.005);
  transition:transform .9s ease;
}

.donation-gateway-card:hover .donation-gateway-image{
  transform:scale(1.035);
}

.donation-gateway-copy{
  position:relative;
  z-index:2;
  display:grid;
  align-content:center;
  max-width:none;
  min-height:138px;
  padding:20px 24px;
  color:#332616;
  background:rgba(255,253,248,.84);
  border:1px solid rgba(126,93,45,.18);
  border-radius:22px;
  box-shadow:0 18px 38px rgba(69,47,19,.10);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.donation-gateway-copy .donation-gateway-kicker{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-bottom:9px;
  padding:7px 12px;
  border-radius:999px;
  color:#8a4b10;
  background:rgba(255,246,218,.88);
  border:1px solid rgba(157,84,21,.18);
  box-shadow:0 8px 18px rgba(69,47,19,.07);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.donation-gateway-copy h2{
  margin:0 0 8px;
  color:#2d2417;
  font-size:clamp(1.7rem, 2.5vw, 2.75rem);
  line-height:1.08;
  letter-spacing:0;
  text-shadow:none;
}

.donation-gateway-copy p{
  max-width:620px;
  margin:0;
  color:#695b48;
  font-size:.98rem;
  line-height:1.52;
  text-shadow:none;
}

.donation-gateway-content{
  height:100%;
  display:flex;
  align-items:center;
  padding:24px;
  background:var(--donation-block-bg, #f4e6c7);
}

.donation-gateway-actions{
  width:100%;
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

.donation-gateway-action{
  display:grid;
  grid-template-columns:42px minmax(0, 1fr) auto;
  align-items:center;
  gap:12px;
  min-height:76px;
  max-height:88px;
  padding:12px 14px;
  border-radius:18px;
  color:#332616;
  text-decoration:none;
  background:#fff;
  border:1px solid rgba(80,60,30,.11);
  box-shadow:0 10px 24px rgba(69,47,19,.055);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}

.donation-gateway-action:hover,
.donation-gateway-action:focus-visible{
  transform:translateY(-3px);
  background:#fffdf8;
  border-color:rgba(157,84,21,.26);
  box-shadow:0 18px 34px rgba(69,47,19,.11);
}

.donation-gateway-action:focus-visible{
  outline:3px solid rgba(157,84,21,.28);
  outline-offset:4px;
}

.donation-gateway-action__icon{
  position:relative;
  width:42px;
  height:42px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  color:#8a4b10;
  background:linear-gradient(135deg, #fff5d8, #efd39a);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86);
  transition:background .28s ease, color .28s ease;
}

.donation-gateway-action:hover .donation-gateway-action__icon,
.donation-gateway-action:focus-visible .donation-gateway-action__icon{
  color:#fff;
  background:linear-gradient(135deg, #c9851e, #9d5415);
}

.donation-gateway-action__body{
  display:grid;
  gap:4px;
  min-width:0;
}

.donation-gateway-action__title{
  color:#2d2417;
  font-size:.95rem;
  font-weight:850;
  line-height:1.2;
}

.donation-gateway-action__text{
  color:#6e604d;
  font-size:.82rem;
  line-height:1.32;
}

.donation-gateway-action__arrow{
  color:#9d5415;
  font-weight:900;
  transition:transform .28s ease;
}

.donation-gateway-action:hover .donation-gateway-action__arrow,
.donation-gateway-action:focus-visible .donation-gateway-action__arrow{
  transform:translateX(4px);
}

.donation-gateway-action--candle:hover,
.donation-gateway-action--candle:focus-visible{
  background:linear-gradient(135deg, #fffdf8, #fff6e7);
}

.donation-gateway-candle{
  position:relative;
  width:20px;
  height:30px;
  display:block;
}

.donation-gateway-candle__body{
  position:absolute;
  left:50%;
  bottom:1px;
  width:12px;
  height:18px;
  transform:translateX(-50%);
  border-radius:6px 6px 3px 3px;
  background:linear-gradient(to right, #d6c2a3, #fff6e2 42%, #c6ad88);
  box-shadow:inset -1px 0 3px rgba(0,0,0,.10);
}

.donation-gateway-candle__wick{
  position:absolute;
  left:50%;
  bottom:18px;
  width:2px;
  height:6px;
  transform:translateX(-50%);
  border-radius:2px;
  background:#4d331f;
}

.donation-gateway-candle__flame{
  position:absolute;
  left:50%;
  bottom:20px;
  width:9px;
  height:15px;
  transform:translateX(-50%) translateY(4px) scale(.55);
  transform-origin:center bottom;
  border-radius:60% 60% 45% 45% / 78% 78% 35% 35%;
  background:radial-gradient(circle at 50% 24%, #fff8d4 0%, #ffd06b 40%, #c9851e 78%, rgba(201,133,30,0) 100%);
  filter:drop-shadow(0 0 7px rgba(247,210,122,.36));
  opacity:0;
  transition:opacity .28s ease, transform .28s ease;
}

.donation-gateway-candle__glow{
  position:absolute;
  left:50%;
  bottom:16px;
  width:28px;
  height:28px;
  transform:translateX(-50%) scale(.72);
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,217,120,.42), rgba(255,187,80,.12) 58%, transparent 72%);
  filter:blur(5px);
  opacity:0;
  transition:opacity .32s ease, transform .32s ease;
}

.donation-gateway-action--candle:hover .donation-gateway-candle__flame,
.donation-gateway-action--candle:focus-visible .donation-gateway-candle__flame{
  opacity:1;
  transform:translateX(-50%) translateY(0) scale(1);
  animation:donationCandleFlicker 1.4s ease-in-out infinite;
}

.donation-gateway-action--candle:hover .donation-gateway-candle__glow,
.donation-gateway-action--candle:focus-visible .donation-gateway-candle__glow{
  opacity:1;
  transform:translateX(-50%) scale(1.35);
}

.donation-gateway-candles{
  position:absolute;
  inset:auto 0 0;
  z-index:1;
  pointer-events:none;
}

.donation-gateway-candle-ambient{
  position:absolute;
  bottom:18px;
  width:18px;
  height:52px;
  opacity:0;
  transform:translateY(14px);
  transition:opacity .75s ease, transform .75s ease;
}

.donation-gateway-candle-ambient--left{left:22px}
.donation-gateway-candle-ambient--right{right:28px;bottom:24px;transform:translateY(14px) scale(.88)}
.donation-gateway-candle-ambient--center{left:calc(60% - 42px);bottom:16px;transform:translateY(14px) scale(.72)}

.donation-gateway-candle-ambient::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:13px;
  height:34px;
  transform:translateX(-50%);
  border-radius:8px 8px 4px 4px;
  background:linear-gradient(to right, rgba(184,163,132,.55), rgba(255,250,235,.84), rgba(164,141,106,.48));
}

.donation-gateway-candle-ambient::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:32px;
  width:8px;
  height:14px;
  transform:translateX(-50%);
  border-radius:60% 60% 45% 45% / 78% 78% 35% 35%;
  background:radial-gradient(circle at 50% 24%, rgba(255,248,212,.96), rgba(255,208,107,.70) 48%, rgba(201,133,30,.04) 100%);
  box-shadow:0 0 18px rgba(247,210,122,.26);
}

.donation-gateway-section.is-visible .donation-gateway-candle-ambient{
  opacity:.55;
  transform:translateY(0);
}

.donation-gateway-section.is-visible .donation-gateway-candle-ambient--right{
  transform:translateY(0) scale(.88);
}

.donation-gateway-section.is-visible .donation-gateway-candle-ambient--center{
  opacity:.38;
  transform:translateY(0) scale(.72);
}

@keyframes donationCandleFlicker{
  0%,100%{transform:translateX(-50%) translateY(0) scale(1) rotate(-1deg)}
  35%{transform:translateX(calc(-50% + 1px)) translateY(-1px) scale(1.04) rotate(2deg)}
  68%{transform:translateX(calc(-50% - 1px)) translateY(0) scale(.96) rotate(-2deg)}
}

@keyframes donationAuraBreathe{
  0%,100%{opacity:.44;transform:scale(.98) rotate(0deg)}
  50%{opacity:.68;transform:scale(1.03) rotate(2deg)}
}

@keyframes donationAuraFloat{
  0%,100%{transform:translate3d(0,0,0) scale(.98)}
  50%{transform:translate3d(8px,-8px,0) scale(1.04)}
}

@keyframes donationDustRise{
  0%{opacity:0;transform:translate3d(0,18px,0) scale(.65)}
  35%{opacity:.34}
  100%{opacity:0;transform:translate3d(12px,-46px,0) scale(1.1)}
}

.donation-gateway-section.has-reveal .donation-gateway-card{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .7s ease, transform .7s ease;
}

.donation-gateway-section.is-visible .donation-gateway-card{
  opacity:1;
  transform:translateY(0);
}

@media (max-width: 1080px){
  .donation-gateway-card{
    grid-template-columns:65% 35%;
    min-height:450px;
    height:auto;
  }

  .donation-gateway-media{
    padding:14px;
    gap:12px;
  }

  .donation-gateway-copy{
    padding:17px 20px;
  }

  .donation-gateway-content{
    padding:18px;
  }

  .donation-gateway-action{
    min-height:74px;
    padding:10px 12px;
  }

  .donation-gateway-action__text{
    font-size:.78rem;
  }
}

@media (max-width: 979px){
  .donation-gateway-card{
    grid-template-columns:1fr;
    height:auto;
    max-height:none;
  }

  .donation-gateway-media{
    min-height:0;
    height:auto;
    grid-template-rows:minmax(300px, auto) auto;
  }

  .donation-gateway-visual{
    min-height:300px;
  }

  .donation-gateway-content{
    height:auto;
    padding:28px;
  }

  .donation-gateway-actions{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px){
  .donation-gateway-section{
    padding:56px 0;
  }

  .donation-gateway-card{
    border-radius:22px;
  }

  .donation-gateway-media{
    min-height:0;
    padding:12px;
    grid-template-rows:minmax(230px, auto) auto;
  }

  .donation-gateway-visual{
    min-height:230px;
    border-radius:18px;
  }

  .donation-gateway-copy{
    min-height:0;
    padding:18px;
    border-radius:18px;
  }

  .donation-gateway-copy h2{
    font-size:1.7rem;
  }

  .donation-gateway-content{
    padding:26px 18px;
  }

  .donation-gateway-actions{
    grid-template-columns:1fr;
  }

  .donation-gateway-action{
    min-height:0;
  }
}

@media (prefers-reduced-motion: reduce){
  .donation-gateway-section *,
  .donation-gateway-section *::before,
  .donation-gateway-section *::after{
    animation:none !important;
    transition:none !important;
  }
}

/* Donation gateway: horizontal image banner */
.donation-gateway-section{
  padding:54px 0;
  background:var(--donation-block-bg, #f4e6c7);
}

.donation-gateway-banner{
  position:relative;
  height:430px;
  min-height:430px;
  max-height:460px;
  overflow:hidden;
  border-radius:32px;
  background:var(--donation-block-bg, #f4e6c7);
  border:1px solid rgba(255,255,255,.34);
  box-shadow:0 28px 72px rgba(36,26,12,.22), 0 0 0 1px rgba(118,83,32,.10) inset;
  isolation:isolate;
}

.donation-gateway-banner::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16), inset 0 -90px 140px rgba(25,18,9,.16);
}

.donation-gateway-banner__image{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  transform:scale(1.003);
  transition:transform .9s ease;
}

.donation-gateway-banner:hover .donation-gateway-banner__image{
  transform:scale(1.022);
}

.donation-gateway-banner__shade{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(20,13,6,.04) 0%, rgba(20,13,6,.13) 54%, rgba(20,13,6,.34) 100%),
    linear-gradient(90deg, rgba(20,13,6,.16), transparent 30%, rgba(20,13,6,.12));
}

.donation-gateway-bottom-bar{
  position:absolute;
  left:24px;
  right:24px;
  bottom:24px;
  z-index:3;
  display:grid;
  grid-template-columns:minmax(300px, .9fr) minmax(560px, 1.4fr);
  gap:18px;
  align-items:center;
  padding:18px 20px;
  border-radius:24px;
  background:rgba(255,250,240,.84);
  border:1px solid rgba(255,255,255,.48);
  box-shadow:0 20px 50px rgba(36,26,12,.22);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.donation-gateway-copy{
  position:relative;
  z-index:1;
  display:block;
  min-height:0;
  max-width:none;
  padding:0;
  color:#302414;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

.donation-gateway-copy .donation-gateway-kicker{
  display:inline-flex;
  width:auto;
  margin:0 0 4px;
  padding:6px 10px;
  border-radius:999px;
  color:#8a4b10;
  background:rgba(255,246,218,.78);
  border:1px solid rgba(157,84,21,.16);
  box-shadow:none;
  font-size:.7rem;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.donation-gateway-copy h2{
  margin:4px 0 6px;
  color:#291f12;
  font-size:clamp(1.45rem, 2vw, 2.1rem);
  line-height:1.05;
  letter-spacing:0;
  text-shadow:none;
}

.donation-gateway-copy p{
  max-width:560px;
  margin:0;
  color:#635541;
  font-size:.95rem;
  line-height:1.45;
  text-shadow:none;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.donation-gateway-actions{
  width:100%;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
}

.donation-gateway-action{
  display:grid;
  grid-template-columns:34px minmax(0, 1fr) auto;
  align-items:center;
  gap:8px;
  min-height:74px;
  max-height:none;
  padding:10px 12px;
  border-radius:18px;
  color:#332616;
  text-decoration:none;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(80,60,30,.12);
  box-shadow:0 10px 24px rgba(69,47,19,.06);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}

.donation-gateway-action:hover,
.donation-gateway-action:focus-visible{
  transform:translateY(-2px);
  background:#fffdf8;
  border-color:rgba(157,84,21,.28);
  box-shadow:0 18px 34px rgba(69,47,19,.13);
}

.donation-gateway-action__icon{
  width:34px;
  height:34px;
  font-size:.9rem;
}

.donation-gateway-action__title{
  font-size:.83rem;
  line-height:1.15;
}

.donation-gateway-action__text{
  font-size:.72rem;
  line-height:1.22;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.donation-gateway-action__arrow{
  font-size:.9rem;
}

.donation-gateway-action--candle:hover,
.donation-gateway-action--candle:focus-visible{
  background:rgba(255,248,232,.96);
}

.donation-gateway-candle{
  width:18px;
  height:27px;
}

.donation-gateway-candle__body{
  width:11px;
  height:16px;
}

.donation-gateway-candle__wick{
  bottom:16px;
}

.donation-gateway-candle__flame{
  bottom:18px;
  width:8px;
  height:13px;
}

.donation-gateway-candle__glow{
  bottom:14px;
  width:24px;
  height:24px;
}

.donation-gateway-section.has-reveal .donation-gateway-banner{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .7s ease, transform .7s ease;
}

.donation-gateway-section.is-visible .donation-gateway-banner{
  opacity:1;
  transform:translateY(0);
}

@media (max-width: 1099px){
  .donation-gateway-banner{
    height:480px;
    min-height:480px;
    max-height:none;
  }

  .donation-gateway-bottom-bar{
    grid-template-columns:1fr;
    gap:14px;
  }

  .donation-gateway-actions{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px){
  .donation-gateway-section{
    padding:46px 0;
  }

  .donation-gateway-banner{
    height:auto;
    min-height:0;
    display:grid;
    border-radius:24px;
  }

  .donation-gateway-banner__image{
    position:relative;
    height:300px;
  }

  .donation-gateway-banner__shade{
    height:300px;
    bottom:auto;
  }

  .donation-gateway-bottom-bar{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    margin:0;
    border-radius:0;
    padding:20px;
    background:rgba(255,250,240,.94);
    box-shadow:none;
  }

  .donation-gateway-copy p{
    display:block;
    overflow:visible;
  }

  .donation-gateway-actions{
    grid-template-columns:1fr;
  }

  .donation-gateway-action{
    min-height:0;
  }
}

/* Donation gateway: final horizontal split layout */
.donation-gateway-section .container{
  max-width:100%;
  width:100%;
  padding-left:32px;
  padding-right:32px;
}

.donation-gateway-card{
  position:relative;
  display:grid;
  grid-template-columns:65% 35%;
  width:100%;
  min-height:480px;
  max-height:560px;
  overflow:hidden;
  border-radius:32px;
  background:var(--donation-block-bg, #f4e6c7);
  border:1px solid rgba(255,255,255,.30);
  box-shadow:0 28px 72px rgba(36,26,12,.18), 0 0 0 1px rgba(118,83,32,.10) inset;
  backdrop-filter:none;
}

.donation-gateway-media{
  position:relative;
  display:block;
  height:100%;
  min-height:480px;
  overflow:hidden;
  padding:0;
  background:#3c2d1e;
}

.donation-gateway-media::before,
.donation-gateway-media::after{
  content:none;
}

.donation-gateway-image{
  position:relative;
  z-index:0;
  width:100%;
  height:100%;
  min-height:480px;
  object-fit:cover;
  object-position:50% 60%;
  display:block;
  transform:none;
  transition:transform .8s ease;
}

.donation-gateway-card:hover .donation-gateway-image{
  transform:scale(1.012);
}

.donation-gateway-content{
  height:100%;
  min-height:480px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:18px;
  padding:36px 34px;
  background:var(--donation-block-bg, #f4e6c7);
}

.donation-gateway-copy{
  position:relative;
  z-index:1;
  display:block;
  min-height:0;
  max-width:none;
  padding:0;
  color:#302414;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

.donation-gateway-copy .donation-gateway-kicker{
  display:inline-flex;
  width:auto;
  margin:0 0 10px;
  padding:7px 12px;
  border-radius:999px;
  color:#7d430f;
  background:rgba(255,246,218,.70);
  border:1px solid rgba(157,84,21,.16);
  box-shadow:none;
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.donation-gateway-copy h2{
  margin:0 0 10px;
  color:#291f12;
  font-size:clamp(1.65rem, 2vw, 2.25rem);
  line-height:1.08;
  letter-spacing:0;
  text-shadow:none;
}

.donation-gateway-copy p{
  max-width:560px;
  margin:0;
  color:#5e513f;
  font-size:.96rem;
  line-height:1.5;
  text-shadow:none;
  display:block;
  overflow:visible;
}

.donation-gateway-actions{
  width:100%;
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.donation-gateway-action{
  display:grid;
  grid-template-columns:42px minmax(0, 1fr) auto;
  align-items:center;
  gap:12px;
  min-height:78px;
  max-height:86px;
  padding:12px 14px;
  border-radius:18px;
  color:#332616;
  text-decoration:none;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(80,60,30,.12);
  box-shadow:0 10px 24px rgba(69,47,19,.06);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}

.donation-gateway-action:hover,
.donation-gateway-action:focus-visible{
  transform:translateY(-2px);
  background:#fffdf8;
  border-color:rgba(157,84,21,.28);
  box-shadow:0 18px 34px rgba(69,47,19,.13);
}

.donation-gateway-action__icon{
  width:42px;
  height:42px;
  font-size:1rem;
}

.donation-gateway-action__title{
  font-size:.95rem;
  line-height:1.16;
}

.donation-gateway-action__text{
  color:#665844;
  font-size:.78rem;
  line-height:1.28;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.donation-gateway-action--candle:hover,
.donation-gateway-action--candle:focus-visible{
  background:rgba(255,248,232,.94);
}

.donation-gateway-section.has-reveal .donation-gateway-card{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .7s ease, transform .7s ease;
}

.donation-gateway-section.is-visible .donation-gateway-card{
  opacity:1;
  transform:translateY(0);
}

@media (min-width: 1000px){
  .donation-gateway-card{
    grid-template-columns:65% 35%;
  }
}

@media (max-width: 999px){
  .donation-gateway-section .container{
    padding-left:18px;
    padding-right:18px;
  }

  .donation-gateway-card{
    grid-template-columns:1fr;
    min-height:0;
    max-height:none;
  }

  .donation-gateway-media,
  .donation-gateway-image{
    min-height:320px;
    height:320px;
  }

  .donation-gateway-content{
    min-height:0;
    height:auto;
    padding:30px 24px;
  }
}

@media (max-width: 720px){
  .donation-gateway-media,
  .donation-gateway-image{
    min-height:260px;
    height:260px;
  }

  .donation-gateway-content{
    padding:26px 18px;
  }

  .donation-gateway-action{
    max-height:none;
  }
}

/* Donation gateway: cinematic devotional panel */
.donation-gateway-section{
  padding:84px 0;
  background:#f8f1e5;
}

.donation-gateway-section .container{
  max-width:1320px;
  width:100%;
  margin:0 auto;
  padding-left:24px;
  padding-right:24px;
}

.donation-cinema-card{
  position:relative;
  min-height:520px;
  border-radius:36px;
  background:var(--donation-block-bg, #f4e6c7);
  overflow:visible;
  box-shadow:0 34px 90px rgba(49,35,14,.18);
  isolation:isolate;
}

.donation-cinema-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:36px;
  pointer-events:none;
  background:
    radial-gradient(circle at 74% 18%, rgba(255,255,255,.40), transparent 36%),
    radial-gradient(circle at 18% 78%, rgba(157,84,21,.12), transparent 38%);
  z-index:0;
}

.donation-cinema-card::after{
  content:"";
  position:absolute;
  right:332px;
  top:42px;
  bottom:42px;
  width:1px;
  z-index:1;
  background:linear-gradient(180deg, transparent, rgba(255,244,205,.52), rgba(157,84,21,.26), transparent);
  opacity:.75;
}

.donation-cinema-media{
  position:absolute;
  left:0;
  top:32px;
  bottom:32px;
  width:72%;
  overflow:hidden;
  border-radius:34px;
  background:#3b2816;
  border:1px solid rgba(255,255,255,.28);
  box-shadow:
    0 26px 64px rgba(35,24,10,.26),
    0 0 0 1px rgba(255,255,255,.08) inset;
  z-index:1;
}

.donation-cinema-media::before{
  content:"";
  position:absolute;
  inset:8% -8% -12% 8%;
  z-index:-1;
  border-radius:40px;
  background:radial-gradient(ellipse at 48% 58%, rgba(255,231,160,.32), rgba(255,231,160,.06) 48%, transparent 72%);
  filter:blur(26px);
  opacity:.85;
}

.donation-cinema-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 58%;
  display:block;
  transform:scale(1.01);
  transition:transform 1s ease;
}

.donation-cinema-card:hover .donation-cinema-image{
  transform:scale(1.025);
}

.donation-cinema-image-shade{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(30,20,10,.12), transparent 36%, rgba(30,20,10,.20)),
    linear-gradient(180deg, rgba(255,246,216,.08), transparent 45%, rgba(30,20,10,.20));
}

.donation-cinema-copy{
  position:absolute;
  left:48px;
  bottom:54px;
  z-index:3;
  width:min(520px, 42%);
  padding:22px 24px;
  border-radius:24px;
  color:#302414;
  background:rgba(255,250,240,.84);
  border:1px solid rgba(255,255,255,.58);
  box-shadow:0 18px 45px rgba(35,25,10,.18);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.donation-cinema-copy::before{
  content:"";
  position:absolute;
  left:18px;
  top:18px;
  bottom:18px;
  width:3px;
  border-radius:99px;
  background:linear-gradient(180deg, #fff3bd, #c9851e);
  opacity:.72;
}

.donation-cinema-copy .donation-gateway-kicker{
  display:inline-flex;
  margin:0 0 8px 14px;
  padding:7px 12px;
  border-radius:999px;
  color:#8a4b10;
  background:rgba(255,246,218,.78);
  border:1px solid rgba(157,84,21,.16);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.donation-cinema-copy h2{
  margin:0 0 9px 14px;
  color:#291f12;
  font-size:clamp(1.6rem, 2.1vw, 2.35rem);
  line-height:1.06;
  letter-spacing:0;
}

.donation-cinema-copy p{
  margin:0 0 0 14px;
  color:#625440;
  font-size:.96rem;
  line-height:1.48;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.donation-cinema-actions{
  position:absolute;
  right:34px;
  top:50%;
  z-index:4;
  width:390px;
  padding:18px;
  border-radius:30px;
  transform:translateY(-50%);
  background:rgba(255,255,255,.74);
  border:1px solid rgba(255,255,255,.58);
  box-shadow:0 24px 60px rgba(58,42,18,.22);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  display:grid;
  gap:12px;
}

.donation-cinema-actions::before{
  content:"";
  position:absolute;
  inset:-42px -30px auto auto;
  width:170px;
  height:170px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,241,194,.34), transparent 68%);
  pointer-events:none;
  z-index:-1;
}

.donation-cinema-actions .donation-gateway-action{
  display:grid;
  grid-template-columns:44px minmax(0, 1fr) auto;
  align-items:center;
  gap:12px;
  min-height:82px;
  max-height:none;
  padding:12px 14px;
  border-radius:20px;
  color:#332616;
  text-decoration:none;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(80,60,30,.11);
  box-shadow:0 10px 24px rgba(69,47,19,.055);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}

.donation-cinema-actions .donation-gateway-action:hover,
.donation-cinema-actions .donation-gateway-action:focus-visible{
  transform:translateY(-2px) translateX(-2px);
  background:#fffdf8;
  border-color:rgba(157,84,21,.28);
  box-shadow:0 18px 34px rgba(69,47,19,.13);
}

.donation-cinema-actions .donation-gateway-action__icon{
  width:44px;
  height:44px;
}

.donation-cinema-actions .donation-gateway-action__title{
  font-size:.94rem;
  line-height:1.16;
}

.donation-cinema-actions .donation-gateway-action__text{
  color:#665844;
  font-size:.78rem;
  line-height:1.28;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.donation-cinema-actions .donation-gateway-action--candle:hover,
.donation-cinema-actions .donation-gateway-action--candle:focus-visible{
  background:rgba(255,248,232,.96);
}

.donation-gateway-section.has-reveal .donation-cinema-media,
.donation-gateway-section.has-reveal .donation-cinema-copy,
.donation-gateway-section.has-reveal .donation-cinema-actions{
  opacity:0;
  transition:opacity .72s ease, transform .72s ease;
}

.donation-gateway-section.has-reveal .donation-cinema-media{
  transform:translateY(18px) scale(.985);
}

.donation-gateway-section.has-reveal .donation-cinema-copy{
  transform:translateY(24px);
}

.donation-gateway-section.has-reveal .donation-cinema-actions{
  transform:translateY(calc(-50% + 22px)) translateX(18px);
}

.donation-gateway-section.is-visible .donation-cinema-media,
.donation-gateway-section.is-visible .donation-cinema-copy,
.donation-gateway-section.is-visible .donation-cinema-actions{
  opacity:1;
}

.donation-gateway-section.is-visible .donation-cinema-media{
  transform:translateY(0) scale(1);
}

.donation-gateway-section.is-visible .donation-cinema-copy{
  transform:translateY(0);
}

.donation-gateway-section.is-visible .donation-cinema-actions{
  transform:translateY(-50%) translateX(0);
}

@media (max-width: 1099px){
  .donation-gateway-section{
    padding:64px 0;
  }

  .donation-cinema-card{
    display:grid;
    gap:18px;
    min-height:0;
    padding:18px;
    overflow:hidden;
  }

  .donation-cinema-card::after{
    content:none;
  }

  .donation-cinema-media,
  .donation-cinema-copy,
  .donation-cinema-actions{
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    width:auto;
    transform:none;
  }

  .donation-cinema-media{
    height:360px;
    border-radius:28px;
  }

  .donation-cinema-copy{
    width:auto;
    margin:-72px 18px 0;
  }

  .donation-cinema-actions{
    width:auto;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    padding:16px;
  }

  .donation-gateway-section.has-reveal .donation-cinema-actions,
  .donation-gateway-section.is-visible .donation-cinema-actions{
    transform:none;
  }
}

@media (max-width: 720px){
  .donation-gateway-section{
    padding:46px 0;
  }

  .donation-gateway-section .container{
    padding-left:16px;
    padding-right:16px;
  }

  .donation-cinema-card{
    border-radius:26px;
    padding:12px;
  }

  .donation-cinema-media{
    height:280px;
    border-radius:22px;
  }

  .donation-cinema-copy{
    margin:0;
    padding:20px;
    border-radius:22px;
  }

  .donation-cinema-copy .donation-gateway-kicker,
  .donation-cinema-copy h2,
  .donation-cinema-copy p{
    margin-left:12px;
  }

  .donation-cinema-copy p{
    display:block;
    overflow:visible;
  }

  .donation-cinema-actions{
    grid-template-columns:1fr;
    padding:12px;
    border-radius:22px;
  }
}

/* Donation gateway: clean editorial split */
.donation-gateway-section{
  padding:78px 0;
  background:#fff8e8;
}

.donation-gateway-section .container{
  max-width:1320px;
  width:100%;
  margin:0 auto;
  padding-left:24px;
  padding-right:24px;
}

.donation-editorial-card{
  display:grid;
  grid-template-columns:60% 40%;
  min-height:500px;
  overflow:hidden;
  border-radius:34px;
  background:var(--donation-block-bg, #f4e6c7);
  border:1px solid rgba(255,255,255,.52);
  box-shadow:0 28px 70px rgba(185,133,36,.16);
}

.donation-editorial-media{
  position:relative;
  height:100%;
  min-height:500px;
  overflow:hidden;
  background:#ead39d;
}

.donation-editorial-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:35% 58%;
  display:block;
  transition:transform .8s ease;
}

.donation-editorial-card:hover .donation-editorial-image{
  transform:scale(1.012);
}

.donation-editorial-content{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:20px;
  min-width:0;
  padding:40px 38px;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.32), transparent 38%),
    var(--donation-block-bg, #f4e6c7);
}

.donation-editorial-content::before{
  content:"";
  position:absolute;
  left:0;
  top:44px;
  bottom:44px;
  width:1px;
  background:linear-gradient(180deg, transparent, rgba(255,244,205,.62), rgba(157,84,21,.24), transparent);
  opacity:.86;
}

.donation-editorial-copy{
  position:relative;
  padding-left:18px;
}

.donation-editorial-copy::before{
  content:"";
  position:absolute;
  left:0;
  top:7px;
  bottom:7px;
  width:3px;
  border-radius:99px;
  background:linear-gradient(180deg, #fff3bd, #c9851e);
  opacity:.72;
}

.donation-editorial-copy .donation-gateway-kicker{
  display:inline-flex;
  margin:0 0 12px;
  padding:7px 12px;
  border-radius:999px;
  color:#7d430f;
  background:rgba(255,246,218,.66);
  border:1px solid rgba(157,84,21,.16);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.donation-editorial-copy h2{
  margin:0 0 12px;
  color:#291f12;
  font-size:clamp(2rem, 2.6vw, 3rem);
  line-height:1.05;
  letter-spacing:0;
}

.donation-editorial-copy p{
  max-width:460px;
  margin:0;
  color:#5e513f;
  font-size:1rem;
  line-height:1.55;
}

.donation-editorial-actions{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.donation-editorial-action{
  position:relative;
  display:grid;
  grid-template-columns:42px minmax(0, 1fr) auto;
  align-items:start;
  gap:10px;
  min-height:112px;
  padding:16px;
  border-radius:22px;
  color:#332616;
  text-decoration:none;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.46);
  box-shadow:0 14px 34px rgba(58,42,18,.10);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}

.donation-editorial-action:hover,
.donation-editorial-action:focus-visible{
  transform:translateY(-3px);
  background:rgba(255,253,248,.94);
  border-color:rgba(157,84,21,.28);
  box-shadow:0 20px 40px rgba(58,42,18,.16);
}

.donation-editorial-action:focus-visible{
  outline:3px solid rgba(157,84,21,.28);
  outline-offset:4px;
}

.donation-editorial-action .donation-gateway-action__icon{
  width:42px;
  height:42px;
}

.donation-editorial-action .donation-gateway-action__body{
  display:grid;
  gap:6px;
}

.donation-editorial-action .donation-gateway-action__title{
  font-size:.95rem;
  line-height:1.16;
}

.donation-editorial-action .donation-gateway-action__text{
  color:#655743;
  font-size:.78rem;
  line-height:1.32;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.donation-editorial-action .donation-gateway-action__arrow{
  align-self:start;
  padding-top:2px;
}

.donation-editorial-action:hover .donation-gateway-action__arrow,
.donation-editorial-action:focus-visible .donation-gateway-action__arrow{
  transform:translateX(4px);
}

.donation-editorial-action.donation-gateway-action--candle:hover,
.donation-editorial-action.donation-gateway-action--candle:focus-visible{
  background:rgba(255,248,232,.92);
}

.donation-gateway-section.has-reveal .donation-editorial-media,
.donation-gateway-section.has-reveal .donation-editorial-copy,
.donation-gateway-section.has-reveal .donation-editorial-actions{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .72s ease, transform .72s ease;
}

.donation-gateway-section.is-visible .donation-editorial-media,
.donation-gateway-section.is-visible .donation-editorial-copy,
.donation-gateway-section.is-visible .donation-editorial-actions{
  opacity:1;
  transform:translateY(0);
}

@media (min-width: 1100px){
  .donation-editorial-card{
    grid-template-columns:60% 40%;
  }
}

@media (max-width: 1099px){
  .donation-gateway-section{
    padding:60px 0;
  }

  .donation-editorial-card{
    grid-template-columns:1fr;
    min-height:0;
  }

  .donation-editorial-media{
    min-height:360px;
    height:360px;
  }

  .donation-editorial-content{
    padding:34px 28px;
  }

  .donation-editorial-content::before{
    content:none;
  }
}

@media (max-width: 720px){
  .donation-gateway-section{
    padding:44px 0;
  }

  .donation-gateway-section .container{
    padding-left:16px;
    padding-right:16px;
  }

  .donation-editorial-card{
    border-radius:26px;
  }

  .donation-editorial-media{
    min-height:280px;
    height:280px;
  }

  .donation-editorial-content{
    padding:26px 18px;
  }

  .donation-editorial-copy h2{
    font-size:1.9rem;
  }

  .donation-editorial-actions{
    grid-template-columns:1fr;
  }

  .donation-editorial-action{
    min-height:0;
  }
}

/* Donation gateway: restored cinematic overlap */
.donation-gateway-section{
  padding:78px 0;
  background:#f8f1e5;
}

.donation-gateway-section .container{
  max-width:1320px;
  width:100%;
  margin:0 auto;
  padding-left:24px;
  padding-right:24px;
}

.donation-cinema-card{
  position:relative;
  min-height:540px;
  border-radius:36px;
  background:var(--donation-block-bg, #f4e6c7);
  overflow:visible;
  box-shadow:0 34px 90px rgba(49,35,14,.18);
  isolation:isolate;
}

.donation-cinema-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:36px;
  pointer-events:none;
  background:
    radial-gradient(circle at 74% 18%, rgba(255,255,255,.34), transparent 34%),
    radial-gradient(circle at 20% 78%, rgba(157,84,21,.10), transparent 40%);
  z-index:0;
}

.donation-cinema-glow{
  position:absolute;
  left:5%;
  top:8%;
  bottom:4%;
  width:58%;
  border-radius:44px;
  background:radial-gradient(ellipse at 48% 58%, rgba(255,231,160,.34), rgba(255,231,160,.08) 48%, transparent 76%);
  filter:blur(28px);
  opacity:.86;
  z-index:0;
  pointer-events:none;
  animation:donationCinemaGlow 8s ease-in-out infinite;
}

.donation-cinema-media{
  position:absolute;
  left:0;
  top:34px;
  bottom:34px;
  width:72%;
  overflow:hidden;
  border-radius:34px;
  background:#3b2816;
  border:1px solid rgba(255,255,255,.28);
  box-shadow:
    0 26px 64px rgba(35,24,10,.26),
    0 0 0 1px rgba(255,255,255,.08) inset;
  z-index:1;
}

.donation-cinema-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center bottom;
  display:block;
  transform:scale(1.006);
  transition:transform 1s ease;
}

.donation-cinema-card:hover .donation-cinema-image{
  transform:scale(1.018);
}

.donation-cinema-image-shade{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(30,20,10,.10), transparent 34%, rgba(30,20,10,.18)),
    linear-gradient(180deg, rgba(255,246,216,.06), transparent 48%, rgba(30,20,10,.18));
}

.donation-cinema-particles{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
}

.donation-cinema-particle{
  position:absolute;
  width:4px;
  height:4px;
  border-radius:50%;
  background:rgba(255,235,170,.82);
  box-shadow:0 0 12px rgba(255,220,130,.34);
  opacity:.24;
  animation:donationCinemaParticle 7s ease-in-out infinite;
}

.donation-cinema-particle--1{left:8%;top:72%;animation-delay:-.2s}
.donation-cinema-particle--2{left:14%;top:28%;width:3px;height:3px;animation-delay:-1.4s}
.donation-cinema-particle--3{left:22%;top:82%;animation-delay:-2.2s}
.donation-cinema-particle--4{left:34%;top:18%;width:2px;height:2px;animation-delay:-3.1s}
.donation-cinema-particle--5{left:48%;top:76%;width:3px;height:3px;animation-delay:-4.4s}
.donation-cinema-particle--6{left:62%;top:24%;animation-delay:-5.1s}
.donation-cinema-particle--7{left:70%;top:68%;width:3px;height:3px;animation-delay:-2.7s}
.donation-cinema-particle--8{left:82%;top:36%;width:2px;height:2px;animation-delay:-6s}
.donation-cinema-particle--9{left:88%;top:78%;animation-delay:-1.8s}
.donation-cinema-particle--10{left:55%;top:12%;width:2px;height:2px;animation-delay:-3.8s}
.donation-cinema-particle--11{left:11%;top:56%;width:3px;height:3px;animation-delay:-5.8s}
.donation-cinema-particle--12{left:76%;top:16%;width:3px;height:3px;animation-delay:-.9s}

.donation-cinema-copy{
  position:absolute;
  left:34px;
  bottom:28px;
  z-index:4;
  width:min(430px, 34%);
  padding:16px 18px;
  border-radius:20px;
  color:#302414;
  background:rgba(255,250,240,.78);
  border:1px solid rgba(255,255,255,.50);
  box-shadow:0 14px 34px rgba(35,25,10,.16);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.donation-cinema-copy .donation-gateway-kicker{
  display:inline-flex;
  margin:0 0 6px;
  padding:6px 10px;
  border-radius:999px;
  color:#8a4b10;
  background:rgba(255,246,218,.76);
  border:1px solid rgba(157,84,21,.14);
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.donation-cinema-copy h2{
  margin:6px 0 8px;
  color:#291f12;
  font-size:clamp(1.45rem, 2vw, 2.15rem);
  line-height:1.08;
  letter-spacing:0;
}

.donation-cinema-copy p{
  margin:0;
  color:#625440;
  font-size:.92rem;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.donation-cinema-actions{
  position:absolute;
  right:34px;
  top:50%;
  z-index:5;
  width:390px;
  padding:18px;
  border-radius:30px;
  transform:translateY(-50%);
  background:rgba(255,255,255,.74);
  border:1px solid rgba(255,255,255,.58);
  box-shadow:0 24px 60px rgba(58,42,18,.22);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  display:grid;
  gap:12px;
}

.donation-cinema-actions::before{
  content:"";
  position:absolute;
  inset:-42px -30px auto auto;
  width:170px;
  height:170px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,241,194,.30), transparent 68%);
  pointer-events:none;
  z-index:-1;
}

.donation-cinema-actions .donation-gateway-action{
  display:grid;
  grid-template-columns:44px minmax(0, 1fr) auto;
  align-items:center;
  gap:12px;
  min-height:78px;
  max-height:none;
  padding:12px 14px;
  border-radius:20px;
  color:#332616;
  text-decoration:none;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(80,60,30,.11);
  box-shadow:0 10px 24px rgba(69,47,19,.055);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}

.donation-cinema-actions .donation-gateway-action:hover,
.donation-cinema-actions .donation-gateway-action:focus-visible{
  transform:translateY(-2px) translateX(-2px);
  background:#fffdf8;
  border-color:rgba(157,84,21,.28);
  box-shadow:0 18px 34px rgba(69,47,19,.13);
}

.donation-cinema-actions .donation-gateway-action__icon{
  width:44px;
  height:44px;
}

.donation-cinema-actions .donation-gateway-action__title{
  font-size:.94rem;
  line-height:1.16;
}

.donation-cinema-actions .donation-gateway-action__text{
  color:#665844;
  font-size:.78rem;
  line-height:1.28;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.donation-cinema-actions .donation-gateway-action--candle:hover,
.donation-cinema-actions .donation-gateway-action--candle:focus-visible{
  background:rgba(255,248,232,.96);
}

.donation-gateway-section.has-reveal .donation-cinema-media,
.donation-gateway-section.has-reveal .donation-cinema-copy,
.donation-gateway-section.has-reveal .donation-cinema-actions{
  opacity:0;
  transition:opacity .72s ease, transform .72s ease;
}

.donation-gateway-section.has-reveal .donation-cinema-media{
  transform:translateY(18px) scale(.985);
}

.donation-gateway-section.has-reveal .donation-cinema-copy{
  transform:translateY(20px);
}

.donation-gateway-section.has-reveal .donation-cinema-actions{
  transform:translateY(calc(-50% + 22px)) translateX(18px);
}

.donation-gateway-section.is-visible .donation-cinema-media,
.donation-gateway-section.is-visible .donation-cinema-copy,
.donation-gateway-section.is-visible .donation-cinema-actions{
  opacity:1;
}

.donation-gateway-section.is-visible .donation-cinema-media{
  transform:translateY(0) scale(1);
}

.donation-gateway-section.is-visible .donation-cinema-copy{
  transform:translateY(0);
}

.donation-gateway-section.is-visible .donation-cinema-actions{
  transform:translateY(-50%) translateX(0);
}

@keyframes donationCinemaGlow{
  0%,100%{opacity:.72;transform:scale(.98)}
  50%{opacity:.92;transform:scale(1.02)}
}

@keyframes donationCinemaParticle{
  0%{opacity:0;transform:translate3d(0,16px,0) scale(.65)}
  35%{opacity:.36}
  100%{opacity:0;transform:translate3d(10px,-42px,0) scale(1.08)}
}

@media (max-width: 1099px){
  .donation-gateway-section{
    padding:64px 0;
  }

  .donation-cinema-card{
    display:grid;
    gap:18px;
    min-height:0;
    padding:18px;
    overflow:hidden;
  }

  .donation-cinema-media,
  .donation-cinema-copy,
  .donation-cinema-actions{
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    width:auto;
    transform:none;
  }

  .donation-cinema-media{
    height:360px;
    border-radius:28px;
  }

  .donation-cinema-copy{
    margin:-62px 18px 0;
  }

  .donation-cinema-actions{
    width:auto;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    padding:16px;
  }

  .donation-gateway-section.has-reveal .donation-cinema-actions,
  .donation-gateway-section.is-visible .donation-cinema-actions{
    transform:none;
  }
}

@media (max-width: 720px){
  .donation-gateway-section{
    padding:46px 0;
  }

  .donation-gateway-section .container{
    padding-left:16px;
    padding-right:16px;
  }

  .donation-cinema-card{
    border-radius:26px;
    padding:12px;
  }

  .donation-cinema-media{
    height:280px;
    border-radius:22px;
  }

  .donation-cinema-copy{
    margin:0;
    padding:18px;
    border-radius:20px;
  }

  .donation-cinema-copy p{
    display:block;
    overflow:visible;
  }

  .donation-cinema-actions{
    grid-template-columns:1fr;
    padding:12px;
    border-radius:22px;
  }
}

/* Donation gateway: image clear, text below */
.donation-cinema-card{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 390px;
  gap:24px;
  min-height:0;
  padding:34px;
  overflow:visible;
}

.donation-cinema-card::before{
  border-radius:36px;
}

.donation-cinema-glow{
  left:6%;
  top:8%;
  bottom:18%;
  width:58%;
}

.donation-cinema-media{
  position:relative;
  left:auto;
  top:auto;
  bottom:auto;
  width:auto;
  height:390px;
  min-height:390px;
  grid-column:1;
  grid-row:1;
  align-self:end;
}

.donation-cinema-image{
  object-position:35% 60%;
}

.donation-cinema-image-shade{
  background:
    linear-gradient(90deg, rgba(30,20,10,.06), transparent 42%, rgba(30,20,10,.08)),
    linear-gradient(180deg, rgba(255,246,216,.04), transparent 58%, rgba(30,20,10,.08));
}

.donation-cinema-text-below{
  position:relative;
  z-index:4;
  grid-column:1;
  grid-row:2;
  width:auto;
  margin-top:14px;
  padding:16px 18px;
  border-radius:20px;
  color:#302414;
  background:rgba(255,250,240,.72);
  border:1px solid rgba(255,255,255,.45);
  box-shadow:0 14px 34px rgba(35,25,10,.12);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.donation-cinema-text-below .donation-gateway-kicker{
  display:inline-flex;
  margin:0 0 7px;
  padding:6px 10px;
  border-radius:999px;
  color:#8a4b10;
  background:rgba(255,246,218,.76);
  border:1px solid rgba(157,84,21,.14);
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.donation-cinema-text-below h2{
  margin:6px 0 8px;
  color:#291f12;
  font-size:clamp(1.45rem, 2vw, 2rem);
  line-height:1.1;
  letter-spacing:0;
}

.donation-cinema-text-below p{
  max-width:760px;
  margin:0;
  color:#625440;
  font-size:.95rem;
  line-height:1.45;
}

.donation-cinema-actions{
  position:relative;
  right:auto;
  top:auto;
  grid-column:2;
  grid-row:1 / span 2;
  width:auto;
  align-self:center;
  transform:none;
}

.donation-gateway-section.has-reveal .donation-cinema-text-below{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .72s ease, transform .72s ease;
}

.donation-gateway-section.is-visible .donation-cinema-text-below{
  opacity:1;
  transform:translateY(0);
}

.donation-gateway-section.has-reveal .donation-cinema-actions,
.donation-gateway-section.is-visible .donation-cinema-actions{
  transform:none;
}

@media (max-width: 1099px){
  .donation-cinema-card{
    grid-template-columns:1fr;
    gap:16px;
    padding:18px;
    overflow:hidden;
  }

  .donation-cinema-media,
  .donation-cinema-text-below,
  .donation-cinema-actions{
    grid-column:1;
    grid-row:auto;
  }

  .donation-cinema-media{
    height:360px;
    min-height:360px;
  }

  .donation-cinema-text-below{
    margin-top:0;
  }

  .donation-cinema-actions{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    width:auto;
  }
}

@media (max-width: 720px){
  .donation-cinema-card{
    padding:12px;
  }

  .donation-cinema-media{
    height:280px;
    min-height:280px;
  }

  .donation-cinema-text-below{
    padding:18px;
  }

  .donation-cinema-text-below p{
    font-size:.92rem;
  }

  .donation-cinema-actions{
    grid-template-columns:1fr;
  }
}

/* Donation gateway: modern horizontal editorial block */
.donation-gateway-section{
  padding:78px 0;
  background:#f8f1e5;
}

.donation-gateway-section .container{
  max-width:1320px;
  width:100%;
  margin:0 auto;
  padding-left:24px;
  padding-right:24px;
}

.donation-modern-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, 1.58fr) minmax(390px, .92fr);
  min-height:510px;
  overflow:hidden;
  border-radius:36px;
  background:var(--donation-block-bg, #f4e6c7);
  border:1px solid rgba(255,255,255,.38);
  box-shadow:0 30px 76px rgba(56,38,12,.18);
  isolation:isolate;
}

.donation-modern-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 78% 12%, rgba(255,255,255,.30), transparent 34%),
    radial-gradient(circle at 6% 92%, rgba(157,84,21,.10), transparent 36%);
}

.donation-modern-media{
  position:relative;
  z-index:1;
  min-height:510px;
  overflow:hidden;
  background:#d8c18f;
  clip-path:ellipse(118% 100% at 0% 50%);
}

.donation-modern-media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, transparent 0 70%, rgba(39,25,10,.10) 100%),
    linear-gradient(180deg, rgba(255,246,218,.05), transparent 48%, rgba(35,22,8,.08));
}

.donation-modern-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:35% 58%;
  display:block;
  transition:transform .8s ease;
}

.donation-modern-card:hover .donation-modern-image{
  transform:scale(1.012);
}

.donation-modern-content{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:22px;
  min-width:0;
  padding:42px 38px 42px 34px;
}

.donation-modern-content::before{
  content:"";
  position:absolute;
  left:0;
  top:48px;
  bottom:48px;
  width:1px;
  background:linear-gradient(180deg, transparent, rgba(255,244,205,.58), rgba(157,84,21,.22), transparent);
  opacity:.8;
}

.donation-modern-copy{
  position:relative;
  padding-left:18px;
}

.donation-modern-copy::before{
  content:"";
  position:absolute;
  left:0;
  top:6px;
  bottom:8px;
  width:3px;
  border-radius:99px;
  background:linear-gradient(180deg, #fff3bd, #c9851e);
  opacity:.72;
}

.donation-modern-copy .donation-gateway-kicker{
  display:inline-flex;
  margin:0 0 12px;
  padding:7px 12px;
  border-radius:999px;
  color:#7d430f;
  background:rgba(255,246,218,.66);
  border:1px solid rgba(157,84,21,.16);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.donation-modern-copy h2{
  margin:0 0 12px;
  color:#291f12;
  font-size:clamp(1.95rem, 2.45vw, 2.8rem);
  line-height:1.05;
  letter-spacing:0;
}

.donation-modern-copy p{
  max-width:470px;
  margin:0;
  color:#5e513f;
  font-size:1rem;
  line-height:1.54;
}

.donation-modern-actions{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.donation-modern-action{
  position:relative;
  display:grid;
  grid-template-columns:42px minmax(0, 1fr) auto;
  align-items:start;
  gap:10px;
  min-height:108px;
  padding:15px;
  border-radius:22px;
  color:#332616;
  text-decoration:none;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.46);
  box-shadow:0 14px 34px rgba(58,42,18,.10);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}

.donation-modern-action:hover,
.donation-modern-action:focus-visible{
  transform:translateY(-3px);
  background:rgba(255,253,248,.94);
  border-color:rgba(157,84,21,.28);
  box-shadow:0 20px 40px rgba(58,42,18,.16);
}

.donation-modern-action:focus-visible{
  outline:3px solid rgba(157,84,21,.28);
  outline-offset:4px;
}

.donation-modern-action .donation-gateway-action__icon{
  width:42px;
  height:42px;
}

.donation-modern-action .donation-gateway-action__body{
  display:grid;
  gap:6px;
}

.donation-modern-action .donation-gateway-action__title{
  font-size:.93rem;
  line-height:1.16;
}

.donation-modern-action .donation-gateway-action__text{
  color:#655743;
  font-size:.77rem;
  line-height:1.32;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.donation-modern-action .donation-gateway-action__arrow{
  align-self:start;
  padding-top:2px;
}

.donation-modern-action:hover .donation-gateway-action__arrow,
.donation-modern-action:focus-visible .donation-gateway-action__arrow{
  transform:translateX(4px);
}

.donation-modern-action.donation-gateway-action--candle:hover,
.donation-modern-action.donation-gateway-action--candle:focus-visible{
  background:rgba(255,248,232,.92);
}

.donation-gateway-section.has-reveal .donation-modern-media,
.donation-gateway-section.has-reveal .donation-modern-copy,
.donation-gateway-section.has-reveal .donation-modern-actions{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .72s ease, transform .72s ease;
}

.donation-gateway-section.is-visible .donation-modern-media,
.donation-gateway-section.is-visible .donation-modern-copy,
.donation-gateway-section.is-visible .donation-modern-actions{
  opacity:1;
  transform:translateY(0);
}

@media (min-width: 1100px){
  .donation-modern-card{
    grid-template-columns:minmax(0, 1.58fr) minmax(390px, .92fr);
  }
}

@media (max-width: 1099px){
  .donation-gateway-section{
    padding:60px 0;
  }

  .donation-modern-card{
    grid-template-columns:1fr;
    min-height:0;
  }

  .donation-modern-media{
    min-height:360px;
    height:360px;
    clip-path:none;
  }

  .donation-modern-content{
    padding:34px 28px;
  }

  .donation-modern-content::before{
    content:none;
  }
}

@media (max-width: 720px){
  .donation-gateway-section{
    padding:44px 0;
  }

  .donation-gateway-section .container{
    padding-left:16px;
    padding-right:16px;
  }

  .donation-modern-card{
    border-radius:26px;
  }

  .donation-modern-media{
    min-height:280px;
    height:280px;
  }

  .donation-modern-content{
    padding:26px 18px;
  }

  .donation-modern-copy h2{
    font-size:1.9rem;
  }

  .donation-modern-actions{
    grid-template-columns:1fr;
  }

.donation-modern-action{
    min-height:0;
  }
}

/* Donation gateway: premium two-layer layout */
.donation-gateway-section{
  position:relative;
  padding:92px 0;
  overflow:hidden;
  background:linear-gradient(180deg, #eef7f7 0%, #d8eef0 100%);
}

.donation-gateway-section::before{
  content:"";
  position:absolute;
  inset:10% auto auto -8%;
  width:34vw;
  height:34vw;
  max-width:460px;
  max-height:460px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.48), transparent 68%);
  pointer-events:none;
}

.donation-gateway-section .container{
  position:relative;
  z-index:1;
  max-width:1320px;
  width:100%;
  margin:0 auto;
  padding-left:24px;
  padding-right:24px;
}

.donation-dignity-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, 1.52fr) minmax(390px, .98fr);
  gap:22px;
  max-width:1320px;
  min-height:540px;
  margin:0 auto;
  padding:22px;
  overflow:hidden;
  border-radius:38px;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.54), transparent 32%),
    linear-gradient(135deg, #f7f1e3 0%, var(--donation-block-bg, #f4e6c7) 48%, #efe2bc 100%);
  border:1px solid rgba(255,255,255,.58);
  box-shadow:0 32px 78px rgba(36,58,58,.16), 0 18px 54px rgba(185,133,36,.14);
}

.donation-dignity-card::before{
  content:"";
  position:absolute;
  left:6%;
  bottom:-22%;
  width:48%;
  height:48%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,231,151,.32), rgba(255,231,151,.10) 42%, transparent 72%);
  filter:blur(10px);
  pointer-events:none;
}

.donation-dignity-media{
  position:relative;
  min-height:496px;
  overflow:hidden;
  border-radius:30px;
  background:#ead39d;
  box-shadow:0 22px 58px rgba(68,47,18,.18);
  isolation:isolate;
}

.donation-dignity-media::before{
  content:"";
  position:absolute;
  inset:-18% -10% auto auto;
  width:46%;
  height:64%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,235,170,.30), transparent 66%);
  filter:blur(14px);
  z-index:2;
  pointer-events:none;
}

.donation-dignity-media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(90deg, rgba(255,248,232,.05), transparent 26%, transparent 72%, rgba(45,35,20,.12)),
    linear-gradient(0deg, rgba(25,18,8,.18), transparent 30%);
  pointer-events:none;
}

.donation-dignity-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:42% 34%;
  display:block;
  transition:transform .9s ease;
}

.donation-dignity-card:hover .donation-dignity-image{
  transform:scale(1.012);
}

.donation-dignity-copy{
  position:absolute;
  left:clamp(22px, 4vw, 38px);
  bottom:clamp(22px, 4vw, 34px);
  z-index:4;
  width:min(395px, 38%);
  padding:14px 16px 15px;
  border-radius:22px;
  color:#241b12;
  background:rgba(255,250,242,.82);
  border:1px solid rgba(255,255,255,.58);
  border-left:4px solid rgba(185,133,36,.66);
  box-shadow:0 18px 44px rgba(35,25,10,.18);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.donation-dignity-copy .donation-gateway-kicker{
  display:inline-flex;
  margin:0 0 8px;
  padding:6px 10px;
  border-radius:999px;
  color:#9d5415;
  background:rgba(255,248,232,.88);
  border:1px solid rgba(185,133,36,.24);
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.donation-dignity-copy h2{
  margin:0 0 7px;
  color:#241b12;
  font-size:clamp(1.28rem, 1.55vw, 1.78rem);
  line-height:1.08;
  letter-spacing:0;
}

.donation-dignity-copy p{
  max-width:410px;
  margin:0;
  color:#5f5140;
  font-size:.84rem;
  line-height:1.45;
}

.donation-dignity-particles{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  overflow:hidden;
}

.donation-dignity-particle{
  position:absolute;
  width:4px;
  height:4px;
  border-radius:50%;
  background:radial-gradient(circle, #fff3bd 0%, #e0b34f 55%, transparent 78%);
  box-shadow:0 0 14px rgba(224,179,79,.45);
  opacity:.28;
  animation:donationDignityDust 6.8s ease-in-out infinite;
}

.donation-dignity-particle:nth-child(1){left:8%;top:18%;animation-delay:-1.2s}
.donation-dignity-particle:nth-child(2){left:18%;top:82%;width:3px;height:3px;animation-delay:-3.4s}
.donation-dignity-particle:nth-child(3){left:34%;top:12%;animation-delay:-4.8s}
.donation-dignity-particle:nth-child(4){left:58%;top:18%;width:5px;height:5px;animation-delay:-2.5s}
.donation-dignity-particle:nth-child(5){left:76%;top:25%;width:3px;height:3px;animation-delay:-5.8s}
.donation-dignity-particle:nth-child(6){left:88%;top:54%;animation-delay:-.7s}
.donation-dignity-particle:nth-child(7){left:67%;top:78%;width:5px;height:5px;animation-delay:-3s}
.donation-dignity-particle:nth-child(8){left:42%;top:86%;width:3px;height:3px;animation-delay:-6s}
.donation-dignity-particle:nth-child(9){left:92%;top:16%;animation-delay:-2.1s}
.donation-dignity-particle:nth-child(10){left:12%;top:44%;width:3px;height:3px;animation-delay:-4.2s}
.donation-dignity-particle:nth-child(11){left:53%;top:62%;animation-delay:-1.8s}
.donation-dignity-particle:nth-child(12){left:82%;top:86%;width:3px;height:3px;animation-delay:-5.2s}

@keyframes donationDignityDust{
  0%,100%{opacity:.12;transform:translate3d(0, 10px, 0) scale(.75)}
  45%{opacity:.52;transform:translate3d(8px, -14px, 0) scale(1.08)}
  72%{opacity:.28;transform:translate3d(-5px, -22px, 0) scale(.92)}
}

.donation-dignity-panel{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:18px;
  border-radius:30px;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(255,255,255,.54);
  box-shadow:0 20px 48px rgba(28,22,14,.08);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.donation-dignity-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:13px;
}

.donation-dignity-action{
  position:relative;
  display:grid;
  grid-template-columns:52px 1fr auto;
  align-items:center;
  gap:13px;
  min-height:92px;
  padding:14px 16px;
  border-radius:22px;
  color:#332616;
  text-decoration:none;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(185,133,36,.14);
  box-shadow:0 10px 30px rgba(28,22,14,.06);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}

.donation-dignity-action:nth-child(1){--action-accent:#b98524}
.donation-dignity-action:nth-child(2){--action-accent:#c59a3e}
.donation-dignity-action:nth-child(3){--action-accent:#d69b2f}
.donation-dignity-action:nth-child(4){--action-accent:#9d5415}

.donation-dignity-action::before{
  content:"";
  position:absolute;
  inset:10px auto 10px 0;
  width:3px;
  border-radius:99px;
  background:var(--action-accent, #b98524);
  opacity:.58;
}

.donation-dignity-action:hover,
.donation-dignity-action:focus-visible{
  transform:translateY(-2px);
  background:rgba(255,255,255,.92);
  border-color:rgba(185,133,36,.30);
  box-shadow:0 16px 34px rgba(28,22,14,.10);
}

.donation-dignity-action:focus-visible{
  outline:3px solid rgba(185,133,36,.28);
  outline-offset:4px;
}

.donation-dignity-action .donation-gateway-action__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:50%;
  color:#9d5415;
  background:linear-gradient(145deg, #fff8e8, #f2dfb0);
  border:1px solid rgba(185,133,36,.22);
  box-shadow:0 10px 24px rgba(185,133,36,.12);
  font-size:1.05rem;
}

.donation-dignity-action .donation-gateway-action__body{
  display:grid;
  gap:5px;
  min-width:0;
}

.donation-dignity-action .donation-gateway-action__title{
  color:#241b12;
  font-size:.98rem;
  font-weight:850;
  line-height:1.12;
}

.donation-dignity-action .donation-gateway-action__text{
  color:#5f5140;
  font-size:.8rem;
  line-height:1.34;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.donation-dignity-action .donation-gateway-action__arrow{
  color:#9d5415;
  font-weight:800;
  transition:transform .28s ease;
}

.donation-dignity-action:hover .donation-gateway-action__arrow,
.donation-dignity-action:focus-visible .donation-gateway-action__arrow{
  transform:translateX(4px);
}

.donation-dignity-action.donation-gateway-action--candle:hover,
.donation-dignity-action.donation-gateway-action--candle:focus-visible{
  background:linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,248,232,.96));
}

.donation-gateway-section.has-reveal .donation-dignity-media,
.donation-gateway-section.has-reveal .donation-dignity-copy,
.donation-gateway-section.has-reveal .donation-dignity-panel{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .72s ease, transform .72s ease;
}

.donation-gateway-section.is-visible .donation-dignity-media,
.donation-gateway-section.is-visible .donation-dignity-copy,
.donation-gateway-section.is-visible .donation-dignity-panel{
  opacity:1;
  transform:translateY(0);
}

.donation-gateway-section.has-reveal .donation-dignity-panel{
  transition-delay:.12s;
}

@media (max-width: 1099px){
  .donation-gateway-section{
    padding:64px 0;
  }

  .donation-dignity-card{
    grid-template-columns:1fr;
    min-height:0;
    gap:18px;
  }

  .donation-dignity-media{
    min-height:420px;
    height:420px;
  }

  .donation-dignity-copy{
    width:min(440px, calc(100% - 44px));
    left:22px;
  }

  .donation-dignity-panel{
    padding:18px;
  }
}

@media (max-width: 720px){
  .donation-gateway-section{
    padding:46px 0;
  }

  .donation-gateway-section .container{
    padding-left:16px;
    padding-right:16px;
  }

  .donation-dignity-card{
    padding:14px;
    border-radius:28px;
  }

  .donation-dignity-media{
    min-height:auto;
    height:auto;
    border-radius:22px;
    overflow:visible;
  }

  .donation-dignity-image{
    height:auto;
    aspect-ratio:16 / 10;
    border-radius:22px;
  }

  .donation-dignity-media::after,
  .donation-dignity-particles{
    display:none;
  }

  .donation-dignity-copy{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    width:auto;
    margin:12px 0 0;
    padding:15px 16px;
  }

  .donation-dignity-copy h2{
    font-size:1.65rem;
  }

  .donation-dignity-panel{
    padding:14px;
    border-radius:24px;
  }

  .donation-dignity-action{
    min-height:0;
    grid-template-columns:46px 1fr auto;
    padding:13px 14px;
  }
}

/* Donation gateway: floating visuals over devotional panel */
.home-devotional-feature{
  position:relative;
  --devotional-card-overlap:118px;
  padding:86px 0 0;
  overflow:hidden;
  background:
    radial-gradient(circle at 14% 18%, rgba(255,255,255,.72), transparent 30%),
    linear-gradient(180deg, #fff8e8 0%, #f7f1e3 100%);
}

.home-devotional-feature::before{
  content:"";
  position:absolute;
  inset:auto -10% 12% auto;
  width:42vw;
  height:42vw;
  max-width:560px;
  max-height:560px;
  border-radius:50%;
 
  pointer-events:none;
}

.home-devotional-feature .container{
  position:relative;
  z-index:1;
  max-width:1320px;
  width:100%;
  margin:0 auto;
  padding-left:24px;
  padding-right:24px;
}

.home-devotional-visual-card{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
  width:min(860px, calc(100% - 48px));
  margin:0 auto;
  padding:18px;
  border-radius:32px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.82);
  box-shadow:0 28px 76px rgba(21,67,71,.16), 0 14px 38px rgba(28,22,14,.08);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.home-devotional-visual-card::before{
  content:"";
  position:absolute;
  inset:-18px 18% auto;
  height:38px;
  border-radius:50%;
  background:radial-gradient(ellipse, rgba(255,255,255,.86), transparent 70%);
  pointer-events:none;
}

.home-devotional-visual-tile{
  display:block;
  margin:0;
  min-width:0;
  padding:8px;
  border-radius:24px;
  background:#fcf8ef;
  border:1px solid rgba(185,133,36,.12);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.54);
  color:inherit;
  text-decoration:none;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.home-devotional-visual-tile:hover,
.home-devotional-visual-tile:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(185,133,36,.28);
  box-shadow:0 14px 30px rgba(28,22,14,.08), inset 0 0 0 1px rgba(255,255,255,.64);
}

.home-devotional-visual-tile:focus-visible{
  outline:3px solid rgba(185,133,36,.28);
  outline-offset:4px;
}

.home-devotional-visual-image{
  position:relative;
  display:block;
  aspect-ratio:4 / 3;
  overflow:hidden;
  border-radius:18px;
  background:#f7f1e3;
}

.home-devotional-visual-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 48%, rgba(22,95,102,.10));
  pointer-events:none;
}

.home-devotional-visual-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  transition:transform .36s ease;
}

.home-devotional-visual-tile:hover .home-devotional-visual-image img,
.home-devotional-visual-tile:focus-visible .home-devotional-visual-image img{
  transform:scale(1.035);
}

.home-devotional-visual-tile:first-child .home-devotional-visual-image img{
  object-position:42% 28%;
}

.home-devotional-visual-tile:nth-child(3) .home-devotional-visual-image{
  background:linear-gradient(145deg, #fcf8ef, #efe2bc);
}

.home-devotional-visual-tile:nth-child(3) .home-devotional-visual-image img{
  object-fit:contain;
  padding:8px;
}

.home-devotional-visual-label{
  display:block;
  padding:10px 4px 2px;
  color:#5f5140;
  font-size:.84rem;
  font-weight:800;
  line-height:1.25;
  text-align:center;
  transition:color .28s ease;
}

.home-devotional-visual-tile:hover .home-devotional-visual-label,
.home-devotional-visual-tile:focus-visible .home-devotional-visual-label{
  color:#3f4a32;
}

.home-devotional-panel{
  position:relative;
  z-index:2;
  width:100vw;
  min-height:438px;
  margin-top:calc(var(--devotional-card-overlap) * -1);
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:calc(var(--devotional-card-overlap) + 54px) 0 54px;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 30%, rgba(231,200,115,.22), transparent 30%),
    radial-gradient(circle at 85% 70%, rgba(255,248,232,.10), transparent 28%),
    #3f4a32;
  box-shadow:0 -18px 60px rgba(28,22,14,.08) inset;
  isolation:isolate;
}

.home-devotional-panel::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 18% 30%, rgba(231,200,115,.22), transparent 30%),
    radial-gradient(circle at 85% 70%, rgba(255,248,232,.10), transparent 28%);
  animation:devotionalPanelGlow 12s ease-in-out infinite alternate;
  pointer-events:none;
}

.home-devotional-panel::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:linear-gradient(120deg, rgba(255,255,255,.04) 0 1px, transparent 1px 18px);
  opacity:.24;
  pointer-events:none;
}

@keyframes devotionalPanelGlow{
  from{transform:translate3d(-12px, -8px, 0) scale(1);opacity:.75}
  to{transform:translate3d(14px, 10px, 0) scale(1.04);opacity:1}
}

.home-devotional-panel__inner{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(460px, 1.05fr);
  gap:42px;
  align-items:end;
  max-width:1240px;
  margin:0 auto;
  padding-left:24px;
  padding-right:24px;
}

.home-devotional-copy{
  position:relative;
  max-width:560px;
  color:#fffaf2;
}

.home-devotional-copy .donation-gateway-kicker{
  display:inline-flex;
  margin:0 0 14px;
  padding:7px 12px;
  border-radius:999px;
  color:#e7c873;
  background:rgba(255,248,232,.08);
  border:1px solid rgba(255,248,232,.18);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.home-devotional-copy h2{
  max-width:520px;
  margin:0 0 14px;
  color:#fffaf2;
  font-size:clamp(2.15rem, 3vw, 3.25rem);
  line-height:1.04;
  letter-spacing:0;
}

.home-devotional-copy p{
  max-width:520px;
  margin:0;
  color:rgba(255,250,242,.84);
  font-size:1rem;
  line-height:1.64;
}

.home-devotional-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}

.home-devotional-chips span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border-radius:999px;
  color:#fff8e8;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  font-size:.82rem;
  font-weight:750;
}

.home-devotional-actions{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.home-devotional-action{
  position:relative;
  display:grid;
  grid-template-columns:46px 1fr auto;
  align-items:center;
  gap:12px;
  min-height:118px;
  padding:16px;
  border-radius:24px;
  color:#fffaf2;
  text-decoration:none;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,248,232,.16);
  box-shadow:0 10px 30px rgba(28,22,14,.06);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:transform .3s ease, border-color .3s ease, background .3s ease, box-shadow .3s ease;
}

.home-devotional-action:nth-child(1){--action-accent:#ead39d}
.home-devotional-action:nth-child(2){--action-accent:#fff8e8}
.home-devotional-action:nth-child(3){--action-accent:#f6c763}
.home-devotional-action:nth-child(4){--action-accent:#f7f1e3}

.home-devotional-action::before{
  content:"";
  position:absolute;
  inset:12px auto 12px 0;
  width:3px;
  border-radius:99px;
  background:var(--action-accent, #ead39d);
  opacity:.72;
}

.home-devotional-action:hover,
.home-devotional-action:focus-visible{
  transform:translateY(-3px);
  background:rgba(255,255,255,.16);
  border-color:rgba(255,248,232,.34);
  box-shadow:0 16px 34px rgba(28,22,14,.10);
}

.home-devotional-action:focus-visible{
  outline:3px solid rgba(255,248,232,.36);
  outline-offset:4px;
}

.home-devotional-action .donation-gateway-action__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:50%;
  color:#165f66;
  background:linear-gradient(145deg, #fff8e8, #ead39d);
  border:1px solid rgba(255,255,255,.34);
  box-shadow:0 10px 24px rgba(0,0,0,.10);
  font-size:1rem;
}

.home-devotional-action .donation-gateway-action__body{
  display:grid;
  gap:5px;
  min-width:0;
}

.home-devotional-action .donation-gateway-action__title{
  color:#fffaf2;
  font-size:.98rem;
  font-weight:850;
  line-height:1.14;
}

.home-devotional-action .donation-gateway-action__text{
  color:rgba(255,250,242,.78);
  font-size:.8rem;
  line-height:1.34;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.home-devotional-action .donation-gateway-action__arrow{
  color:#fff8e8;
  font-weight:800;
  transition:transform .3s ease;
}

.home-devotional-action:hover .donation-gateway-action__arrow,
.home-devotional-action:focus-visible .donation-gateway-action__arrow{
  transform:translateX(4px);
}

.home-devotional-action.donation-gateway-action--candle:hover .donation-gateway-action__icon,
.home-devotional-action.donation-gateway-action--candle:focus-visible .donation-gateway-action__icon{
  box-shadow:0 0 0 1px rgba(255,248,232,.32), 0 0 26px rgba(246,199,99,.34);
}

.donation-gateway-section.has-reveal .home-devotional-visual-card,
.donation-gateway-section.has-reveal .home-devotional-copy,
.donation-gateway-section.has-reveal .home-devotional-actions{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .72s ease, transform .72s ease;
}

.donation-gateway-section.is-visible .home-devotional-visual-card,
.donation-gateway-section.is-visible .home-devotional-copy,
.donation-gateway-section.is-visible .home-devotional-actions{
  opacity:1;
  transform:translateY(0);
}

.donation-gateway-section.has-reveal .home-devotional-actions{
  transition-delay:.12s;
}

@media (max-width: 1099px){
  .home-devotional-feature{
    --devotional-card-overlap:108px;
    padding:66px 0 0;
  }

  .home-devotional-visual-card{
    width:min(760px, calc(100% - 32px));
  }

  .home-devotional-panel{
    min-height:0;
    padding:calc(var(--devotional-card-overlap) + 50px) 0 40px;
  }

  .home-devotional-panel__inner{
    grid-template-columns:1fr;
    gap:28px;
    padding-left:32px;
    padding-right:32px;
  }
}

@media (max-width: 760px){
  .home-devotional-feature{
    --devotional-card-overlap:64px;
    padding:44px 0 0;
  }

  .home-devotional-feature .container{
    padding-left:16px;
    padding-right:16px;
  }

  .home-devotional-visual-card{
    grid-template-columns:1fr;
    gap:12px;
    width:calc(100% - 16px);
    padding:12px;
    border-radius:26px;
  }

  .home-devotional-visual-tile{
    display:grid;
    grid-template-columns:112px 1fr;
    align-items:center;
    gap:12px;
    padding:8px 12px 8px 8px;
  }

  .home-devotional-visual-image{
    aspect-ratio:1 / 1;
  }

  .home-devotional-visual-label{
    padding:0;
    text-align:left;
  }

  .home-devotional-panel{
    padding:calc(var(--devotional-card-overlap) + 40px) 0 28px;
  }

  .home-devotional-panel__inner{
    padding-left:18px;
    padding-right:18px;
  }

  .home-devotional-copy h2{
    font-size:2rem;
  }

  .home-devotional-actions{
    grid-template-columns:1fr;
  }

  .home-devotional-action{
    min-height:0;
  }
}

.main-pay{
  border:2px solid #0d6efd;
  box-shadow:0 4px 14px rgba(13,110,253,0.15);
  transform:scale(1.02);
}

.main-pay:hover{
  transform:scale(1.04);
}

/* =========================
   CANDLE / MASS CARDS
========================= */
.candle-entry-block{
  margin-top:18px;
  display:flex;
  align-items:center;
  gap:18px;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(240,109,47,.16);
  background:
    radial-gradient(circle at top right, rgba(240,109,47,.12), transparent 28%),
    linear-gradient(135deg, rgba(82,95,127,.08), rgba(255,255,255,.96));
  box-shadow:0 14px 30px rgba(82,95,127,.08), inset 0 0 0 1px rgba(255,255,255,.35);
  transition:all .22s ease;
}

.candle-entry-block:hover{
  transform:translateY(-2px);
  border-color:rgba(240,109,47,.28);
  box-shadow:0 18px 34px rgba(82,95,127,.14), 0 8px 18px rgba(240,109,47,.10);
}

.candle-entry-visual{
  width:120px;
  min-width:120px;
  height:96px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:10px;
  position:relative;
}

.mini-candle{
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}

.mini-candle.small{
  transform:scale(.82);
  opacity:.82;
}

.mini-candle.main{
  z-index:2;
}

.mini-candle-body{
  width:22px;
  height:54px;
  border-radius:10px 10px 6px 6px;
  background:linear-gradient(to right, #d7c8b4, #fff8eb 38%, #d5c7b5 72%, #baa994 100%);
  box-shadow:inset -2px 0 5px rgba(0,0,0,.12), inset 2px 0 5px rgba(255,255,255,.15);
}

.mini-candle.main .mini-candle-body{
  width:26px;
  height:70px;
}

.mini-candle-plate{
  position:absolute;
  bottom:-4px;
  width:40px;
  height:7px;
  border-radius:999px;
  background:linear-gradient(180deg, #4e331f, #1c120a);
}

.mini-candle.main .mini-candle-plate{
  width:46px;
}

.mini-flame-wrap{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:48px;
  width:42px;
  height:58px;
  pointer-events:none;
}

.mini-candle.main .mini-flame-wrap{
  bottom:64px;
}

.mini-glow{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  border-radius:50%;
  animation:miniGlowPulse 2.2s ease-in-out infinite;
}

.mini-glow.one{
  bottom:2px;
  width:38px;
  height:38px;
  background:radial-gradient(circle, rgba(255,199,104,.28), rgba(255,136,34,.08) 58%, transparent 76%);
  filter:blur(5px);
}

.mini-glow.two{
  bottom:16px;
  width:22px;
  height:22px;
  background:radial-gradient(circle, rgba(255,240,190,.72), rgba(255,185,72,.12) 58%, transparent 76%);
  filter:blur(2px);
}

.mini-flame{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:12px;
  width:14px;
  height:28px;
  transform-origin:center bottom;
  animation:miniFlameDance 1.5s ease-in-out infinite;
  filter:drop-shadow(0 0 8px rgba(255,175,66,.30));
}

.mini-flame::before,
.mini-flame::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:56% 56% 42% 42% / 80% 80% 30% 30%;
}

.mini-flame::before{
  background:radial-gradient(circle at 50% 26%, #fffce7 0%, #ffe6a5 18%, #ffbe50 48%, #ff7a0d 76%, rgba(255,82,0,0.04) 100%);
}

.mini-flame::after{
  background:radial-gradient(circle at 50% 22%, rgba(255,255,255,.95) 0%, rgba(255,247,214,.84) 22%, rgba(255,197,90,.34) 52%, transparent 72%);
  transform:scale(.46) translateY(-4px);
  filter:blur(.8px);
}

.candle-entry-content{
  flex:1;
  min-width:0;
}

.candle-entry-kicker{
  display:inline-block;
  margin-bottom:6px;
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#f06d2f;
}

.candle-entry-content h4{
  margin:0 0 8px;
  font-size:1.22rem;
  color:#1d2433;
}

.candle-entry-content p{
  margin:0;
  color:#5f6b81;
  line-height:1.6;
}

.candle-entry-action{
  display:inline-block;
  margin-top:12px;
  color:#f06d2f;
  font-weight:700;
}

.mass-entry-block{
  margin-top:18px;
}

.mass-entry-visual{
  min-width:120px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.mass-symbol-circle{
  width:88px;
  height:88px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:radial-gradient(circle at 30% 30%, #f6deb0, #d6a458);
  box-shadow:0 0 0 8px rgba(214,164,88,.10), 0 12px 26px rgba(0,0,0,.14);
  position:relative;
}

.mass-symbol-circle::before{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.38);
}

.mass-symbol-cross{
  font-size:2rem;
  color:#4b3318;
  line-height:1;
}

/* =========================
   LIT CANDLES CARD
========================= */
.lit-candles-card{
  display:block;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.lit-candles-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 34px rgba(0,0,0,.10);
  border-color:rgba(208,160,88,.30);
}

.lit-candles-preview{
  margin:18px 0 12px;
  min-height:118px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:18px;
  border-radius:20px;
  background:
    radial-gradient(circle at 50% 18%, rgba(255,188,90,.14), transparent 28%),
    linear-gradient(180deg, #2a304a 0%, #3e4d74 100%);
  padding:20px 12px 14px;
  overflow:hidden;
  position:relative;
}

.lit-candles-preview::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:8px;
  transform:translateX(-50%);
  width:130px;
  height:18px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(0,0,0,.22), transparent 70%);
  filter:blur(3px);
}

.lit-mini-candle{
  position:relative;
  display:block;
  width:34px;
}

.lit-mini-candle.small{
  height:70px;
}

.lit-mini-candle.main{
  height:92px;
}

.lit-mini-glow{
  position:absolute;
  left:50%;
  top:-20px;
  transform:translateX(-50%);
  width:54px;
  height:54px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,186,77,.28), rgba(255,120,20,.10) 55%, transparent 72%);
  filter:blur(8px);
  animation:litGlowPulse 2s ease-in-out infinite;
}

.lit-mini-flame{
  position:absolute;
  left:50%;
  top:-10px;
  transform:translateX(-50%);
  width:12px;
  height:26px;
  border-radius:50% 50% 22% 22%;
  background:linear-gradient(180deg, #fff7d2 0%, #ffc85d 48%, #ff7b12 100%);
  box-shadow:0 0 12px rgba(255,166,54,.35);
  animation:litFlameDance 1.5s ease-in-out infinite;
  z-index:3;
}

.lit-mini-body{
  position:absolute;
  left:50%;
  bottom:8px;
  transform:translateX(-50%);
  width:20px;
  border-radius:12px 12px 8px 8px;
  background:linear-gradient(to right, #d8ccbc, #fff8ec 38%, #d8ccbc 72%, #bcae9a 100%);
  box-shadow:inset -2px 0 5px rgba(0,0,0,.10), inset 2px 0 5px rgba(255,255,255,.12);
}

.lit-mini-candle.small .lit-mini-body{
  height:40px;
}

.lit-mini-candle.main .lit-mini-body{
  height:58px;
}

.lit-mini-base{
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:28px;
  height:6px;
  border-radius:999px;
  background:linear-gradient(180deg, #5a3a23, #24160d);
}

.lit-candles-action{
  margin-top:8px;
  color:#ef6e2b;
  font-weight:800;
  font-size:1rem;
}

/* =========================
   GALLERY
========================= */
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

.gallery-item{
  position:relative;
  min-height:300px;
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--shadow);
}

.gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}

.gallery-item:hover img{
  transform:scale(1.06);
}

.gallery-item::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 28%, rgba(0,0,0,.68) 100%);
}

.gallery-caption{
  position:absolute;
  left:18px;
  right:18px;
  bottom:16px;
  z-index:2;
  color:#fff;
  font-weight:700;
  line-height:1.4;
}

/* =========================
   FOOTER
========================= */
.footer,
.footer-clean{
  background:#0d111a;
  color:rgba(255,255,255,0.8);
  padding:60px 0 0;
  margin-top:20px;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr;
  gap:40px;
}

.footer-title{
  color:#fff;
  font-size:1.5rem;
  margin-bottom:12px;
}

.footer-text{
  color:rgba(255,255,255,0.65);
  line-height:1.6;
}

.footer-links{
  list-style:none;
  padding:0;
  margin:0;
}

.footer-links li{
  margin-bottom:10px;
}

.footer-links a,
.footer-right a{
  color:rgba(255,255,255,0.7);
  transition:.2s;
}

.footer-links a:hover,
.footer-right a:hover{
  color:#ffb27a;
}

.footer-bottom{
  margin-top:40px;
  border-top:1px solid rgba(255,255,255,0.08);
  padding:16px 0;
}

.footer-bottom-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:.85rem;
  color:rgba(255,255,255,0.5);
}

.footer-dot,
.footer-admin-mini{
  color:rgba(255,255,255,0.2);
}

.footer-dot:hover,
.footer-admin-mini:hover{
  color:#ffb27a;
}

.footer-admin-link{
  margin-top:12px;
  font-size:.85rem;
  opacity:.6;
}

/* =========================
   POLICY PAGES
========================= */
.policy-hero{
  padding:70px 0 30px;
  background:linear-gradient(135deg, rgba(82,95,127,.08), rgba(255,140,56,.05));
}

.policy-hero-inner{
  max-width:900px;
}

.policy-hero h1{
  margin:10px 0 14px;
  font-size:clamp(2.1rem, 5vw, 3.4rem);
  line-height:1.08;
  color:#1d2433;
}

.policy-hero p{
  font-size:1.05rem;
  line-height:1.7;
  color:#5f6b81;
  max-width:820px;
}

.policy-section{
  padding:30px 0 80px;
  background:#f6f8fc;
}

.policy-card{
  max-width:920px;
  margin:0 auto;
  background:#fff;
  border:1px solid rgba(82,95,127,.10);
  border-radius:24px;
  padding:34px 30px;
  box-shadow:0 18px 45px rgba(16,24,40,.08), 0 4px 12px rgba(16,24,40,.04);
}

.policy-card h2{
  margin:28px 0 12px;
  font-size:1.35rem;
  color:#1d2433;
}

.policy-card h2:first-child{
  margin-top:0;
}

.policy-card p,
.policy-card li{
  color:#4f5b70;
  line-height:1.8;
  font-size:1rem;
}

.policy-card ul{
  margin:0 0 8px 20px;
  padding:0;
}

.policy-card a{
  color:#44506c;
  border-bottom:1px solid rgba(68,80,108,.25);
}

.policy-card a:hover{
  color:#f06d2f;
  border-bottom-color:rgba(240,109,47,.45);
}

/* =========================
   MODE SWITCH
========================= */
.mode-switch{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.mode-option{
  position:relative;
  cursor:pointer;
}

.mode-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.mode-box{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-height:78px;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(255,228,180,.12);
  background:rgba(255,255,255,.05);
  transition:.22s ease;
}

.mode-box strong{
  color:#fff5e7;
  font-size:1rem;
}

.mode-box small{
  color:rgba(246,237,216,.70);
  line-height:1.45;
  font-size:.9rem;
}

.mode-option.active .mode-box,
.mode-option input:checked + .mode-box{
  border-color:rgba(255,195,104,.34);
  background:linear-gradient(135deg, rgba(255,231,188,.14), rgba(255,177,79,.08));
  box-shadow:0 12px 22px rgba(255,175,72,.08);
}

.offering-section{
  display:grid;
  gap:16px;
}

.offering-section.is-hidden{
  display:none;
}

/* =========================
   ANIMATIONS
========================= */
@keyframes float{
  0%{transform:translateY(0) scale(.9); opacity:0;}
  15%{opacity:.7;}
  85%{opacity:.3;}
  100%{transform:translateY(-180px) scale(1.2); opacity:0;}
}

@keyframes pulseGlow{
  0%,100%{transform:scale(1); opacity:.5;}
  50%{transform:scale(1.2); opacity:.9;}
}

@keyframes miniFlameDance{
  0%,100%{transform:translateX(-50%) scaleY(1) rotate(-2deg);}
  20%{transform:translateX(calc(-50% - 1px)) scaleY(1.06) rotate(2deg);}
  45%{transform:translateX(calc(-50% + 1px)) scaleY(.97) rotate(-3deg);}
  70%{transform:translateX(calc(-50% - 1px)) scaleY(1.08) rotate(3deg);}
}

@keyframes miniGlowPulse{
  0%,100%{transform:translateX(-50%) scale(.96); opacity:.82;}
  50%{transform:translateX(-50%) scale(1.05); opacity:1;}
}

@keyframes litGlowPulse{
  0%,100%{transform:translateX(-50%) scale(.96); opacity:.84;}
  50%{transform:translateX(-50%) scale(1.05); opacity:1;}
}

@keyframes litFlameDance{
  0%,100%{transform:translateX(-50%) rotate(-2deg) scaleY(1);}
  50%{transform:translateX(-50%) rotate(2deg) scaleY(1.08);}
}

.nav-menu a{
  white-space:nowrap;
}

/* =========================================================
   CANDLE PAGE — FINAL SPACING FIX
   Matching selector for current <body class="candle-page">
========================================================= */

body.candle-page .candle-hero {
  padding-top: 38px !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
}

body.candle-page .candle-hero__copy {
  max-width: 560px !important;
}

body.candle-page .candle-hero h1 {
  margin: 8px 0 6px !important;
  font-size: clamp(1.55rem, 2.5vw, 2.35rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.02em !important;
  font-weight: 700 !important;
}

body.candle-page .candle-hero p {
  max-width: 520px !important;
  margin: 0 !important;
  font-size: .88rem !important;
  line-height: 1.45 !important;
}

body.candle-page .candle-hero .candle-kicker {
  padding: 5px 10px !important;
  font-size: .66rem !important;
  font-weight: 750 !important;
}

body.candle-page .candle-content {
  margin-top: -255px !important;
  padding-bottom: 70px !important;
  position: relative !important;
  z-index: 20 !important;
}

body.candle-page .candle-layout {
  position: relative !important;
  z-index: 21 !important;
  align-items: flex-start !important;
}

body.candle-page .candle-form-card .candle-kicker {
  background: rgba(92,74,47,.08) !important;
  border-color: rgba(92,74,47,.18) !important;
  color: #5c4a2f !important;
}

body.candle-page .candle-hero .candle-kicker {
  background: rgba(247,210,122,.14) !important;
  border-color: rgba(247,210,122,.22) !important;
  color: #f7d27a !important;
}

@media (max-width: 640px) {
  body.candle-page .candle-hero {
    padding-top: 72px !important;
    padding-bottom: 8px !important;
  }

  body.candle-page .candle-hero h1 {
    font-size: clamp(1.7rem, 8vw, 2.35rem) !important;
  }

  body.candle-page .candle-content {
    margin-top: -105px !important;
  }
}

/* =========================================================
   CANDLE PAGE — FINAL SPACING FIX
   Pull form/image cards up and reduce hero height
========================================================= */

body .candle-page .candle-hero {
  padding-top: 38px !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
}

body .candle-page .candle-hero__copy {
  max-width: 560px !important;
}

body .candle-page .candle-hero h1 {
  margin: 8px 0 6px !important;
  font-size: clamp(1.55rem, 2.5vw, 2.35rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.02em !important;
  font-weight: 700 !important;
}

body .candle-page .candle-hero p {
  max-width: 520px !important;
  margin: 0 !important;
  font-size: .88rem !important;
  line-height: 1.45 !important;
}

body .candle-page .candle-hero .candle-kicker {
  padding: 5px 10px !important;
  font-size: .66rem !important;
  font-weight: 750 !important;
}

body .candle-page .candle-content {
  margin-top: -255px !important;
  padding-bottom: 70px !important;
  position: relative !important;
  z-index: 20 !important;
}

body .candle-page .candle-layout {
  position: relative !important;
  z-index: 21 !important;
  align-items: flex-start !important;
}

/* Form card badge should be readable on white */
body .candle-page .candle-form-card .candle-kicker {
  background: rgba(92,74,47,.08) !important;
  border-color: rgba(92,74,47,.18) !important;
  color: #5c4a2f !important;
}

/* Keep hero badge gold only in the dark hero */
body .candle-page .candle-hero .candle-kicker {
  background: rgba(247,210,122,.14) !important;
  border-color: rgba(247,210,122,.22) !important;
  color: #f7d27a !important;
}

@media (max-width: 640px) {
  body .candle-page .candle-hero {
    padding-top: 72px !important;
    padding-bottom: 8px !important;
  }

  body .candle-page .candle-hero h1 {
    font-size: clamp(1.7rem, 8vw, 2.35rem) !important;
  }

  body .candle-page .candle-content {
    margin-top: -105px !important;
  }
}
