.virtues-main .lore-title{background:linear-gradient(180deg,var(--gold-soft) 0%,var(--gold) 40%,var(--fog-pale) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 38px rgba(126,155,166,.25)}.virtues-hero{padding-bottom:1.6rem}.virtues-prose{max-width:820px}.virtues-wreath{max-width:600px;margin:0 auto}.virtues-wreath .wreath-frame{padding:3.4rem 1.6rem;max-width:600px}.virtues-main .wreath-frame>.wreath-svg{animation:virtues_wreath_breath var(--bell-period, 10s) cubic-bezier(.4,0,.6,1) infinite}@keyframes virtues_wreath_breath{0%,to{filter:drop-shadow(0 0 14px rgba(230,179,74,.08))}50%{filter:drop-shadow(0 0 30px rgba(230,179,74,.2))}}.halls-quote{margin:0 auto;text-align:center;font-family:Cormorant Garamond,serif;font-style:italic;color:var(--parchment);font-size:1.08rem;line-height:1.65;max-width:48ch;position:relative;padding-top:.6rem}.halls-mark{display:block;font-family:UnifrakturCook,serif;font-style:normal;font-size:2.4rem;color:var(--gold);opacity:.65;margin-bottom:.4rem}.oath-formal-quote{max-width:540px;margin:0 auto;padding:1.4rem 2rem;border-left:2px solid var(--gold);border-right:2px solid var(--gold);background:linear-gradient(180deg,#0f1c248c,#0d06048c);text-align:center;font-family:Cormorant Garamond,serif;font-style:italic;font-size:1.15rem;line-height:1.6;color:var(--parchment);position:relative;quotes:none}.oath-formal-quote:before,.oath-formal-quote:after{content:"⚜";position:absolute;font-style:normal;font-family:MedievalSharp,serif;color:var(--gold);font-size:.95rem;opacity:.85;background:var(--void);padding:0 .4rem}.oath-formal-quote:before{top:-.8rem;left:50%;transform:translate(-50%)}.oath-formal-quote:after{bottom:-.8rem;left:50%;transform:translate(-50%)}.oath-formal-quote p{margin:0}.virtue-block{max-width:820px;margin:0 auto;padding:.6rem 0}.virtue-block--video{display:grid;grid-template-columns:1fr 1.3fr;gap:1.6rem;align-items:center}.virtue-block--video.is-reversed{grid-template-columns:1.3fr 1fr}.virtue-block--video.is-reversed .virtue-joan-cell{order:2}.virtue-block--video.is-reversed .virtue-body-cell{order:1}@media(max-width:699px){.virtue-block--video,.virtue-block--video.is-reversed{grid-template-columns:1fr;gap:1rem}.virtue-block--video.is-reversed .virtue-joan-cell,.virtue-block--video.is-reversed .virtue-body-cell{order:initial}}.virtue-num{font-family:MedievalSharp,serif;letter-spacing:.18em;text-transform:uppercase;font-size:.74rem;color:var(--gold);opacity:.78;margin:0 0 .3rem}.virtue-name{font-family:UnifrakturCook,MedievalSharp,serif;font-weight:700;font-size:2.2rem;letter-spacing:.02em;margin:0 0 .7rem;background:linear-gradient(180deg,var(--gold-soft) 0%,var(--gold) 50%,var(--gold-dark) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 24px rgba(230,179,74,.2)}.virtue-text{font-family:Cormorant Garamond,serif;color:var(--parchment);font-size:1.02rem;line-height:1.7;margin:0;text-wrap:pretty}.virtue-block--typo{text-align:center;padding:2rem 1rem;max-width:640px}.virtue-block--typo .virtue-orn{display:block;font-family:MedievalSharp,serif;font-size:2.6rem;color:var(--gold);opacity:.7;margin-bottom:.4rem;text-shadow:0 0 20px rgba(230,179,74,.35)}.virtue-block--typo .virtue-name{font-size:2.6rem;margin-bottom:1rem}.virtue-block--typo .virtue-text{font-style:italic;max-width:56ch;margin:0 auto}.joan-card{display:flex;align-items:center;justify-content:center;width:100%}.joan-frame{position:relative;width:100%;max-width:300px;padding:14px 14px 12px;background:linear-gradient(180deg,#0f1c248c,#0d06048c);border:1px solid rgba(230,179,74,.32);border-radius:10px;overflow:hidden;isolation:isolate;box-shadow:inset 0 1px #ffe27a14,0 8px 28px -10px #0009;transition:border-color .6s ease,box-shadow .6s ease}.joan-frame:hover{border-color:#e6b34a8c;box-shadow:inset 0 1px #ffe27a24,0 12px 32px -10px #c015264d}.joan-halo{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 40%,rgba(255,226,122,.2) 0%,rgba(230,179,74,.1) 28%,transparent 60%),radial-gradient(circle at 50% 85%,rgba(192,21,38,.1) 0%,transparent 50%);filter:blur(6px);z-index:0;animation:wf_nimbus_breath calc(var(--bell-period, 10s) * 1.8) cubic-bezier(.4,0,.6,1) infinite}.joan-video{position:relative;z-index:1;width:100%;height:auto;display:block;border-radius:6px;background:#050609;aspect-ratio:1 / 1;object-fit:cover}.joan-frame:after{content:"";display:block;margin:.8rem auto 0;width:60%;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 40%,var(--gold) 60%,transparent);opacity:.45;position:relative;z-index:1}.joan-caption{position:relative;z-index:1;text-align:center;font-family:Cormorant Garamond,serif;font-style:italic;font-size:.96rem;color:var(--parchment);margin:.3rem 0 0;letter-spacing:.02em}.joan-caption .jc-name{font-family:UnifrakturCook,MedievalSharp,serif;font-style:normal;font-weight:700;color:var(--gold-soft);font-size:1.04rem;letter-spacing:.04em}.joan-caption .jc-orn{color:var(--gold);opacity:.7;margin:0 .4em;font-style:normal}.final-charge{max-width:720px;margin:1.6rem auto 0;padding:0 1rem}.charge-quote{font-family:Cormorant Garamond,serif;color:var(--parchment);font-size:1.06rem;line-height:1.72;margin:0 auto 1.4rem;max-width:62ch;padding:1.8rem 2rem;background:linear-gradient(180deg,#0f1c248c,#0d06048c);border:1px solid rgba(230,179,74,.4);border-radius:3px;position:relative;text-wrap:pretty;quotes:none}.charge-quote:before,.charge-quote:after{content:"";position:absolute;width:18px;height:18px;border:1.4px solid var(--gold);opacity:.6}.charge-quote:before{top:-1px;left:-1px;border-right:none;border-bottom:none}.charge-quote:after{bottom:-1px;right:-1px;border-left:none;border-top:none}.charge-quote p{margin:0 0 .9rem}.charge-quote p:last-child{margin-bottom:0}.charge-coda{text-align:center;font-family:UnifrakturCook,MedievalSharp,serif;font-weight:700;font-size:1.4rem;color:var(--gold-bright);letter-spacing:.04em;margin:1.4rem 0 0;text-shadow:0 0 20px rgba(230,179,74,.35)}.virtues-footer{margin-top:2.4rem}@media(prefers-reduced-motion:reduce){.joan-halo{animation:none}.virtues-main .wreath-frame>.wreath-svg{animation:none}}
