
/* Fontes proprias (compartilhadas com o mapa no dominio unico; fallback Georgia offline) */
@font-face{font-family:'Fraunces';src:url('/mapa/assets/fontes/fraunces-latin.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Fraunces';src:url('/mapa/assets/fontes/fraunces-italic-latin.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Spectral';src:url('/mapa/assets/fontes/spectral-400-latin.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Spectral';src:url('/mapa/assets/fontes/spectral-600-latin.woff2') format('woff2');font-weight:600;font-display:swap}

:root{
  --bg:#05070c;--panel:rgba(7,11,18,.80);--panel2:rgba(14,19,30,.76);
  --gold:#cf9f42;--gold2:#f5d68d;--gold3:#8f6424;
  --text:#f7f0e3;--muted:#bcb09f;--line:rgba(218,174,83,.30);
  --radius:28px;--shadow:0 35px 110px rgba(0,0,0,.58);
  --mx:0;--my:0;--screen-accent:#d2a64f;
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth;overflow-x:clip}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;overflow-x:clip}
.fireflies,.stars{overflow:hidden}
button{font:inherit}
.ambient-bg{position:fixed;inset:-3%;z-index:-8;background-position:center;background-size:cover;filter:saturate(.95) brightness(.57);transition:background-image .7s ease,opacity .7s ease,filter .7s ease;animation:bgBreath 18s ease-in-out infinite alternate}
.ambient-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 16%,rgba(30,66,102,.24),transparent 38%),radial-gradient(circle at 50% 86%,rgba(182,117,26,.14),transparent 34%),linear-gradient(180deg,rgba(2,5,10,.45),rgba(2,4,8,.92))}
@keyframes bgBreath{to{transform:scale(1.045) translateY(-.8%)}}
.vignette{position:fixed;inset:0;z-index:-5;pointer-events:none;box-shadow:inset 0 0 170px 50px rgba(0,0,0,.78)}
.stars{position:fixed;inset:0;z-index:-4;opacity:.45;pointer-events:none;background-image:radial-gradient(circle,rgba(245,214,141,.9) 0 1px,transparent 1.4px),radial-gradient(circle,rgba(255,255,255,.45) 0 1px,transparent 1.3px);background-size:97px 97px,151px 151px;background-position:14px 20px,61px 83px;mask-image:linear-gradient(to bottom,black,transparent 96%);animation:starDrift 34s linear infinite}
@keyframes starDrift{to{transform:translate3d(0,70px,0)}}
.fireflies{position:fixed;inset:0;z-index:-1;pointer-events:none}
.firefly{position:absolute;width:4px;height:4px;border-radius:50%;background:#ffd77b;box-shadow:0 0 12px 4px rgba(255,196,75,.42);animation:fly var(--dur) ease-in-out infinite alternate,blink 2.4s ease-in-out infinite}
@keyframes fly{to{transform:translate3d(var(--dx),var(--dy),0)}}
@keyframes blink{50%{opacity:.22;filter:blur(1px)}}
.world-decor{position:fixed;inset:0;z-index:-2;pointer-events:none;overflow:hidden}
.decor{position:absolute;user-select:none;will-change:transform,filter;filter:drop-shadow(0 25px 36px rgba(0,0,0,.55))}
.parallax-layer{transform:translate3d(calc(var(--mx)*var(--depth)*1px),calc(var(--my)*var(--depth)*1px),0)}
.decor-foliage{top:4%;height:92vh;width:auto;opacity:.78}
.decor-foliage-left{left:-3.5%;--depth:.28}
.decor-foliage-right{right:-3.5%;--depth:.32}
.decor-candles{bottom:-7%;height:min(72vh,780px);width:auto;opacity:.9;animation:candleFloat 7s ease-in-out infinite alternate}
.decor-candles-left{left:-7%;--depth:.42}
.decor-candles-right{right:-7%;--depth:.45;animation-delay:-3.5s}
@keyframes candleFloat{to{transform:translate3d(calc(var(--mx)*var(--depth)*1px),calc(var(--my)*var(--depth)*1px - 10px),0);filter:drop-shadow(0 25px 40px rgba(0,0,0,.5)) brightness(1.08)}}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px clamp(12px,3vw,30px);background:linear-gradient(to bottom,rgba(3,6,11,.94),rgba(3,6,11,.63));backdrop-filter:blur(18px);border-bottom:1px solid rgba(209,166,80,.15)}
.top-action,.icon-action{border:1px solid rgba(209,166,80,.25);background:rgba(255,255,255,.018);color:var(--muted);border-radius:999px;cursor:pointer;transition:.2s ease}
.top-action{display:flex;align-items:center;gap:8px;padding:9px 14px}.icon-action{width:39px;height:39px;display:grid;place-items:center}
.top-action:hover,.icon-action:hover{color:var(--gold2);border-color:var(--gold);box-shadow:0 0 20px rgba(207,159,66,.13)}
.top-actions-right{display:flex;align-items:center;gap:8px}
.mini-brand{display:flex;align-items:center;gap:9px;color:var(--gold2);font-family:Georgia,serif;text-transform:uppercase;letter-spacing:.13em;font-size:.82rem}
.mini-brand img{width:32px;height:32px;object-fit:contain;animation:emblemSlow 18s linear infinite;filter:drop-shadow(0 0 12px rgba(245,214,141,.22))}
@keyframes emblemSlow{to{transform:rotate(360deg)}}
.journey-strip{position:sticky;top:65px;z-index:25;height:4px;background:rgba(255,255,255,.035);overflow:hidden}
.journey-strip:before{content:"";display:block;height:100%;width:var(--journey-progress,0%);background:linear-gradient(90deg,#77501f,#f5d68d,#be7924);box-shadow:0 0 16px rgba(245,214,141,.65);transition:width .42s ease}
.app{width:min(1200px,calc(100% - 30px));margin:auto;padding:clamp(30px,5vw,78px) 0 92px;position:relative}
.screen{animation:screenIn .65s cubic-bezier(.2,.8,.2,1) both}
@keyframes screenIn{from{opacity:0;transform:translateY(22px) scale(.985);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
.oracle-stage{position:relative;isolation:isolate}
.portal-back{position:absolute;z-index:-1;left:50%;top:45%;width:min(760px,76vw);aspect-ratio:1;object-fit:contain;opacity:.38;transform:translate(-50%,-50%);animation:portalSpin 38s linear infinite;filter:drop-shadow(0 0 38px rgba(226,164,57,.28))}
.portal-back.secondary{animation-direction:reverse;opacity:.16;width:min(930px,88vw)}
@keyframes portalSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.hero{min-height:79vh;display:grid;place-items:center;text-align:center}
.frame-shell{position:relative;width:min(980px,100%);min-height:650px;display:grid;place-items:center;padding:clamp(70px,8vw,115px) clamp(36px,8vw,110px);isolation:isolate}
.frame-shell:before{content:"";position:absolute;inset:0;background:url("assets/decor/wide-frame.webp") center/100% 100% no-repeat;z-index:-1;filter:drop-shadow(0 38px 80px rgba(0,0,0,.66))}
.hero-content{max-width:760px}
.emblem-wrap{position:relative;width:164px;height:164px;margin:0 auto 12px;perspective:700px}
.emblem{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 28px rgba(219,168,65,.45));animation:emblemHover 6s ease-in-out infinite alternate;transform-style:preserve-3d}
.emblem-wrap:before,.emblem-wrap:after{content:"";position:absolute;inset:7px;border:1px solid rgba(245,214,141,.28);border-radius:50%;animation:ringOrbit 15s linear infinite}
.emblem-wrap:after{inset:22px;animation-direction:reverse;animation-duration:11s;border-style:dashed}
@keyframes emblemHover{to{transform:translateY(-8px) rotateY(8deg) rotateX(-5deg) scale(1.035)}}
@keyframes ringOrbit{to{transform:rotate(360deg)}}
.eyebrow{margin:0 0 13px;color:var(--gold);text-transform:uppercase;letter-spacing:.2em;font-weight:800;font-size:.76rem}
.title{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:clamp(3.2rem,8vw,6.7rem);line-height:.93;margin:0;text-wrap:balance;text-shadow:0 8px 36px rgba(0,0,0,.55)}
.section-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.25rem,5vw,4.25rem);font-weight:500;line-height:1.02;margin:0;text-wrap:balance}
.lead{max-width:740px;margin:22px auto 0;color:var(--muted);font-size:clamp(1rem,2vw,1.18rem);line-height:1.76}
.actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:30px}
.btn{appearance:none;border-radius:15px;padding:14px 23px;cursor:pointer;font-weight:800;transition:.24s ease;position:relative;overflow:hidden}
.btn:after{content:"";position:absolute;inset:-40% auto -40% -30%;width:25%;transform:rotate(20deg);background:rgba(255,255,255,.30);filter:blur(7px);transition:.55s ease}
.btn:hover:after{left:115%}
.btn-primary{border:1px solid var(--gold2);color:#1a1206;background:linear-gradient(180deg,#f6dc9d,#bd812a);box-shadow:0 15px 38px rgba(209,166,80,.27),inset 0 1px rgba(255,255,255,.5)}
.btn-primary:hover{transform:translateY(-3px) scale(1.015);box-shadow:0 22px 48px rgba(209,166,80,.35)}
.btn-secondary{border:1px solid var(--line);background:rgba(255,255,255,.025);color:var(--text);backdrop-filter:blur(8px)}
.btn-secondary:hover{border-color:var(--gold);background:rgba(209,166,80,.07)}
.glass{position:relative;overflow:hidden;border:1px solid var(--line);background:linear-gradient(180deg,rgba(16,22,33,.78),rgba(4,7,13,.91));border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(15px)}
.glass:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(245,214,141,.08),transparent 34%),radial-gradient(circle at 50% 0%,rgba(209,166,80,.12),transparent 43%)}
.intro-stage{position:relative;padding:clamp(28px,5vw,56px);min-height:580px;display:flex;flex-direction:column;justify-content:center}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}
.feature{position:relative;padding:23px;border-radius:20px;border:1px solid rgba(209,166,80,.19);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(0,0,0,.12));transition:.25s ease}
.feature:hover{transform:translateY(-5px);border-color:rgba(245,214,141,.48);box-shadow:0 18px 42px rgba(0,0,0,.32)}
.feature-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(245,214,141,.4);color:var(--gold2);margin-bottom:14px;box-shadow:0 0 22px rgba(209,166,80,.12)}
.feature h3{font-family:Georgia,serif;color:var(--gold2);font-size:1.45rem;margin:0 0 8px}.feature p{margin:0;color:var(--muted);line-height:1.65}
.path-nodes{display:grid;grid-template-columns:repeat(14,1fr);align-items:center;gap:4px;margin:0 0 21px;padding:0 8px}
.path-node{position:relative;height:18px;display:grid;place-items:center}
.path-node:before{content:"";width:7px;height:7px;border-radius:50%;background:#2e2b27;border:1px solid rgba(245,214,141,.26);box-shadow:0 0 0 4px rgba(209,166,80,.02);transition:.35s ease}
.path-node.active:before{background:var(--gold2);box-shadow:0 0 16px 5px rgba(245,214,141,.35)}
.path-node:after{content:"";position:absolute;height:1px;background:rgba(209,166,80,.22);left:55%;right:-55%;z-index:-1}.path-node:last-child:after{display:none}
.progress-wrap{margin-bottom:20px}.progress-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.9rem;margin-bottom:9px}
.progress-track{height:9px;border:1px solid rgba(209,166,80,.14);background:rgba(255,255,255,.055);border-radius:999px;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,#80571f,#f5d68d,#b56a20);box-shadow:0 0 20px rgba(245,214,141,.52);transition:width .38s ease;position:relative}.progress-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:progressShine 2s linear infinite}@keyframes progressShine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.question-scene{position:relative;isolation:isolate}
.question-orbit{position:absolute;z-index:-1;left:50%;top:51%;width:min(890px,83vw);aspect-ratio:1;transform:translate(-50%,-50%);background:url("assets/decor/portal.webp") center/contain no-repeat;opacity:.20;animation:portalSpin 45s linear infinite}
.question{padding:clamp(48px,6vw,76px) clamp(26px,5vw,62px);border-radius:36px;box-shadow:0 40px 120px rgba(0,0,0,.62),0 0 0 1px rgba(245,214,141,.09) inset}
.question:after{content:"";position:absolute;inset:12px;border:1px solid rgba(245,214,141,.08);border-radius:26px;pointer-events:none}
.question h2{text-align:center;max-width:850px;margin:0 auto 34px;font-family:Georgia,serif;font-size:clamp(2.1rem,5vw,3.9rem);font-weight:500;line-height:1.06;text-shadow:0 8px 34px rgba(0,0,0,.5)}
.answers{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;perspective:1200px}
.answer{min-height:128px;text-align:left;border:1px solid rgba(209,166,80,.23);background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(2,5,10,.22));color:var(--text);border-radius:20px;padding:22px;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;position:relative;overflow:hidden;transform-style:preserve-3d}
.answer:before{content:"✦";position:absolute;right:17px;top:15px;color:rgba(245,214,141,.35);font-size:1.15rem;transition:.25s ease}
.answer:after{content:"";position:absolute;inset:-80% -30%;background:linear-gradient(115deg,transparent 42%,rgba(245,214,141,.13) 50%,transparent 58%);transform:translateX(-50%);transition:.5s ease}
.answer:hover,.answer:focus-visible{transform:translateY(-5px) rotateX(1.2deg) rotateY(-1deg);border-color:var(--gold);background:rgba(209,166,80,.075);box-shadow:0 22px 44px rgba(0,0,0,.35)}
.answer:hover:before{color:var(--gold2);transform:rotate(90deg) scale(1.2)}.answer:hover:after{transform:translateX(35%)}
.answer strong{display:block;color:var(--gold2);font-family:Georgia,serif;font-size:1.45rem;margin-bottom:8px;position:relative;z-index:1}.answer span{color:var(--muted);line-height:1.58;position:relative;z-index:1}
.quiz-nav{display:flex;justify-content:space-between;align-items:center;margin-top:19px}.link-btn{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:8px}.link-btn:hover{color:var(--gold2)}
.loading{min-height:72vh;display:grid;place-items:center;text-align:center}.loading-stack{position:relative;width:310px;height:310px;margin:0 auto 24px}.loading-portal,.loading-smoke{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.loading-portal{animation:portalSpin 13s linear infinite;filter:drop-shadow(0 0 36px rgba(245,177,60,.45))}.loading-smoke{animation:smokeFloat 5s ease-in-out infinite alternate;mix-blend-mode:screen;opacity:.78}@keyframes smokeFloat{to{transform:translateY(-12px) scale(1.05);filter:hue-rotate(8deg) brightness(1.15)}}
.result-hero{padding:clamp(28px,5vw,52px);text-align:center;overflow:visible}
.result-grid{display:grid;grid-template-columns:.92fr 1.16fr .92fr;gap:18px;margin-top:34px;align-items:end;perspective:1800px}
.result-card{position:relative;min-height:500px;overflow:hidden;border:1px solid var(--line);border-radius:25px;background:#090d14;box-shadow:0 24px 60px rgba(0,0,0,.42);transform-style:preserve-3d;transition:.28s ease;animation:cardReveal .85s cubic-bezier(.2,.8,.2,1) both}
.result-card:nth-child(1){animation-delay:.13s}.result-card:nth-child(2){animation-delay:.26s}.result-card:nth-child(3){animation-delay:.39s}
.result-card.primary{min-height:570px;border-color:rgba(245,214,141,.76);box-shadow:0 0 58px rgba(209,166,80,.20),0 30px 70px rgba(0,0,0,.50);order:2}
.result-card:nth-child(1){order:1}.result-card:nth-child(3){order:3}
@keyframes cardReveal{from{opacity:0;transform:rotateY(90deg) translateY(35px) scale(.9)}to{opacity:1;transform:none}}
.result-card:hover{transform:translateY(-9px) rotateX(1.5deg) rotateY(-1.5deg);box-shadow:0 34px 82px rgba(0,0,0,.52),0 0 40px rgba(209,166,80,.15)}
.result-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s ease}.result-card:hover img{transform:scale(1.045)}
.result-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(2,4,8,.99) 0,rgba(2,4,8,.78) 37%,rgba(2,4,8,.08) 75%)}
.result-content{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:23px;text-align:left}
.rank{display:inline-flex;border:1px solid rgba(245,214,141,.5);border-radius:999px;padding:5px 10px;color:var(--gold2);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;background:rgba(4,6,10,.72)}
.result-name{font-family:Georgia,serif;color:var(--gold2);font-size:clamp(2.1rem,4vw,3.2rem);margin:9px 0 5px}.result-sub{color:#f2e4c8;margin:0 0 13px}.meter{height:8px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}.meter span{display:block;height:100%;background:linear-gradient(90deg,#8b5c20,#f5d68d);box-shadow:0 0 18px rgba(245,214,141,.45)}.score-label{display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem;margin-top:7px}.disclaimer{margin:20px 0 0;color:var(--muted);font-size:.85rem;line-height:1.55}
.detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:18px}.detail{padding:27px}.detail h3{font-family:Georgia,serif;color:var(--gold2);font-size:1.8rem;margin:0 0 12px}.detail p{color:var(--muted);line-height:1.75}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.tag{border:1px solid rgba(209,166,80,.23);border-radius:999px;padding:7px 11px;color:#ead9b7;background:rgba(209,166,80,.055);font-size:.86rem}
.reading-list{display:grid;gap:13px}.reading-row{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:start;padding:15px;border:1px solid rgba(209,166,80,.16);background:rgba(255,255,255,.022);border-radius:18px;transition:.22s ease}.reading-row:hover{transform:translateX(5px);border-color:rgba(245,214,141,.38);background:rgba(209,166,80,.05)}.reading-row img{width:72px;height:96px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}.reading-row h4{font-family:Georgia,serif;color:var(--gold2);font-size:1.3rem;margin:0 0 5px}.reading-row p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.58}
.offer-panel{margin-top:18px;padding:30px;display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;border-color:rgba(245,214,141,.48);background:radial-gradient(circle at 80% 20%,rgba(209,166,80,.13),transparent 35%),linear-gradient(145deg,rgba(23,25,31,.93),rgba(5,8,14,.96))}
.offer-panel h3{font-family:Georgia,serif;color:var(--gold2);font-size:2rem;margin:0 0 8px}.offer-panel p{color:var(--muted);line-height:1.65;margin:0}
.share-preview{padding:26px;text-align:center}.share-preview canvas{width:min(100%,680px);height:auto;border-radius:20px;border:1px solid var(--line);background:#070a11;box-shadow:0 20px 50px rgba(0,0,0,.4)}
.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);z-index:50;padding:12px 18px;border-radius:999px;background:#101724;border:1px solid var(--line);color:var(--text);opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
.motion-reduced *,.motion-reduced *:before,.motion-reduced *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
@media(max-width:1000px){.decor-foliage{opacity:.38}.decor-candles{opacity:.5}.frame-shell{min-height:610px;padding:80px 50px}.result-grid{grid-template-columns:1fr 1.14fr 1fr;gap:11px}.result-card{min-height:440px}.result-card.primary{min-height:500px}}
@media(max-width:820px){.feature-grid,.detail-grid{grid-template-columns:1fr}.answers{grid-template-columns:1fr}.result-grid{grid-template-columns:1fr;align-items:stretch}.result-card,.result-card.primary{min-height:580px;order:initial!important}.result-card.primary{grid-row:1}.offer-panel{grid-template-columns:1fr}.decor-candles{height:50vh;opacity:.38}.decor-candles-left{left:-30%}.decor-candles-right{right:-30%}.decor-foliage{height:82vh;opacity:.32}.mini-brand span{display:none}.app{width:min(100% - 18px,1200px)}.topbar{padding-inline:10px}.hero{min-height:72vh}.frame-shell{min-height:670px;padding:86px 24px;background:rgba(3,6,11,.35);border:1px solid var(--line);border-radius:30px}.frame-shell:before{opacity:.45;background-size:cover}.question{padding:38px 16px}.path-nodes{gap:1px;padding:0}.path-node:before{width:6px;height:6px}.top-action b{display:none}}
@media(max-width:520px){.title{font-size:3.25rem}.section-title{font-size:2.45rem}.emblem-wrap{width:126px;height:126px}.frame-shell{min-height:610px}.answer{min-height:112px;padding:18px}.question h2{font-size:2.22rem}.decor-foliage{display:none}}

/* ===== Refino tipografico (mantendo identidade) ===== */
body{font-family:'Spectral',ui-serif,Georgia,'Segoe UI',serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.title,.section-title,.mini-brand,.feature h3,.answer strong,.question h2,.result-name,.detail h3,.reading-row h4,.offer-panel h3{font-family:'Fraunces','Georgia',serif;font-weight:400}
.title{letter-spacing:-.01em}
.eyebrow{font-family:'Spectral',serif}
/* micro-polimentos */
.btn-primary{letter-spacing:.01em}
.answer strong{letter-spacing:.005em}
.result-card.primary{box-shadow:0 0 68px rgba(209,166,80,.24),0 30px 74px rgba(0,0,0,.52)}
.lead{letter-spacing:.005em}
