*{margin:0;padding:0}body{cursor:url(/wand-cursor.svg) 4 4,auto}a,button,[role=button]{cursor:url(/wand-cursor.svg) 4 4,pointer}:root,[data-house=default]{--accent:#f3d382;--accent2:#eeba30;--glow:#f3d38273;--bg-deep:#050402;--particle-color:#f3d382}[data-house=gryffindor]{--accent:#eeba30;--accent2:#c8102e;--glow:#eeba308c;--bg-deep:#1a0a0a;--particle-color:#eeba30}[data-house=slytherin]{--accent:#5ebd8a;--accent2:#1a472a;--glow:#5ebd8a73;--bg-deep:#07120a;--particle-color:#5ebd8a}[data-house=ravenclaw]{--accent:#946b2d;--accent2:#5e8cde;--glow:#5e8cde80;--bg-deep:#060b1a;--particle-color:#5e8cde}[data-house=hufflepuff]{--accent:#ecb939;--accent2:#372e29;--glow:#ffc85a8c;--bg-deep:#1a1106;--particle-color:#ffc85a}html{scroll-behavior:smooth;min-height:100%;scroll-padding-top:80px;overflow:hidden auto}html,body,#root{min-height:100%}body{overscroll-behavior-y:auto;overflow:hidden auto}button,a,[role=button]{-webkit-tap-highlight-color:transparent}@media (hover:none),(pointer:coarse){body,a,button,[role=button]{cursor:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:#000;min-width:320px;overflow-x:hidden}::selection{background:var(--accent);color:#080603}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.navbar{z-index:50;background:linear-gradient(#0504028c,#05040200);width:100%;padding:1.6rem 4vw;transition:background .5s,padding .4s,box-shadow .4s;position:fixed;top:0;left:0}.navbar--scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--glow);background:#080704db;padding:.9rem 4vw;box-shadow:0 4px 30px #00000080}.navbar-inner{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;display:flex}.navbar-brand{color:var(--accent);align-items:center;gap:.6rem;text-decoration:none;display:flex}.navbar-crest{width:30px;height:30px;color:var(--accent);filter:drop-shadow(0 0 6px var(--glow))}.navbar-brand-text{letter-spacing:.08em;text-shadow:0 0 16px var(--glow);font-family:Cinzel Decorative,Cinzel,Playfair Display,serif;font-size:1.3rem}.navbar-links{gap:2.4rem;display:flex}.navbar-link{color:#eee0c3e0;letter-spacing:.1em;text-transform:uppercase;padding-bottom:.3rem;font-family:Cinzel,EB Garamond,serif;font-size:.92rem;text-decoration:none;position:relative}.navbar-link:after{content:"";background:var(--accent);width:0%;height:1px;box-shadow:0 0 8px var(--glow);transition:width .35s;position:absolute;bottom:0;left:0}.navbar-link:hover{color:var(--accent)}.navbar-link:hover:after{width:100%}.navbar-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;display:none}.navbar-toggle span{background:var(--accent);width:100%;height:1.5px;transition:transform .3s,opacity .3s;display:block}.navbar-toggle.is-open span:first-child{transform:translateY(6.5px)rotate(45deg)}.navbar-toggle.is-open span:nth-child(2){opacity:0}.navbar-toggle.is-open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.navbar-mobile{border-top:1px solid var(--glow);flex-direction:column;gap:1.2rem;margin-top:1.2rem;padding-top:1.2rem;display:none}@media (width<=820px){.navbar-links{display:none}.navbar-toggle{display:flex}.navbar-mobile{opacity:0;max-height:0;transition:max-height .4s,opacity .3s;overflow:hidden}.navbar-mobile.is-open{opacity:1;max-height:320px;display:flex}}.navbar-link.is-active{color:var(--accent)}.navbar-link.is-active:after{width:100%}.hero{background:#000;width:100vw;height:100vh;position:relative;overflow:hidden}.hero-video{object-fit:cover;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.hero-vignette{z-index:2;pointer-events:none;background:radial-gradient(#0000 40%,#000000a6 100%),linear-gradient(#00000059 0%,#0000 30% 70%,#0000008c 100%);position:absolute;inset:0}.hero-overlay{z-index:3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.hero-scene{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:0 6vw;display:flex;position:absolute;inset:0}.hero-scene h1,.hero-scene h2{color:#f3e3c1;text-shadow:0 0 20px #ffd36e73,0 0 60px #ffb43c40,0 4px 18px #000c;letter-spacing:.04em;margin:0;font-family:Cinzel Decorative,Cinzel,Playfair Display,serif}.hero-scene h1{font-size:clamp(2.8rem,7vw,6rem)}.hero-scene h2{font-size:clamp(2rem,4.5vw,3.6rem)}.hero-scene p{color:#eee0c3eb;letter-spacing:.03em;text-shadow:0 2px 10px #000000d9;max-width:640px;margin-top:1.4rem;font-family:EB Garamond,Cormorant Garamond,Georgia,serif;font-size:clamp(1.05rem,1.6vw,1.4rem);line-height:1.6}.hero-cta{color:#f3d382;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#140e0459;border:1px solid #f3d382a6;border-radius:2px;margin-top:2.4rem;padding:.9rem 2.6rem;font-family:Cinzel,serif;font-size:1rem;transition:background .4s,box-shadow .4s,transform .3s}.hero-cta:hover{background:#f3d3821f;transform:translateY(-2px);box-shadow:0 0 30px #f3d38273}.particle-layer{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.particle{background:var(--particle-color,#f3d382);opacity:0;border-radius:50%;width:4px;height:4px;position:absolute;top:100%}.particle-layer--dust .particle{box-shadow:0 0 6px var(--particle-color,#f3d382);animation-name:particle-dust;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.particle-layer--embers .particle{background:var(--particle-color,#eeba30);box-shadow:0 0 8px var(--particle-color,#eeba30);animation-name:particle-embers;animation-timing-function:ease-out;animation-iteration-count:infinite}.particle-layer--smoke .particle{filter:blur(3px);background:var(--particle-color,#5ebd8a);width:14px;height:14px;box-shadow:none;animation-name:particle-smoke;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.particle-layer--stars .particle{background:var(--particle-color,#5e8cde);box-shadow:0 0 6px var(--particle-color,#5e8cde);animation-name:particle-stars;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.particle-layer--fireflies .particle{background:var(--particle-color,#ffc85a);box-shadow:0 0 8px var(--particle-color,#ffc85a);animation-name:particle-fireflies;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes particle-dust{0%{opacity:0;top:100%}10%{opacity:.6}90%{opacity:.3}to{opacity:0;top:-10%}}@keyframes particle-embers{0%{opacity:0;top:100%;transform:translate(0)}15%{opacity:1}to{opacity:0;top:-15%;transform:translate(12px)}}@keyframes particle-smoke{0%{opacity:0;top:95%;transform:translate(0)scale(1)}30%{opacity:.35}to{opacity:0;top:10%;transform:translate(30px)scale(1.6)}}@keyframes particle-stars{0%,to{opacity:.15}50%{opacity:.9}}@keyframes particle-fireflies{0%{opacity:0;top:80%;transform:translate(0)}20%{opacity:.9}50%{transform:translate(-20px)}80%{transform:translate(15px)}to{opacity:0;top:20%;transform:translate(0)}}.sorting{background:radial-gradient(ellipse at 50% 30%, var(--bg-deep,#0a0703) 0%, #000 100%);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.sorting-scene{justify-content:center;align-items:center;width:100%;height:100%;min-height:100vh;display:flex;position:relative}.sorting-fog{filter:blur(20px);z-index:1;background:radial-gradient(circle at 20% 80%,#ffffff0d 0%,#0000 40%),radial-gradient(circle at 80% 70%,#ffffff0a 0%,#0000 45%);animation:18s ease-in-out infinite alternate fog-drift;position:absolute;inset:-10%}@keyframes fog-drift{0%{transform:translate(-2%)translateY(0)}to{transform:translate(2%)translateY(-1%)}}.sorting-candles{z-index:3;pointer-events:none;position:absolute;inset:0}.candle{width:6px;position:absolute;top:8%}.candle-body{background:linear-gradient(#e8dcc0,#b8a878);border-radius:2px;width:6px;height:60px;margin:0 auto}.candle-flame{background:radial-gradient(circle,#fff3c4 0%,#f3a730 60%,#0000 100%);border-radius:50%/60% 60% 40% 40%;width:8px;height:14px;margin:0 auto 2px;animation:1.6s ease-in-out infinite alternate flame-flicker}@keyframes flame-flicker{0%{opacity:.85;transform:scale(1)translate(0)}50%{opacity:1;transform:scale(1.08)translate(1px)}to{opacity:.9;transform:scale(.96)translate(-1px)}}.sorting-stage{z-index:4;flex-direction:column;align-items:center;display:flex;position:relative}.stool{background:linear-gradient(#5a4126,#2e2012);border-radius:4px;width:120px;height:14px;margin-top:20px;box-shadow:0 30px 40px #0009}.hat{transform-origin:50% 90%;cursor:default;filter:drop-shadow(0 0 #0000);width:160px;height:160px}.hat--interactive{cursor:pointer}.hat--interactive:focus-visible{outline:2px solid var(--accent,#f3d382);outline-offset:6px;border-radius:50%}.hat-svg{width:100%;height:100%}.sorting-overlay{z-index:5;background:#0000008c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.sorting-line{color:#f3e3c1;text-shadow:0 0 20px #ffd36e80;opacity:0;font-family:Cinzel,Playfair Display,serif;font-size:clamp(1.8rem,4vw,3rem);animation:1.1s ease-in-out forwards line-fade}@keyframes line-fade{0%{opacity:0;transform:translateY(10px)}20%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0}}.sorting-overlay--reveal{background:#000000b3}.sorting-overlay--settled{pointer-events:none;background:0 0;position:static;inset:auto}.sorting-house-name{letter-spacing:.06em;opacity:0;filter:blur(16px);font-family:Cinzel Decorative,Cinzel,serif;font-size:clamp(2.6rem,6vw,5rem);animation:1.4s cubic-bezier(.16,1,.3,1) forwards house-reveal;transform:scale(.85)}@keyframes house-reveal{to{opacity:1;filter:blur();transform:scale(1)}}.cursor-trail{pointer-events:none;z-index:200;position:fixed;inset:0}.cursor-particle{opacity:0;background:#f3d382;border-radius:50%;width:5px;height:5px;position:fixed;transform:translate(-50%,-50%)}.cursor-particle--embers{animation:.8s ease-out forwards cursor-embers}.cursor-particle--smoke{filter:blur(2px);width:10px;height:10px;animation:.9s ease-out forwards cursor-smoke}.cursor-particle--stars{animation:.7s ease-out forwards cursor-stars}.cursor-particle--fireflies{animation:.9s ease-in-out forwards cursor-fireflies}@keyframes cursor-embers{0%{opacity:.9;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-150%)scale(.4)}}@keyframes cursor-smoke{0%{opacity:.5;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-120%)scale(2)}}@keyframes cursor-stars{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.2)}}@keyframes cursor-fireflies{0%{opacity:.9;transform:translate(-50%,-50%)translate(0)}50%{transform:translate(-50%,-50%)translate(8px)}to{opacity:0;transform:translate(-50%,-50%)translate(-8px)}}.house-modal{z-index:5000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#000000b8;place-items:center;padding:1.5rem;animation:.3s modalIn;display:grid;position:fixed;inset:0}.house-modal-card{text-align:center;border:1px solid var(--modal-accent);width:min(620px,92vw);box-shadow:0 30px 120px #000c,0 0 80px var(--modal-glow);background:radial-gradient(circle at 50% 20%,#ffffff0f,#0000 40%),#080706;border-radius:20px;padding:3.2rem 2.4rem 2.4rem;position:relative;overflow:hidden}.house-modal-orbit{border:1px solid color-mix(in srgb,var(--modal-accent) 30%,transparent);opacity:.5;border-radius:50%;width:420px;height:420px;position:absolute;top:15%;left:50%;transform:translate(-50%,-50%)}.house-modal-logo{object-fit:contain;width:110px;height:110px;filter:drop-shadow(0 0 30px var(--modal-glow));margin-bottom:1rem;position:relative}.house-modal-kicker{color:var(--modal-accent);letter-spacing:.24em;text-transform:uppercase;font:600 .68rem/1 Cinzel,serif;display:block}.house-modal-card h2{color:#f8f1df;margin:.6rem 0 .3rem;font:700 clamp(2.2rem,7vw,4.3rem)/1 Cinzel Decorative,Cinzel,serif;position:relative}.house-modal-tagline{color:#eee0c3cc;font:italic 1.2rem/1.5 EB Garamond,Georgia,serif}.house-modal-grid{text-align:left;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0;display:grid}.house-modal-grid div{background:#ffffff06;border:1px solid #ffffff1a;border-radius:12px;padding:1rem}.house-modal-grid span{color:var(--modal-accent);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.45rem;font:600 .65rem/1 Cinzel,serif;display:block}.house-modal-grid strong{color:#eee1c3;font:1rem/1.45 EB Garamond,Georgia,serif;display:block}.house-modal-choose{border:1px solid var(--modal-accent);background:var(--modal-accent);color:#090604;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 0 30px var(--modal-glow);border-radius:999px;padding:.9rem 1.3rem;font:700 .72rem/1 Cinzel,serif;transition:transform .2s,box-shadow .2s}.house-modal-choose:hover{box-shadow:0 0 50px var(--modal-glow);transform:translateY(-2px)}.house-modal-close{color:#eee;background:#ffffff08;border:1px solid #ffffff29;border-radius:50%;width:40px;height:40px;font-size:1.5rem;line-height:1;position:absolute;top:1rem;right:1rem}.house-modal-close:hover{border-color:var(--modal-accent);color:var(--modal-accent)}@keyframes modalIn{0%{opacity:0}}@media (width<=560px){.house-modal-grid{grid-template-columns:1fr}.house-modal-card{padding:2.7rem 1.2rem 1.5rem}}.house-reveal{z-index:6000;background:radial-gradient(circle at 50% 45%,var(--reveal-glow),transparent 24%),#030201e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0;overflow:hidden}.house-reveal-stars,.house-reveal-ring{pointer-events:none;position:absolute;inset:0}.house-reveal-stars i{left:var(--x);top:var(--y);background:var(--reveal-accent2);width:3px;height:3px;box-shadow:0 0 14px var(--reveal-accent2);animation:revealTwinkle var(--d) ease-in-out infinite;animation-delay:var(--delay);border-radius:50%;position:absolute}.house-reveal-ring{top:50%;left:50%;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--reveal-accent) 28%,transparent);width:min(72vw,760px);box-shadow:0 0 80px var(--reveal-glow);border-radius:50%;inset:auto;transform:translate(-50%,-50%)}.house-reveal-ring--two{opacity:.45;border-style:dashed;width:min(96vw,1040px);animation:18s linear infinite revealOrbit;transform:translate(-50%,-50%)rotate(24deg)}.house-reveal-card{z-index:2;text-align:center;border:1px solid color-mix(in srgb,var(--reveal-accent) 72%,white 8%);background:radial-gradient(circle at 50% 18%,color-mix(in srgb,var(--reveal-accent) 18%,transparent),transparent 42%),linear-gradient(180deg,#120e09f7,#050403fa);width:min(560px,92vw);box-shadow:0 40px 140px #000000e6,0 0 90px var(--reveal-glow),inset 0 0 50px #ffffff06;cursor:default;border-radius:24px;padding:2.4rem 2rem 1.7rem;position:relative}.house-reveal-kicker,.house-reveal-label{text-transform:uppercase;letter-spacing:.22em;font-family:Cinzel,Georgia,serif;font-weight:600;display:block}.house-reveal-kicker{color:var(--reveal-accent2);font-size:.62rem}.house-reveal-label{color:#eee0c37a;margin-top:1.1rem;font-size:.58rem}.house-reveal-crest{place-items:center;width:190px;height:190px;margin:1.2rem auto .2rem;display:grid;position:relative}.house-reveal-glow{background:var(--reveal-glow);filter:blur(25px);opacity:.9;border-radius:50%;width:130px;height:130px;position:absolute}.house-reveal-crest img{object-fit:contain;width:150px;height:150px;filter:drop-shadow(0 0 24px var(--reveal-glow));position:relative}.house-reveal-card h2{color:#f8f0dc;text-shadow:0 0 35px var(--reveal-glow);margin:.35rem 0 .45rem;font:700 clamp(2.4rem,8vw,4.8rem)/.95 Cinzel Decorative,Cinzel,Georgia,serif}.house-reveal-card p{color:#eee0c3d1;margin:0 auto .9rem;font:italic 1.15rem/1.45 EB Garamond,Georgia,serif}.house-reveal-values{color:var(--reveal-accent2);letter-spacing:.1em;text-transform:uppercase;font:.65rem/1.5 Cinzel,Georgia,serif}.house-reveal-card button{border:1px solid var(--reveal-accent);background:var(--reveal-accent);color:#090604;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 0 32px var(--reveal-glow);cursor:pointer;border-radius:999px;align-items:center;gap:.65rem;margin-top:1.5rem;padding:.9rem 1.25rem;font:700 .68rem/1 Cinzel,Georgia,serif;transition:transform .2s,box-shadow .2s;display:inline-flex}.house-reveal-card button:hover{box-shadow:0 0 55px var(--reveal-glow);transform:translateY(-2px)}.house-reveal-card small{color:#eee0c359;margin-top:.9rem;font:.62rem/1.4 EB Garamond,Georgia,serif;display:block}@keyframes revealTwinkle{0%,to{opacity:.18;transform:scale(.7)}50%{opacity:1;transform:scale(1.6)}}@keyframes revealOrbit{to{transform:translate(-50%,-50%)rotate(384deg)}}@media (width<=560px){.house-reveal{padding:1rem}.house-reveal-card{padding:1.8rem 1.1rem 1.3rem}.house-reveal-crest{width:150px;height:150px}.house-reveal-crest img{width:120px;height:120px}.house-reveal-card p{font-size:1rem}}@media (prefers-reduced-motion:reduce){.house-reveal-ring--two,.house-reveal-stars i{animation:none}}.houses{background:radial-gradient(ellipse at 50% 20%, var(--bg-deep,#0a0703) 0%, #000 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:8vh 0;display:flex;position:relative;overflow:hidden}.houses-heading{text-align:center;margin-bottom:5vh;padding:0 6vw}.houses-heading h2{color:var(--accent,#f3d382);text-shadow:0 0 30px var(--glow,#f3d38266);margin:0 0 .8rem;font-family:Cinzel Decorative,Cinzel,Playfair Display,serif;font-size:clamp(2.2rem,5vw,4rem)}.houses-heading p{color:#eee0c3d9;letter-spacing:.03em;font-family:EB Garamond,Cormorant Garamond,Georgia,serif;font-size:clamp(1rem,1.6vw,1.3rem)}.houses-track{scroll-snap-type:x mandatory;scrollbar-width:none;gap:4vw;width:100%;padding:2vh 11vw 4vh;display:flex;overflow-x:auto}.houses-track::-webkit-scrollbar{display:none}.house-card{scroll-snap-align:center;filter:brightness(.75);cursor:pointer;border:1px solid #ffffff14;border-radius:18px;flex:0 0 min(78vw,760px);justify-content:center;align-items:center;height:min(60vh,520px);transition:transform .4s,filter .4s,box-shadow .4s;display:flex;position:relative;overflow:hidden;transform:scale(.92);box-shadow:0 20px 60px #00000080}.house-card.is-active{filter:brightness();box-shadow:0 30px 80px #0009, 0 0 60px var(--card-glow,transparent);transform:scale(1.04)}.house-card:hover{box-shadow:0 30px 90px #000000a6, 0 0 90px var(--card-glow,transparent)}.house-card:hover .particle-layer{filter:brightness(1.3)}.house-card-bg{background:radial-gradient(circle at 30% 20%, var(--card-accent,#444) 0%, transparent 55%), linear-gradient(to bottom, #0003, #000000d9);opacity:.5;z-index:0;position:absolute;inset:0}.card-silhouette{width:140px;color:var(--card-accent2,#888);opacity:.5;z-index:2;position:absolute;bottom:14%;right:8%}.card-silhouette-svg{width:100%;height:auto}.card-constellation{width:60%;color:var(--card-accent2,#fff);z-index:2;position:absolute;top:10%;left:5%}.constellation-star{animation:3s ease-in-out infinite constellation-twinkle}.constellation-star:nth-child(odd){animation-delay:1.2s}@keyframes constellation-twinkle{0%,to{opacity:.3}50%{opacity:1}}.house-card-content{z-index:3;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.4rem;padding:6% 8%;display:flex;position:relative}.house-card-logo{object-fit:contain;width:160px;height:160px;filter:drop-shadow(0 0 20px var(--card-glow,#fff6));margin-bottom:0}.house-card-content h1{color:#fff;text-shadow:0 0 30px var(--card-glow,transparent), 0 2px 8px #000c;margin:0;font-family:Cinzel Decorative,Cinzel,serif;font-size:clamp(1.8rem,3.2vw,2.6rem)}.house-card-content p{color:#fff;text-shadow:0 2px 6px #000c;margin:0;font-family:EB Garamond,Cormorant Garamond,Georgia,serif;font-size:clamp(.95rem,1.3vw,1.15rem)}.house-card-cta{letter-spacing:.1em;text-transform:uppercase;color:#fff;cursor:pointer;background:#00000073;border:1px solid #fff;border-radius:999px;padding:.7rem 1.8rem;font-family:Cinzel,serif;font-size:.85rem;transition:background .3s,box-shadow .3s,transform .3s}.house-card-cta:hover{color:#0a0703;box-shadow:0 0 24px var(--card-glow,#fff9);background:#fff;transform:translateY(-2px)}@media (width<=820px){.house-card{flex:0 0 82vw;height:60vh}.houses-track{padding:2vh 9vw 4vh}}.house-card.is-selected{border-color:var(--card-accent,#fff);box-shadow:0 30px 90px #000000a6, 0 0 100px var(--card-glow,transparent)}.house-card:focus-visible{outline:2px solid var(--card-accent,#fff);outline-offset:5px}.house-card-cta:focus-visible{outline:2px solid var(--card-accent,#fff);outline-offset:3px}@media (hover:none),(pointer:coarse){.house-card:hover{box-shadow:0 20px 60px #00000080}}.house-identity{border:1px solid var(--accent);width:min(900px,86vw);box-shadow:0 0 35px var(--glow);background:linear-gradient(90deg,#00000094,#00000047);border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;margin-top:1rem;padding:1.2rem 1.4rem;display:grid}.house-identity-mark{border:1px solid var(--accent);width:44px;height:44px;color:var(--accent);border-radius:50%;place-items:center;font-size:1.2rem;display:grid}.house-identity-kicker{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;font:600 .72rem/1 Cinzel,serif}.house-identity h3{color:#fff;margin:.25rem 0;font:700 clamp(1.35rem,3vw,2rem)/1.1 Cinzel Decorative,Cinzel,serif}.house-identity p,.house-identity small{color:#eee0c3cc;font-family:EB Garamond,Georgia,serif}.house-identity p{margin:0 0 .15rem}.house-identity button{color:#ffffffbf;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:1px solid #ffffff40;border-radius:999px;padding:.65rem .9rem;font:.72rem Cinzel,serif}.house-identity button:hover{color:var(--accent);border-color:var(--accent)}@media (width<=640px){.house-identity{grid-template-columns:auto 1fr}.house-identity button{grid-column:1/-1;justify-self:start}}@media (prefers-reduced-motion:reduce){.house-card,.house-card.is-active{transform:none}}.loading-screen{z-index:9999;color:#f3dca8;background:radial-gradient(circle at 50% 42%,#211a0d 0,#080604 38%,#020202 75%);align-content:center;place-items:center;gap:.8rem;transition:opacity .7s,visibility .7s;display:grid;position:fixed;inset:0}.loading-screen:before{content:"";border:1px solid #f3d3821f;border-radius:50%;position:absolute;inset:8%;box-shadow:inset 0 0 100px #f3d38214}.loading-stars{opacity:.6;background-image:radial-gradient(circle,#ffffffb3 1px,#0000 1.5px);background-size:82px 91px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 85%);mask-image:linear-gradient(#000,#0000 85%)}.loading-crest{border:1px solid #f3d3828c;border-radius:50%;place-items:center;width:76px;height:76px;font-size:2rem;animation:2s ease-in-out infinite loadingPulse;display:grid;box-shadow:0 0 45px #f3d38229}.loading-kicker{letter-spacing:.3em;text-transform:uppercase;color:#f3d382b8;font:600 .7rem/1 Cinzel,serif}.loading-screen h1{letter-spacing:.02em;text-shadow:0 0 40px #f3d38238;font:700 clamp(3rem,9vw,6.5rem)/.9 Cinzel Decorative,Cinzel,serif}.loading-rule{background:#ffffff1f;width:min(260px,58vw);height:2px;overflow:hidden}.loading-rule span{background:#f3d382;height:100%;transition:width 80ms linear;display:block;box-shadow:0 0 16px #f3d382}.loading-progress{letter-spacing:.16em;color:#ffffff73;font:500 .68rem/1 Cinzel,serif}@keyframes loadingPulse{50%{transform:scale(1.06);box-shadow:0 0 70px #f3d38240}}@media (prefers-reduced-motion:reduce){.loading-crest{animation:none}}.magic-field{z-index:4500;pointer-events:none;position:fixed;inset:0;overflow:hidden}.magic-burst{background:var(--accent);width:4px;height:4px;box-shadow:0 0 12px var(--accent);border-radius:50%;animation:.8s ease-out forwards burstCore;position:absolute}.magic-burst i{background:var(--accent);transform-origin:50% 2px;width:3px;height:16px;transform:rotate(calc(var(--i) * 45deg));border-radius:99px;animation:.8s ease-out forwards burstRay;position:absolute;top:0;left:0}@keyframes burstCore{to{opacity:0;transform:scale(2)}}@keyframes burstRay{0%{opacity:1;transform:rotate(calc(var(--i) * 45deg)) translateY(0) scaleY(.4)}to{opacity:0;transform:rotate(calc(var(--i) * 45deg)) translateY(-30px) scaleY(1)}}@media (prefers-reduced-motion:reduce){.magic-field{display:none}}.finale{--mx:0px;--my:0px;--finale-accent:#f3d382;--finale-glow:#f3d38273;isolation:isolate;background:radial-gradient(circle at calc(50% + var(--mx)) calc(42% + var(--my)), var(--finale-glow), transparent 18%), radial-gradient(circle at 15% 85%, #ffffff0b, transparent 30%), linear-gradient(180deg, #060504 0%, #0a0805 48%, #030302 100%);border-top:1px solid #ffffff14;place-items:center;min-height:100svh;display:grid;position:relative;overflow:hidden}.finale:before,.finale:after{content:"";pointer-events:none;position:absolute;inset:0}.finale:before{z-index:-1;background:radial-gradient(#0000 35%,#000c 100%)}.finale:after{z-index:0;background:linear-gradient(90deg,#0000,#ffffff06,#0000);animation:8s ease-in-out infinite finaleSweep;transform:translate(-100%)}.finale-stars{z-index:-1;position:absolute;inset:0}.finale-star{left:var(--x);top:var(--y);width:var(--s);height:var(--s);opacity:.45;background:#f6edda;border-radius:50%;position:absolute;box-shadow:0 0 10px #ffffff80}.finale-orbit{aspect-ratio:1;width:min(72vw,900px);transform:translate(var(--mx), var(--my));pointer-events:none;border:1px solid #ffffff0f;border-radius:50%;transition:transform .8s ease-out;position:absolute}.finale-orbit--one{width:min(58vw,720px)}.finale-orbit--two{opacity:.55;width:min(88vw,1100px);transform:translate(calc(var(--mx) * -1), calc(var(--my) * -1))}.finale-content{z-index:2;text-align:center;width:min(760px,88vw);padding:8rem 0;position:relative}.finale-kicker{color:var(--finale-accent);letter-spacing:.3em;text-transform:uppercase;text-shadow:0 0 18px var(--finale-glow);font:600 .72rem/1 Cinzel,Georgia,serif;display:inline-block}.finale-seal{border:1px solid var(--finale-accent);width:64px;height:64px;color:var(--finale-accent);box-shadow:0 0 35px var(--finale-glow);border-radius:50%;place-items:center;margin:1.7rem auto 1.2rem;font-size:1.35rem;display:grid}.finale h2{color:#f7efdd;letter-spacing:-.035em;text-shadow:0 10px 50px #000c, 0 0 35px var(--finale-glow);font:700 clamp(3rem,8vw,7.4rem)/.9 Cinzel Decorative,Cinzel,Georgia,serif}.finale h2 em{color:var(--finale-accent);font-style:normal}.finale p{color:#eee0c3c2;width:min(560px,100%);margin:2rem auto 2.4rem;font:1.2rem/1.6 EB Garamond,Georgia,serif}.finale-cta{color:#090604;background:var(--finale-accent);border:1px solid var(--finale-accent);letter-spacing:.12em;text-transform:uppercase;box-shadow:0 0 30px var(--finale-glow);border-radius:999px;align-items:center;gap:.8rem;padding:1rem 1.35rem;font:700 .72rem/1 Cinzel,serif;text-decoration:none;transition:transform .25s,box-shadow .25s;display:inline-flex}.finale-cta:hover{box-shadow:0 0 55px var(--finale-glow);transform:translateY(-3px)}.finale-cta span{font-size:1rem}.finale-footer{color:#eee0c36b;letter-spacing:.12em;text-transform:uppercase;border-top:1px solid #eee0c31a;grid-template-columns:1fr auto 1fr;align-items:end;gap:2rem;width:min(1120px,88vw);padding-top:1rem;font:.58rem/1.45 Cinzel,serif;display:grid;position:absolute;bottom:1.35rem;left:50%;transform:translate(-50%)}.finale-footer-brand{flex-direction:column;gap:.28rem;display:flex}.finale-footer-brand strong{color:#eee0c3b8;letter-spacing:.18em;font-size:.7rem}.finale-footer-nav{justify-content:center;gap:1.1rem;display:flex}.finale-footer-nav a{color:#eee0c36b;text-decoration:none;transition:color .2s}.finale-footer-nav a:hover,.finale-footer-nav a:focus-visible{color:var(--finale-accent)}.finale-footer-credit{justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.finale-footer-credit span:first-child{color:var(--finale-accent);font-size:.8rem}.finale-footer-credit small{opacity:.7;font-size:.5rem}@keyframes finaleSweep{0%,55%{transform:translate(-100%)}72%,to{transform:translate(100%)}}@media (width<=640px){.finale-content{padding:6rem 0 10rem}.finale h2{font-size:clamp(2.9rem,15vw,5rem)}.finale p{font-size:1.05rem}.finale-footer{text-align:center;grid-template-columns:1fr;gap:.55rem;bottom:.9rem}.finale-footer-brand,.finale-footer-credit{justify-content:center;align-items:center}.finale-footer-nav{flex-wrap:wrap;gap:.55rem .9rem}.finale-orbit--two{width:140vw}}@media (prefers-reduced-motion:reduce){.finale:after{animation:none}.finale-orbit{transform:none!important}.finale-star{opacity:.5}}
