/* SOBERANO SANTUÁRIO V2.1 — linguagem institucional / egípcia */
:root{
  --bg:#070604;
  --bg-deep:#030302;
  --panel:#0d0b07;
  --panel-warm:#121008;
  --papyrus:#d8c8a2;
  --ivory:#eee5d0;
  --gold:#c8a95d;
  --gold-bright:#dfc477;
  --gold-dark:#80662d;
  --muted:#a89d84;
  --line:rgba(200,169,93,.22);
  --line-strong:rgba(200,169,93,.58);
  --max:1180px;
  --header:86px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--ivory);
  font-family:"Libre Baskerville",Georgia,serif;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-2;
  background:
    radial-gradient(ellipse at 50% -8%,rgba(200,169,93,.075),transparent 34rem),
    linear-gradient(180deg,#090704 0%,#050403 52%,#080604 100%);
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:.28;
  background:
    repeating-linear-gradient(0deg,rgba(216,200,162,.012) 0 1px,transparent 1px 5px),
    repeating-linear-gradient(90deg,rgba(216,200,162,.007) 0 1px,transparent 1px 11px);
  mix-blend-mode:screen;
}
a{color:inherit}
img{max-width:100%}
.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.narrow{width:min(820px,calc(100% - 48px));margin-inline:auto}
.display,.section-title,.brand-name,.nav-link,.button,.eyebrow,.data-label,.lang-button,.mobile-link,.structure-card h3,.card h3,.person-name,.timeline-content h3,.lodge-name,.modal-title,.field label,.footer-brand{font-family:Cinzel,Georgia,serif}

/* HEADER — sólido, sóbrio e com regra dupla */
.site-header{
  height:var(--header);
  position:sticky;
  top:0;
  z-index:60;
  background:rgba(5,4,2,.975);
  border-bottom:1px solid var(--gold-dark);
  box-shadow:0 8px 28px rgba(0,0,0,.32);
}
.site-header::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:4px;height:1px;
  background:linear-gradient(90deg,transparent 2%,rgba(200,169,93,.12) 12%,rgba(200,169,93,.5) 50%,rgba(200,169,93,.12) 88%,transparent 98%);
}
.header-inner{height:100%;display:flex;align-items:center;gap:26px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;min-width:0;flex:0 1 285px}
.brand-mark{width:52px;height:52px;display:grid;place-items:center;flex:none}
.brand-mark img{width:50px;height:50px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}
.brand-fallback{width:46px;height:46px;border:1px solid var(--line-strong);display:grid;place-items:center;font-family:Cinzel;font-size:.68rem;color:var(--gold)}
.brand-name{font-size:.68rem;line-height:1.35;color:#ddd2b9;letter-spacing:.025em}
.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:clamp(11px,1.1vw,20px);white-space:nowrap}
.nav-link{position:relative;text-decoration:none;font-size:.64rem;letter-spacing:.045em;color:#c9bea5;padding:31px 0 29px;transition:.2s color}
.nav-link::after{content:"";position:absolute;left:50%;right:50%;bottom:14px;height:1px;background:var(--gold);transition:.2s left,.2s right}
.nav-link:hover,.nav-link.active{color:var(--gold-bright)}
.nav-link:hover::after,.nav-link.active::after{left:0;right:0}
.header-actions{display:flex;align-items:center;gap:10px;flex:none}.language{position:relative}
.lang-button,.menu-button{height:36px;border:1px solid var(--line-strong);background:transparent;color:var(--ivory);border-radius:0;cursor:pointer}
.lang-button{padding:0 12px;font-size:.63rem;letter-spacing:.12em}
.lang-menu{display:none;position:absolute;right:0;top:45px;min-width:175px;padding:6px;background:#0c0a06;border:1px solid var(--gold-dark);box-shadow:0 16px 40px rgba(0,0,0,.55)}
.lang-menu.open{display:block}.lang-option{width:100%;border:0;border-bottom:1px solid rgba(200,169,93,.09);background:transparent;color:#ddd3bc;padding:10px 11px;text-align:left;cursor:pointer;font:400 .79rem "Libre Baskerville",serif}
.lang-option:last-child{border-bottom:0}.lang-option:hover,.lang-option.active{background:rgba(200,169,93,.07);color:var(--gold-bright)}
.menu-button{display:none;width:40px;font-size:.95rem}.sigo-link{border:1px solid var(--line-strong);padding:8px 11px;text-decoration:none;font-family:Cinzel;font-size:.62rem;color:var(--gold-bright)}
.mobile-panel{display:none;position:fixed;inset:var(--header) 0 auto 0;background:#070604;border-bottom:1px solid var(--gold-dark);box-shadow:0 18px 45px rgba(0,0,0,.55);z-index:55;padding:10px 24px 22px}
.mobile-panel.open{display:block}.mobile-link{display:block;text-decoration:none;padding:14px 5px;border-bottom:1px solid rgba(200,169,93,.11);font-size:.73rem;color:#d3c8ae}.mobile-link.active{color:var(--gold-bright)}

/* HOME — eixo central, como frontispício institucional */
.hero{
  min-height:calc(94vh - var(--header));
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
  padding:78px 0 88px;
  border-bottom:1px solid rgba(200,169,93,.18);
}
.hero::before{
  content:"";
  position:absolute;
  inset:26px 22px 28px;
  pointer-events:none;
  border:1px solid rgba(200,169,93,.095);
  box-shadow:inset 0 0 0 5px rgba(200,169,93,.018);
}
.hero::after{
  content:"";
  position:absolute;
  left:50%;bottom:0;transform:translateX(-50%);
  width:min(520px,70vw);height:12px;
  background:
    linear-gradient(90deg,transparent 0 10%,var(--gold-dark) 10% 45%,transparent 45% 47%,var(--gold) 47% 53%,transparent 53% 55%,var(--gold-dark) 55% 90%,transparent 90%);
  opacity:.62;
}
.hero-grid{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:940px;gap:0}
.hero-grid>div:first-child{display:contents}
.hero-logo{order:-3;display:grid;place-items:center;position:relative;margin-bottom:28px}
.hero-logo::before{
  content:"";
  position:absolute;
  width:190px;height:190px;
  border:1px solid rgba(200,169,93,.23);
  transform:rotate(45deg);
  box-shadow:inset 0 0 0 6px rgba(200,169,93,.018),0 0 55px rgba(200,169,93,.035);
}
.hero-logo img{width:168px;height:168px;object-fit:contain;position:relative;filter:drop-shadow(0 16px 24px rgba(0,0,0,.6))}
.hero-logo .brand-fallback{width:150px;height:150px;font-size:2rem;position:relative}
.eyebrow{color:var(--gold);font-size:.7rem;letter-spacing:.19em;text-transform:uppercase;margin:0 0 18px}
body[data-page="home"] .eyebrow{order:-2}
.display{font-size:clamp(2.4rem,4.25vw,4.65rem);line-height:1.08;letter-spacing:.005em;margin:0;color:#f0e7d3;font-weight:500;text-wrap:balance}
body[data-page="home"] .display{max-width:930px;order:-1}
.hero-lead{font-size:clamp(1rem,1.28vw,1.17rem);max-width:790px;color:#bdb29b;margin:28px auto 32px;line-height:1.85}
.actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:inherit}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:0 18px;border-radius:0;text-decoration:none;font-size:.66rem;letter-spacing:.055em;border:1px solid var(--line-strong);transition:.18s background,.18s color,.18s border-color;cursor:pointer}
.button.primary{background:var(--gold);color:#0a0804;border-color:var(--gold);font-weight:700}.button.secondary{color:#e2d7be;background:transparent}.button:hover{background:var(--gold-bright);border-color:var(--gold-bright);color:#090704}

/* SEÇÕES — mais editoriais, menos “cards de app” */
.section{padding:92px 0;position:relative}
.section.alt{background:linear-gradient(180deg,rgba(216,200,162,.018),rgba(200,169,93,.028),rgba(216,200,162,.014));border-block:1px solid rgba(200,169,93,.12)}
.section.alt::before,.section.alt::after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:min(900px,78vw);height:1px;background:linear-gradient(90deg,transparent,var(--gold-dark),transparent);opacity:.45}
.section.alt::before{top:5px}.section.alt::after{bottom:5px}
.section-head{max-width:830px;margin-bottom:42px}
.section-title{font-size:clamp(1.75rem,2.85vw,2.75rem);line-height:1.24;margin:0 0 18px;font-weight:500;color:#eee4cf;letter-spacing:.015em}
.section-title::after{content:"";display:block;width:112px;height:7px;margin-top:17px;background:linear-gradient(90deg,var(--gold-dark) 0 43%,transparent 43% 47%,var(--gold) 47% 53%,transparent 53% 57%,var(--gold-dark) 57% 100%);opacity:.7}
.section-text{font-size:1rem;color:#b0a58e;margin:0;max-width:780px}.prose{color:#c7bda7;font-size:1rem}.prose p{margin:0 0 19px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.card{position:relative;border:1px solid var(--line);background:rgba(12,10,6,.72);border-radius:0;padding:28px;box-shadow:inset 0 0 0 4px rgba(200,169,93,.018)}
.card::before{content:"";position:absolute;left:8px;right:8px;top:8px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dark),transparent);opacity:.45}
.card h3{margin:0 0 13px;font-size:.92rem;line-height:1.48;color:#e5dbc3;font-weight:600;letter-spacing:.02em}.card p{margin:0;color:#afa48d;font-size:.94rem}.card-link{text-decoration:none;transition:.2s border-color,.2s background}.card-link:hover{border-color:var(--line-strong);background:rgba(19,16,9,.82)}
body[data-page="home"] .section.alt .grid-4{gap:26px}
body[data-page="home"] .section.alt .grid-4 .card{border:0;border-top:1px solid var(--gold-dark);box-shadow:none;background:transparent;padding:24px 5px 0}
body[data-page="home"] .section.alt .grid-4 .card::before{display:none}
body[data-page="home"] .section.alt .grid-4 .card:hover{background:transparent;border-top-color:var(--gold-bright)}
body[data-page="home"] .grid-2>.card{align-self:start;border-width:1px 1px 3px}
.stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:30px;border-block:1px solid var(--line)}
.stat{padding:19px 22px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat-value{font-family:Cinzel;color:var(--gold-bright);font-size:1.75rem;line-height:1}.stat-label{font-size:.78rem;color:#9f947d;margin-top:8px}
.bullet-list{padding:0;margin:22px 0 0;list-style:none}.bullet-list li{position:relative;padding:8px 0 8px 21px;color:#c2b69e}.bullet-list li::before{content:"◆";position:absolute;left:0;top:.72em;font-size:.38rem;color:var(--gold)}

/* CAPAS INTERNAS */
.page-hero{position:relative;padding:88px 0 64px;text-align:center;border-bottom:1px solid rgba(200,169,93,.18);background:linear-gradient(180deg,rgba(200,169,93,.035),transparent 72%)}
.page-hero::before{content:"";position:absolute;left:50%;top:22px;transform:translateX(-50%);width:min(680px,74vw);height:1px;background:linear-gradient(90deg,transparent,var(--gold-dark),transparent);opacity:.65}
.page-hero::after{content:"◆";position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);width:18px;height:18px;display:grid;place-items:center;background:var(--bg);color:var(--gold);font-size:.48rem;border:1px solid var(--gold-dark);rotate:45deg}
.page-hero .container{max-width:930px}.page-hero .eyebrow{display:none}.page-hero .display{font-size:clamp(2.15rem,3.65vw,3.75rem)}.page-hero .hero-lead{margin:25px auto 0;max-width:850px}

/* ESTRUTURA E PESSOAS */
.structure{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--line)}
.structure-card{position:relative;padding:28px 24px;border:0;border-right:1px solid var(--line);border-radius:0;background:rgba(10,8,5,.5);min-height:205px}.structure-card:last-child{border-right:0}.structure-card::before{content:"";position:absolute;top:0;left:0;width:34px;height:3px;background:var(--gold-dark)}
.structure-index{font-family:Cinzel;color:#76633a;font-size:.61rem;margin-bottom:17px;letter-spacing:.14em}.structure-card h3{font-size:.84rem;margin:0 0 11px;color:#e5dbc4;font-weight:600}.structure-card p{color:#a99e87;font-size:.9rem;margin:0}
.people-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.person-card{position:relative;border:1px solid var(--line);border-radius:0;padding:29px 18px 25px;text-align:center;background:rgba(11,9,6,.66);box-shadow:inset 0 0 0 4px rgba(200,169,93,.014)}
.person-card::before,.person-card::after{content:"";position:absolute;width:20px;height:20px;border-color:var(--gold-dark);opacity:.7}.person-card::before{top:6px;left:6px;border-top:1px solid;border-left:1px solid}.person-card::after{right:6px;bottom:6px;border-right:1px solid;border-bottom:1px solid}
.avatar{width:104px;height:128px;margin:0 auto 19px;padding:3px;border:1px solid var(--gold-dark);border-radius:52px 52px 4px 4px;background:#090704}
.avatar-inner{width:100%;height:100%;border-radius:48px 48px 2px 2px;overflow:hidden;background:#141008;display:grid;place-items:center}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-fallback{font-family:Cinzel;font-size:1.25rem;color:var(--gold)}
.person-name{color:#e8dec7;font-size:.75rem;line-height:1.55;margin-bottom:9px}.person-title{font-size:.8rem;color:#aa9f88;line-height:1.55}.notice{border:1px solid var(--line);border-left:3px solid var(--gold-dark);padding:14px 18px;color:#a99e87;background:rgba(200,169,93,.025);margin:0 0 28px;font-size:.9rem}

/* TRADIÇÃO */
.timeline{position:relative;margin-top:38px}.timeline::before{content:"";position:absolute;left:85px;top:4px;bottom:0;width:1px;background:var(--gold-dark);opacity:.65}
.timeline-item{display:grid;grid-template-columns:68px 1fr;gap:34px;padding:0 0 34px;position:relative}.timeline-year{font-family:Cinzel;color:var(--gold);font-size:.75rem;padding-top:5px;letter-spacing:.06em}
.timeline-content{position:relative;border:1px solid var(--line);border-radius:0;padding:22px 25px;background:rgba(12,10,6,.64)}.timeline-content::before{content:"◆";position:absolute;left:-40px;top:22px;color:var(--gold);font-size:.56rem;background:var(--bg);padding:1px 3px}
.timeline-content h3{font-size:.87rem;margin:0 0 9px;color:#dfd4bb}.timeline-content p{margin:0;color:#aa9f88;font-size:.92rem}.rite-card{position:relative;overflow:hidden;border-top:2px solid var(--gold-dark)}.rite-code{font-family:Cinzel;color:rgba(200,169,93,.17);font-size:2.05rem;position:absolute;right:18px;top:13px}.tag{display:inline-flex;border:1px solid var(--line);border-radius:0;padding:6px 9px;font-size:.68rem;color:#b1a58d;margin-top:18px}.tag.active{border-color:var(--gold-dark);color:var(--gold-bright)}

/* LOJAS */
.lodges-list{display:grid;gap:12px}.empty-state{border:1px solid rgba(200,169,93,.24);border-radius:0;padding:38px;text-align:center;color:#9f947d;background:rgba(200,169,93,.018);font-size:.92rem}
.lodge{border:1px solid var(--line);border-radius:0;overflow:hidden;background:rgba(11,9,6,.66)}.lodge-toggle{width:100%;border:0;background:transparent;color:inherit;padding:19px 22px;display:flex;align-items:center;gap:18px;text-align:left;cursor:pointer}.lodge-emblem{width:56px;height:56px;border-radius:0;border:1px solid var(--gold-dark);display:grid;place-items:center;flex:none;overflow:hidden;color:var(--gold);transition:width .32s ease,height .32s ease,padding .32s ease,border-color .32s ease}.lodge-emblem img{width:100%;height:100%;object-fit:contain}.lodge.open .lodge-emblem{width:124px;height:124px;padding:7px;border-color:var(--gold)}.lodge-summary{flex:1}.lodge-name{color:#e7dcc4;font-size:.86rem}.lodge-meta{display:block;font-size:.79rem;color:#9e937d;margin-top:4px}.lodge-chevron{color:var(--gold);transition:.2s transform}.lodge.open .lodge-chevron{transform:rotate(180deg)}.lodge-details{display:none;border-top:1px solid var(--line);padding:23px}.lodge.open .lodge-details{display:block}
.data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.data-box{padding:14px 15px;background:rgba(216,200,162,.012);border:1px solid rgba(200,169,93,.12);border-radius:0}.data-label{font-size:.57rem;letter-spacing:.1em;text-transform:uppercase;color:#897b5d;margin-bottom:5px}.data-value{color:#d8cdb5;font-size:.88rem;overflow-wrap:anywhere}

/* REGISTROS E DOCUMENTOS */
.registry{border:1px solid var(--line);border-radius:0;overflow:hidden;background:rgba(10,8,5,.42)}.registry-row{display:grid;grid-template-columns:1fr 155px 170px;gap:18px;align-items:center;padding:17px 20px;border-bottom:1px solid rgba(200,169,93,.11)}.registry-row:last-child{border-bottom:0}.registry-name{color:#ddd2ba;font-size:.9rem}.registry-date{color:#978c76;font-size:.83rem}.registry-actions{text-align:right}.text-button{border:0;background:transparent;color:var(--gold-bright);cursor:pointer;font:600 .7rem Cinzel;padding:5px;text-decoration:none;letter-spacing:.03em}.text-button:hover{text-decoration:underline}
.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:100;padding:28px}.modal.open{display:grid;place-items:center}.modal-card{width:min(980px,100%);height:min(88vh,850px);background:#0b0906;border:1px solid var(--gold-dark);border-radius:0;overflow:hidden;display:grid;grid-template-rows:auto 1fr}.modal-head{display:flex;align-items:center;gap:15px;padding:14px 18px;border-bottom:1px solid var(--line)}.modal-title{font-size:.73rem;flex:1;color:#ddd2ba}.modal-body{min-height:0;background:#151109;display:grid;place-items:center;overflow:auto}.modal-body iframe,.modal-body img{width:100%;height:100%;border:0;object-fit:contain}.modal-body img{max-height:100%;padding:14px}.modal-close{border:1px solid var(--line);background:transparent;color:#ddd2ba;border-radius:0;padding:7px 11px;cursor:pointer}.open-original{font-size:.76rem;color:var(--gold-bright)}

/* CONTATO */
.contact-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:42px}.contact-card{border-top:2px solid var(--gold-dark)}.contact-email{display:inline-flex;margin-top:8px;color:var(--gold-bright);font-size:1rem}.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field.full{grid-column:1/-1}.field label{display:block;font-size:.61rem;color:#aa9e84;margin-bottom:8px;letter-spacing:.055em}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:0;background:#0a0805;color:#e8dec8;padding:13px 14px;font:.92rem "Libre Baskerville",serif;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--gold-dark);box-shadow:inset 3px 0 0 var(--gold-dark)}.field textarea{min-height:155px;resize:vertical}.form-status{grid-column:1/-1;min-height:25px;font-size:.84rem}.form-status.error{color:#d9a09a}.form-status.success{color:#b3c99c}.privacy-note{font-size:.75rem;color:#7d735f;margin-top:11px}

/* RODAPÉ */
.site-footer{position:relative;padding:48px 0 30px;border-top:1px solid var(--gold-dark);margin-top:42px;background:#050402}.site-footer::before{content:"";position:absolute;left:50%;top:5px;transform:translateX(-50%);width:min(760px,75vw);height:1px;background:linear-gradient(90deg,transparent,var(--gold-dark),transparent);opacity:.55}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:34px;align-items:end}.footer-brand{color:#d6cbb2;font-size:.72rem}.footer-note{color:#8f846f;font-size:.79rem;margin-top:8px}.footer-note a{color:#b7aa90}.footer-links{display:flex;flex-wrap:wrap;gap:18px;justify-content:flex-end}.footer-links a{font-size:.77rem;color:#978b74;text-decoration:none}.footer-links a:hover{color:var(--gold)}.copyright{margin-top:28px;padding-top:20px;border-top:1px solid rgba(200,169,93,.09);color:#6f6654;font-size:.72rem}

@media(max-width:1180px){.desktop-nav{display:none}.menu-button{display:block}.brand{flex:1}.people-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.structure{grid-template-columns:repeat(2,minmax(0,1fr))}.structure-card:nth-child(2){border-right:0}.structure-card:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:900px){:root{--header:74px}.hero{min-height:auto;padding:72px 0 80px}.hero::before{inset:18px 14px 23px}.hero-logo::before{width:155px;height:155px}.hero-logo img{width:136px;height:136px}.display{font-size:clamp(2.15rem,8vw,3.75rem)}.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.registry-row{grid-template-columns:1fr auto}.registry-date{grid-column:1}.registry-actions{grid-column:2;grid-row:1/3}.contact-options{grid-template-columns:1fr}.data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr}.footer-links{justify-content:flex-start}}
@media(max-width:650px){.container,.narrow{width:min(100% - 30px,var(--max))}.brand-name{display:none}.header-inner{gap:10px}.section{padding:68px 0}.grid-4,.grid-3,.grid-2,.structure,.people-grid,.stat-row{grid-template-columns:1fr}.card{padding:23px}.page-hero{padding:62px 0 48px}.hero{padding:60px 0 66px}.hero-logo{margin-bottom:23px}.hero-logo::before{width:128px;height:128px}.hero-logo img{width:112px;height:112px}.hero::before{inset:12px 8px 18px}.hero-lead{font-size:.93rem;line-height:1.75}.actions{justify-content:center}.button{width:100%;max-width:330px}.structure-card,.structure-card:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.structure-card:last-child{border-bottom:0}.timeline::before{left:7px}.timeline-item{grid-template-columns:1fr;padding-left:31px;gap:8px}.timeline-content::before{left:-29px}.timeline-year{padding:0}.registry-row{grid-template-columns:1fr;gap:7px}.registry-date,.registry-actions{grid-column:auto;grid-row:auto;text-align:left}.data-grid{grid-template-columns:1fr}.form{grid-template-columns:1fr}.field.full{grid-column:auto}.modal{padding:8px}.avatar{width:96px;height:118px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* =========================================================
   V2.2 — DIREÇÃO VISUAL APROVADA
   Institucional, egípcia, editorial, sem linguagem de "app"
   ========================================================= */
:root{
  --v22-ink:#1b1710;
  --v22-paper:#e9dfc7;
  --v22-paper-deep:#d8c7a2;
  --v22-gold:#c4a158;
  --v22-gold-light:#ddc27d;
  --v22-gold-dark:#735a25;
  --v22-night:#070806;
  --v22-night-soft:#0d0e0b;
}

/* Cabeçalho mais próximo de uma instituição e menos de uma landing page */
.site-header{
  height:74px;
  background:rgba(5,7,6,.985);
  border-bottom:1px solid var(--v22-gold-dark);
  box-shadow:none;
}
.site-header::after{bottom:2px;opacity:.72}
.header-inner{gap:22px}
.brand{flex:0 1 405px;gap:12px}
.brand-mark{width:50px;height:50px}
.brand-mark img{width:48px;height:48px}
.brand-name{
  color:var(--v22-gold-light);
  font-size:.58rem;
  line-height:1.42;
  letter-spacing:.035em;
  text-transform:uppercase;
  max-width:330px;
}
.desktop-nav{gap:clamp(12px,1vw,19px)}
.nav-link{
  padding:28px 0 25px;
  font-size:.60rem;
  letter-spacing:.035em;
  color:#ddd5c5;
}
.nav-link::after{bottom:13px}
.lang-button,.menu-button{height:34px;border:0;border-left:1px solid rgba(196,161,88,.28);color:#e1d8c5;padding-left:15px}
.lang-button::before{content:"◉";font-size:.65rem;color:var(--v22-gold);margin-right:7px}
.sigo-link{border-color:var(--v22-gold-dark)}

/* HERO DA HOME */
.home-hero{
  position:relative;
  min-height:535px;
  display:flex;
  align-items:center;
  overflow:hidden;
  border-bottom:2px solid var(--v22-gold-dark);
  background:#050605 url("../img/hero-temple.webp") center center/cover no-repeat;
}
.home-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at center,rgba(0,0,0,.03) 0 24%,rgba(0,0,0,.28) 58%,rgba(0,0,0,.52) 100%),
    linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.24));
  pointer-events:none;
}
.home-hero::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:3px;height:1px;
  background:linear-gradient(90deg,transparent 2%,rgba(221,194,125,.35) 16%,rgba(221,194,125,.8) 50%,rgba(221,194,125,.35) 84%,transparent 98%);
}
.home-hero-shade{position:absolute;inset:0;pointer-events:none}
.home-hero-inner{
  position:relative;
  z-index:2;
  text-align:center;
  max-width:900px;
  padding:42px 24px 36px;
}
.home-seal{height:172px;margin:0 auto 20px;display:grid;place-items:center}
.home-seal img{max-height:166px;max-width:280px;object-fit:contain;filter:drop-shadow(0 7px 15px rgba(0,0,0,.75))}
.home-seal-fallback{width:126px;height:126px;place-items:center;border:1px solid rgba(196,161,88,.52);color:var(--v22-gold-light);font:400 4rem Cinzel,serif}
.home-title{
  margin:0;
  font:500 clamp(2.7rem,4.2vw,4.65rem)/1.08 Cinzel,Georgia,serif;
  letter-spacing:.045em;
  color:var(--v22-gold-light);
  text-transform:uppercase;
  text-shadow:0 3px 18px rgba(0,0,0,.9);
}
.home-subtitle{
  max-width:820px;
  margin:10px auto 0;
  color:#f0e9da;
  font:400 clamp(.82rem,1.15vw,1.05rem)/1.55 Cinzel,Georgia,serif;
  letter-spacing:.07em;
  text-transform:uppercase;
  text-shadow:0 2px 12px rgba(0,0,0,.9);
}
.home-location{
  margin:18px 0 0;
  color:#baa982;
  font-size:.9rem;
  letter-spacing:.08em;
}
.home-hero-actions{
  margin-top:19px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:20px;
}
.home-hero-actions a{
  color:var(--v22-gold-light);
  text-decoration:none;
  text-transform:uppercase;
  font:500 .69rem Cinzel,serif;
  letter-spacing:.04em;
  border-bottom:1px solid rgba(196,161,88,.5);
  padding:6px 0 4px;
}
.home-hero-actions a::after{content:"  →";margin-left:9px}
.home-hero-actions a:hover{color:#fff0c5;border-bottom-color:#fff0c5}
.hero-action-divider{height:28px;width:1px;background:var(--v22-gold)}

/* PAPEL / DOCUMENTO */
.paper-section{
  position:relative;
  color:var(--v22-ink);
  background:
    radial-gradient(circle at 18% 24%,rgba(124,87,38,.06),transparent 19rem),
    radial-gradient(circle at 82% 78%,rgba(124,87,38,.045),transparent 22rem),
    repeating-linear-gradient(0deg,rgba(98,68,28,.018) 0 1px,transparent 1px 4px),
    var(--v22-paper);
  border-block:1px solid #8f7136;
}
.paper-frame{
  position:relative;
  padding-top:34px;
  padding-bottom:34px;
}
.paper-frame::before,.paper-frame::after{
  content:"";
  position:absolute;
  width:22px;height:22px;
  border-color:#80652f;
  opacity:.58;
}
.paper-frame::before{top:12px;left:0;border-top:1px solid;border-left:1px solid}
.paper-frame::after{right:0;bottom:12px;border-right:1px solid;border-bottom:1px solid}
.home-about-grid{
  min-height:245px;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);
  gap:70px;
  align-items:center;
}
.paper-copy h2{
  margin:0;
  color:#211c13;
  font:500 clamp(1.85rem,2.6vw,2.8rem)/1.15 Cinzel,Georgia,serif;
  letter-spacing:.02em;
}
.antique-rule{width:58px;height:1px;background:#8e6f32;margin:13px 0 20px;position:relative}
.antique-rule::after{content:"";position:absolute;right:-14px;top:-2px;width:5px;height:5px;transform:rotate(45deg);border:1px solid #8e6f32}
.paper-copy p{margin:0 0 12px;max-width:760px;color:#3c3427;font-size:.94rem;line-height:1.65}
.paper-illustration{display:flex;align-items:center;justify-content:center;opacity:.68}
.paper-illustration img{width:min(100%,520px);mix-blend-mode:multiply;filter:sepia(.18) contrast(.92)}
.editorial-link{
  display:inline-flex;gap:11px;align-items:center;margin-top:5px;
  color:#2b251a;text-decoration:none;text-transform:uppercase;
  font:600 .66rem Cinzel,serif;letter-spacing:.035em;
  border-bottom:1px solid #8c6d32;padding-bottom:3px;
}
.editorial-link:hover{color:#6f5423}
.editorial-link.dark{color:var(--v22-gold-light);border-bottom-color:rgba(196,161,88,.58)}
.editorial-link.dark:hover{color:#fff0c6}

/* faixa institucional escura: sem cards */
.institution-band{
  background:
    linear-gradient(180deg,rgba(255,255,255,.01),rgba(255,255,255,0)),
    #0a0c0a;
  border-block:1px solid var(--v22-gold-dark);
}
.institution-band-grid{display:grid;grid-template-columns:1fr 1fr}
.institution-feature{
  min-height:155px;
  display:grid;
  grid-template-columns:112px 1fr;
  align-items:center;
  gap:26px;
  padding:30px 42px 30px 20px;
}
.institution-feature+ .institution-feature{border-left:1px solid rgba(196,161,88,.36);padding-left:44px}
.institution-symbol{
  width:88px;height:88px;display:grid;place-items:center;
  color:var(--v22-gold-light);
  font-size:4.4rem;line-height:1;
  border-right:1px solid rgba(196,161,88,.42);
  padding-right:22px;
  text-shadow:0 0 22px rgba(196,161,88,.12);
}
.institution-symbol.geometric{font-size:3.6rem}
.institution-feature h2{margin:0 0 8px;font:500 1.15rem Cinzel,serif;color:#e7dbc1;letter-spacing:.035em;text-transform:uppercase}
.institution-feature p{margin:0;color:#c9c0ae;font-size:.92rem;line-height:1.55;max-width:530px}

/* Lojas / presença */
.home-lodges-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:62px;align-items:center;min-height:175px}
.world-presence{opacity:.8;display:flex;justify-content:center;align-items:center}
.world-presence img{width:100%;max-width:650px;mix-blend-mode:multiply;filter:sepia(.08) contrast(.92)}

/* bloco de registros abaixo do conceito principal */
.registry-section{padding:56px 0 62px;background:#070806;border-top:1px solid rgba(196,161,88,.25)}
.registry-home-grid{display:grid;grid-template-columns:1fr 1.05fr 1.2fr;gap:44px;align-items:start}
.registry-kicker{display:block;color:var(--v22-gold-light);font:500 1.05rem Cinzel,serif;margin-bottom:10px;text-transform:uppercase;letter-spacing:.025em}
.registry-home-grid p{margin:0;color:#a9a18f;font-size:.86rem;line-height:1.65}
.registry-home-stats{display:grid;grid-template-columns:repeat(3,1fr);border-inline:1px solid rgba(196,161,88,.26)}
.registry-home-stats div{text-align:center;padding:4px 12px}
.registry-home-stats div+div{border-left:1px solid rgba(196,161,88,.2)}
.registry-home-stats strong{display:block;font:500 1.85rem Cinzel,serif;color:var(--v22-gold-light);line-height:1.1}
.registry-home-stats span{display:block;margin-top:7px;color:#918875;font:400 .61rem Cinzel,serif;line-height:1.45;text-transform:uppercase}
.registry-home-contact h2{margin:0 0 8px;color:#ddd2bc;font:500 1rem Cinzel,serif}

/* Páginas internas: mesma família visual, sem ficarem temáticas demais */
.page-hero{
  padding:82px 0 66px;
  background:
    linear-gradient(90deg,rgba(2,3,2,.82),rgba(2,3,2,.7),rgba(2,3,2,.82)),
    url("../img/hero-temple.webp") center/cover no-repeat;
  border-bottom:2px solid var(--v22-gold-dark);
}
.page-hero::before{top:18px}
.page-hero::after{background:#080907}
.page-hero .display{color:var(--v22-gold-light);letter-spacing:.025em}
.page-hero .hero-lead{color:#d1c7b2}

/* Torna os elementos internos mais editoriais e menos "cards" */
.card,.person-card,.timeline-content,.lodge,.registry,.empty-state,.contact-card{
  box-shadow:none;
}
.card{background:rgba(12,13,10,.68)}
.structure{border-color:rgba(196,161,88,.32)}
.structure-card{background:rgba(11,12,9,.72)}
.people-grid{gap:12px}
.person-card{background:#0b0c09;border-color:rgba(196,161,88,.28)}
.avatar{border-color:#80652f}

@media(max-width:1180px){
  .brand{flex:1}.brand-name{max-width:420px}
}
@media(max-width:900px){
  .site-header{height:70px}
  .home-hero{min-height:500px}
  .home-about-grid,.home-lodges-grid{grid-template-columns:1fr;gap:24px}
  .paper-illustration{max-height:210px;overflow:hidden}
  .paper-illustration img{max-width:440px}
  .institution-band-grid{grid-template-columns:1fr}
  .institution-feature+ .institution-feature{border-left:0;border-top:1px solid rgba(196,161,88,.28);padding-left:20px}
  .registry-home-grid{grid-template-columns:1fr;gap:28px}
  .registry-home-stats{border-inline:0;border-block:1px solid rgba(196,161,88,.24);padding:18px 0}
}
@media(max-width:650px){
  .home-hero{min-height:455px;background-position:center}
  .home-hero-inner{padding:36px 16px 30px}
  .home-seal{height:126px;margin-bottom:15px}.home-seal img{max-height:122px;max-width:210px}
  .home-title{font-size:clamp(2rem,10vw,2.8rem);letter-spacing:.025em}
  .home-subtitle{font-size:.72rem;line-height:1.5;letter-spacing:.04em}
  .home-location{font-size:.75rem;margin-top:13px}
  .home-hero-actions{gap:12px;flex-direction:column;margin-top:15px}.hero-action-divider{display:none}
  .home-hero-actions a{font-size:.62rem}
  .paper-frame{padding-top:29px;padding-bottom:29px}
  .paper-copy h2{font-size:1.72rem}
  .paper-copy p{font-size:.88rem}
  .paper-illustration{display:none}
  .institution-feature{grid-template-columns:65px 1fr;gap:18px;padding:25px 0}
  .institution-feature+ .institution-feature{padding-left:0}
  .institution-symbol{width:60px;height:66px;font-size:3.2rem;padding-right:16px}
  .institution-symbol.geometric{font-size:2.7rem}
  .institution-feature h2{font-size:.95rem}
  .institution-feature p{font-size:.84rem}
  .world-presence{margin-top:4px}
  .registry-home-stats{grid-template-columns:1fr 1fr 1fr}
  .registry-home-stats div{padding:4px 7px}
  .brand-name{display:none}
}


/* =========================================================
   V2.3 — ajustes de legibilidade e responsividade do hero
   ========================================================= */

/* O cabeçalho pode usar mais largura que o conteúdo editorial. */
.site-header .container{
  width:min(1360px,calc(100% - 48px));
}
.site-header{
  height:78px;
}
.brand{
  flex:0 1 350px;
}
.brand-name{
  font-size:.62rem;
  max-width:290px;
}
.desktop-nav{
  gap:clamp(15px,1.15vw,24px);
}
.nav-link{
  font-size:.72rem;
  letter-spacing:.025em;
  padding:30px 0 27px;
}
.nav-link::after{
  bottom:14px;
}
.lang-button{
  font-size:.68rem;
}

/* A arquitetura egípcia ganha presença sem perder o centro escuro. */
.home-hero::before{
  z-index:1;
  background:
    radial-gradient(ellipse at center,rgba(0,0,0,0) 0 27%,rgba(0,0,0,.17) 60%,rgba(0,0,0,.34) 100%),
    linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.12));
}
.home-hero-shade{
  z-index:0;
}
.home-hero-inner{
  z-index:2;
}

/* Com o menu maior, notebooks passam ao menu compacto antes de encavalar. */
@media(max-width:1260px){
  .desktop-nav{display:none}
  .menu-button{display:block}
  .brand{flex:1}
}

/* No celular, recompomos visualmente as laterais da foto.
   Isso mantém as colunas visíveis em vez de o 'cover' recortar só o centro preto. */
@media(max-width:650px){
  .site-header{height:70px}
  .site-header .container{width:min(100% - 30px,1360px)}
  .home-hero{
    background:#050605;
    min-height:475px;
  }
  .home-hero-shade{
    overflow:hidden;
    background:linear-gradient(
      90deg,
      rgba(0,0,0,.02) 0%,
      rgba(0,0,0,.20) 23%,
      rgba(0,0,0,.72) 44%,
      rgba(0,0,0,.72) 56%,
      rgba(0,0,0,.20) 77%,
      rgba(0,0,0,.02) 100%
    );
  }
  .home-hero-shade::before,
  .home-hero-shade::after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    width:58%;
    background-image:url("../img/hero-temple.webp");
    background-repeat:no-repeat;
    background-size:auto 100%;
    opacity:.98;
    z-index:-1;
  }
  .home-hero-shade::before{
    left:0;
    background-position:17% center;
  }
  .home-hero-shade::after{
    right:0;
    background-position:83% center;
  }
  .home-hero::before{
    background:
      radial-gradient(ellipse at center,rgba(0,0,0,.08) 0 28%,rgba(0,0,0,.25) 68%,rgba(0,0,0,.42) 100%),
      linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.16));
  }
}

/* V2.3.1 — arte responsiva dedicada para o hero em telas estreitas */
@media(max-width:800px){
  .home-hero{
    background:#050605 url("../img/hero-temple-mobile.webp") center center/cover no-repeat;
  }
  .home-hero-shade{
    background:none;
  }
  .home-hero-shade::before,
  .home-hero-shade::after{
    display:none;
  }
  .page-hero{
    background:
      linear-gradient(90deg,rgba(2,3,2,.72),rgba(2,3,2,.55),rgba(2,3,2,.72)),
      url("../img/hero-temple-mobile.webp") center center/cover no-repeat;
  }
}

/* =========================================================
   V2.4 — correção do menu e do hero
   ========================================================= */

/* Menu desktop com presença institucional real. */
.site-header{
  height:86px;
}
.site-header .container{
  width:min(1500px,calc(100% - 56px));
}
.header-inner{
  gap:26px;
}
.brand{
  flex:0 1 325px;
}
.brand-name{
  font-size:.66rem;
  line-height:1.38;
  max-width:270px;
}
.desktop-nav{
  gap:clamp(16px,1.15vw,25px);
}
.nav-link{
  font-size:.84rem;
  letter-spacing:.012em;
  padding:33px 0 30px;
  font-weight:600;
}
.nav-link::after{
  bottom:15px;
}
.lang-button{
  font-size:.76rem;
}

/* Em vez de clarear artificialmente a foto inteira, usamos uma versão
   praticamente original, com apenas uma recuperação discreta das laterais. */
.home-hero{
  background:#050605 url("../img/hero-temple-v24.webp") center center/cover no-repeat;
}
.home-hero::before{
  z-index:1;
  background:
    radial-gradient(ellipse at center,rgba(0,0,0,0) 0 28%,rgba(0,0,0,.18) 62%,rgba(0,0,0,.28) 100%),
    linear-gradient(180deg,rgba(0,0,0,.01),rgba(0,0,0,.11));
}
.page-hero{
  background:
    linear-gradient(90deg,rgba(2,3,2,.76),rgba(2,3,2,.48),rgba(2,3,2,.76)),
    url("../img/hero-temple-v24.webp") center/cover no-repeat;
}

/* O menu só passa ao modo compacto quando realmente não cabe. */
@media(max-width:1390px){
  .desktop-nav{display:none}
  .menu-button{display:block}
  .brand{flex:1}
}

/* No celular, não usamos mais a imagem clareada/recomposta.
   As duas laterais usam a própria arte preservando a proporção original,
   enquanto o centro recebe apenas uma sombra para manter a leitura. */
@media(max-width:800px){
  .site-header{height:72px}
  .site-header .container{width:min(100% - 30px,1500px)}
  .home-hero{
    min-height:485px;
    background:#050605;
  }
  .home-hero-shade{
    display:block;
    z-index:0;
    overflow:hidden;
    background:linear-gradient(
      90deg,
      rgba(0,0,0,.04) 0%,
      rgba(0,0,0,.11) 24%,
      rgba(0,0,0,.74) 43%,
      rgba(0,0,0,.74) 57%,
      rgba(0,0,0,.11) 76%,
      rgba(0,0,0,.04) 100%
    );
  }
  .home-hero-shade::before,
  .home-hero-shade::after{
    content:"";
    display:block;
    position:absolute;
    top:0;
    bottom:0;
    width:74%;
    background-image:url("../img/hero-temple-v24.webp");
    background-repeat:no-repeat;
    background-size:auto 100%;
    opacity:1;
  }
  .home-hero-shade::before{
    left:-8%;
    background-position:8% center;
  }
  .home-hero-shade::after{
    right:-8%;
    background-position:92% center;
  }
  .home-hero::before{
    background:
      radial-gradient(ellipse at center,rgba(0,0,0,.02) 0 25%,rgba(0,0,0,.20) 64%,rgba(0,0,0,.34) 100%),
      linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.12));
  }
  .page-hero{
    background:
      linear-gradient(90deg,rgba(2,3,2,.78),rgba(2,3,2,.58),rgba(2,3,2,.78)),
      url("../img/hero-temple-v24.webp") center/auto 100% no-repeat,
      #050605;
  }
}


/* =========================================================
   V2.5 — hero essencial: logo flutuante + nome institucional
   ========================================================= */

/* O hero deixa de funcionar como uma landing page e passa a ser uma
   abertura institucional: símbolo e nome, sem chamadas auxiliares. */
.home-hero{
  min-height:565px;
}
.home-hero-inner{
  max-width:1180px;
  padding-top:48px;
  padding-bottom:46px;
}
.home-seal{
  height:260px;
  margin:0 auto 31px;
  display:grid;
  place-items:center;
}
.home-seal img{
  max-height:250px;
  max-width:min(430px,82vw);
  width:auto;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 12px 21px rgba(0,0,0,.78));
  transform-origin:center center;
  animation:heroFloat 5.8s ease-in-out infinite;
  will-change:transform;
}
@keyframes heroFloat{
  0%,100%{transform:translate3d(0,0,0) rotate(-.18deg)}
  50%{transform:translate3d(0,-11px,0) rotate(.18deg)}
}
.home-institution-name{
  max-width:1100px;
  margin:0 auto;
}
.home-title,
.home-subtitle{
  margin:0;
  color:var(--v22-gold-light);
  font:500 clamp(1.72rem,2.65vw,3.02rem)/1.22 Cinzel,Georgia,serif;
  letter-spacing:.038em;
  text-transform:uppercase;
  text-shadow:0 3px 18px rgba(0,0,0,.92);
}
.home-subtitle{
  max-width:none;
  margin:5px auto 0;
}

/* Elementos retirados do hero ficam também neutralizados caso algum
   navegador ainda esteja usando HTML em cache. */
.home-location,
.home-hero-actions,
.hero-action-divider{
  display:none!important;
}

@media(max-width:800px){
  .home-hero{
    min-height:520px;
  }
  .home-hero-inner{
    padding-top:38px;
    padding-bottom:38px;
  }
  .home-seal{
    height:205px;
    margin-bottom:25px;
  }
  .home-seal img{
    max-height:198px;
    max-width:min(340px,82vw);
  }
  .home-title,
  .home-subtitle{
    font-size:clamp(1.42rem,6.2vw,2.12rem);
    line-height:1.28;
    letter-spacing:.025em;
  }
  .home-subtitle{margin-top:4px}
}

@media(max-width:480px){
  .home-hero{
    min-height:500px;
  }
  .home-seal{
    height:180px;
    margin-bottom:22px;
  }
  .home-seal img{
    max-height:174px;
    max-width:84vw;
  }
  .home-title,
  .home-subtitle{
    font-size:clamp(1.28rem,6.4vw,1.72rem);
    letter-spacing:.018em;
  }
}

@media(prefers-reduced-motion:reduce){
  .home-seal img{animation:none}
}

/* =========================================================
   V2.8 — LOADING INSTITUCIONAL: MEDALHÃO E TRANSIÇÃO RÁPIDA
   ========================================================= */
body:not(.site-ready){
  overflow:hidden;
}
.site-loader{
  position:fixed;
  inset:0;
  z-index:100000;
  display:grid;
  place-items:center;
  padding:24px;
  opacity:1;
  visibility:visible;
  background:
    radial-gradient(circle at 50% 45%, rgba(198,160,70,.13), transparent 24%),
    radial-gradient(circle at 50% 52%, rgba(92,67,26,.08), transparent 42%),
    linear-gradient(180deg,#040403 0%,#090805 52%,#040403 100%);
  transition:opacity .20s ease, visibility .20s ease;
}
body.site-ready .site-loader{
  opacity:0;
  visibility:hidden;
}
.site-loader-content{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  transform:translateY(-1vh);
}
.site-loader-emblem{
  position:relative;
  width:136px;
  height:136px;
  display:grid;
  place-items:center;
}
.site-loader-diamond{
  position:absolute;
  inset:13px;
  border:1px solid rgba(202,168,83,.34);
  transform:rotate(45deg);
  box-shadow:0 0 28px rgba(179,139,48,.06);
}
.site-loader-diamond::before,
.site-loader-diamond::after{
  content:"";
  position:absolute;
  width:7px;
  height:7px;
  background:#c7a453;
  box-shadow:0 0 10px rgba(217,181,92,.20);
}
.site-loader-diamond::before{left:-4px;top:-4px}
.site-loader-diamond::after{right:-4px;bottom:-4px}
.site-loader-orbit{
  position:absolute;
  inset:2px;
  border-radius:50%;
  border:1px solid rgba(218,184,101,.16);
  animation:siteLoaderOrbit 3.2s linear infinite;
}
.site-loader-orbit::before{
  content:"";
  position:absolute;
  left:50%;
  top:-3px;
  width:6px;
  height:6px;
  margin-left:-3px;
  border-radius:50%;
  background:#d6b568;
  box-shadow:0 0 12px rgba(221,188,105,.55);
}
.site-loader-medallion{
  position:relative;
  z-index:2;
  width:92px;
  height:92px;
  border-radius:50%;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(215,180,91,.50);
  background:radial-gradient(circle,rgba(33,28,17,.98),rgba(8,7,5,.99) 72%);
  box-shadow:
    0 0 0 5px rgba(183,143,53,.045),
    0 0 34px rgba(173,132,45,.15),
    inset 0 0 24px rgba(206,170,79,.06);
  animation:siteLoaderBreathe 1.8s ease-in-out infinite;
}
.site-loader-medallion img{
  display:block;
  max-width:72px;
  max-height:72px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.site-loader-fallback{
  color:#d5b66d;
  font-family:"Cinzel",serif;
  font-size:3rem;
  line-height:1;
  text-shadow:0 0 16px rgba(210,174,86,.26);
}
.site-loader-wordmark{
  margin-top:27px;
  color:#e0c982;
  font-family:"Cinzel",serif;
  font-weight:600;
  font-size:.95rem;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.site-loader-rule{
  width:138px;
  height:13px;
  margin-top:8px;
  position:relative;
}
.site-loader-rule::before,
.site-loader-rule::after{
  content:"";
  position:absolute;
  top:6px;
  width:56px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(201,164,75,.58));
}
.site-loader-rule::before{left:0}
.site-loader-rule::after{right:0;transform:scaleX(-1)}
.site-loader-rule span{
  position:absolute;
  left:50%;
  top:3px;
  width:7px;
  height:7px;
  margin-left:-3.5px;
  border:1px solid rgba(211,176,87,.70);
  transform:rotate(45deg);
}
.site-loader-submark{
  margin-top:2px;
  color:rgba(231,220,191,.62);
  font-family:"Libre Baskerville",serif;
  font-size:.67rem;
  letter-spacing:.27em;
  text-transform:uppercase;
}
@keyframes siteLoaderOrbit{
  to{transform:rotate(360deg)}
}
@keyframes siteLoaderBreathe{
  0%,100%{transform:scale(1);filter:brightness(.96)}
  50%{transform:scale(1.025);filter:brightness(1.07)}
}
@media(max-width:600px){
  .site-loader-emblem{width:118px;height:118px}
  .site-loader-medallion{width:80px;height:80px}
  .site-loader-medallion img{max-width:62px;max-height:62px}
  .site-loader-wordmark{font-size:.80rem;letter-spacing:.14em;margin-top:23px}
  .site-loader-submark{font-size:.60rem;letter-spacing:.22em}
  .site-loader-rule{width:124px}
  .site-loader-rule::before,.site-loader-rule::after{width:50px}
}
@media(prefers-reduced-motion:reduce){
  .site-loader-orbit,
  .site-loader-medallion{animation:none}
}

@media(max-width:650px){.lodge.open .lodge-emblem{width:96px;height:96px;padding:5px}.lodge-toggle{gap:14px;padding:17px 16px}}

/* =========================================================
   V2.10 — LOJAS + ALTOS CARGOS / REPRESENTANTES
   Selos de Loja sem moldura quadrada e retratos em medalhão.
   ========================================================= */

/* LOJAS — o selo já é circular e transparente: não criar uma segunda forma em volta */
.lodge-emblem{
  width:68px;
  height:68px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  overflow:visible;
  display:grid;
  place-items:center;
  transition:width .34s ease,height .34s ease,transform .34s ease;
}
.lodge-emblem img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:50%;
  filter:drop-shadow(0 7px 12px rgba(0,0,0,.32));
}
.lodge.open .lodge-emblem{
  width:178px;
  height:178px;
  padding:0;
  border:0;
  transform:translateY(2px);
}
.lodge.open .lodge-emblem img{
  filter:drop-shadow(0 11px 20px rgba(0,0,0,.38));
}

/* SOBERANO SANTUÁRIO — abandonar o aspecto de "janela" e de card fechado */
.people-grid{
  gap:28px 22px;
}
.person-card{
  border:0;
  background:transparent;
  box-shadow:none;
  padding:20px 12px 26px;
  text-align:center;
  position:relative;
}
.person-card::before,
.person-card::after{
  display:none;
}
.person-card::after{
  content:"";
}

.avatar{
  width:148px;
  height:148px;
  margin:0 auto 24px;
  padding:5px;
  border:1px solid rgba(200,169,93,.72);
  border-radius:50%;
  background:#090806;
  box-shadow:
    0 0 0 5px rgba(200,169,93,.035),
    0 0 0 6px rgba(128,101,47,.34),
    0 12px 28px rgba(0,0,0,.28);
}
.avatar-inner{
  width:100%;
  height:100%;
  border-radius:50%;
  overflow:hidden;
  background:#141008;
  display:grid;
  place-items:center;
}
.avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
}
.avatar-fallback{
  font-size:1.45rem;
}
.person-name{
  position:relative;
  color:#e9dfc8;
  font-size:.82rem;
  line-height:1.55;
  margin:0 auto 10px;
  max-width:240px;
}
.person-name::before{
  content:"";
  display:block;
  width:34px;
  height:1px;
  margin:0 auto 14px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  opacity:.78;
}
.person-title{
  max-width:245px;
  margin:0 auto;
  color:#aaa08c;
  font-size:.78rem;
  line-height:1.6;
}

@media(max-width:900px){
  .avatar{width:136px;height:136px}
  .people-grid{gap:24px 18px}
  .lodge.open .lodge-emblem{width:154px;height:154px}
}

@media(max-width:650px){
  .lodge-emblem{width:62px;height:62px}
  .lodge.open .lodge-emblem{width:136px;height:136px;padding:0;border:0}
  .avatar{width:128px;height:128px;margin-bottom:21px}
  .person-card{padding:16px 8px 25px}
  .person-name{font-size:.8rem}
}


/* =========================================================
   V2.11 — HERO COM MARCA COMPLETA / SEM OSCILAÇÃO CONTÍNUA
   ========================================================= */
.sr-only{
  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;
}

.home-hero{
  min-height:700px;
}
.home-hero-inner{
  max-width:1180px;
  padding-top:38px;
  padding-bottom:38px;
}
.home-seal{
  width:100%;
  height:auto;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
}
.home-seal img.home-hero-logo{
  display:block;
  width:min(760px,76vw);
  max-width:100%;
  max-height:none;
  height:auto;
  object-fit:contain;
  animation:heroLogoReveal .62s ease-out both;
  transform:none;
  will-change:auto;
  filter:drop-shadow(0 14px 27px rgba(0,0,0,.82));
  transition:filter .38s ease, opacity .38s ease;
}
@keyframes heroLogoReveal{
  from{opacity:0;filter:drop-shadow(0 14px 27px rgba(0,0,0,.82)) brightness(.93)}
  to{opacity:1;filter:drop-shadow(0 14px 27px rgba(0,0,0,.82)) brightness(1)}
}

@media (hover:hover) and (pointer:fine){
  .home-seal img.home-hero-logo:hover{
    filter:
      drop-shadow(0 14px 27px rgba(0,0,0,.82))
      drop-shadow(0 0 18px rgba(222,188,96,.34))
      drop-shadow(0 0 42px rgba(197,155,55,.17))
      brightness(1.055);
  }
}

@media(max-width:800px){
  .home-hero{min-height:570px}
  .home-hero-inner{padding:30px 14px}
  .home-seal{height:auto;margin:0 auto}
  .home-seal img.home-hero-logo{
    width:min(620px,90vw);
    max-height:none;
    max-width:90vw;
  }
}

@media(max-width:480px){
  .home-hero{min-height:500px}
  .home-seal{height:auto;margin:0 auto}
  .home-seal img.home-hero-logo{
    width:96vw;
    max-width:96vw;
    max-height:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .home-seal img.home-hero-logo{animation:none;transition:none}
}


/* =========================================================
   V2.14 — REVISÃO INSTITUCIONAL
   Governo em hierarquia visual e Ritos com alinhamento uniforme.
   ========================================================= */

/* GOVERNO — composição fixa no desktop: 1 / 3 / 3.
   As posições são explícitas para impedir o auto-placement do CSS Grid
   de preencher os espaços vazios da primeira linha. */
[data-officers].people-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-template-rows:auto auto auto;
  gap:30px 22px;
  align-items:start;
}
[data-officers].people-grid > .person-card{
  grid-column:span 2;
}
/* 1ª linha — Grande Hierofante sozinho e centralizado */
[data-officers].people-grid > .person-card:nth-child(1){
  grid-column:3 / span 2;
  grid-row:1;
}
/* 2ª linha — Clarissa, Antonio e Hiei */
[data-officers].people-grid > .person-card:nth-child(2){grid-column:1 / span 2;grid-row:2}
[data-officers].people-grid > .person-card:nth-child(3){grid-column:3 / span 2;grid-row:2}
[data-officers].people-grid > .person-card:nth-child(4){grid-column:5 / span 2;grid-row:2}
/* 3ª linha — Roberto, Silvia e Rosana */
[data-officers].people-grid > .person-card:nth-child(5){grid-column:1 / span 2;grid-row:3}
[data-officers].people-grid > .person-card:nth-child(6){grid-column:3 / span 2;grid-row:3}
[data-officers].people-grid > .person-card:nth-child(7){grid-column:5 / span 2;grid-row:3}

/* RITOS — nome e sigla com igual presença e base inferior alinhada */
.rite-card{
  display:flex;
  flex-direction:column;
  min-height:285px;
  padding:28px;
}
.rite-card-head{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:128px;
  padding-bottom:18px;
  margin-bottom:18px;
  border-bottom:1px solid rgba(200,169,93,.18);
}
.rite-card .rite-name{
  margin:0;
  color:#eee4cf;
  font-size:.98rem;
  line-height:1.52;
  font-weight:600;
}
.rite-card .rite-code{
  position:static;
  display:block;
  margin:0;
  color:var(--gold-bright);
  font-size:1.02rem;
  line-height:1.25;
  letter-spacing:.12em;
  font-weight:600;
  opacity:1;
}
.rite-card-body{
  display:flex;
  flex-direction:column;
  flex:1;
}
.rite-card .rite-degrees{
  margin:0 0 18px;
  color:#c6baa2;
  font-family:Cinzel,Georgia,serif;
  font-size:.82rem;
  letter-spacing:.035em;
}
.rite-card .tag{
  margin-top:auto;
  align-self:flex-start;
}

@media(max-width:900px){
  [data-officers].people-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  [data-officers].people-grid > .person-card{
    grid-column:auto;
    grid-row:auto;
  }
  [data-officers].people-grid > .person-card:nth-child(1){
    grid-column:1 / -1;
    grid-row:1;
    width:min(100%,300px);
    justify-self:center;
  }
  .rite-card-head{
    min-height:116px;
  }
}

@media(max-width:650px){
  [data-officers].people-grid{
    grid-template-columns:1fr;
  }
  [data-officers].people-grid > .person-card:nth-child(1){
    grid-column:auto;
    grid-row:auto;
    width:100%;
  }
  .rite-card{
    min-height:0;
  }
  .rite-card-head{
    min-height:0;
  }
}
