@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=DM+Sans:wght@400;500;600&display=swap');
:root{--night:#101a22;--deep:#0c141b;--gold:#d6b57b;--paper:#efe6d4;--muted:#b8b8b3;--house:#d6b57b;color-scheme:dark;font-family:'DM Sans',sans-serif;background:var(--night);color:var(--paper);scroll-behavior:smooth;scroll-padding-top:125px}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a7d9ff;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3,.brand,.intro>p{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500}h1{font-size:clamp(66px,6.8vw,108px);line-height:.96;letter-spacing:-2px}h2{font-size:clamp(45px,4.5vw,72px);line-height:1.02;letter-spacing:-1.4px}p{line-height:1.85}small{font-size:11px}.header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;background:var(--night);border-bottom:1px solid #d6b57b25;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:14px;font-size:27px}.brand-star{color:var(--gold);font-size:50px}.brand small{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:2px;text-transform:uppercase;margin-top:5px;color:var(--muted)}.header nav{display:flex;align-items:center;gap:36px;font-size:12px}.nav-cta{border:1px solid #d6b57b75;padding:13px 19px}.nav-cta span{padding-left:20px;color:var(--gold)}.hero{min-height:730px;height:calc(100svh - 96px);max-height:1000px;position:relative;overflow:hidden}.hero-picture{position:absolute;inset:0;background:url('/assets/fachada.png') 64% 5% / auto 210% no-repeat;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0c141bf5 0%,#0c141be8 20%,#0c141b95 43%,#0c141b05 75%),linear-gradient(0deg,#101a22 0%,transparent 28%,#101a2230)}.hero-copy{position:relative;padding:70px 5.5% 100px;max-width:760px}.eyebrow{font-size:12px;color:var(--gold);margin-bottom:23px}.hero-copy>p:not(.eyebrow):not(.micro){margin:26px 0 30px;font-size:14px;color:#e0dfd7}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:54px;padding:15px 24px;border:1px solid var(--gold);font-size:12px;font-weight:600;transition:background .2s,transform .2s}.button:not(:disabled):hover{transform:translateY(-2px)}.button span{font-size:22px}.gold{background:var(--gold);color:#17202a}.gold:not(:disabled):hover{background:#edce97}.outline{background:transparent;color:var(--gold)}.micro{font-size:10px;color:var(--muted);line-height:1.65;margin-top:16px}.hero-bottom{position:absolute;left:5.5%;right:5.5%;bottom:30px;display:flex;justify-content:space-between;font-size:10px;color:#ddd4c3}.hero-bottom span span{margin-left:25px}.hero-stars{position:absolute;right:13%;top:30%;font-size:35px;color:#e1c58b;filter:drop-shadow(0 0 18px #ffd66c)}.intro{text-align:center;padding:100px 22px 90px}.ornament{font-size:42px;color:var(--gold)}.intro>p{font-size:clamp(34px,3.2vw,48px);line-height:1.16;margin:22px 0}.intro>div{font-size:13px;color:var(--muted);line-height:1.9}.intro>small{display:block;margin-top:25px;color:#a9a99f}.journey-nav{position:sticky;top:0;z-index:20;background:#101a22f5;backdrop-filter:blur(16px);border-block:1px solid #d6b57b30;padding:18px 5.5% 12px}.journey-nav nav{display:flex;justify-content:center;gap:clamp(16px,4vw,65px)}.journey-nav a{font-size:12px;color:#a5aaa9;white-space:nowrap}.journey-nav a span{margin-left:7px}.journey-nav a.active{color:var(--gold)}#passport{text-align:center;font-size:10px;color:var(--house);margin-top:10px}.station{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;padding:110px 7%;max-width:1600px;margin:auto}.station-copy>p:not(.chapter):not(.micro):not(.result){font-size:14px;color:#bdc2bf;max-width:440px;margin:25px 0}.chapter{font-size:11px;color:var(--gold);margin-bottom:23px;display:flex;align-items:center;gap:35px}.chapter span{color:#969e9f;font-size:10px}.scene{position:relative;min-height:535px;overflow:hidden;background-repeat:no-repeat}.scene-reception{background-image:url('/assets/recepcao-oraculo.png');background-size:290% auto;background-position:0% 42%;border-radius:220px 220px 3px 3px}.scene-caption{position:absolute;bottom:0;left:0;right:0;padding:50px 20px 23px;text-align:center;background:linear-gradient(transparent,#101a22);font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;color:#f1dbb7}.station blockquote{border-left:1px solid var(--gold);margin:25px 0 30px;padding-left:20px;font:italic 23px/1.45 'Cormorant Garamond',Georgia,serif;color:#e3d1af}.station cite{display:block;font:10px 'DM Sans',sans-serif;color:#a8b0b0;margin-top:10px}.result{font-size:12px;min-height:24px;margin-top:18px;color:var(--gold);max-width:460px}.oracle{background:#121e29;max-width:none}.oracle-art,.master-art{position:relative;min-width:0;overflow:hidden}.scene-oracle{background-image:url('/assets/recepcao-oraculo.png');background-size:335% auto;background-position:72% 45%;min-height:590px;opacity:.7;border-radius:230px 230px 0 0}.orb{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:155px;height:155px;border-radius:50%;border:1px solid #c2a7ff;background:radial-gradient(circle at 40% 30%,#eff8ffb0,#8662d7b0 35%,#172c4da0 70%);box-shadow:0 0 55px #9c7ce755,inset 0 0 30px #c6a7ff;display:grid;place-items:center;color:#fff;font-size:80px;transition:box-shadow 1s}.orb.awake{box-shadow:0 0 100px var(--house),inset 0 0 35px #fff}.house-reveal{position:absolute;left:0;right:0;bottom:0;text-align:center;background:linear-gradient(transparent,#121e29 45%);padding:70px 20px 25px}.house-reveal small{display:block;color:var(--gold)}.house-reveal strong{display:block;font:38px 'Cormorant Garamond',serif;margin-top:10px;color:var(--house)}fieldset{border:0;padding:0;margin:25px 0 0}legend{font-size:12px;margin-bottom:14px}#house-buttons{display:flex;flex-direction:column;gap:7px}#house-buttons button{background:transparent;color:#d4d7d4;border:1px solid #77818850;padding:12px 15px;text-align:left;font-size:12px;display:flex;gap:13px;align-items:center}#house-buttons button:not(:disabled):hover,#house-buttons button.chosen{border-color:var(--house);background:#ffffff08}#house-buttons button span{font-size:21px;color:var(--gold)}.scene-wardrobe{background-image:url('/assets/figurino-varinhas.png');background-size:280% auto;background-position:0% 23%;border-radius:220px 220px 0 0}.costume-preview{display:flex;align-items:center;gap:24px;margin:25px 0}#costume{width:90px;height:115px}.cloth{fill:var(--house);transition:fill 1s}.costume-preview div>*{display:block}.costume-preview small{color:#b4b8b6}.costume-preview strong{font:29px 'Cormorant Garamond',serif;color:var(--house);margin:6px 0}.costume-preview div>span{font-size:10px;color:#b4b8b6}.wand-section{position:relative;text-align:center;overflow:hidden;padding:90px 20px}.wand-background,.wand-shade{position:absolute;inset:0}.scene-wands{background-image:url('/assets/figurino-varinhas.png');background-size:170% auto;background-position:100% 24%}.wand-shade{background:linear-gradient(#0c141bf0,#0c141ba0 45%,#0c141bf5)}.wand-content{position:relative}.wand-content .chapter{justify-content:center}.wand-content>p:not(.chapter){font-size:13px;margin:25px auto;line-height:1.9;max-width:440px}.wand-content h2{font-size:clamp(52px,5vw,80px)}.wand-rack{display:flex;gap:80px;justify-content:center;margin:40px 0 30px;height:190px}.wand{display:flex;flex-direction:column;align-items:center;justify-content:end;gap:25px;width:35px}.wand i{display:block;height:150px;width:8px;border-radius:80% 80% 4px 4px;background:linear-gradient(90deg,#48301d,#d4ac72 45%,#5b3522 75%);transform:rotate(12deg);position:relative;transition:filter 1s,transform 1s}.wand i:after{content:'';position:absolute;bottom:0;left:-3px;width:14px;height:45px;background:repeating-linear-gradient(#89643c 0px,#d9b77c 3px,#503826 7px);border-radius:8px}.wand:nth-child(2) i{height:175px;transform:rotate(0deg)}.wand:nth-child(3) i{transform:rotate(-12deg);background:linear-gradient(90deg,#adb0ac,#4a535b,#cfbda4)}.wand span{color:#a5a69d;font-size:10px}.wand.selected i{filter:drop-shadow(0 0 13px #d3b0ff) drop-shadow(0 0 25px #c78aff);transform:translateY(-15px)}.scene-master{background-image:url('/assets/mestre-mapa.png');background-size:240% auto;background-position:39% 0%;min-height:590px;border-radius:220px 220px 0 0}.spell-box{position:relative;border:1px solid #d6b57b45;background:#0b141d;margin:25px 0 18px;max-width:460px}.spell-box canvas{display:block;width:100%;height:200px;touch-action:none}.spell-box>span{display:block;font-size:10px;color:#aab9c3;text-align:center;padding:0 10px 14px;pointer-events:none}.magic-burst{position:absolute;top:35%;left:45%;font-size:90px;color:#e3d0ff;opacity:0;transform:scale(.1);filter:drop-shadow(0 0 30px #9965ff);transition:opacity 1s,transform 1s}.magic-burst span{position:absolute;top:-50px;right:-50px;font-size:60px}.magic-burst i{position:absolute;top:90px;left:-100px;font-size:45px}.academy.enchanted .magic-burst{opacity:1;transform:scale(1.2)}.academy.enchanted .scene-master{box-shadow:inset 0 0 90px #ac87f388}.map-section{padding:90px 7%;background:#15232d}.map-intro{text-align:center}.map-intro .chapter{justify-content:center}.map-intro>p:not(.chapter){font-size:13px;color:#c2c8c5;margin:25px auto}.map-intro .result{max-width:none;color:var(--gold)}.magic-map{position:relative;isolation:isolate;margin:45px auto 0;max-width:1080px;background:#e6d5b6;color:#403422;padding:45px 30px 25px;outline:1px solid #9c8152;outline-offset:-12px;box-shadow:0 25px 60px #0004}.magic-map:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.25;background:repeating-radial-gradient(ellipse at 40% 50%,transparent 0px,transparent 25px,#826d4933 26px,transparent 28px)}.map-title{text-align:center}.map-title>span{font-size:40px;color:#7b623c}.map-title h3{font-size:42px}.map-title p{font-size:11px;margin-top:8px}.map-points{display:flex;justify-content:space-around;align-items:start;gap:15px;margin:45px 0;position:relative}.map-points button{background:transparent;border:0;color:#48351f;display:flex;flex-direction:column;align-items:center;gap:10px;font:20px 'Cormorant Garamond',serif;max-width:145px;text-align:center}.map-points button>span{font:35px Georgia,serif;border:1px solid #8e774e;border-radius:50%;background:#e6d5b6;width:65px;height:65px;display:grid;place-items:center}.map-points button:nth-child(even){margin-top:45px}.map-points button small{font:10px 'DM Sans',sans-serif}.map-points button:not(:disabled):hover>span,.map-points button.selected>span{background:#433724;color:#f5e1b9}.map-trail{position:absolute;top:46%;left:10%;width:80%;height:100px;border:2px dashed #8d744566;transform:rotate(-3deg);border-radius:50%}.magic-map>small{display:block;text-align:center;font-size:9px;line-height:1.8}#mission-detail{text-align:center;min-height:70px;font-size:13px;line-height:1.8;max-width:650px;margin:0 auto 12px}.magic-map.locked .map-points{opacity:.45}.project{padding:110px 9%;display:grid;grid-template-columns:1.3fr 1fr;gap:12%;align-items:center}.project p:not(.chapter){font-size:13px;color:#b6bfbe;margin-top:24px}.text-link{background:none;border:none;padding:0;color:var(--gold);text-decoration:underline;text-underline-offset:6px;font-size:12px;display:inline-block;margin-top:25px}.project-facts>div{padding:30px 0;border-bottom:1px solid #d6b57b35;display:flex;align-items:center;gap:30px}.project-facts strong{font:45px/1 'Cormorant Garamond',serif;color:var(--gold);min-width:125px}.project-facts span{font-size:11px;line-height:1.9;color:#b8c1c0}.questions{max-width:900px;margin:auto;padding:10px 25px 90px}.questions h2{font-size:38px;margin-bottom:35px}.questions details{border-bottom:1px solid #d6b57b30;padding:22px 0}.questions summary{cursor:pointer;font-size:13px}.questions details p{font-size:12px;color:#b3bdbc;margin-top:16px}footer{border-top:1px solid #d6b57b30;padding:40px 5.5%;display:flex;justify-content:space-between;gap:30px}footer .brand{font-size:24px}footer .brand small{letter-spacing:0;text-transform:none;line-height:1.8}footer>div{display:flex;flex-direction:column;align-items:end;gap:15px;font-size:10px;color:#a4b0b1}footer .text-link{margin:0;font-size:11px}.version{color:var(--gold)}.skip{position:absolute;top:-100px;left:20px;background:#fff;color:#000;z-index:100;padding:15px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:1600px){.hero-picture{background-size:100% auto;background-position:50% 0%}.hero-shade{background:linear-gradient(90deg,#0c141bf5,#0c141bb0 40%,transparent 80%),linear-gradient(0deg,#101a22,transparent 40%)}}
@media(max-width:800px){.header{height:80px;padding:0 5%}.brand{font-size:23px;gap:9px}.brand-star{font-size:38px}.brand small{font-size:8px;letter-spacing:1px}.header nav{gap:0}.header nav>a:not(.nav-cta){display:none}.nav-cta{padding:11px;font-size:10px}.nav-cta span{padding-left:7px}.hero{height:calc(100svh - 80px);min-height:680px;max-height:850px}.hero-picture{background-size:auto 180%;background-position:51% 0%;opacity:.78}.hero-shade{background:linear-gradient(90deg,#0c141bdc,#0c141b65),linear-gradient(0deg,#101a22,transparent 50%)}.hero-copy{padding:90px 7% 100px}.hero-copy h1{font-size:76px}.hero-copy>p:not(.eyebrow):not(.micro){font-size:13px}.hero-bottom{left:7%;right:7%;font-size:9px}.hero-bottom>span:last-child{display:none}.intro{padding:70px 25px}.intro>div br{display:none}.journey-nav{padding:15px 4% 10px}.journey-nav nav{justify-content:space-between;gap:8px}.journey-nav a{font-size:10px}.journey-nav a span{margin-left:3px}.station{grid-template-columns:1fr;padding:65px 7%;gap:35px}.station .scene{min-height:420px}.station-copy{max-width:540px}.station-copy h2{font-size:55px}.station-copy>p:not(.chapter):not(.micro):not(.result){max-width:none}.reception .scene,.wardrobe .scene{order:2}.scene-reception{background-size:245% auto;background-position:0% 42%}.scene-wardrobe{background-size:245% auto;background-position:0% 22%}.scene-oracle{background-size:280% auto;background-position:74% 44%}.oracle-art{max-width:540px}.orb{width:120px;height:120px;font-size:60px}.scene-master{background-size:225% auto;min-height:450px!important}.wand-section{padding:65px 20px}.scene-wands{background-size:auto 170%;background-position:100% 20%}.wand-rack{gap:60px}.map-section{padding:65px 5%}.map-intro h2{font-size:52px}.map-intro>p br{display:none}.magic-map{padding:35px 22px 25px}.map-title h3{font-size:34px}.map-points{flex-wrap:wrap;gap:25px 12px;margin:30px 0}.map-points button{width:calc(33% - 12px);font-size:19px}.map-points button:nth-child(even){margin-top:0}.map-points button>span{width:52px;height:52px;font-size:28px}.map-trail{display:none}.project{grid-template-columns:1fr;padding:70px 7%;gap:30px}.project h2{font-size:48px}.project-facts strong{min-width:120px}.questions{padding-bottom:65px}.questions h2{font-size:33px}footer{flex-direction:column;padding:35px 7%}footer>div{align-items:start}.hero-stars{right:15%;top:13%}}
@media(max-width:380px){.brand{font-size:20px}.nav-cta{font-size:9px}.hero-copy h1{font-size:66px}.journey-nav a span{display:none}.hero-copy{padding-top:70px}}
/* Frame only the illustration areas, keeping technical captions out of the scenes.
   Source PNG bytes remain unchanged; percentages map crop coordinates to each frame. */
.hero-picture{background-size:auto 260%;background-position:65% 12%;transform:scale(var(--portal-scale,1.02))}
.scene-reception{background-size:337% 310%;background-position:2% 46.2%}
.scene-oracle{background-size:426% 298%;background-position:67.7% 45.8%}
.scene-wardrobe{background-size:370% 350%;background-position:14% 24.5%}
.scene-master{background-size:415% 400%;background-position:39% 9%}
.scene-wands{background-size:241% 340%;background-position:90% 21%}
@media(max-width:800px){.hero-picture{background-size:auto 250%;background-position:61% 12%}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.hero-picture{transform:none!important}}
