/* ==========================================================================
   A Cripta — memorial de cada bispo e personagem (endereços iguais aos QR da Cripta)
   ========================================================================== */
.cr{background:#050608}

/* abertura: retrato desfocado como luz de fundo, vela, poeira no ar */
.cr-hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:140px 0 90px;isolation:isolate}
.cr-hero .amb{position:absolute;inset:-12%;z-index:-3;background-size:cover;background-position:center 30%;filter:blur(46px) brightness(.36) saturate(1.1);transform:scale(1.1);animation:crBreath 18s ease-in-out infinite alternate}
.cr-hero.wide .amb{filter:blur(8px) brightness(.32) saturate(1);inset:-4%}
@keyframes crBreath{to{transform:scale(1.2) translate3d(-1.5%,1%,0)}}
.cr-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse 50% 60% at 70% 45%,rgba(255,196,120,.14),transparent 70%),linear-gradient(90deg,rgba(5,6,8,.92) 0%,rgba(5,6,8,.55) 55%,rgba(5,6,8,.35) 100%),linear-gradient(180deg,rgba(5,6,8,.6),transparent 30%,transparent 70%,#050608)}
.cr-dust{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.55;
  background-image:radial-gradient(1.5px 1.5px at 20% 30%,rgba(255,230,190,.6),transparent),radial-gradient(1px 1px at 70% 60%,rgba(255,230,190,.5),transparent),radial-gradient(1.2px 1.2px at 40% 80%,rgba(255,230,190,.45),transparent),radial-gradient(1px 1px at 85% 20%,rgba(255,230,190,.5),transparent),radial-gradient(1.4px 1.4px at 55% 40%,rgba(255,230,190,.4),transparent);
  background-size:520px 520px,640px 640px,380px 380px,700px 700px,460px 460px;animation:crDust 60s linear infinite}
@keyframes crDust{to{background-position:0 -520px,40px -640px,-30px -380px,20px -700px,-20px -460px}}
.cr-hgrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(40px,6vw,110px);align-items:center;width:100%}
.cr-hero .eb{display:inline-flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--ouro)}
.cr-hero .eb::before{content:"";width:34px;height:1px;background:var(--ouro)}
.cr-hero h1{font-family:var(--ff-display);font-weight:400;font-size:clamp(46px,6.6vw,104px);line-height:.96;color:#f7f1e3;margin:22px 0 24px;letter-spacing:-.01em;text-wrap:balance}
.cr-hero .vida{font-family:var(--ff-display);font-size:clamp(22px,2.4vw,32px);color:var(--ouro-claro);letter-spacing:.06em}
.cr-hero .per{display:block;margin-top:10px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--texto-mute)}
.cr-lema{margin-top:30px;padding-left:22px;border-left:1px solid rgba(232,199,122,.45)}
.cr-lema i{display:block;font-family:var(--ff-display);font-size:clamp(20px,2vw,26px);color:#efe9db}
.cr-lema span{display:block;margin-top:6px;font-size:13px;color:var(--texto-dim)}
.cr-lema small{display:block;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--ouro);margin-bottom:8px}

/* medalhão do retrato */
.cr-fig{position:relative;margin:0 auto;width:min(420px,100%)}
.cr-fig .fr{position:relative;aspect-ratio:1/1.18;border-radius:50% 50% 0 0/30% 30% 0 0;overflow:hidden;background:#0b0e15;box-shadow:0 50px 110px rgba(0,0,0,.7),0 0 0 1px rgba(232,199,122,.25);
  clip-path:inset(100% 0 0 0);transition:clip-path 1.8s cubic-bezier(.7,0,.15,1) .2s}
.cr-fig.in .fr{clip-path:inset(0)}
.cr-fig .par{position:absolute;inset:-8% 0}
.cr-fig img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;transform:scale(1.16);filter:sepia(.15) brightness(.85);transition:transform 3.4s cubic-bezier(.16,1,.3,1),filter 2.4s}
.cr-fig.in img{transform:scale(1);filter:sepia(0) brightness(1)}
.cr-fig .fr::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,6,8,.5),transparent 35%),radial-gradient(ellipse 80% 50% at 50% 100%,rgba(255,180,90,.18),transparent 70%)}
.cr-fig::before{content:"";position:absolute;inset:-16px -16px 26px;border:1px solid rgba(232,199,122,.5);border-radius:50% 50% 0 0/30% 30% 0 0;opacity:0;transform:scale(.97);transition:1.6s cubic-bezier(.16,1,.3,1) 1.2s}
.cr-fig.in::before{opacity:1;transform:none}
.cr-fig .glow{position:absolute;left:50%;bottom:-40px;width:140%;height:120px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(255,190,110,.22),transparent);filter:blur(10px);animation:crFlame 3.6s ease-in-out infinite alternate;pointer-events:none}
@keyframes crFlame{0%{opacity:.7;transform:translateX(-50%) scale(1)}50%{opacity:1}100%{opacity:.8;transform:translateX(-50%) scale(1.06)}}
.cr-fig.vazio .fr{background:radial-gradient(ellipse at 50% 30%,#1a1f2b,#07080c)}
.cr-fig.vazio .fr svg{position:absolute;inset:0;margin:auto;width:28%;height:28%;color:rgba(232,199,122,.7)}

/* corpo: fatos + biografia */
.cr-body{padding:clamp(80px,9vw,130px) 0}
.cr-bgrid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,100px);align-items:start}
.cr-body .pd-dl{margin-top:30px}
.cr-body .prose p{color:var(--texto-dim);line-height:1.8;font-size:16.5px}
.cr-body .prose p+p{margin-top:18px}
.cr-body .prose p:first-child::first-letter{font-family:var(--ff-display);float:left;font-size:4.2em;line-height:.8;margin:6px 12px 0 0;color:var(--ouro-claro)}
.cr-nota{margin-top:26px;font-size:12.5px;color:var(--texto-mute)}

/* epitáfio gravado */
.cr-epit{position:relative;padding:clamp(100px,12vw,170px) 0;text-align:center;overflow:hidden;isolation:isolate;
  background:radial-gradient(ellipse 60% 70% at 50% 50%,#15130f 0%,#0a0908 60%,#050608 100%)}
.cr-epit::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.12;background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.05) 0 1px,transparent 1px 7px),repeating-linear-gradient(25deg,rgba(0,0,0,.4) 0 2px,transparent 2px 11px)}
.cr-epit .cross{display:block;width:26px;height:40px;margin:0 auto 26px;color:var(--ouro)}
.cr-epit .lb{font-size:11px;letter-spacing:.36em;text-transform:uppercase;color:var(--ouro)}
.cr-epit blockquote{max-width:46ch;margin:28px auto 0;font-family:var(--ff-display);font-style:italic;font-size:clamp(20px,2.1vw,28px);line-height:1.62;color:#e9e1cf;
  background:linear-gradient(100deg,#bdb3a0 0%,#f3ead7 40%,#fff6e0 50%,#f3ead7 60%,#bdb3a0 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-position:100% 0}
.cr-epit.in blockquote{animation:crGold 6s ease-out .4s forwards}
@keyframes crGold{to{background-position:0 0}}
.cr-epit small{display:block;margin-top:26px;font-size:12px;color:var(--texto-mute)}

/* anterior / próximo */
.cr-nav{padding:clamp(60px,7vw,100px) 0;border-top:1px solid var(--linha-sutil)}
.cr-pn{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center}
.cr-pn a{display:flex;align-items:center;gap:18px;color:inherit;text-decoration:none}
.cr-pn a.nx{justify-content:flex-end;text-align:right}
.cr-pn img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 25%;box-shadow:0 0 0 1px rgba(232,199,122,.4);transition:transform .6s}
.cr-pn a:hover img{transform:scale(1.08)}
.cr-pn small{display:block;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--texto-mute)}
.cr-pn b{display:block;margin-top:6px;font-family:var(--ff-display);font-weight:400;font-size:clamp(17px,1.6vw,22px);color:#efe9db}
.cr-pn a:hover b{color:var(--ouro-claro)}
.cr-pn .all{justify-self:center;padding:12px 20px;border:1px solid var(--linha);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--texto-dim);text-decoration:none}
.cr-pn .all:hover{border-color:var(--ouro);color:#fff}

/* a Cripta: quem repousa (grade) */
.cr-grp{margin-top:clamp(56px,6vw,80px)}
.cr-grp:first-of-type{margin-top:40px}
.cr-grp h3{display:flex;align-items:baseline;gap:16px;font-family:var(--ff-display);font-weight:400;font-size:clamp(26px,2.6vw,36px);color:#f3eddf}
.cr-grp h3 small{font-family:var(--ff-body,inherit);font-size:13.5px;color:var(--texto-dim)}
.cr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:clamp(18px,2vw,28px);margin-top:26px}
.cr-card{display:block;color:inherit;text-decoration:none;text-align:center}
.cr-card .ph{position:relative;display:block;aspect-ratio:1/1.18;border-radius:50% 50% 0 0/30% 30% 0 0;overflow:hidden;background:#0b0e15;box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 0 1px rgba(232,199,122,.16)}
.cr-card .ph img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:sepia(.2) brightness(.82);transition:transform 1.4s cubic-bezier(.16,1,.3,1),filter 1s}
.cr-card:hover .ph img{transform:scale(1.07);filter:sepia(0) brightness(1)}
.cr-card .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,6,8,.55),transparent 45%);transition:opacity .8s}
.cr-card .ph .n{position:absolute;left:0;right:0;bottom:12px;z-index:2;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.cr-card b{display:block;margin-top:16px;font-family:var(--ff-display);font-weight:400;font-size:18px;line-height:1.25;color:#efe9db}
.cr-card span{display:block;margin-top:6px;font-size:12.5px;color:var(--ouro)}
.cr-card:hover b{color:var(--ouro-claro)}

@media (max-width:980px){
  .cr-hgrid,.cr-bgrid{grid-template-columns:1fr}
  .cr-hero{padding-top:120px}
  .cr-fig{width:min(320px,86%)}
  .cr-hero::before{background:radial-gradient(ellipse 70% 40% at 50% 70%,rgba(255,196,120,.12),transparent 70%),linear-gradient(180deg,rgba(5,6,8,.7),rgba(5,6,8,.75) 60%,#050608)}
}
@media (max-width:620px){
  .cr-pn{grid-template-columns:1fr}
  .cr-pn a.nx{justify-content:flex-start;text-align:left;flex-direction:row-reverse}
  .cr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){
  .cr-hero .amb,.cr-dust,.cr-fig .glow{animation:none}
  .cr-fig .fr{clip-path:none}
  .cr-epit blockquote{animation:none;background-position:0 0}
}
