
:root{--gold:#d4a017;--gold-dim:rgba(212,160,23,0.3);--gold-glow:rgba(212,160,23,0.15);--parchment:#f5edd6;--dark:#2D1810;--dark2:#5A3A2E;--ruby:#b8243e;--sapphire:#1a3a6e;--emerald:#1a6e3a;--amethyst:#6b2fa0;--rose:#d4698a;--sky:#4a8ec2;--warm:#e8a840}
*{margin:0;padding:0;box-sizing:border-box}
body{min-height:100vh;background:#FFF5F8;font-family:'Cormorant Garamond',serif;overflow-x:hidden;color:#2D1810}
body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(168,130,255,.08) 0%,transparent 60%),radial-gradient(ellipse at 80% 30%,rgba(212,168,87,.06) 0%,transparent 60%),radial-gradient(ellipse at 50% 80%,rgba(220,120,140,.06) 0%,transparent 50%);pointer-events:none;z-index:0;animation:bgShift 20s ease-in-out infinite alternate}
body::after{content:'';position:fixed;inset:0;background:radial-gradient(ellipse at 60% 40%,rgba(168,130,255,.04) 0%,transparent 50%),radial-gradient(ellipse at 30% 70%,rgba(212,168,87,.04) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(220,120,140,.04) 0%,transparent 40%);pointer-events:none;z-index:0;animation:bgShift2 25s ease-in-out infinite alternate}
@keyframes bgShift{0%{transform:scale(1) translate(0,0);opacity:1}25%{transform:scale(1.1) translate(2%,-3%)}50%{transform:scale(1.05) translate(-2%,2%);opacity:.8}75%{transform:scale(1.15) translate(3%,1%)}100%{transform:scale(1) translate(-1%,-2%);opacity:1}}
@keyframes bgShift2{0%{transform:scale(1.1) translate(-1%,1%);opacity:.7}33%{transform:scale(1) translate(2%,-2%);opacity:.9}66%{transform:scale(1.15) translate(-3%,3%);opacity:.6}100%{transform:scale(1.05) translate(1%,-1%);opacity:.8}}

/* Particles */
.particles{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.particle{position:absolute;border-radius:50%;opacity:0}
.particle.gold{background:#d4a017;animation:drift 8s infinite ease-in-out;opacity:0.3}
.particle.amethyst{background:#a882ff;animation:driftSlow 12s infinite ease-in-out;opacity:0.25}
.particle.ruby{background:#d85070;animation:driftWide 10s infinite ease-in-out;opacity:0.25}
.particle.sapphire{background:#7a9ae5;animation:driftSlow 14s infinite ease-in-out;opacity:0.2}
.particle.large{width:5px;height:5px;filter:blur(1px)}
.particle.medium{width:3px;height:3px}
.particle.small{width:2px;height:2px}
.particle.orb{width:8px;height:8px;filter:blur(3px)}
@keyframes drift{0%{opacity:0;transform:translateY(100vh) scale(0)}15%{opacity:.6}50%{opacity:.35}85%{opacity:.15}100%{opacity:0;transform:translateY(-10vh) scale(1.2)}}
@keyframes driftSlow{0%{opacity:0;transform:translateY(100vh) translateX(0) scale(0)}10%{opacity:.4}50%{opacity:.25;transform:translateY(50vh) translateX(30px) scale(0.8)}90%{opacity:.1}100%{opacity:0;transform:translateY(-10vh) translateX(-20px) scale(1)}}
@keyframes driftWide{0%{opacity:0;transform:translateY(100vh) translateX(-40px) scale(0)}20%{opacity:.45}60%{opacity:.2;transform:translateY(40vh) translateX(50px) scale(1)}100%{opacity:0;transform:translateY(-15vh) translateX(-30px) scale(0.6)}}

/* ══ HEADER ══ */
.header{text-align:center;padding:28px 16px 10px;position:relative;z-index:2}
.header h1{font-family:'Cinzel Decorative',serif;font-size:clamp(1.4rem,4vw,2rem);color:var(--gold);letter-spacing:.15em;text-shadow:0 0 30px rgba(212,160,23,.4)}
.header .sub{font-size:clamp(.85rem,2.2vw,.95rem);color:rgba(212,160,23,.4);letter-spacing:.35em;text-transform:uppercase;margin-top:4px}
.header .brand{font-size:clamp(.65rem,1.5vw,.72rem);color:rgba(212,160,23,.2);letter-spacing:.4em;text-transform:uppercase;margin-top:8px}
.music-toggle{position:fixed;top:12px;right:12px;z-index:100;padding:6px 10px;border:1px solid rgba(212,160,23,0.2);background:rgba(255,245,248,0.85);backdrop-filter:blur(8px);font-size:1rem;cursor:pointer;transition:all 0.3s;border-radius:16px;line-height:1;color:var(--dark2)}
.music-toggle:hover{background:rgba(212,160,23,0.08)}
.music-toggle.playing{color:var(--ruby);border-color:rgba(184,36,62,0.3);background:rgba(184,36,62,0.05)}

/* ══ SPREAD SELECTOR ══ */
.spread-selector{position:relative;z-index:3;display:flex;justify-content:center;flex-wrap:wrap;gap:8px;padding:16px 16px 20px}
.spread-btn{background:#FFF0F5;border:1px solid rgba(212,160,23,.3);color:#5A3A2E;font-family:'Cinzel Decorative',serif;font-size:clamp(.72rem,1.6vw,.8rem);padding:12px 20px;border-radius:24px;cursor:pointer;letter-spacing:.08em;transition:all .4s;text-align:center;min-width:120px}
.spread-btn:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px);box-shadow:0 8px 25px rgba(212,160,23,.15)}
.spread-btn.active{background:rgba(212,160,23,.08);border-color:var(--gold);color:var(--gold);box-shadow:0 0 20px rgba(212,160,23,.15)}
.spread-btn .spread-icon{font-size:1.3em;display:block;margin-bottom:3px}
.spread-btn .spread-name{display:block;font-weight:700}
.spread-btn .spread-count{display:block;font-family:'Cormorant Garamond',serif;font-size:.78rem;opacity:.5;margin-top:2px}

/* ══ READING AREA ══ */
.reading-area{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:0 16px 40px;min-height:60vh}

/* ══ QUESTION PROMPT ══ */
.question-prompt{text-align:center;padding:30px 20px;animation:fadeIn .8s ease-out}
.question-prompt h2{font-family:'Cinzel Decorative',serif;font-size:clamp(1.1rem,3vw,1.4rem);color:var(--gold);letter-spacing:.12em;margin-bottom:12px}
.question-prompt p{font-size:clamp(.95rem,2.5vw,1.1rem);color:#5A3A2E;font-style:italic;max-width:500px;margin:0 auto 24px}
.question-input{width:100%;max-width:480px;padding:14px 18px;background:#FFFFFF;border:1px solid rgba(212,160,23,.25);border-radius:12px;color:#2D1810;font-family:'Cormorant Garamond',serif;font-size:clamp(1rem,2.5vw,1.15rem);outline:none;transition:border-color .3s;text-align:center;letter-spacing:.05em}
.question-input:focus{border-color:var(--gold);box-shadow:0 0 20px rgba(212,160,23,.15)}
.question-input::placeholder{color:#9A7A6E;font-style:italic}

/* ══ DRAW BUTTON ══ */
.draw-button{display:block;margin:20px auto;background:linear-gradient(135deg,rgba(220,120,140,.12),rgba(168,130,255,.12));border:2px solid var(--gold);color:var(--gold);font-family:'Cinzel Decorative',serif;font-size:clamp(.9rem,2.2vw,1.05rem);padding:16px 44px;border-radius:30px;cursor:pointer;letter-spacing:.15em;transition:all .4s;animation:pulse-glow 3s ease-in-out infinite}
.draw-button:hover{background:linear-gradient(135deg,rgba(220,120,140,.2),rgba(168,130,255,.2));transform:scale(1.06);box-shadow:0 0 35px rgba(212,160,23,.2)}
.draw-button:active{transform:scale(0.97)}
.draw-button:disabled{opacity:.4;cursor:default;animation:none;transform:none}
@keyframes pulse-glow{0%,100%{box-shadow:0 0 12px rgba(212,160,23,.15)}50%{box-shadow:0 0 25px rgba(212,160,23,.3)}}

/* ══ SPREAD TABLE ══ */
.spread-table{display:flex;justify-content:center;align-items:flex-start;flex-wrap:wrap;gap:16px;padding:20px 0}
.spread-table.cross-layout{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto auto;gap:12px;max-width:500px;margin:0 auto}

/* ══ CARD SLOT ══ */
.card-slot{display:flex;flex-direction:column;align-items:center;gap:6px;animation:fadeUp .6s ease-out both}
.card-slot .slot-label{font-family:'Cinzel Decorative',serif;font-size:clamp(.75rem,1.6vw,.85rem);color:var(--gold);letter-spacing:.12em;text-align:center;opacity:.6;text-transform:uppercase}
.card-slot .card-wrap{width:clamp(100px,22vw,150px);aspect-ratio:3/5;border-radius:10px;overflow:hidden;cursor:pointer;position:relative;perspective:800px}
.card-slot .card-wrap.empty{border:2px dashed rgba(212,160,23,.25);background:rgba(255,240,245,.6);display:flex;align-items:center;justify-content:center}
.card-slot .card-wrap.empty::after{content:'?';font-family:'Cinzel Decorative',serif;font-size:2rem;color:rgba(212,160,23,.3)}

/* Card face & flip */
.card-inner{position:relative;width:100%;height:100%;transition:transform 0.8s cubic-bezier(.4,.2,.2,1);transform-style:preserve-3d}
.card-inner.flipped{transform:rotateY(180deg)}
.card-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:10px;overflow:hidden}
.card-face.front{transform:rotateY(180deg)}
.card-face.back{}
.card-face svg{width:100%;height:100%;display:block}

/* ══ SHUFFLE ANIMATION ══ */
@keyframes shuffleBounce{0%{transform:translateY(0) rotateZ(0)}25%{transform:translateY(-15px) rotateZ(-3deg)}50%{transform:translateY(5px) rotateZ(2deg)}75%{transform:translateY(-8px) rotateZ(-1deg)}100%{transform:translateY(0) rotateZ(0)}}
@keyframes shuffleGlow{0%{box-shadow:0 0 5px rgba(212,160,23,.1)}50%{box-shadow:0 0 30px rgba(212,160,23,.4)}100%{box-shadow:0 0 5px rgba(212,160,23,.1)}}
.card-slot.shuffling .card-wrap{animation:shuffleBounce .4s ease-in-out infinite,shuffleGlow .6s ease-in-out infinite}

/* ══ REVEAL FLASH ══ */
@keyframes revealFlash{0%{opacity:0;transform:scale(1.3)}50%{opacity:.6}100%{opacity:0;transform:scale(2)}}
.reveal-flash{position:absolute;inset:-20px;border-radius:50%;background:radial-gradient(circle,rgba(212,160,23,.5),transparent 70%);animation:revealFlash .6s ease-out forwards;pointer-events:none;z-index:5}

/* ══ CARD DETAIL OVERLAY ══ */
.detail-overlay{position:fixed;inset:0;z-index:200;background:rgba(255,255,255,.90);backdrop-filter:blur(12px);display:none;overflow-y:auto;animation:fadeIn .4s ease-out}
.detail-overlay.active{display:block}
.detail-close{position:fixed;top:14px;right:14px;z-index:210;background:#FFF0F5;border:1px solid rgba(212,160,23,.3);color:var(--gold);font-family:'Cinzel Decorative',serif;font-size:.8rem;padding:10px 18px;border-radius:8px;cursor:pointer;letter-spacing:.1em;transition:all .3s}
.detail-close:hover{background:rgba(212,160,23,.08);border-color:var(--gold)}
.detail-content{max-width:900px;margin:0 auto;padding:60px 20px 40px;display:flex;flex-wrap:wrap;gap:30px;justify-content:center}
.detail-card-col{flex:0 0 auto;display:flex;flex-direction:column;align-items:center}
.detail-card-art{width:clamp(180px,35vw,260px);aspect-ratio:3/5;border-radius:12px;overflow:hidden;box-shadow:0 12px 50px rgba(212,160,23,.2)}
.detail-card-art svg{width:100%;height:100%;display:block}
.detail-info-col{flex:1;min-width:280px;max-width:520px}
.detail-card-name{font-family:'Cinzel Decorative',serif;font-size:clamp(1.2rem,3vw,1.5rem);color:var(--gold);letter-spacing:.1em;margin-bottom:4px}
.detail-card-suit{font-size:clamp(.8rem,1.8vw,.9rem);color:#5A3A2E;text-transform:uppercase;letter-spacing:.2em;margin-bottom:12px}
.detail-divider{width:60%;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:10px 0}
.detail-label{font-family:'Cinzel Decorative',serif;font-size:.8rem;color:var(--gold);letter-spacing:.15em;text-transform:uppercase;margin-bottom:3px;opacity:.6}
.detail-text{font-size:clamp(.95rem,2.2vw,1.08rem);color:#2D1810;line-height:1.6;margin-bottom:12px}
.detail-keywords{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.detail-keywords span{padding:4px 12px;border:1px solid rgba(212,160,23,.2);border-radius:12px;font-size:.78rem;color:var(--gold);letter-spacing:.08em}
.detail-symbols{display:flex;gap:14px;margin-bottom:16px}
.detail-sym{font-size:.88rem;color:#5A3A2E}
.detail-sym .sym-icon{font-size:1.1rem;margin-right:4px}

/* ══ GUIDANCE PANEL in detail ══ */
.gi{border:1px solid rgba(212,160,23,.15);border-radius:9px;margin-bottom:5px;overflow:hidden;background:rgba(255,255,255,.6);backdrop-filter:blur(6px);transition:border-color .3s,box-shadow .3s}
.gi.open{border-color:rgba(212,160,23,.3);box-shadow:0 0 15px rgba(212,160,23,.1)}
.gi-tog{width:100%;display:flex;align-items:center;gap:10px;padding:11px 14px;cursor:pointer;border:none;background:transparent;text-align:left;transition:background .3s}
.gi-tog:hover{background:rgba(212,160,23,.04)}
.gi-iw{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:15px;background:rgba(212,160,23,.08);border:1px solid rgba(212,160,23,.2)}
.gi-tt{display:flex;flex-direction:column}
.gi-tt .t1{font-family:'Cinzel Decorative',serif;font-size:clamp(.78rem,1.6vw,.88rem);color:#2D1810;letter-spacing:.06em}
.gi-tt .t2{font-size:clamp(.72rem,1.4vw,.8rem);color:#5A3A2E;margin-top:1px}
.gi-arr{font-size:.75rem;color:var(--gold);opacity:.3;margin-left:auto;transition:transform .3s}
.gi.open .gi-arr{transform:rotate(180deg);opacity:.6}
.gi-con{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1)}
.gi.open .gi-con{max-height:500px}
.gi-inn{padding:0 12px 12px}
.gi-div{width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(212,160,23,.18),transparent);margin-bottom:9px}
.gi-read{font-size:clamp(.92rem,2vw,1.05rem);color:#2D1810;line-height:1.65;margin-bottom:8px}
.gi-dual{display:flex;gap:8px}
.gi-lens{flex:1;padding:8px 10px;border-radius:6px;font-size:clamp(.78rem,1.5vw,.85rem)}
.gi-lens.bu{background:rgba(232,168,64,.08);border:1px solid rgba(232,168,64,.2)}
.gi-lens.ch{background:rgba(74,142,194,.08);border:1px solid rgba(74,142,194,.2)}
.gi-lens .li{font-size:.95rem;margin-right:3px;color:#2D1810}
.gi-lens .ll{display:block;font-family:'Cinzel Decorative',serif;font-size:.68rem;letter-spacing:.08em;color:var(--gold);margin-bottom:2px}
.gi-lens .lt{color:#5A3A2E;line-height:1.55;font-size:.82rem}

/* ══ YES/NO RESULT ══ */
.oracle-result{text-align:center;padding:20px;animation:fadeIn .6s ease-out}
.oracle-answer{font-family:'Cinzel Decorative',serif;font-size:clamp(1.8rem,5vw,3rem);letter-spacing:.2em;margin:16px 0 8px;text-shadow:0 0 30px currentColor}
.oracle-answer.yes{color:#4aaa6a}
.oracle-answer.no{color:var(--ruby)}
.oracle-answer.maybe{color:var(--warm)}
.oracle-note{font-size:clamp(.95rem,2.2vw,1.05rem);color:#5A3A2E;font-style:italic;max-width:400px;margin:0 auto}

/* ══ RESET BUTTON ══ */
.reset-btn{display:block;margin:24px auto;background:transparent;border:1px solid rgba(212,160,23,.25);color:var(--gold);font-family:'Cinzel Decorative',serif;font-size:clamp(.78rem,1.6vw,.88rem);padding:10px 28px;border-radius:20px;cursor:pointer;letter-spacing:.12em;transition:all .3s}
.reset-btn:hover{border-color:var(--gold);color:var(--gold);background:rgba(212,160,23,.08)}

/* Utility */
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes cardFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* ── Floating tarot symbols ── */
.float-symbols{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.float-sym{position:absolute;font-size:2.5rem;font-weight:700;opacity:0;animation:float-sym 14s infinite ease-out;color:rgba(168,130,255,0.5)}
.float-sym:nth-child(1){left:3%;animation-delay:0s;font-size:2rem}
.float-sym:nth-child(2){left:12%;animation-delay:1.8s;font-size:3.5rem;color:rgba(212,168,87,0.4)}
.float-sym:nth-child(3){left:22%;animation-delay:4s;font-size:2.8rem}
.float-sym:nth-child(4){left:32%;animation-delay:0.8s;font-size:4.5rem;color:rgba(200,100,100,0.35)}
.float-sym:nth-child(5){left:42%;animation-delay:3s;font-size:2.2rem}
.float-sym:nth-child(6){left:52%;animation-delay:5.5s;font-size:3.8rem;color:rgba(168,130,255,0.4)}
.float-sym:nth-child(7){left:62%;animation-delay:1.2s;font-size:2.5rem}
.float-sym:nth-child(8){left:72%;animation-delay:6.5s;font-size:5rem;color:rgba(212,168,87,0.3)}
.float-sym:nth-child(9){left:82%;animation-delay:2.5s;font-size:3rem}
.float-sym:nth-child(10){left:92%;animation-delay:7.5s;font-size:2.8rem}
.float-sym:nth-child(11){left:8%;animation-delay:3.5s;font-size:5.5rem;color:rgba(200,100,100,0.3);animation-duration:16s}
.float-sym:nth-child(12){left:18%;animation-delay:8s;font-size:3rem;animation-duration:12s}
.float-sym:nth-child(13){left:37%;animation-delay:1.5s;font-size:6rem;color:rgba(168,130,255,0.3);animation-duration:18s}
.float-sym:nth-child(14){left:48%;animation-delay:5s;font-size:2.5rem;animation-duration:13s}
.float-sym:nth-child(15){left:58%;animation-delay:9s;font-size:4rem;animation-duration:15s}
.float-sym:nth-child(16){left:68%;animation-delay:2s;font-size:7rem;color:rgba(212,168,87,0.25);animation-duration:20s}
.float-sym:nth-child(17){left:78%;animation-delay:6s;font-size:3.2rem;animation-duration:11s}
.float-sym:nth-child(18){left:88%;animation-delay:4.5s;font-size:5rem;animation-duration:17s}
.float-sym:nth-child(19){left:25%;animation-delay:10s;font-size:4.5rem;color:rgba(200,100,100,0.3);animation-duration:14s}
.float-sym:nth-child(20){left:55%;animation-delay:7s;font-size:6.5rem;color:rgba(168,130,255,0.25);animation-duration:19s}
@keyframes float-sym{0%{transform:translateY(100vh) rotate(0deg) scale(0.8);opacity:0}8%{opacity:0.35}50%{opacity:0.22}85%{opacity:0.10}100%{transform:translateY(-20vh) rotate(360deg) scale(1.1);opacity:0}}

/* ══ RESPONSIVE ══ */
@media(max-width:600px){
  .spread-table{gap:10px}
  .card-slot .card-wrap{width:clamp(80px,26vw,120px)}
  .detail-content{padding:50px 14px 30px;gap:20px}
  .spread-selector{gap:6px;padding:10px 8px 14px}
  .spread-btn{padding:10px 14px;min-width:78px;font-size:.68rem}
  .spread-btn .spread-count{font-size:.68rem}
  .detail-info-col{min-width:auto;max-width:100%}
  .gi-inn{padding:0 10px 12px}
  .gi-dual{flex-direction:column}
}
/* ── Donation Section ── */
.donation-section {
  padding: 60px 20px;
  position: relative;
  z-index: 5;
  text-align: center;
}
.donation-card {
  max-width: 720px;
  margin: 0 auto;
  background: rgba(255,245,248,0.7);
  border: 1px solid rgba(212,160,23,0.15);
  border-radius: 16px;
  padding: 48px 40px;
  box-shadow: 0 4px 24px rgba(45, 24, 16, 0.04);
}
.donation-card h2 {
  font-family: 'Cinzel Decorative', serif;
  font-size: clamp(1.4rem, 3.5vw, 1.8rem);
  color: #7B1024;
  margin-bottom: 8px;
}
.donation-card .donation-sub {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.05rem;
  color: #B8860B;
  font-style: italic;
  margin-bottom: 28px;
}
.donation-card p {
  color: #5A3A2E;
  line-height: 1.8;
  margin-bottom: 16px;
  font-size: 0.95rem;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}
.donation-purposes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin: 32px 0;
  text-align: center;
}
.purpose-item {
  padding: 24px 20px;
  border-radius: 12px;
  border: 1px solid rgba(184, 134, 11, 0.12);
  background: rgba(255, 245, 248, 0.5);
}
.purpose-item .purpose-icon { font-size: 2rem; margin-bottom: 10px; }
.purpose-item .purpose-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1rem;
  font-weight: 600;
  color: #2D1810;
  margin-bottom: 6px;
}
.purpose-item .purpose-desc {
  font-size: 0.85rem;
  color: #5A3A2E;
  line-height: 1.6;
}
.donate-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 28px;
  background: linear-gradient(135deg, #B8860B, #D4A24E);
  color: #fff;
  border: none;
  border-radius: 50px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: all 0.4s ease;
  box-shadow: 0 4px 20px rgba(184, 134, 11, 0.25);
  text-decoration: none;
}
.donate-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(184, 134, 11, 0.35);
}
.donation-note {
  font-size: 0.8rem !important;
  color: #C4A88A !important;
  margin-top: 20px !important;
  font-style: italic;
}
@media (max-width: 640px) {
  .donation-card { padding: 32px 24px; }
  .donation-purposes { grid-template-columns: 1fr; }
}

/* ── Life Analysis CTA Banner ── */
.life-cta-banner {
  margin: 40px auto;
  max-width: 720px;
  padding: 40px 32px;
  text-align: center;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(184,134,11,0.06), rgba(123,16,36,0.04));
  border: 1px solid rgba(184,134,11,0.15);
  position: relative;
  z-index: 5;
}
.life-cta-banner .cta-icon { font-size: 2.4rem; margin-bottom: 12px; }
.life-cta-banner h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.2rem, 3vw, 1.5rem);
  font-weight: 600;
  color: #7B1024;
  margin-bottom: 12px;
  line-height: 1.4;
}
.life-cta-banner p {
  font-size: 0.92rem;
  color: #5A3A2E;
  line-height: 1.8;
  max-width: 560px;
  margin: 0 auto 20px;
}
.life-cta-btn {
  display: inline-block;
  padding: 14px 36px;
  background: linear-gradient(135deg, #B8860B, #D4A24E);
  color: #fff;
  border: none;
  border-radius: 50px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-decoration: none;
  transition: all 0.4s ease;
  box-shadow: 0 4px 20px rgba(184,134,11,0.25);
}
.life-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(184,134,11,0.35);
}
.life-cta-sub {
  font-size: 0.78rem;
  color: #C4A88A;
  margin-top: 12px;
  font-style: italic;
}
.life-cta-home {
  display: inline-block;
  margin-top: 14px;
  font-size: 0.85rem;
  color: #7B1024;
  text-decoration: none;
  font-weight: 600;
  transition: opacity 0.3s;
}
.life-cta-home:hover { opacity: 0.7; }
