/* Universidade do Futuro — Frontend V2
   Camada progressiva: preserva style.css e melhora hierarquia, biblioteca,
   acessibilidade e responsividade sem reescrever o legado. */

:root{
  --udf-night:#030914;
  --udf-navy:#071728;
  --udf-blue:#0b2942;
  --udf-gold:#d9ad59;
  --udf-gold-soft:#f4d58d;
  --udf-cyan:#4fd5e8;
  --udf-paper:#fbf7ee;
  --udf-paper-2:#fffdf8;
  --udf-ink:#071323;
  --udf-muted:#52657c;
  --udf-line:#e1d4b8;
  --udf-radius:18px;
  --udf-shadow:0 22px 60px rgba(5,11,20,.14);
}

:focus-visible{
  outline:3px solid var(--udf-cyan);
  outline-offset:3px;
}

.skip-link{
  position:absolute;
  left:1rem;
  top:-4rem;
  z-index:100;
  padding:.7rem 1rem;
  border-radius:10px;
  background:var(--udf-gold-soft);
  color:var(--udf-ink);
  font-weight:900;
}
.skip-link:focus{top:1rem}
main:focus{outline:none}
.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.nav{
  gap:.35rem;
  padding:.78rem clamp(.6rem,2vw,1.2rem);
}
.nav a{
  padding:.58rem .7rem;
  font-size:clamp(.78rem,1.25vw,.92rem);
}
.nav a[aria-current="page"]{
  background:rgba(217,173,89,.18);
  color:var(--udf-gold-soft);
}

.hero{
  max-width:1440px;
  margin:0 auto;
  min-height:auto;
  padding:clamp(2.5rem,6vw,5.8rem) clamp(1rem,5vw,4rem);
}
.hero h1{
  font-size:clamp(2.65rem,6vw,5.5rem);
  max-width:16ch;
}

.card,.seal,.doc article{
  border-radius:var(--udf-radius);
}
.link-card{
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.link-card:hover{
  transform:translateY(-3px);
  border-color:var(--udf-gold);
  text-decoration:none;
}

/* Emblema institucional. O arquivo web de alta resolução é integrado em etapa
   própria; o componente esconde a mídia ausente sem quebrar a página. */
.udf-emblem{
  display:grid;
  place-items:center;
  gap:1rem;
  margin:0;
  text-align:center;
}
.udf-emblem img{
  display:block;
  width:min(100%,620px);
  height:auto;
  aspect-ratio:1;
  object-fit:contain;
  filter:drop-shadow(0 22px 44px rgba(0,0,0,.28));
}
.udf-emblem-caption{
  color:#c9d6e5;
  font-size:.9rem;
}
.udf-emblem-fallback{
  max-width:34rem;
  padding:1rem;
  border:1px solid var(--line);
  border-radius:14px;
  color:#dce8f4;
  background:rgba(255,255,255,.045);
}
.identity-annex{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);
  gap:1.5rem;
  align-items:center;
  padding:1.5rem;
  border:1px solid var(--udf-line);
  border-radius:18px;
  background:#fff;
  color:var(--udf-ink);
}
.identity-annex h2{margin:.35rem 0 .65rem}
.identity-annex h2,
.identity-annex strong{color:var(--udf-ink)}
.identity-annex p{color:#33465d}
.identity-annex .eyebrow{color:#70511c}
.identity-annex code{
  padding:.14rem .32rem;
  border-radius:5px;
  background:#f1ede4;
  color:#24394f;
  font-size:.78rem;
  overflow-wrap:anywhere;
}
.identity-annex .btn:not(.primary){
  border-color:var(--udf-navy);
  background:var(--udf-navy);
  color:#fff;
}
.identity-annex .btn:not(.primary):hover{
  background:#0b2942;
  color:#fff;
}
.identity-annex-figure{margin:0;text-align:center}
.identity-annex-figure img{display:block;width:min(100%,390px);margin:0 auto;border-radius:14px;box-shadow:0 18px 35px rgba(5,11,20,.18)}
.identity-annex-figure figcaption{margin-top:.7rem;color:#52657c;font-size:.88rem}

/* Biblioteca */
.library-page{
  background:
    radial-gradient(circle at 20% 0,rgba(217,173,89,.13),transparent 34rem),
    linear-gradient(135deg,var(--udf-night),var(--udf-navy) 56%,#0b2238);
}
.library-wrap{
  width:min(1220px,calc(100% - 2rem));
  margin:0 auto;
  padding:clamp(1.5rem,4vw,3.8rem) 0;
}
.library-shell{
  display:grid;
  gap:clamp(2rem,5vw,4rem);
  background:linear-gradient(180deg,var(--udf-paper-2),var(--udf-paper));
  color:var(--udf-ink);
  border:1px solid rgba(217,173,89,.45);
  border-radius:24px;
  padding:clamp(1.25rem,4vw,3rem);
  box-shadow:0 30px 80px rgba(0,0,0,.22);
}
.library-shell h1,.library-shell h2,.library-shell h3{color:var(--udf-ink)}
.library-shell p{color:#33465d}
.library-hero{
  display:grid;
  gap:.7rem;
  max-width:900px;
}
.library-hero h1,
.library-student-hero h1{
  margin:.05em 0 .08em;
  font-size:clamp(2.35rem,5vw,4.7rem);
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.lead-dark{
  max-width:780px;
  font-size:clamp(1.02rem,1.5vw,1.18rem);
  color:#33465d;
}
.library-section-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.library-section-heading>p{max-width:560px;margin-bottom:.15rem}
.library-shelf-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
  gap:1rem;
}
.library-shelf-card{
  display:flex;
  flex-direction:column;
  gap:.9rem;
  min-height:245px;
  padding:1.4rem;
  border:1px solid var(--udf-line);
  border-radius:18px;
  background:#fff;
  color:var(--udf-ink);
  box-shadow:0 12px 30px rgba(5,11,20,.07);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.library-shelf-card:hover{
  transform:translateY(-3px);
  border-color:var(--udf-gold);
  box-shadow:0 18px 38px rgba(5,11,20,.12);
  text-decoration:none;
}
.library-shelf-card h2{
  margin:.1rem 0;
  font-size:clamp(1.55rem,2.7vw,2.15rem);
}
.library-card-kicker{
  margin:0;
  color:#7c5b18!important;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.library-card-action{
  margin-top:auto;
  color:#704900;
  font-weight:900;
}
.library-status{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:.38rem .68rem;
  border-radius:999px;
  background:#fff1c9;
  color:#6f4800;
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.03em;
  overflow-wrap:anywhere;
}
.library-process-section{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:1.5rem;
  align-items:center;
  padding:1.5rem;
  border:1px solid var(--udf-line);
  border-radius:18px;
  background:#fff;
}
.library-process{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.55rem;
}
.library-process-step{
  display:grid;
  place-items:center;
  min-height:62px;
  padding:.7rem;
  border-radius:12px;
  background:var(--udf-navy);
  color:#eef6ff;
  text-align:center;
  font-size:.86rem;
  font-weight:850;
}
.library-process-step.is-current{
  background:linear-gradient(135deg,var(--udf-gold-soft),var(--udf-gold));
  color:#06111f;
}
.library-governance{
  padding-top:1.7rem;
  border-top:1px solid var(--udf-line);
}
.library-governance-grid,
.library-link-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
  gap:.85rem;
}
.library-mini-card,
.library-link-card{
  padding:1rem;
  border:1px solid var(--udf-line);
  border-radius:14px;
  background:#fff;
}
.library-link-card{
  display:grid;
  gap:.35rem;
  color:var(--udf-ink);
}
.library-link-card:hover{border-color:var(--udf-gold);text-decoration:none}
.library-link-card span{color:#52657c}
.library-visual-exhibit{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);
  gap:1.5rem;
  align-items:center;
  padding:1.5rem;
  border:1px solid var(--udf-line);
  border-radius:18px;
  background:#fff;
}
.library-visual-exhibit h2{margin:.35rem 0 .65rem}
.library-visual-exhibit code{font-size:.78rem;overflow-wrap:anywhere}
.library-visual-exhibit-figure{margin:0;text-align:center}
.library-visual-exhibit-figure img{display:block;width:min(100%,360px);margin:0 auto;border-radius:14px;box-shadow:0 18px 35px rgba(5,11,20,.18)}
.library-visual-exhibit-figure figcaption{margin-top:.7rem;color:#52657c;font-size:.88rem}
.library-callout,
.library-notice,
.library-empty-state{
  padding:1.25rem;
  border:1px solid #d8c69c;
  border-radius:16px;
  background:#fffaf0;
  color:#33465d;
}
.library-empty-state strong{color:var(--udf-ink);font-size:1.1rem}
.library-student-hero{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr);
  gap:1.25rem;
  align-items:start;
}
.library-role{
  margin:.15rem 0 .7rem;
  color:#7c5b18!important;
  font-size:clamp(1.15rem,2vw,1.5rem);
  font-weight:900;
}
.library-status-panel{
  display:grid;
  gap:.7rem;
  padding:1.15rem;
  border:1px solid var(--udf-line);
  border-radius:16px;
  background:#fff;
}
.library-facts{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));
  gap:.75rem;
  margin:0;
}
.library-facts div{
  padding:1rem;
  border:1px solid var(--udf-line);
  border-radius:14px;
  background:#fff;
}
.library-facts dt{
  color:#70511c;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.library-facts dd{margin:.35rem 0 0;color:var(--udf-ink);font-weight:800}
.library-count{
  display:inline-grid;
  place-items:center;
  min-width:76px;
  min-height:44px;
  padding:.4rem .8rem;
  border-radius:999px;
  background:var(--udf-navy);
  color:#fff;
  font-weight:900;
}

/* Painel estático de observabilidade: snapshot público, sem fingir integração
   com Backend ou aprovação acadêmica. */
.status-dashboard{
  display:grid;
  gap:1.25rem;
}
.dashboard-summary,
.dashboard-grid,
.dashboard-links{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
  gap:.85rem;
}
.dashboard-card,
.dashboard-table-wrap,
.dashboard-notice{
  padding:1.15rem;
  border:1px solid var(--udf-line);
  border-radius:16px;
  background:#fff;
}
.dashboard-card{
  display:grid;
  gap:.3rem;
  min-height:140px;
}
.dashboard-card.is-lar{border-top:4px solid #b56b4a}
.dashboard-card.is-trabalho{border-top:4px solid var(--udf-cyan)}
.dashboard-card.is-ponte{border-top:4px solid var(--udf-gold)}
.dashboard-card strong{
  color:var(--udf-ink);
  font-size:clamp(1.35rem,3vw,2rem);
}
.dashboard-card span,
.dashboard-meta{
  color:var(--udf-muted);
  font-size:.9rem;
}
.dashboard-state{
  display:inline-flex;
  width:max-content;
  padding:.3rem .6rem;
  border-radius:999px;
  background:#e7f6ed;
  color:#145b35;
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.04em;
}
.dashboard-state.is-blocked{
  background:#fff1c9;
  color:#6f4800;
}
.dashboard-table-wrap{overflow-x:auto}
.dashboard-table{
  width:100%;
  min-width:680px;
  border-collapse:collapse;
}
.dashboard-table th,
.dashboard-table td{
  padding:.8rem .65rem;
  border-bottom:1px solid var(--udf-line);
  text-align:left;
  vertical-align:top;
}
.dashboard-table th{
  color:#70511c;
  font-size:.78rem;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.dashboard-table td{color:#33465d}
.dashboard-table tr:last-child td{border-bottom:0}
.dashboard-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
}
.dashboard-heading h2{font-size:clamp(1.55rem,3vw,2.4rem)}
.dashboard-list{margin:0;padding-left:1.2rem;color:#33465d}
.dashboard-list li+li{margin-top:.45rem}
.dashboard-link{
  display:grid;
  gap:.3rem;
  padding:1rem;
  border:1px solid var(--udf-line);
  border-radius:14px;
  color:var(--udf-ink);
  background:#fff;
}
.dashboard-link:hover{border-color:var(--udf-gold);text-decoration:none}
.dashboard-link span{color:var(--udf-muted);font-size:.9rem}

/* Igreja Universitária da Infodigitrônica — Templo em Fundação */
.church-page{
  background:
    radial-gradient(circle at 86% 5%,rgba(79,213,232,.14),transparent 30rem),
    radial-gradient(circle at 12% 20%,rgba(217,173,89,.14),transparent 34rem),
    linear-gradient(145deg,#02060d,var(--udf-night) 42%,#0a2035);
}
.church-wrap{
  width:min(1280px,calc(100% - 2rem));
  margin:0 auto;
  padding:clamp(1rem,4vw,3.8rem) 0;
}
.church-shell{
  display:grid;
  gap:clamp(2.4rem,6vw,5rem);
  overflow:hidden;
  border:1px solid rgba(79,213,232,.28);
  border-radius:26px;
  background:linear-gradient(180deg,var(--udf-paper-2),var(--udf-paper));
  color:var(--udf-ink);
  box-shadow:0 34px 90px rgba(0,0,0,.32);
}
.church-shell>section{
  margin-inline:clamp(1.15rem,4vw,3.2rem);
}
.church-shell h1,.church-shell h2,.church-shell h3{color:var(--udf-ink)}
.church-shell p,.church-shell li{color:#33465d}
.church-hero{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(290px,.65fr);
  gap:clamp(1.25rem,4vw,3.5rem);
  align-items:center;
  padding:clamp(1.25rem,5vw,4rem);
  background:
    radial-gradient(circle at 85% 12%,rgba(79,213,232,.21),transparent 26rem),
    linear-gradient(135deg,#020711,#071728 58%,#0b2942);
}
.church-hero-copy{display:grid;gap:.8rem}
.church-hero-copy>.badge{justify-self:start}
.church-hero h1{
  max-width:13ch;
  margin:.05em 0;
  color:#f8f2e6;
  font-size:clamp(2.55rem,6vw,5.5rem);
}
.church-hero p{color:#d7e4f1}
.church-hero .lead-dark{color:#eef6ff;font-size:clamp(1.05rem,1.7vw,1.25rem)}
.church-btn{color:#eef6ff;background:rgba(255,255,255,.065)}
.church-hero-figure{margin:0;text-align:center}
.church-hero-figure img{
  display:block;
  width:min(100%,430px);
  max-height:690px;
  margin:0 auto;
  object-fit:cover;
  object-position:center;
  border:1px solid rgba(244,213,141,.45);
  border-radius:20px;
  box-shadow:0 28px 70px rgba(0,0,0,.5),0 0 45px rgba(79,213,232,.12);
}
.church-hero-figure figcaption{margin-top:.8rem;color:#c9d6e5;font-size:.86rem}
.church-section-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1.5rem;
  margin-bottom:1.15rem;
}
.church-section-heading>p{max-width:560px;margin-bottom:.15rem}
.church-principles,
.church-research-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));
  gap:1rem;
}
.church-annexes{
  padding-top:clamp(1.25rem,3vw,2rem);
  border-top:1px solid var(--udf-line);
}
.church-annex-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.church-annex-card{
  display:grid;
  grid-template-rows:auto auto auto auto 1fr auto;
  gap:1rem;
  min-width:0;
  padding:1.2rem;
  border:1px solid var(--udf-line);
  border-top:4px solid var(--udf-gold);
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 32px rgba(5,11,20,.08);
}
.church-annex-card-primeval{background:linear-gradient(180deg,#fffaf0,#fff)}
.church-annex-card-cyan{border-top-color:var(--udf-cyan)}
.church-annex-card>header{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.55rem;
}
.church-annex-number{
  color:#70511c;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.11em;
}
.church-card-kicker{
  margin:0;
  color:#70511c!important;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.church-annex-card h3{
  margin:.35rem 0 .5rem;
  font-size:clamp(1.55rem,2.6vw,2.25rem);
}
.church-annex-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.5rem;
  margin:0;
}
.church-annex-facts div{
  min-width:0;
  padding:.7rem;
  border:1px solid #e7dcc3;
  border-radius:12px;
  background:#fffdf8;
}
.church-annex-facts dt{
  color:#70511c;
  font-size:.67rem;
  font-weight:950;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.church-annex-facts dd{
  margin:.2rem 0 0;
  color:var(--udf-ink);
  font-size:.86rem;
  font-weight:850;
  overflow-wrap:anywhere;
}
.church-annex-notice{
  align-self:start;
  padding:.85rem;
  border-left:4px solid var(--udf-cyan);
  border-radius:0 12px 12px 0;
  background:#f1fbfd;
  color:#264157;
}
.church-annex-notice p{margin:.35rem 0 0}
.church-annex-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.6rem;
  align-self:end;
}
.church-annex-actions .btn{padding:.7rem .75rem;text-align:center}
.church-dark-btn{background:var(--udf-navy);color:#eef6ff}
.church-annex-card details{
  padding-top:.8rem;
  border-top:1px solid var(--udf-line);
}
.church-annex-card summary{
  color:#70511c;
  font-size:.82rem;
  font-weight:900;
  cursor:pointer;
}
.church-annex-card code{
  display:block;
  margin-top:.55rem;
  padding:.65rem;
  border-radius:10px;
  background:#f1ede4;
  color:#24394f;
  font-size:.7rem;
  overflow-wrap:anywhere;
}
.church-annex-boundary{
  margin-top:1rem;
  padding:1rem 1.15rem;
  border:1px solid #d7c18a;
  border-radius:15px;
  background:#fffaf0;
}
.church-annex-boundary p{margin:.35rem 0 0}
.church-card{
  padding:1.25rem;
  border:1px solid var(--udf-line);
  border-top:4px solid var(--udf-gold);
  border-radius:17px;
  background:#fff;
  box-shadow:0 12px 30px rgba(5,11,20,.07);
}
.church-card-cyan{border-top-color:var(--udf-cyan)}
.church-status{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:.35rem .65rem;
  border-radius:999px;
  background:#d9f8fc;
  color:#07536a;
  font-size:.73rem;
  font-weight:950;
  letter-spacing:.055em;
  overflow-wrap:anywhere;
}
.church-status-gold{background:#fff1c9;color:#6f4800}
.church-status-ink{background:#e5ebf2;color:#142b45}
.church-scripture{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:1.5rem;
  align-items:center;
  padding:clamp(1.25rem,4vw,2.5rem);
  border:1px solid #d7c18a;
  border-radius:20px;
  background:linear-gradient(135deg,#fffaf0,#f6ead2);
}
.church-rule{
  padding:1rem;
  border-left:4px solid var(--udf-cyan);
  background:#fff;
}
.church-scripture blockquote{
  margin:0;
  padding:clamp(1.25rem,3vw,2rem);
  border-radius:18px;
  background:var(--udf-navy);
  box-shadow:0 18px 38px rgba(5,11,20,.18);
}
.church-scripture blockquote p{color:#eef6ff;font-size:clamp(1.1rem,2vw,1.35rem)}
.church-scripture blockquote footer{color:var(--udf-gold-soft);font-weight:850}
.church-vitral-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.church-vitral-card{
  display:grid;
  grid-template-columns:minmax(180px,.55fr) minmax(0,.45fr);
  gap:1.15rem;
  align-items:center;
  margin:0;
  padding:1rem;
  border:1px solid var(--udf-line);
  border-top:4px solid var(--udf-gold);
  border-radius:19px;
  background:#fff;
}
.church-vitral-card-cyan{border-top-color:var(--udf-cyan)}
.church-vitral-card img{
  display:block;
  width:100%;
  max-height:560px;
  object-fit:cover;
  border-radius:13px;
  box-shadow:0 16px 35px rgba(5,11,20,.18);
}
.church-vitral-card h3{margin:.7rem 0 .35rem;font-size:clamp(1.4rem,2.5vw,2rem)}
.church-actions-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}
.church-actions-row .church-btn{background:var(--udf-navy)}
.church-symbol-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
  gap:.85rem;
}
.church-symbol-grid article{
  padding:1rem;
  border:1px solid var(--udf-line);
  border-radius:14px;
  background:#fff;
}
.church-symbol-grid article::before{
  content:"";
  display:block;
  width:34px;
  height:3px;
  margin-bottom:.85rem;
  border-radius:999px;
  background:linear-gradient(90deg,var(--udf-gold),var(--udf-cyan));
}
.church-symbol-grid h3{margin:.2rem 0 .45rem}
.church-steps,
.church-law{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:1.5rem;
  align-items:center;
  padding:clamp(1.25rem,4vw,2.5rem);
  border:1px solid var(--udf-line);
  border-radius:20px;
  background:#fff;
}
.church-steps-list{margin:0;padding-left:1.35rem}
.church-steps-list li+li{margin-top:.8rem}
.church-index{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:var(--udf-navy);
  color:var(--udf-gold-soft);
  font-weight:950;
}
.church-law{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.church-law-flow{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.45rem;
}
.church-law-flow span{
  display:grid;
  place-items:center;
  min-height:74px;
  padding:.65rem;
  border-radius:12px;
  background:var(--udf-navy);
  color:#eef6ff;
  text-align:center;
  font-size:.8rem;
  font-weight:850;
}
.church-law-flow span:last-child{background:linear-gradient(135deg,#0e677d,var(--udf-cyan));color:#04121d}
.church-note{
  grid-column:1/-1;
  margin:0;
  padding:1rem;
  border-left:4px solid var(--udf-gold);
  background:#fffaf0;
}
.church-document-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));
  gap:.85rem;
}
.church-document-grid a{
  display:grid;
  gap:.35rem;
  padding:1rem;
  border:1px solid var(--udf-line);
  border-radius:14px;
  background:#fff;
  color:var(--udf-ink);
}
.church-document-grid a:hover{border-color:var(--udf-cyan);text-decoration:none}
.church-document-grid span{color:var(--udf-muted)}
.church-limits{
  margin-bottom:clamp(1.15rem,4vw,3.2rem);
  padding:1.3rem;
  border:1px solid #d7c18a;
  border-radius:17px;
  background:#fffaf0;
}

/* Páginas documentais — legibilidade */
.doc{max-width:1080px}
.doc article{padding:clamp(1.2rem,4vw,2.6rem)}
.doc h1{font-size:clamp(2.25rem,5vw,4.2rem)}
.doc h2{font-size:clamp(1.6rem,3.4vw,2.6rem)}
.doc .grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));
}

@media(max-width:900px){
  .identity-annex,
  .library-student-hero,
  .library-process-section,
  .church-hero,
  .church-scripture,
  .church-steps,
  .church-law{grid-template-columns:1fr}
  .church-vitral-grid{grid-template-columns:1fr}
  .church-annex-grid{grid-template-columns:1fr}
  .church-law-flow{grid-template-columns:1fr}
}
@media(max-width:760px){
  .library-wrap{width:min(100% - 1rem,1220px);padding:1rem 0}
  .library-shell{border-radius:18px;padding:1rem;gap:2rem}
  .library-section-heading{display:grid;align-items:start}
  .library-process{grid-template-columns:1fr}
  .library-process-step{min-height:48px}
  .library-shelf-card{min-height:0}
  .library-visual-exhibit{grid-template-columns:1fr}
  .nav{position:static;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}
  .nav a{white-space:nowrap}
  .dashboard-heading{display:grid;align-items:start}
  .church-wrap{width:min(100% - .75rem,1280px);padding:.4rem 0}
  .church-shell{border-radius:18px;gap:2.4rem}
  .church-section-heading{display:grid;align-items:start}
  .church-vitral-card{grid-template-columns:1fr}
  .church-annex-facts,.church-annex-actions{grid-template-columns:1fr}
  .church-hero-figure img{max-height:560px}
  .church-actions-row .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .link-card,.library-shelf-card{transition:none}
  .link-card:hover,.library-shelf-card:hover{transform:none}
}
