:root{--v:#0d2818;--vm:#163d24;--o:#c9a84c;--oc:#e2c47a;--os:#f5e6c0;--cr:#f8f3e8;--cd:#ede4d0;--tx:#1a1208;--txs:#3d2e0e;--od:#7d611c;--borda:rgba(201,168,76,0.2);}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Crimson Pro',serif;overflow-x:hidden;}

/* ── HOME ── */
#pg-home{min-height:100vh;background:var(--v);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 40px 0;position:relative;}
#pg-home::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(201,168,76,0.06) 0%,transparent 65%);pointer-events:none;}
.topo-barra{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--o),transparent);}
.site-nav{position:absolute;top:24px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:5;}
.site-nav button,.site-nav a{background:transparent;border:1px solid rgba(201,168,76,0.18);color:rgba(245,230,192,0.6);font-family:'Crimson Pro',serif;font-size:12px;letter-spacing:1.8px;text-transform:uppercase;padding:9px 16px;cursor:pointer;transition:all 0.2s;text-decoration:none;display:inline-block;}
.site-nav button:hover,.site-nav a:hover{color:var(--o);border-color:rgba(201,168,76,0.5);}
.logo{width:220px;height:220px;object-fit:contain;margin-bottom:40px;filter:drop-shadow(0 8px 32px rgba(0,0,0,0.5));animation:sobir 1s ease both;}
.home-titulo{font-family:'Cormorant Garamond',serif;font-size:clamp(52px,8vw,96px);font-weight:700;line-height:1.0;color:var(--os);letter-spacing:-1px;animation:sobir 1s ease 0.2s both;}
.home-titulo span{color:var(--o);display:block;}
.home-div{width:80px;height:1px;background:linear-gradient(90deg,transparent,var(--o),transparent);margin:36px auto;animation:sobir 1s ease 0.35s both;}
.home-definicao{font-size:clamp(16px,1.8vw,19px);color:rgba(245,230,192,0.65);max-width:680px;line-height:1.7;animation:sobir 1s ease 0.4s both;}

/* Pilares */
.home-pilares{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;max-width:840px;width:100%;margin:48px auto 0;animation:sobir 1s ease 0.5s both;}
.pilar{background:rgba(201,168,76,0.06);border:1px solid rgba(201,168,76,0.15);padding:28px 24px;text-align:left;cursor:pointer;transition:all 0.25s;}
.pilar:hover{background:rgba(201,168,76,0.12);border-color:rgba(201,168,76,0.4);}
.pilar-nome{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:700;color:var(--o);margin-bottom:10px;}
.pilar-desc{font-size:14px;color:rgba(245,230,192,0.55);line-height:1.6;}

/* Elevator pitch */
.home-pitch-wrap{max-width:680px;margin:20px auto 0;animation:sobir 1s ease 0.65s both;border-left:3px solid var(--o);padding-left:20px;text-align:left;}
.home-pitch{font-size:clamp(16px,1.8vw,19px);color:rgba(245,230,192,0.7);line-height:1.8;margin-bottom:0;}
.home-frase{font-family:'Cormorant Garamond',serif;font-size:clamp(26px,3.5vw,40px);font-style:italic;color:var(--o);font-weight:600;line-height:1.3;margin:20px 0 24px;}

.home-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:48px;animation:sobir 1s ease 0.8s both;}
.btn-pri{display:inline-block;padding:18px 52px;background:var(--o);color:var(--v);font-family:'Crimson Pro',serif;font-size:14px;font-weight:600;letter-spacing:2px;text-transform:uppercase;border:none;cursor:pointer;transition:all 0.3s;}
.btn-pri:hover{background:var(--oc);transform:translateY(-2px);}
.btn-sec{background:transparent;border:1px solid rgba(201,168,76,0.4);color:var(--os);}
.btn-sec:hover{border-color:var(--o);background:rgba(201,168,76,0.08);}


.home-rodape{background:var(--v);padding:40px;text-align:center;border-top:1px solid var(--borda);}
.home-rodape p{font-size:11px;color:rgba(201,168,76,0.25);letter-spacing:2px;font-family:'Cormorant Garamond',serif;text-transform:uppercase;}

/* ── DOUTRINA ── */
#pg-doutrina{display:none;background:var(--cr);}
.doutrina-layout{display:grid;grid-template-columns:272px 1fr;min-height:100vh;}
.sidebar{background:var(--v);position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid rgba(201,168,76,0.1);padding:28px 0;}
.sidebar::-webkit-scrollbar{width:3px;}
.sidebar::-webkit-scrollbar-thumb{background:rgba(201,168,76,0.2);}
.sb-topo{padding:0 24px 24px;border-bottom:1px solid rgba(201,168,76,0.1);margin-bottom:16px;}
.sb-voltar{display:inline-flex;align-items:center;gap:6px;color:rgba(201,168,76,0.4);font-size:11px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:none;border:none;font-family:'Crimson Pro',serif;margin-bottom:16px;transition:color 0.2s;padding:0;}
.sb-voltar:hover{color:var(--o);}
.sb-logo{display:flex;align-items:center;gap:10px;}
.sb-logo img{width:40px;height:40px;object-fit:contain;}
.sb-nome{font-family:'Cormorant Garamond',serif;font-size:12px;color:var(--o);letter-spacing:1px;line-height:1.3;}
.sb-doc{font-size:11px;color:rgba(201,168,76,0.55);letter-spacing:1px;margin-top:2px;}
.sb-grupo{font-size:12px;color:rgba(201,168,76,0.5);letter-spacing:2px;text-transform:uppercase;padding:0 24px;margin:16px 0 4px;}
.nav-btn{display:block;width:100%;padding:9px 24px;background:none;border:none;border-left:2px solid transparent;color:rgba(245,230,192,0.45);font-family:'Crimson Pro',serif;font-size:14px;text-align:left;cursor:pointer;transition:all 0.2s;line-height:1.3;}
.nav-btn:hover{color:var(--oc);background:rgba(201,168,76,0.05);}
.nav-btn.ativo{color:var(--oc);background:rgba(201,168,76,0.08);border-left-color:var(--o);}
.nav-n{font-size:11px;color:var(--o);opacity:0.6;margin-right:8px;}
.conteudo{padding:72px 80px 120px;}
.cap{display:block;max-width:800px;scroll-margin-top:24px;}
.cap+.cap{margin-top:96px;}
.cap-header{margin-bottom:52px;padding-bottom:36px;border-bottom:1px solid var(--borda);}
.cap-num{display:block;font-size:17px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--od);margin-bottom:14px;}
.cap-header h2{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,4vw,54px);font-weight:600;color:var(--v);line-height:1.1;}
.cap-linha{width:52px;height:2px;background:var(--o);margin-top:20px;}
.cap-body p{margin-bottom:26px;color:var(--txs);font-size:19px;line-height:1.85;}
.cap-body h3{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:600;color:var(--v);margin:52px 0 18px;padding-left:18px;border-left:3px solid var(--o);line-height:1.2;}
.cap-body blockquote{background:var(--v);border-left:3px solid var(--o);padding:28px 34px;margin:44px 0;}
.cap-body blockquote p{font-family:'Cormorant Garamond',serif;font-size:21px!important;font-style:italic;color:var(--os)!important;line-height:1.55;margin:0!important;}
.cap-nav{display:flex;justify-content:space-between;align-items:center;margin-top:72px;padding-top:36px;border-top:1px solid var(--borda);}
.cap-nav button{padding:14px 24px;border:1px solid var(--borda);background:transparent;color:var(--v);font-family:'Crimson Pro',serif;font-size:15px;cursor:pointer;transition:all 0.2s;}
.cap-nav button:hover{background:var(--v);color:var(--os);border-color:var(--v);}
.cap-nav span{display:block;}
.frase-final{font-family:'Cormorant Garamond',serif;font-size:24px;font-style:italic;color:var(--v);text-align:center;margin-top:52px;font-weight:600;line-height:1.4;}
.p-item{padding:26px 0;border-bottom:1px solid var(--borda);}
.cax-titulos .p-item{padding:10px 0;}
.p-item:last-child{border-bottom:none;}
.p-nome{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:600;color:var(--v);margin-bottom:8px;display:flex;align-items:center;gap:10px;}
.p-nome::before{content:'◆';color:var(--o);font-size:9px;flex-shrink:0;}
.p-item p{font-size:17px;color:var(--txs);line-height:1.75;padding-left:20px;margin:0;}

/* ── PROJETOS ── */
#pg-projetos{display:none;min-height:100vh;background:var(--cr);}
#pg-nome-limpo{display:none;min-height:100vh;background:var(--cr);}
.proj-nav{background:var(--v);padding:20px 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(201,168,76,0.15);}
.proj-nav-marca{display:flex;align-items:center;gap:10px;background:none;border:none;cursor:pointer;color:var(--o);font-family:'Cormorant Garamond',serif;font-size:15px;letter-spacing:1px;}
.proj-nav-marca img{width:36px;height:36px;object-fit:contain;}
.proj-nav-marca:hover{color:var(--oc);}
.proj-nav-links{display:flex;gap:6px;}
.proj-nav-links button{background:transparent;border:1px solid rgba(201,168,76,0.2);color:rgba(245,230,192,0.6);font-family:'Crimson Pro',serif;font-size:11px;letter-spacing:1.8px;text-transform:uppercase;padding:8px 14px;cursor:pointer;transition:all 0.2s;}
.proj-nav-links button:hover{color:var(--o);border-color:var(--o);}
.proj-body{max-width:960px;margin:0 auto;padding:64px 40px 100px;}
.proj-header{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--borda);}
.proj-header h2{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,5vw,58px);font-weight:700;color:var(--v);line-height:1.1;margin-bottom:12px;}
.proj-header p{font-size:19px;color:var(--txs);line-height:1.7;max-width:780px;}
.proj-card{background:#fffaf0;border-top:3px solid var(--o);padding:32px 36px;margin-bottom:20px;box-shadow:0 12px 40px rgba(13,40,24,0.07);}
.proj-card-tag{font-size:14.5px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--od);margin-bottom:10px;display:block;}
.proj-card h3{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:700;color:var(--v);margin-bottom:14px;}
.proj-card p{font-size:18px;line-height:1.7;color:var(--txs);margin-bottom:16px;}
.proj-pontos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0 24px;}
.proj-ponto{border-left:2px solid var(--o);padding-left:14px;}
.proj-ponto strong{display:block;font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--v);margin-bottom:4px;}
.proj-ponto span{font-size:15px;color:var(--txs);line-height:1.5;}
.btn-ver{display:inline-block;padding:14px 32px;background:var(--o);color:var(--v);font-family:'Crimson Pro',serif;font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;border:none;cursor:pointer;transition:all 0.3s;}
.btn-ver:hover{background:var(--oc);}

/* Página projeto completo */
.nl-body{max-width:900px;margin:0 auto;padding:64px 40px 100px;}
.nl-header{margin-bottom:52px;padding-bottom:36px;border-bottom:1px solid var(--borda);}
.nl-header h1{font-family:'Cormorant Garamond',serif;font-size:clamp(40px,6vw,72px);font-weight:700;color:var(--v);line-height:1.0;margin-bottom:8px;}
.nl-header h2{font-family:'Cormorant Garamond',serif;font-size:clamp(18px,2.5vw,24px);font-weight:400;color:var(--txs);margin-bottom:20px;}
.nl-section{margin:48px 0;}
.nl-section h3{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:700;color:var(--v);margin-bottom:18px;padding-left:18px;border-left:3px solid var(--o);}
.nl-section p{font-size:18px;line-height:1.8;color:var(--txs);margin-bottom:16px;}
.nl-grid4{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:20px 0;}
.nl-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0;}
.nl-box{background:#fffaf0;border-top:2px solid var(--o);padding:20px;box-shadow:0 8px 28px rgba(13,40,24,0.06);}
.nl-box strong{display:block;font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:700;color:var(--o);letter-spacing:1px;text-transform:uppercase;margin-bottom:8px;}
.nl-box p{font-size:15px;margin:0;}
.nl-steps{list-style:none;display:grid;gap:12px;margin:20px 0;}
.nl-steps li{background:#fffaf0;border-left:3px solid var(--o);padding:16px 20px;display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;}
.nl-steps li .num{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:700;color:var(--o);line-height:1;}
.nl-steps li .txt strong{display:block;font-family:'Cormorant Garamond',serif;font-size:17px;color:var(--v);margin-bottom:4px;}
.nl-steps li .txt span{font-size:15px;color:var(--txs);}
.nl-table{width:100%;border-collapse:collapse;margin:20px 0;font-size:15px;}
.nl-table th{background:var(--v);color:var(--o);padding:10px 14px;text-align:left;font-family:'Crimson Pro',serif;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;}
.nl-table td{padding:10px 14px;border-bottom:1px solid var(--borda);color:var(--txs);}
.nl-table tr:nth-child(even) td{background:#fffaf0;}
.nl-destaque{background:var(--v);border-left:3px solid var(--o);padding:24px 30px;margin:32px 0;}
.nl-destaque p{font-family:'Cormorant Garamond',serif;font-size:20px;font-style:italic;color:var(--os);line-height:1.55;margin:0;}
.nl-metricas{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:24px 0;}
.nl-metrica{text-align:center;background:#fffaf0;padding:20px 12px;border-top:2px solid var(--o);}
.nl-metrica .val{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;color:var(--v);display:block;}
.nl-metrica .lbl{font-size:11px;color:var(--txs);letter-spacing:1px;text-transform:uppercase;margin-top:4px;display:block;}
.nl-regra{background:#fffaf0;border:2px solid var(--o);padding:24px;text-align:center;margin:20px 0;}
.nl-regra strong{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--v);display:block;margin-bottom:8px;}
.nl-regra p{font-size:16px;color:var(--txs);margin:0;}

/* Mobile */
.menu-toggle{display:none;position:fixed;top:16px;left:16px;z-index:300;background:var(--v);border:1px solid var(--o);color:var(--o);width:44px;height:44px;align-items:center;justify-content:center;cursor:pointer;font-size:18px;}
.overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:200;}
@media(max-width:960px){
  .doutrina-layout{grid-template-columns:1fr;}
  .sidebar{position:fixed;left:-280px;top:0;height:100vh;z-index:250;transition:left 0.3s;width:272px;}
  .sidebar.aberta{left:0;}
  .menu-toggle{display:flex;}
  .overlay.visivel{display:block;}
  .conteudo{padding:60px 24px 80px;}
  .home-pilares{grid-template-columns:1fr;}
  .proj-pontos,.nl-grid4,.nl-grid3,.nl-metricas{grid-template-columns:1fr;}
}
@keyframes sobir{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes aparecer{from{opacity:0}to{opacity:1}}

.nl-slides-wrap{max-width:960px;margin:0 auto;padding:48px 40px 100px;display:flex;flex-direction:column;gap:16px;}
.nl-slide img{width:100%;height:auto;display:block;box-shadow:0 8px 32px rgba(13,40,24,0.12);}
@media(max-width:600px){.nl-slides-wrap{padding:24px 16px 60px;}}

/* ── REFERÊNCIAS HISTÓRICAS ── */
#pg-historia{display:none;min-height:100vh;background:var(--cr);}
#pg-marques{display:none;min-height:100vh;background:var(--cr);}
.hist-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:16px;}
.hist-card{background:#fffaf0;border-top:3px solid var(--o);padding:0;overflow:hidden;box-shadow:0 8px 32px rgba(13,40,24,0.08);transition:transform 0.2s;display:flex;flex-direction:column;}
.hist-card:hover{transform:translateY(-4px);}
.hist-card-img{width:100%;height:220px;object-fit:cover;object-position:center 25%;display:block;}
.hist-card-body{padding:24px 28px 28px;display:flex;flex-direction:column;flex:1;}
.hist-card-periodo{font-size:14px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--od);margin-bottom:8px;display:block;}
.hist-card-body h3{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:700;color:var(--v);margin-bottom:10px;line-height:1.2;}
.hist-card-body p{font-size:16px;line-height:1.65;color:var(--txs);margin-bottom:20px;}
.hist-card-body .btn-ver{margin-top:auto;align-self:flex-start;}

/* Página do personagem */
.marq-hero{background:var(--v);padding:0;position:relative;overflow:hidden;}
.marq-hero-img{width:100%;height:520px;object-fit:cover;object-position:center 5%;display:block;opacity:0.5;}
.marq-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,40,24,1) 0%,rgba(13,40,24,0.3) 60%,transparent 100%);}
.marq-hero-txt{position:absolute;bottom:0;left:0;right:0;padding:48px 60px;}
.marq-hero-txt .cap-num{margin-bottom:12px;color:var(--o);}
.marq-hero-txt h1{font-family:'Cormorant Garamond',serif;font-size:clamp(38px,6vw,72px);font-weight:700;color:var(--os);line-height:1.05;margin-bottom:10px;}
.marq-hero-txt p{font-size:18px;color:rgba(245,230,192,0.7);max-width:680px;}
.marq-body{max-width:960px;margin:0 auto;padding:64px 40px 100px;}
.marq-porque{background:var(--vm);border-left:4px solid var(--o);padding:40px 48px;margin-bottom:60px;}
.marq-porque h2{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:700;color:var(--os);margin-bottom:24px;}
.marq-porque ul{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.marq-porque ul li{color:rgba(245,230,192,0.8);font-size:17px;padding-left:20px;position:relative;line-height:1.5;}
.marq-porque ul li::before{content:'◆';color:var(--o);font-size:9px;position:absolute;left:0;top:5px;}
.marq-section{margin:52px 0;}
.marq-section h2{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:700;color:var(--v);margin-bottom:20px;padding-left:18px;border-left:3px solid var(--o);}
.marq-section h3{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:600;color:var(--v);margin:36px 0 14px;}
.marq-section p{font-size:19px;line-height:1.9;color:var(--txs);margin-bottom:20px;}
.marq-contrib{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0;}
.marq-contrib-item{background:#fffaf0;border-top:2px solid var(--o);padding:20px;box-shadow:0 6px 20px rgba(13,40,24,0.06);}
.marq-contrib-item strong{display:block;font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--v);margin-bottom:8px;}
.marq-contrib-item span{font-size:15px;color:var(--txs);line-height:1.5;}
.marq-galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:24px;}
.marq-galeria-item{overflow:hidden;background:var(--cd);cursor:pointer;}
.marq-galeria-item img{width:100%;height:180px;object-fit:cover;object-position:top;display:block;transition:transform 0.3s;}
.marq-galeria-item:hover img{transform:scale(1.05);}
.marq-galeria-item figcaption{font-size:12px;color:var(--txs);padding:8px 10px;font-style:italic;line-height:1.4;}

.cax-duo{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0;}
.cax-duo figure{margin:0;cursor:pointer;}
.cax-duo figure img{width:100%;height:220px;object-fit:cover;display:block;}
.cax-duo figure figcaption{font-size:13px;color:var(--txs);text-align:center;padding:6px 0;font-style:italic;}
.cax-trio{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin:28px 0;}
.cax-trio figure{margin:0;cursor:pointer;}
.cax-trio figure img{width:100%;height:200px;object-fit:cover;display:block;}
.cax-trio figure figcaption{font-size:13px;color:var(--txs);text-align:center;padding:6px 0;font-style:italic;}
.cax-album{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0;}
.cax-album figure{margin:0;cursor:pointer;}
.cax-album figure img{width:100%;height:280px;object-fit:cover;display:block;}
.cax-album figure figcaption{font-size:12px;color:var(--txs);text-align:center;padding:5px 0;font-style:italic;}
.marq-titulos-bloco{margin-bottom:28px;}
.marq-titulos-bloco h4{font-family:"Cormorant Garamond",serif;font-size:16px;font-weight:700;color:var(--o);letter-spacing:2px;text-transform:uppercase;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--borda);}
.marq-titulos-lista{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.marq-titulos-lista .marq-titulo-item{margin:0;}

.marq-titulos{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin:24px 0;}

/* === Caxias: dupla de imagens com mesmo tamanho (Apresentação / Estadista) === */
.cax-dupla{display:flex;gap:24px;justify-content:center;margin:32px 0;flex-wrap:wrap;}
.cax-dupla figure{margin:0;cursor:pointer;background:var(--cd);box-shadow:0 8px 28px rgba(13,40,24,0.12);width:260px;}
.cax-dupla figure .cax-img-box{width:100%;height:330px;overflow:hidden;}
.cax-dupla figure img{width:100%;height:100%;object-fit:cover;display:block;}
.cax-dupla figure figcaption{font-size:12px;color:var(--txs);padding:10px;font-style:italic;text-align:center;border-top:1px solid var(--borda);}

/* === Caxias: bloco lateral imagem+texto (Campanhas de Pacificação) === */
.cax-bloco{display:grid;grid-template-columns:220px 1fr;gap:28px;align-items:start;margin:30px 0;}
.cax-bloco.inv{grid-template-columns:1fr 220px;}
.cax-bloco.inv .cax-bloco-img{order:2;}
.cax-bloco-img{cursor:pointer;background:var(--cd);box-shadow:0 8px 24px rgba(13,40,24,0.10);}
.cax-bloco-img .cax-img-box{width:100%;height:260px;overflow:hidden;}
.cax-bloco-img img{width:100%;height:100%;object-fit:cover;display:block;}
.cax-bloco-img figcaption{font-size:11px;color:var(--txs);padding:8px;font-style:italic;text-align:center;border-top:1px solid var(--borda);}
.cax-bloco-txt p{margin-bottom:0;}

/* === Caxias: Títulos e Honras compactos, 2 colunas === */
.cax-titulos-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:20px;}
.cax-titulo-card{background:var(--cd);border:1px solid var(--borda);border-radius:2px;padding:22px 24px;}
.cax-titulo-card h4{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:700;color:var(--o);letter-spacing:1px;text-transform:uppercase;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--borda);}
.cax-titulo-card .ct-item{padding:7px 0;font-size:15px;color:var(--txs);border-bottom:1px solid rgba(0,0,0,0.05);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.cax-titulo-card .ct-item:last-child{border-bottom:none;}
.cax-titulo-card .ct-item strong{color:var(--v);font-weight:600;}
.cax-titulo-card .ct-item span{color:var(--o);font-style:italic;font-size:13px;white-space:nowrap;}

/* === Caxias: seção tratada como anexo (Títulos, Galeria, Linha do Tempo) === */
.cax-anexo{background:rgba(212,175,55,0.04);border-top:1px solid var(--borda);border-bottom:1px solid var(--borda);padding:44px 0;margin:52px 0 0;}
.cax-anexo .marq-section{margin:0 0 40px;}
.cax-anexo .marq-section:last-child{margin-bottom:0;}
.cax-anexo .marq-section h2{font-size:26px;}
.cax-anexo-label{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--o);text-align:center;margin-bottom:32px;font-weight:600;}

/* === Caxias: galeria sem corte, object-fit contain === */
.cax-album{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0;}
.cax-album figure{margin:0;cursor:pointer;background:var(--cd);border:1px solid var(--borda);}
.cax-album figure .cax-img-box{width:100%;height:260px;display:flex;align-items:center;justify-content:center;background:#e9e3d3;overflow:hidden;}
.cax-album figure img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;}
.cax-album figure figcaption{font-size:12px;color:var(--txs);text-align:center;padding:8px 6px;font-style:italic;border-top:1px solid var(--borda);}

@media (max-width:720px){
  .cax-dupla{flex-direction:column;align-items:center;}
  .cax-bloco, .cax-bloco.inv{grid-template-columns:1fr;}
  .cax-bloco.inv .cax-bloco-img{order:0;}
  .cax-titulos-grid{grid-template-columns:1fr;}
  .cax-album{grid-template-columns:repeat(2,1fr);}
}

.marq-titulo-item{background:#fffaf0;padding:16px;text-align:center;border-top:2px solid var(--o);}
.marq-titulo-item img{width:72px;height:72px;object-fit:contain;margin:0 auto 10px;display:block;}
.marq-titulo-item strong{display:block;font-size:13px;font-weight:600;color:var(--v);margin-bottom:4px;line-height:1.3;}
.marq-titulo-item span{font-size:12px;color:var(--txs);}
.marq-quote{background:var(--v);border-left:3px solid var(--o);padding:28px 34px;margin:40px 0;}
.marq-quote p{font-family:'Cormorant Garamond',serif;font-size:21px;font-style:italic;color:var(--os);line-height:1.55;margin:0;}
@media(max-width:768px){
  .marq-hero-txt{padding:32px 24px;}
  .marq-body{padding:40px 24px 80px;}
  .marq-porque ul{grid-template-columns:1fr;}
  .marq-contrib{grid-template-columns:1fr;}
  .hist-grid{grid-template-columns:1fr;}
}

.marq-float-right{float:right;margin:0 0 24px 32px;max-width:260px;background:var(--cd);box-shadow:0 8px 28px rgba(13,40,24,0.12);}
.marq-float-left{float:left;margin:0 32px 24px 0;max-width:260px;background:var(--cd);box-shadow:0 8px 28px rgba(13,40,24,0.12);}
.marq-float-right img,.marq-float-left img{width:100%;height:320px;object-fit:cover;object-position:top;display:block;}
.marq-float-right figcaption,.marq-float-left figcaption{font-size:12px;color:var(--txs);padding:8px 10px;font-style:italic;text-align:center;border-top:1px solid var(--borda);}
@media(max-width:768px){
  .marq-float-right,.marq-float-left{float:none;max-width:100%;margin:0 0 24px 0;}
}

.marq-timeline{display:grid;gap:0;margin:24px 0;border-left:2px solid var(--o);padding-left:0;}
.marq-tl-item{display:grid;grid-template-columns:64px 1fr;gap:16px;padding:14px 0 14px 24px;border-bottom:1px solid var(--borda);align-items:start;}
.marq-tl-item:last-child{border-bottom:none;}
.marq-tl-ano{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:700;color:var(--o);line-height:1.4;}
.marq-tl-item p{font-size:17px;color:var(--txs);line-height:1.6;margin:0;}

/* ── LIGHTBOX ── */
.lb-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.92);z-index:1000;align-items:center;justify-content:center;flex-direction:column;padding:20px;}
.lb-overlay.ativo{display:flex;}
.lb-img{max-width:90vw;max-height:80vh;object-fit:contain;box-shadow:0 8px 40px rgba(0,0,0,0.6);}
.lb-caption{color:rgba(255,255,255,0.7);font-size:14px;font-style:italic;margin-top:14px;text-align:center;max-width:600px;}
.lb-fechar{position:fixed;top:20px;right:28px;color:rgba(255,255,255,0.7);font-size:32px;cursor:pointer;background:none;border:none;line-height:1;transition:color 0.2s;}
.lb-fechar:hover{color:#fff;}
.marq-galeria-item{cursor:pointer;}
.marq-galeria-item img{transition:opacity 0.2s;}
.marq-galeria-item:hover img{opacity:0.85;}


.jb-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:8px;}
.jb-card{background:var(--v);padding:20px 16px;text-align:center;border-top:2px solid var(--o);display:flex;flex-direction:column;gap:8px;}
.jb-card-num{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:700;color:var(--o);line-height:1;}
.jb-card-lbl{font-size:13px;color:rgba(245,230,192,0.65);line-height:1.4;}
@media(max-width:768px){.jb-cards{grid-template-columns:repeat(2,1fr);}}

/* ══════════════════════════════════════════════════════════
   PAGINAS DE FIGURAS HISTORICAS
   Acrescentado ao extrair o CSS para arquivo externo.
   Mantem a paleta e as fontes do MOVBS.
   ══════════════════════════════════════════════════════════ */

/* barra fixa da pagina da figura */
.fig-nav{position:sticky;top:0;z-index:60;background:var(--v);border-bottom:1px solid var(--borda);}
.fig-nav-in{max-width:1100px;margin:0 auto;padding:12px 32px;display:flex;align-items:center;
  justify-content:space-between;gap:16px;flex-wrap:wrap;}
.fig-nav-marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--os);
  font-family:'Cormorant Garamond',serif;font-size:16px;letter-spacing:.06em;}
.fig-nav-marca img{height:28px;width:auto;display:block;}
.fig-nav-links{display:flex;gap:22px;flex-wrap:wrap;}
.fig-nav-links a{font-family:'Crimson Pro',serif;font-size:13px;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(245,230,192,.72);text-decoration:none;
  padding-bottom:3px;border-bottom:2px solid transparent;transition:.2s;}
.fig-nav-links a:hover{color:var(--oc);border-bottom-color:var(--o);}

/* heroi em duas colunas: o retrato aparece inteiro, sem corte agressivo.
   As fotografias das quatro figuras sao retratos (proporcao ~0.7),
   por isso nao funcionam como fundo de faixa larga. */
.fig-hero{background:var(--v);border-bottom:1px solid var(--borda);}
.fig-hero-in{max-width:1100px;margin:0 auto;padding:56px 32px 60px;
  display:grid;grid-template-columns:minmax(260px,38%) 1fr;gap:52px;align-items:center;}
.fig-hero-foto{position:relative;}
.fig-hero-foto img{width:100%;height:auto;display:block;
  border:1px solid rgba(201,168,76,.35);box-shadow:0 18px 48px rgba(0,0,0,.42);}
.fig-hero-txt{padding:0;}
.fig-hero-txt .cap-num{display:block;margin-bottom:14px;color:var(--o);}
.fig-hero-txt h1{font-family:'Cormorant Garamond',serif;font-size:54px;line-height:1.08;
  color:var(--os);font-weight:700;margin:0 0 10px;text-wrap:balance;}
.fig-epiteto{font-family:'Cormorant Garamond',serif;font-size:24px;font-style:italic;
  font-weight:600;color:var(--oc);margin:0 0 10px;}
.fig-datas{font-family:'Crimson Pro',serif;font-size:16px;color:rgba(245,230,192,.68);margin:0;}
.fig-resumo{font-family:'Crimson Pro',serif;font-size:18px;line-height:1.75;
  color:rgba(245,230,192,.82);margin:22px 0 0;padding-top:20px;
  border-top:1px solid rgba(201,168,76,.28);max-width:46ch;}

/* medida de leitura mais curta que a anterior */
.fig-body{max-width:820px;margin:0 auto;padding:64px 32px 96px;}



/* rodape da pagina da figura */
.fig-rodape{background:var(--v);border-top:1px solid var(--borda);
  padding:44px 32px;text-align:center;}
.fig-rodape p{font-family:'Crimson Pro',serif;font-size:14px;
  color:rgba(245,230,192,.6);margin:0 0 14px;}
.fig-rodape a{color:var(--oc);text-decoration:none;
  border-bottom:1px solid rgba(201,168,76,.45);}
.fig-rodape a:hover{border-bottom-color:var(--oc);}

@media(max-width:760px){
  .fig-hero-in{grid-template-columns:1fr;gap:28px;padding:36px 20px 40px;}
  .fig-hero-foto{max-width:240px;margin:0 auto;}
  .fig-hero-txt h1{font-size:34px;}
  .fig-epiteto{font-size:19px;}
  .fig-body{padding:44px 20px 64px;}
  .fig-nav-in{padding:10px 20px;}
  .fig-nav-links{gap:14px;}
  .fig-nav-links a{font-size:11px;letter-spacing:.08em;}
}


/* ══════════════════════════════════════════════════════════
   GALERIA DAS PAGINAS DE FIGURAS
   Mesmo padrao do site marquesdeolinda.com.br: cartao quadrado
   (aspect-ratio 1), imagem em cover alinhada pelo topo e legenda
   rente ao pe do cartao. Cortar pelo topo preserva os rostos.
   ══════════════════════════════════════════════════════════ */
.fig-album{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));
  gap:18px;margin-top:26px;}
.fig-album figure{position:relative;overflow:hidden;border-radius:8px;margin:0;
  background:var(--cd);border:1px solid var(--borda);
  box-shadow:0 4px 14px rgba(13,40,24,.12);
  aspect-ratio:1;display:flex;flex-direction:column;cursor:zoom-in;
  transition:transform .3s ease,box-shadow .3s ease;}
.fig-album figure:hover{transform:scale(1.04);box-shadow:0 14px 34px rgba(13,40,24,.26);}
.fig-album figure img{width:100%;flex:1;min-height:0;object-fit:cover;
  object-position:top;display:block;}
.fig-album figcaption{font-family:'Crimson Pro',serif;font-size:.7rem;line-height:1.35;
  color:var(--v);text-align:center;padding:6px 7px 8px;font-style:italic;
  background:rgba(248,244,235,.95);flex-shrink:0;
  border-top:1px solid var(--borda);}
@media(max-width:900px){.fig-album{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;}}
@media(max-width:560px){.fig-album{grid-template-columns:repeat(2,1fr);gap:.75rem;}
  .fig-album figcaption{font-size:.65rem;padding:5px 6px 7px;}}


/* fotos dentro do texto nas paginas de figuras:
   proporcao original, sem corte, e clicaveis como as da galeria */
.fig-body .marq-float-right,
.fig-body .marq-float-left{max-width:300px;cursor:zoom-in;border:1px solid var(--borda);
  transition:box-shadow .22s,transform .22s;}
.fig-body .marq-float-right:hover,
.fig-body .marq-float-left:hover{box-shadow:0 12px 30px rgba(13,40,24,.24);transform:translateY(-2px);}
.fig-body .marq-float-right img,
.fig-body .marq-float-left img{width:100%;height:auto;object-fit:initial;display:block;}
@media(max-width:760px){
  .fig-body .marq-float-right,.fig-body .marq-float-left{max-width:100%;}
}


/* par de fotos centralizado, no espirito do cax-dupla,
   porem sem altura fixa: preserva a proporcao de cada peca.
   Necessario porque recortes de jornal chegam a 0.43 de proporcao. */
.fig-dupla{display:flex;gap:24px;justify-content:center;align-items:flex-start;
  margin:34px 0;flex-wrap:wrap;}
.fig-dupla figure{margin:0;cursor:zoom-in;background:var(--cd);
  border:1px solid var(--borda);box-shadow:0 8px 28px rgba(13,40,24,.12);
  width:290px;transition:box-shadow .22s,transform .22s;}
.fig-dupla figure:hover{box-shadow:0 14px 34px rgba(13,40,24,.24);transform:translateY(-2px);}
.fig-dupla figure img{width:100%;height:auto;display:block;}
.fig-dupla figcaption{font-family:'Crimson Pro',serif;font-size:12.5px;line-height:1.45;
  color:var(--txs);padding:10px;font-style:italic;text-align:center;
  border-top:1px solid var(--borda);}
@media(max-width:760px){.fig-dupla figure{width:100%;max-width:340px;}}


/* ══════════════════════════════════════════════════════════
   TITULOS E HONRAS  (paginas de figuras)
   Dois grupos: nobreza, em cartoes largos com barra lateral,
   e ordens honorificas, em grade de cartoes com a insignia.
   ══════════════════════════════════════════════════════════ */
.fig-sub{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:700;
  color:var(--v);letter-spacing:.04em;margin:26px 0 14px;}
.fig-sub:first-of-type{margin-top:6px;}

.fig-nobreza{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:8px;}
.fig-nobreza-card{background:var(--cd);border-left:4px solid var(--o);
  padding:20px 24px;}
.fig-nobreza-card strong{display:block;font-family:'Cormorant Garamond',serif;
  font-size:21px;font-weight:700;color:var(--v);margin-bottom:6px;}
.fig-nobreza-card span{font-family:'Crimson Pro',serif;font-size:15px;color:var(--txs);}

.fig-honras{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.fig-honra-card{background:var(--cd);border-top:3px solid var(--o);
  padding:20px 16px 18px;text-align:center;
  transition:box-shadow .22s,transform .22s;}
.fig-honra-card:hover{box-shadow:0 10px 26px rgba(13,40,24,.2);transform:translateY(-2px);}
.fig-honra-card img{width:auto;max-width:78px;height:96px;object-fit:contain;
  margin:0 auto 14px;display:block;}
.fig-honra-card strong{display:block;font-family:'Cormorant Garamond',serif;
  font-size:16px;font-weight:700;line-height:1.3;color:var(--v);margin-bottom:6px;}
.fig-honra-card span{font-family:'Crimson Pro',serif;font-size:13px;
  font-style:italic;color:var(--o);}

@media(max-width:900px){.fig-honras{grid-template-columns:repeat(3,1fr);}}
@media(max-width:640px){
  .fig-nobreza{grid-template-columns:1fr;}
  .fig-honras{grid-template-columns:repeat(2,1fr);}
}


/* ══════════════════════════════════════════════════════════
   REFERENCIAS  (paginas de figuras)
   Bloco retratil ao fim da pagina, citado por <sup> no texto.
   ══════════════════════════════════════════════════════════ */
.fig-refs{max-width:820px;margin:0 auto;padding:0 32px 80px;}
.fig-refs-caixa{border:1px solid var(--borda);background:var(--cd);}
.fig-refs summary{cursor:pointer;list-style:none;padding:16px 22px;
  font-family:'Crimson Pro',serif;font-size:13px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--v);position:relative;font-weight:600;}
.fig-refs summary::-webkit-details-marker{display:none;}
.fig-refs summary::after{content:"+";position:absolute;right:22px;font-size:1.2rem;
  line-height:1;color:var(--o);}
.fig-refs details[open] summary::after{content:"\2212";}
.fig-refs ol{padding:2px 26px 22px 46px;margin:0;}
.fig-refs li{margin-bottom:13px;font-family:'Crimson Pro',serif;font-size:14.5px;
  line-height:1.6;color:var(--txs);}
.fig-refs a{color:var(--o);text-decoration:none;word-break:break-word;
  border-bottom:1px solid rgba(201,168,76,.4);}
.fig-refs a:hover{border-bottom-color:var(--o);}
.fig-body sup{font-size:.66em;line-height:0;vertical-align:super;color:var(--o);
  font-family:'Crimson Pro',serif;font-weight:600;}
@media(max-width:760px){.fig-refs{padding:0 20px 56px;}.fig-refs ol{padding-left:34px;}}


/* lema em destaque dentro do texto */
.fig-lema{display:block;margin:26px 0;padding:20px 26px;
  border-left:4px solid var(--o);background:rgba(201,168,76,.08);
  font-family:'Cormorant Garamond',serif;font-size:23px;font-style:italic;
  font-weight:600;color:var(--v);text-align:center;}

/* Navegação complementar */
.sb-link{display:block;padding:9px 24px;border-left:2px solid transparent;color:rgba(245,230,192,0.45);font-family:'Crimson Pro',serif;font-size:14px;text-decoration:none;transition:all 0.2s;}
.sb-link:hover{color:var(--oc);background:rgba(201,168,76,0.05);}
.fig-nav-ext{opacity:0.75;}

/* Barra secundaria: navegacao interna das paginas de figuras */
.fig-subnav{position:sticky;top:var(--navh,53px);z-index:40;background:var(--cd);border-bottom:1px solid var(--borda);}
.fig-subnav-in{max-width:1100px;margin:0 auto;padding:10px 32px;display:flex;flex-wrap:wrap;gap:20px;}
.fig-subnav a{font-family:'Crimson Pro',serif;font-size:13.5px;letter-spacing:.06em;color:var(--txs);
  text-decoration:none;padding-bottom:2px;border-bottom:2px solid transparent;transition:.2s;white-space:nowrap;}
.fig-subnav a:hover{color:var(--od);border-bottom-color:var(--o);}
@media(max-width:700px){.fig-subnav-in{padding:8px 20px;gap:14px;overflow-x:auto;flex-wrap:nowrap;}}

/* Nota de contexto dentro de uma secao */
.marq-nota{margin-top:44px;padding:26px 30px;background:rgba(201,168,76,.07);
  border-left:3px solid var(--o);}
.marq-nota h3{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;
  color:var(--v);margin-bottom:14px;padding:0;border:none;}
.marq-nota p{font-size:17px;line-height:1.75;color:var(--txs);margin-bottom:12px;}
.marq-nota p:last-child{margin-bottom:0;}
