@font-face{font-family:"Cinzel";src:url(/fontes/cinzel-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/fontes/cormorant-500i.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/fontes/cormorant-600.woff2) format("woff2");font-weight:600;font-display:swap}
:root{--noite:#070d18;--noite1:#0b1220;--noite2:#14233f;--ouro:#d9b444;--ouro-claro:#f0d77a;--ouro-escuro:#a8841e;--linha-ouro:rgba(217,180,68,.42);--claro:#eef1f6;--claro-suave:#b3bccb;
  --fundo:#f5f2ea;--fundo-alt:#fffdf8;--texto:#18202d;--suave:#4c566a;--borda:#e3d9c4;--destaque:#7d6210;--sombra:rgba(11,18,32,.28)}
@media (prefers-color-scheme:dark){:root{--fundo:#0c1525;--fundo-alt:#111c31;--texto:#eef1f6;--suave:#b3bccb;--borda:#24314b;--destaque:#e3c35e;--sombra:rgba(0,0,0,.6)}}
*{box-sizing:border-box;margin:0}
html{background:var(--noite);scroll-behavior:smooth;scroll-padding-top:76px;-webkit-text-size-adjust:100%}
body{background:var(--fundo);color:var(--texto);font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;font-weight:600;font-size:1.18rem;line-height:1.62;overflow-x:hidden}
::selection{background:rgba(217,180,68,.35)}
img{max-width:100%;height:auto}
a{color:inherit}
a:focus-visible{outline:2px solid var(--ouro-claro);outline-offset:3px;border-radius:4px}
.defs{position:absolute;width:0;height:0;overflow:hidden}
.ico{width:1.05em;height:1.05em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ── topo fixo: transparente sobre a abertura, sólido ao rolar ── */
.topo{position:fixed;inset:0 0 auto 0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px max(18px,env(safe-area-inset-right)) 12px max(18px,env(safe-area-inset-left));color:var(--claro);background:rgba(7,13,24,.94);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid rgba(217,180,68,.16)}
.marca{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:0}
.marca img{width:46px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}
.marca span{display:flex;flex-direction:column;line-height:1.12}
.marca b{font-family:"Cinzel",Georgia,serif;font-weight:600;color:var(--ouro);letter-spacing:.07em;font-size:1.08rem;white-space:nowrap}
.marca small{font-size:.86rem;color:var(--claro-suave);font-style:italic;font-weight:500;white-space:nowrap}
.menu{display:flex;gap:30px;font-family:"Cinzel",Georgia,serif;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase}
.menu a{position:relative;text-decoration:none;color:var(--claro-suave);padding:6px 0;transition:color .25s}
.menu a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ouro);transform:scaleX(0);transition:transform .3s}
.menu a:hover,.menu a:focus-visible{color:var(--ouro-claro)}
.menu a:hover::after,.menu a:focus-visible::after{transform:scaleX(1)}
.restrita{display:inline-flex;align-items:center;gap:8px;padding:.55em 1.1em;border:1px solid var(--linha-ouro);border-radius:999px;color:var(--ouro);text-decoration:none;font-family:"Cinzel",Georgia,serif;font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;transition:background .25s,color .25s,box-shadow .25s}
.restrita:hover,.restrita:focus-visible{background:var(--ouro);color:var(--noite);box-shadow:0 0 24px rgba(217,180,68,.35)}

/* ── abertura ── */
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:96px 0 84px;color:var(--claro);background:radial-gradient(ellipse 80% 60% at 50% 38%,#1a2c4f 0%,var(--noite1) 55%,var(--noite) 100%)}
.hero.curta{min-height:78vh}
.hero-fundo{position:absolute;inset:0;z-index:-1;pointer-events:none}
.estrelas{position:absolute;inset:0;pointer-events:none}
.estrelas.e1{background-image:radial-gradient(1px 1px at 7% 12%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 18% 38%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 29% 8%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 36% 62%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 47% 22%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 58% 46%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 66% 14%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 74% 58%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 83% 28%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 92% 9%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 95% 48%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 4% 54%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 13% 78%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 24% 90%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 52% 84%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 69% 76%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 87% 88%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 41% 36%,#fff 50%,transparent 51%);opacity:.55;animation:cintila 7s ease-in-out infinite alternate}
.estrelas.e2{background-image:radial-gradient(1.6px 1.6px at 11% 24%,#f6e7b0 50%,transparent 51%),radial-gradient(1.6px 1.6px at 33% 18%,#f6e7b0 50%,transparent 51%),radial-gradient(1.6px 1.6px at 44% 52%,#f6e7b0 50%,transparent 51%),radial-gradient(1.6px 1.6px at 61% 33%,#f6e7b0 50%,transparent 51%),radial-gradient(1.6px 1.6px at 78% 12%,#f6e7b0 50%,transparent 51%),radial-gradient(1.6px 1.6px at 89% 66%,#f6e7b0 50%,transparent 51%),radial-gradient(1.6px 1.6px at 21% 64%,#f6e7b0 50%,transparent 51%),radial-gradient(1.6px 1.6px at 57% 70%,#f6e7b0 50%,transparent 51%),radial-gradient(1.6px 1.6px at 72% 40%,#f6e7b0 50%,transparent 51%);opacity:.8;animation:cintila 11s 2s ease-in-out infinite alternate-reverse,deriva 90s ease-in-out infinite alternate}
.aurora{position:absolute;left:50%;top:40%;width:min(1100px,160vw);aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(217,180,68,.20) 0%,rgba(217,180,68,.07) 30%,rgba(60,96,170,.10) 48%,transparent 66%);animation:respira 9s ease-in-out infinite}
.piso{position:absolute;left:-60%;right:-60%;bottom:-8%;height:42%;background:repeating-conic-gradient(rgba(238,241,246,.17) 0 25%,rgba(7,13,24,.0) 0 50%) 50% 0/72px 72px;transform:perspective(380px) rotateX(64deg);transform-origin:50% 100%;-webkit-mask-image:linear-gradient(to top,#000 0%,rgba(0,0,0,.55) 40%,transparent 100%);mask-image:linear-gradient(to top,#000 0%,rgba(0,0,0,.55) 40%,transparent 100%);animation:avanca 14s linear infinite}
.coluna-hero{position:absolute;bottom:13%;height:72%;width:auto;fill:none;stroke:rgba(217,180,68,.38);stroke-width:1.1;display:none}
.coluna-hero .corpo{fill:url(#g-coluna)}
.coluna-hero.esq{left:max(3vw,calc(50% - 640px))}
.coluna-hero.dir{right:max(3vw,calc(50% - 640px))}
.hero-in{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 18px;max-width:820px}
.emblema-hero{position:relative;display:grid;place-items:center;width:min(68vw,320px,34vh);aspect-ratio:1;margin-bottom:22px;animation:surge 1.6s cubic-bezier(.2,.7,.2,1) both}
.emblema-hero .logo{position:relative;z-index:2;width:92%;filter:drop-shadow(0 14px 34px rgba(0,0,0,.6))}
.raios{position:absolute;inset:-46%;z-index:0;background:repeating-conic-gradient(from 0deg,rgba(240,215,122,.10) 0 3deg,transparent 3deg 10deg);-webkit-mask-image:radial-gradient(circle,#000 18%,transparent 62%);mask-image:radial-gradient(circle,#000 18%,transparent 62%);animation:gira 240s linear infinite}
.anel{position:absolute;inset:-7%;z-index:1;border-radius:50%;border:1px solid rgba(217,180,68,.30);background:repeating-conic-gradient(from 0deg,rgba(240,215,122,.75) 0 .5deg,transparent .5deg 7.5deg);-webkit-mask-image:radial-gradient(circle,transparent 0 67.6%,#000 68% 70.5%,transparent 71%);mask-image:radial-gradient(circle,transparent 0 67.6%,#000 68% 70.5%,transparent 71%);animation:gira 160s linear infinite}
.anel.fino{inset:-12%;background:none;-webkit-mask-image:none;mask-image:none;border:1px dashed rgba(217,180,68,.22);animation:gira 220s linear infinite reverse}
.sobre{font-family:"Cinzel",Georgia,serif;font-size:clamp(.68rem,2.3vw,.84rem);letter-spacing:.34em;text-transform:uppercase;color:var(--claro-suave);text-wrap:balance;animation:surge 1.4s .2s both}
h1{font-family:"Cinzel",Georgia,serif;font-weight:600;font-size:clamp(1.6rem,6vw,2.9rem);line-height:1.16;letter-spacing:.02em;margin:.42em 0 .32em;text-wrap:balance;color:var(--ouro);background:linear-gradient(110deg,#a8841e 0%,#f0d77a 22%,#d9b444 40%,#fff4c9 50%,#d9b444 60%,#f0d77a 78%,#a8841e 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 14px rgba(217,180,68,.18));animation:surge 1.4s .3s both,brilho 9s 2.2s ease-in-out infinite}
h1 .num{white-space:nowrap}
.oriente{font-style:italic;font-weight:500;font-size:clamp(1.12rem,3.6vw,1.42rem);animation:surge 1.4s .4s both}
.ornamento{display:flex;align-items:center;justify-content:center;gap:14px;margin:20px 0 16px;color:var(--ouro);animation:surge 1.4s .5s both}
.ornamento i{display:block;width:clamp(48px,16vw,120px);height:1px;background:linear-gradient(90deg,transparent,var(--linha-ouro))}
.ornamento i:last-child{transform:scaleX(-1)}
.ornamento b{font-weight:400;font-size:1.5rem;line-height:1}
.lead{max-width:31em;font-style:italic;font-weight:500;font-size:clamp(1.12rem,3.4vw,1.34rem);color:var(--claro-suave);text-wrap:balance;animation:surge 1.4s .6s both}
.acoes{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:28px;animation:surge 1.4s .7s both}
.botao{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:9px;padding:.85em 1.6em;border-radius:999px;border:1px solid var(--linha-ouro);color:var(--claro);text-decoration:none;font-family:"Cinzel",Georgia,serif;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;background:rgba(7,13,24,.35);transition:border-color .25s,color .25s,transform .25s,box-shadow .25s}
.botao:hover,.botao:focus-visible{border-color:var(--ouro-claro);color:var(--ouro-claro);transform:translateY(-2px)}
.botao.ouro{background:linear-gradient(180deg,#f6e08f,var(--ouro) 55%,#c39b2c);border-color:transparent;color:var(--noite);box-shadow:0 8px 28px -8px rgba(217,180,68,.6)}
.botao.ouro::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);transition:left .7s}
.botao.ouro:hover,.botao.ouro:focus-visible{color:var(--noite);box-shadow:0 12px 34px -8px rgba(217,180,68,.75)}
.botao.ouro:hover::after,.botao.ouro:focus-visible::after{left:120%}
.rolar{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--claro-suave);text-decoration:none;font-family:"Cinzel",Georgia,serif;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;animation:surge 1.4s 1.1s both}
.rolar i{display:block;width:1px;height:38px;background:linear-gradient(var(--ouro),transparent);transform-origin:top;animation:desce 2.4s ease-in-out infinite}

/* ── seções ── */
.secao{position:relative;padding:104px 18px;background:var(--fundo)}
.secao.alt{background:var(--fundo-alt);border-top:1px solid var(--borda);border-bottom:1px solid var(--borda)}
.conteudo{position:relative;max-width:1080px;margin:0 auto}
.centro{text-align:center}
.duas{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.duas.inverte{grid-template-columns:.75fr 1.25fr}
.rotulo{font-family:"Cinzel",Georgia,serif;font-size:.76rem;letter-spacing:.32em;text-transform:uppercase;color:var(--destaque);margin-bottom:12px}
.rotulo::before{content:"∴";letter-spacing:0;margin-right:.7em}
h2{font-family:"Cinzel",Georgia,serif;font-weight:600;font-size:clamp(1.5rem,4.4vw,2.35rem);line-height:1.22;margin-bottom:24px;text-wrap:balance}
h2::after{content:"";display:block;width:72px;height:2px;margin-top:18px;background:linear-gradient(90deg,var(--ouro),transparent)}
.centro h2::after,.escura h2::after,.convite h2::after{margin-left:auto;margin-right:auto;background:linear-gradient(90deg,transparent,var(--ouro),transparent)}
.secao p+p{margin-top:14px}
.secao p{color:var(--suave)}
.secao p.rotulo{color:var(--destaque)}
.capitular::first-letter{float:left;font-family:"Cinzel",Georgia,serif;font-size:3.6em;line-height:.82;padding:.06em .1em 0 0;color:var(--destaque)}
.intro{max-width:36em;margin:0 auto;font-style:italic;font-weight:500;font-size:1.22rem}
.emblema{position:relative;margin:0;padding:38px 30px 30px;border-radius:22px;text-align:center;border:1px solid transparent;background:linear-gradient(var(--fundo-alt),var(--fundo-alt)) padding-box,linear-gradient(140deg,#f0d77a,#a8841e 35%,rgba(217,180,68,.25) 55%,#f0d77a 85%) border-box;box-shadow:0 30px 60px -32px var(--sombra)}
.emblema img{width:min(100%,260px);filter:drop-shadow(0 10px 20px rgba(11,18,32,.18))}
.emblema figcaption{margin-top:20px;font-style:italic;font-weight:500;color:var(--suave);line-height:1.5}
.numeros{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);margin-top:80px;border-top:1px solid var(--borda);border-bottom:1px solid var(--borda)}
.numeros li{padding:30px 18px;text-align:center;position:relative}
.numeros li+li::before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:1px;background:linear-gradient(transparent,var(--ouro),transparent)}
.numeros b{display:block;font-family:"Cinzel",Georgia,serif;font-weight:600;font-size:clamp(1.45rem,3.6vw,2.1rem);line-height:1.2;color:var(--destaque)}
.numeros span{display:block;margin-top:8px;color:var(--suave);font-size:.98rem;letter-spacing:.04em}

/* faixa da citação */
.citacao{position:relative;overflow:hidden;padding:112px 18px;text-align:center;color:var(--claro);background:radial-gradient(ellipse 70% 120% at 50% 50%,#17284a 0%,var(--noite1) 60%,var(--noite) 100%)}
.citacao::before,.citacao::after{content:"";position:absolute;left:50%;width:min(560px,80vw);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--linha-ouro),transparent)}
.citacao::before{top:44px}.citacao::after{bottom:44px}
.citacao .rotulo{color:var(--ouro)}
.citacao blockquote p{font-style:italic;font-weight:500;font-size:clamp(2.1rem,7vw,4.2rem);line-height:1.12;color:var(--claro);text-wrap:balance}
.citacao blockquote p::before{content:"“";color:var(--ouro)}
.citacao blockquote p::after{content:"”";color:var(--ouro)}
.citacao-fonte{margin-top:22px;color:var(--claro-suave);font-style:italic;font-weight:500;font-size:1.12rem;text-wrap:balance}

.selo-maconaria{display:flex;justify-content:center}
.emblema-ico{width:min(62vw,240px);height:auto;fill:none;stroke:var(--destaque);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;padding:40px;border-radius:50%;border:1px solid var(--borda);background:radial-gradient(circle,rgba(217,180,68,.12),transparent 70%);box-shadow:inset 0 0 0 10px var(--fundo-alt),inset 0 0 0 11px var(--borda)}
.valores{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.valores li{padding:.35em 1em;border:1px solid var(--borda);border-radius:999px;font-family:"Cinzel",Georgia,serif;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--destaque);background:var(--fundo)}

/* seções escuras */
.escura{overflow:hidden;color:var(--claro);background:radial-gradient(ellipse 80% 90% at 50% 0%,var(--noite2),var(--noite1) 60%,var(--noite) 100%);text-align:center}
.escura .estrelas{opacity:.35}
.escura p.rotulo{color:var(--ouro)}
.escura p{color:var(--claro-suave)}
.colunas{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.colunas article{position:relative;padding:34px 24px 30px;border-radius:20px;border:1px solid rgba(217,180,68,.2);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01));transition:transform .35s,border-color .35s,box-shadow .35s}
.colunas article:hover{transform:translateY(-6px);border-color:rgba(217,180,68,.5);box-shadow:0 24px 50px -24px rgba(217,180,68,.35)}
.ordem{width:82px;height:auto;fill:none;stroke:var(--ouro);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 10px rgba(217,180,68,.25))}
.colunas h3{font-family:"Cinzel",Georgia,serif;font-weight:600;font-size:1.3rem;letter-spacing:.1em;color:var(--ouro-claro);margin-top:16px}
.colunas .ordem-nome{margin-top:2px;font-family:"Cinzel",Georgia,serif;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ouro);opacity:.8}
.colunas p+p{margin-top:12px;font-size:1.1rem;line-height:1.5}

/* a caminhada */
.graus{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:56px;position:relative;counter-reset:g}
.graus::before{content:"";position:absolute;top:34px;left:16%;right:16%;height:1px;background:linear-gradient(90deg,transparent,var(--ouro),var(--ouro),transparent)}
.graus li{position:relative;text-align:center;padding:0 10px}
.marco{position:relative;display:grid;place-items:center;width:68px;height:68px;margin:0 auto 18px;border-radius:50%;font-family:"Cinzel",Georgia,serif;font-size:1.25rem;color:var(--destaque);background:var(--fundo);border:1px solid var(--ouro);box-shadow:0 0 0 7px var(--fundo),0 0 0 8px var(--borda)}
.graus h3{font-family:"Cinzel",Georgia,serif;font-weight:600;font-size:1.22rem;letter-spacing:.08em}
.graus p{margin-top:8px}

/* o hino: disco com o selo da Loja; gira ao passar o mouse ou ao usar o tocador */
.disco-caixa{display:flex;justify-content:center}
.disco{position:relative;display:grid;place-items:center;width:min(60vw,300px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,transparent 0 33%,rgba(0,0,0,.5) 33.4% 34.2%,transparent 34.6%),repeating-radial-gradient(circle,#0c111c 0 1.6px,#171e2c 1.6px 3.2px);box-shadow:0 30px 60px -28px var(--sombra),0 0 0 1px rgba(217,180,68,.35),0 0 0 9px var(--fundo-alt),0 0 0 10px var(--borda);animation:gira 9s linear infinite;animation-play-state:paused}
.disco::after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 210deg,transparent 0 12%,rgba(255,255,255,.12) 16%,transparent 22% 62%,rgba(240,215,122,.12) 66%,transparent 72%)}
.selo{display:grid;place-items:center;width:34%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff8e0,#f0d77a 70%,#c39b2c);box-shadow:inset 0 0 0 2px rgba(124,98,16,.4)}
.selo img{width:78%}
.disco-caixa:hover .disco,.hino:focus-within .disco{animation-play-state:running}
.tocador{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:26px;padding:14px 16px;border:1px solid var(--borda);border-radius:18px;background:var(--fundo)}
.tocador audio{flex:1 1 260px;min-width:0;height:44px}
.duracao{font-family:"Cinzel",Georgia,serif;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--destaque)}

/* ingresso */
.ingresso{padding-top:96px;padding-bottom:110px}
.convite{max-width:760px;margin:0 auto;padding:56px 40px 48px;border-radius:26px;border:1px solid transparent;background:linear-gradient(180deg,rgba(20,35,63,.92),rgba(11,18,32,.92)) padding-box,linear-gradient(140deg,#f0d77a,rgba(217,180,68,.15) 40%,rgba(217,180,68,.15) 60%,#f0d77a) border-box;box-shadow:0 40px 90px -40px rgba(0,0,0,.8),0 0 80px -30px rgba(217,180,68,.35)}
.convite .acoes{animation:none;margin-top:30px}
.curto{display:none}

/* rodapé */
.rodape{background:var(--noite);color:var(--claro-suave);border-top:1px solid rgba(217,180,68,.18);padding:64px max(18px,env(safe-area-inset-left)) max(30px,env(safe-area-inset-bottom));font-weight:500}
.rodape-grade{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px}
.rodape-marca{display:flex;gap:18px;align-items:flex-start}
.rodape-logo{width:92px;flex:none}
.rodape-nome{font-family:"Cinzel",Georgia,serif;font-weight:600;color:var(--ouro);letter-spacing:.03em;line-height:1.35;margin-bottom:8px;text-wrap:balance}
.rodape-col{display:flex;flex-direction:column;gap:9px;align-items:flex-start}
.rodape-tit{font-family:"Cinzel",Georgia,serif;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--claro);margin-bottom:4px}
.rodape-col a{display:inline-flex;align-items:center;gap:7px;color:var(--claro-suave);text-decoration:none;transition:color .2s}
.rodape-col a:hover,.rodape-col a:focus-visible{color:var(--ouro-claro)}
.rodape-fim{max-width:1080px;margin:44px auto 0;padding-top:22px;border-top:1px solid rgba(217,180,68,.12);font-size:.9rem;opacity:.7;text-align:center}

@keyframes surge{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes brilho{0%,100%{background-position:100% 0}50%{background-position:0 0}}
@keyframes respira{0%,100%{opacity:.85;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}}
@keyframes cintila{from{opacity:.3}to{opacity:.75}}
@keyframes deriva{from{transform:translateY(0)}to{transform:translateY(-40px)}}
@keyframes gira{to{transform:rotate(1turn)}}
@keyframes avanca{from{background-position:50% 0}to{background-position:50% 144px}}
@keyframes desce{0%{transform:scaleY(0);opacity:0}40%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1) translateY(20px);opacity:0}}

/* rolagem: topo sólido ao descer, abertura que se afasta e seções que surgem (só onde o navegador suporta) */
@supports (animation-timeline:view()){
  .topo{animation:topo-solido linear both;animation-timeline:scroll(root);animation-range:0 260px}
  @keyframes topo-solido{from{background-color:rgba(7,13,24,0);border-bottom-color:rgba(217,180,68,0);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{background-color:rgba(7,13,24,.94);border-bottom-color:rgba(217,180,68,.16)}}
  .hero-in{animation:afasta linear both;animation-timeline:scroll(root);animation-range:0 90vh}
  @keyframes afasta{to{opacity:0;transform:translateY(-70px) scale(.96)}}
  .revela{animation:revela cubic-bezier(.2,.7,.2,1) both;animation-timeline:view();animation-range:entry 0% cover 26%}
  @keyframes revela{from{opacity:0;transform:translateY(42px)}to{opacity:1;transform:none}}
}

@media (min-width:1100px){.coluna-hero{display:block}}
@media (max-width:900px){.menu{display:none}}
@media (max-width:860px){.duas,.duas.inverte{grid-template-columns:1fr;gap:40px}.selo-maconaria{order:-1}.secao{padding:76px 18px}.colunas{gap:14px}.colunas article{padding:28px 16px 24px}.graus{gap:18px}.rodape-grade{grid-template-columns:1fr 1fr}.rodape-marca{grid-column:1/-1}.citacao{padding:92px 18px}}
/* colunas e graus empilham só no celular; no tablet (em pé) ficam lado a lado */
@media (max-width:640px){.colunas{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto}.graus{grid-template-columns:1fr;gap:36px;max-width:440px;margin-left:auto;margin-right:auto}.graus::before{top:34px;bottom:34px;left:50%;right:auto;width:1px;height:auto;background:linear-gradient(transparent,var(--ouro),var(--ouro),transparent)}.graus li{background:var(--fundo);padding:6px 10px}}
@media (max-width:600px){.numeros{grid-template-columns:1fr;margin-top:56px}.numeros li+li::before{left:22%;right:22%;top:0;bottom:auto;width:auto;height:1px;background:linear-gradient(90deg,transparent,var(--ouro),transparent)}.marca small{display:none}.marca img{width:40px}.convite{padding:44px 22px 38px}.rodape-grade{grid-template-columns:1fr;text-align:center}.rodape-marca{flex-direction:column;align-items:center}.rodape-col{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px 20px}.rodape-tit{flex-basis:100%;text-align:center}.hero{padding-top:88px}}
@media (max-width:420px){.longo{display:none}.curto{display:inline}}
@media (max-width:380px){.restrita{padding:.5em .8em;letter-spacing:.06em}.botao{padding:.8em 1.2em;letter-spacing:.09em}.rolar{display:none}}
@media (max-height:920px){.rolar{display:none}}
@media (max-height:640px){.emblema-hero{width:min(52vw,210px)}.ornamento{margin:12px 0 10px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
@media print{.topo,.rolar,.hero-fundo{display:none}.revela,.hero-in{animation:none!important;opacity:1!important;transform:none!important}}
