.realistic-candle{
  position:relative;
  display:block;
  isolation:isolate;
  overflow:visible;
  background:none!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.realistic-candle .candle-body-image{
  position:absolute;
  z-index:1;
  left:-50%;
  top:-30%;
  width:200%;
  height:150%;
  max-width:none;
  object-fit:fill;
  pointer-events:none;
  user-select:none;
  clip-path:inset(20% 25% 13% 25% round 16% 16% 8% 8%);
  filter:drop-shadow(0 14px 18px rgba(0,0,0,.28));
}

.realistic-candle::after{
  content:"";
  position:absolute;
  z-index:2;
  left:13%;
  right:13%;
  top:0;
  height:12%;
  border-radius:50%;
  background:radial-gradient(ellipse at 50% 48%,rgba(43,31,24,.72) 0 18%,rgba(121,98,76,.42) 36%,rgba(255,250,238,.08) 64%,transparent 72%);
  opacity:.72;
  pointer-events:none;
}

.candle-wick{
  position:absolute;
  z-index:4;
  left:50%;
  top:-4%;
  width:3px;
  height:12%;
  border-radius:3px;
  background:linear-gradient(#17120f,#49372c 60%,#17120f);
  transform:translateX(-50%);
  box-shadow:0 0 2px rgba(255,188,91,.65);
}

.candle-flame{
  position:absolute;
  z-index:5;
  left:50%;
  bottom:100%;
  width:32%;
  aspect-ratio:.56;
  border-radius:52% 48% 52% 48% / 68% 68% 36% 36%;
  opacity:0;
  transform:translate(-50%,14%) rotate(-2deg) scale(.72);
  transform-origin:50% 100%;
  background:radial-gradient(ellipse at 50% 72%,#fff 0 9%,#fff8d6 12%,#ffd36a 30%,#ff8a24 52%,rgba(244,81,16,.72) 62%,transparent 68%);
  filter:drop-shadow(0 0 8px #ffd47a) drop-shadow(0 0 22px rgba(255,146,48,.7));
  transition:opacity .5s ease,transform .5s ease;
  pointer-events:none;
}

.candle-flame::before{
  content:"";
  position:absolute;
  inset:38% 31% 10%;
  border-radius:55% 45% 55% 45%;
  background:linear-gradient(to top,rgba(73,156,255,.9),#fff 62%,transparent 66%);
  filter:blur(.3px);
}

.candle-flame::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-70%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,190,82,.32),rgba(255,140,42,.12) 35%,transparent 68%);
  animation:candle-aura 2.1s ease-in-out infinite alternate;
}

.realistic-candle.is-lit .candle-flame,
.interactive-candle.lit .candle-flame{
  opacity:1;
  animation:living-flame 1.15s ease-in-out infinite alternate;
}

.large-candle.realistic-candle{width:104px;height:190px;margin:0 auto}
.interactive-candle.realistic-candle{width:112px;height:205px}
.mini-candle.realistic-candle{width:38px;height:68px;margin-top:13px}
.mini-candle .candle-flame{width:38%}
.mini-candle .candle-wick{width:2px}

@keyframes living-flame{
  0%{transform:translate(-52%,14%) rotate(-5deg) scale(.86,.98);filter:drop-shadow(0 0 7px #ffd47a) drop-shadow(0 0 17px rgba(255,137,38,.55))}
  22%{transform:translate(-47%,12%) rotate(4deg) scale(.96,1.08)}
  48%{transform:translate(-51%,15%) rotate(-2deg) scale(.89,1.02);filter:drop-shadow(0 0 10px #ffe09b) drop-shadow(0 0 27px rgba(255,151,48,.78))}
  73%{transform:translate(-48%,10%) rotate(3deg) scale(1.02,1.13)}
  100%{transform:translate(-53%,13%) rotate(-4deg) scale(.91,1.04);filter:drop-shadow(0 0 8px #ffd47a) drop-shadow(0 0 21px rgba(255,125,31,.65))}
}

@keyframes candle-aura{
  from{opacity:.45;transform:scale(.88)}
  to{opacity:.9;transform:scale(1.12)}
}

@media (prefers-reduced-motion:reduce){
  .realistic-candle.is-lit .candle-flame,
  .interactive-candle.lit .candle-flame,
  .candle-flame::after{animation:none}
}

@media (max-width:700px){
  .interactive-candle.realistic-candle{width:72px!important;height:132px!important;margin-bottom:.8rem!important}
}

.candle-page-hero--text{
  min-height:500px!important;
  padding:9rem max(1.25rem,calc((100vw - 1160px)/2)) 5rem!important;
  grid-template-columns:minmax(0,760px)!important;
  grid-template-rows:repeat(4,auto)!important;
  justify-content:start!important;
  justify-items:start!important;
  align-content:end!important;
  text-align:left!important;
  row-gap:.2rem;
  background:radial-gradient(circle at 82% 28%,rgba(116,196,239,.25),transparent 30%),linear-gradient(145deg,#061524,#0d3b66 66%,#102f49)!important;
}

.candle-page-hero--text>*{
  grid-column:1!important;
}

.candle-page-hero--text .button{
  justify-self:start!important;
  margin-top:1rem;
}

.candle-page-hero--text h1{
  max-width:none;
  margin:.15rem 0 1rem!important;
  font-size:clamp(4rem,8vw,7rem)!important;
  line-height:.92;
  white-space:nowrap;
}

.candle-page-hero--text>p:not(.eyebrow){
  max-width:640px;
  color:#d8ecf7;
  font-size:1.05rem;
}

@media (max-width:760px){
  .candle-page-hero--text{
    min-height:460px!important;
    padding:7.5rem 1rem 3.5rem!important;
  }

  .candle-page-hero--text h1{
    max-width:10ch;
    font-size:clamp(3.25rem,13vw,4.5rem)!important;
    white-space:normal;
  }
}

.animated-candle{
  position:relative;
  overflow:visible;
  background:none!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.animated-candle img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.25)) drop-shadow(0 0 18px rgba(255,172,66,.22));
}

.large-candle.animated-candle{
  width:110px;
  height:200px;
  margin:0 auto;
}

.mini-candle.animated-candle{
  width:42px;
  height:76px;
  margin-top:7px;
}

.contribution-candle.animated-candle{
  margin-inline:auto;
  margin-bottom:.75rem;
}

.profile-list-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.75rem;
}

.profile-list-heading h3{margin:0}

@media (max-width:520px){
  .profile-list-heading{align-items:flex-start;flex-direction:column}
}
