
:root{--ink:#080e0d;--gold:#d7b77a;--cream:#f0e8d7;--muted:#b5beb1;--line:#c2a66c38}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ink);color:var(--cream);font:18px/1.7 Georgia,serif}button,a{ -webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #e5cf93;outline-offset:6px}.eyebrow,nav,.btn,.label,.small,footer{font-family:Arial,sans-serif}.eyebrow{text-transform:uppercase;letter-spacing:.23em;font-size:11px;color:var(--gold)}header{position:sticky;top:0;z-index:20;background:#080e0df5;border-bottom:1px solid var(--line)}.nav{max-width:1500px;padding:21px 5%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:26px;line-height:1.2;letter-spacing:.07em}.brand small{display:block;font:9px Arial;letter-spacing:.3em;color:var(--gold);margin-top:8px}nav{display:flex;gap:27px;align-items:center;font-size:12px}nav a:hover{color:var(--gold)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:15px;border:1px solid var(--gold);background:var(--gold);color:#101713;padding:15px 24px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;transition:.25s}.btn:hover{background:#efdaa8;transform:translateY(-2px)}.btn.ghost{background:transparent;color:var(--gold)}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.hero{max-width:1550px;margin:auto;display:grid;grid-template-columns:.95fr 1.05fr;gap:65px;align-items:center;padding:78px 5% 85px;min-height:810px;background:radial-gradient(ellipse at 85% 40%,#27403535,transparent 55%)}h1,h2,h3,p{margin:0}h1{font-size:clamp(51px,5.5vw,86px);font-weight:400;line-height:1.05;margin:24px 0;color:var(--cream)}h1 em{font-weight:400;color:var(--gold)}.lede{color:var(--muted);font-size:20px;max-width:490px}.hero-note{display:flex;gap:22px;border-top:1px solid var(--line);padding-top:21px;margin-top:35px;font:10px Arial;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.scene{position:relative;height:650px;isolation:isolate;border:1px solid #b493594f;background:#101c17;box-shadow:0 35px 100px #0009;overflow:hidden}.scene:before{content:'';position:absolute;inset:13px;border:1px solid #c3a1646b;z-index:6;pointer-events:none}.forest{position:absolute;inset:0;background:linear-gradient(0deg,#030a07,transparent 70%),url('/assets/realm-artwork-7f1f8ab84838.webp') center/cover;transform:scale(1.05);transition:transform 5s}.scene.open .forest{transform:scale(1.2);filter:brightness(.5)}.element-art{position:absolute;inset:0;background:url('/assets/realm-artwork-d4bdc1e496dd.webp') center/cover;opacity:0;transition:opacity 3s;mix-blend-mode:screen}.open .element-art{opacity:.65}.mist{position:absolute;inset:-20%;background:radial-gradient(ellipse at 30% 55%,#d7dedc55,transparent 40%),radial-gradient(ellipse at 80% 70%,#8eaca75c,transparent 43%);filter:blur(20px);animation:mist 16s ease-in-out infinite alternate;transition:opacity 3s}.open .mist{opacity:.2}.scene-top{position:absolute;left:36px;top:33px;z-index:7;font:9px Arial;letter-spacing:.23em;color:#e9d8af}.seal{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:5;transition:opacity 1s}.sigil{width:120px;height:120px;border:1px solid #edce87;border-radius:50%;display:grid;place-items:center;font-size:45px;color:#f4daa3;box-shadow:0 0 80px #ffc95544;margin-bottom:25px}.seal h2{font-size:35px;font-weight:400;text-shadow:0 2px 15px #000}.seal p{font:10px Arial;text-transform:uppercase;letter-spacing:.3em;color:#e1d2ad;margin:12px}.open .seal{opacity:0;pointer-events:none}.reveal-book{position:absolute;width:56%;left:22%;top:10%;height:70%;object-fit:contain;filter:drop-shadow(0 20px 28px #000);opacity:0;transform:translateY(60px) rotateY(-15deg);transition:opacity 2s 1s,transform 3s 1s;z-index:4}.open .reveal-book{opacity:1;transform:translateY(0) rotate(-3deg)}.scene-bottom{position:absolute;bottom:35px;left:30px;right:30px;text-align:center;z-index:8}.scene-bottom .btn{background:#09120dda;color:#e4cb91}.scene-caption{font:9px Arial;letter-spacing:.19em;text-transform:uppercase;color:#d4c7aa;margin-top:15px}.sparks{position:absolute;inset:0;pointer-events:none;z-index:4}.spark{position:absolute;width:3px;height:3px;background:#f4c16c;box-shadow:0 0 12px #ffac39;border-radius:50%;animation:rise 9s linear infinite}.strip{border-block:1px solid var(--line);display:flex;justify-content:space-around;gap:20px;padding:24px 5%;font:10px Arial;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);background:#101913}.section{padding:110px 7%;max-width:1500px;margin:auto}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}h2{font-size:clamp(38px,4vw,58px);line-height:1.15;font-weight:400;margin:18px 0 25px}h3{font-size:25px;font-weight:400;margin:10px 0}p+p{margin-top:20px}.muted{color:var(--muted)}.quote{border-left:1px solid var(--gold);padding:12px 0 12px 28px;font-size:28px;color:var(--gold);line-height:1.5}.quote small{display:block;font:10px Arial;letter-spacing:.12em;margin-top:20px;color:var(--muted)}.book-section{background:linear-gradient(110deg,#17251e,#0c1511);border-block:1px solid var(--line)}.book-stage{text-align:center;padding:25px;background:radial-gradient(ellipse,#74603933,transparent 68%)}.book-stage img{height:490px;width:100%;object-fit:contain;filter:drop-shadow(16px 25px 20px #0008);transition:opacity .3s}.cover-tabs{display:flex;justify-content:center;gap:9px;margin-top:25px}.cover-tabs button{background:transparent;border:1px solid var(--line);color:var(--muted);padding:9px 18px;font:11px Arial}.cover-tabs button[aria-pressed=true]{color:var(--gold);border-color:var(--gold)}.facts{display:flex;flex-wrap:wrap;gap:12px;margin:23px 0}.facts span{border:1px solid var(--line);padding:8px 12px;font:10px Arial;color:var(--gold);letter-spacing:.1em}.small{font-size:12px;color:var(--muted);line-height:1.6}.chapter{background:radial-gradient(ellipse at 50% 100%,#27382977,transparent 65%);text-align:center;border-bottom:1px solid var(--line)}.chapter p{max-width:640px;margin:0 auto}.chapter .actions{justify-content:center}.trilogy{position:relative;background:#e9e2ce;color:#1b2c24}.trilogy .eyebrow{color:#68764c}.trilogy p{color:#516154}.dragon-visual{height:410px;display:grid;place-items:center;background:radial-gradient(circle,#aab48d66,transparent 65%);border:1px solid #84906d55;position:relative}.dragon-visual:before{content:'✧';position:absolute;font-size:330px;color:#8e9e7750}.dragon-visual strong{font-size:60px;font-weight:400;text-align:center;line-height:1.12;z-index:1}.dragon-visual small{display:block;font:10px Arial;letter-spacing:.24em;margin-top:22px}.review{max-width:850px;text-align:center;margin:auto;padding:85px 7%;font-size:27px;line-height:1.6}.review cite{display:block;font:11px Arial;color:var(--gold);margin-top:25px}.author-mark{width:210px;height:210px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;margin:auto;color:var(--gold);font-size:60px;box-shadow:0 0 0 18px #ffffff02,0 0 0 19px #b7965333}.author .split{grid-template-columns:.65fr 1.35fr}.contact{text-align:center;border-top:1px solid var(--line);background:radial-gradient(ellipse at 50% 100%,#3e352344,transparent 70%)}.contact p{max-width:650px;margin:auto}.contact .actions{justify-content:center}footer{padding:30px 5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#9aa798;letter-spacing:.08em}.menu{display:none;background:transparent;border:1px solid var(--line);color:var(--gold);padding:8px 14px}dialog{background:#111d16;color:var(--cream);border:1px solid var(--gold);max-width:580px;padding:45px}dialog::backdrop{background:#000b}dialog .btn{margin-top:25px}.close{position:absolute;right:15px;top:8px;background:transparent;color:var(--gold);border:0;font-size:26px}.skip{position:absolute;left:15px;top:-90px;z-index:30;background:var(--gold);color:#111;padding:10px}.skip:focus{top:10px}@keyframes mist{to{transform:translate(10%,-5%) scale(1.15)}}@keyframes rise{0%{transform:translateY(100px);opacity:0}20%{opacity:.8}100%{transform:translateY(-550px);opacity:0}}@media(max-width:900px){.hero{gap:40px;padding:55px 6%;grid-template-columns:1fr}.scene{height:620px}.hero h1{max-width:650px}.split,.author .split{grid-template-columns:1fr;gap:45px}.section{padding:75px 7%}.strip{flex-wrap:wrap;justify-content:center;font-size:9px}.menu{display:block}nav{display:none;position:absolute;top:86px;left:0;right:0;background:#0b1510;padding:25px;flex-direction:column;border-bottom:1px solid var(--gold)}nav.visible{display:flex}.book-stage img{height:440px}.author-mark{width:150px;height:150px;font-size:45px}footer{flex-direction:column}.hero-note{font-size:9px}.lede{font-size:19px}}@media(max-width:500px){.scene{height:510px}h1{font-size:53px}.brand{font-size:22px}.hero{padding-top:45px}.scene-top{font-size:8px;left:27px}.seal h2{font-size:30px}.book-stage{padding:0}.book-stage img{height:390px}.quote{font-size:24px}.dragon-visual{height:310px}.dragon-visual strong{font-size:48px}.actions .btn{flex:1}.hero-note{gap:14px}.section{padding-block:65px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.spark{display:none}}

/* Forest gateway experiment */
.scene{height:auto;aspect-ratio:1122/1402;perspective:1200px;background:#07110c;overflow:hidden}
.scene:before{inset:0;border:0}.gateway-image{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.portal{position:absolute;left:30.3%;top:20.5%;width:39.5%;height:50.7%;border-radius:50% 50% 0 0 / 25% 25% 0 0;overflow:hidden;perspective:900px;background:#07110c}.realm-view{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.1);filter:brightness(.8);transition:transform 5s,filter 4s}.open .realm-view{transform:scale(1);filter:brightness(1.1)}.door{position:absolute;top:0;height:100%;width:50.2%;background-image:var(--gateway);background-size:506.3% 197.2%;backface-visibility:hidden;transition:transform 3.5s cubic-bezier(.3,.05,.2,1),filter 3s;z-index:2}.door-left{left:0;background-position:38% 41.6%;transform-origin:left center}.door-right{right:0;background-position:62% 41.6%;transform-origin:right center}.open .door-left{transform:rotateY(-100deg);filter:brightness(.4)}.open .door-right{transform:rotateY(100deg);filter:brightness(.4)}.gateway-glow{position:absolute;left:49.2%;top:23%;width:1.5%;height:48%;background:#ffdc93;filter:blur(5px);opacity:.55;pointer-events:none;transition:opacity 2s}.open .gateway-glow{opacity:0}.scene-top{top:22px;left:22px;right:22px;text-align:center;text-shadow:0 2px 8px #000;background:#08100b80;padding:8px;font-size:8px}.scene-bottom{bottom:20px}.scene-bottom .btn{background:#07110de8;box-shadow:0 8px 25px #0008}.scene-caption{text-shadow:0 2px 5px #000;background:#06100999;display:inline-block;padding:4px 10px}.gateway-fog{position:absolute;bottom:23%;left:10%;width:80%;height:14%;pointer-events:none;background:radial-gradient(ellipse,#c6d8cf55,transparent 65%);filter:blur(12px);animation:mist 13s ease-in-out infinite alternate;opacity:.5}.scene.open{box-shadow:0 25px 100px #8e713328}.hero{grid-template-columns:.9fr 1.1fr;gap:55px}.hero-note{margin-top:30px}@media(max-width:900px){.hero{grid-template-columns:1fr}.scene{height:auto;width:min(100%,620px);justify-self:center}}@media(max-width:500px){.scene{height:auto}.scene-top{font-size:7px;top:12px}.scene-bottom{bottom:12px}.scene-caption{font-size:8px}}

/* Expanded four-element reveal */
.portal{left:27.5%;top:19.3%;width:44%;height:52.5%;border-radius:50% 50% 0 0 / 24% 24% 0 0;opacity:0;transition:opacity .25s,left 1.6s,top 1.6s,width 1.6s,height 1.6s,border-radius 1.6s;z-index:3}.scene.open .portal{opacity:1;left:0;top:0;width:100%;height:100%;border-radius:0;transition:opacity .05s,left 1.8s 2.8s,top 1.8s 2.8s,width 1.8s 2.8s,height 1.8s 2.8s,border-radius 1.8s 2.8s}.gateway-image{transition:opacity 1.5s;z-index:2}.open .gateway-image{opacity:0;transition:opacity 1.5s 3s}.door{background-size:454.545% 190.476%;transition:transform 3s cubic-bezier(.3,.05,.2,1),opacity .5s 2.7s}.door-left{background-position:35.2564% 40.6316%}.door-right{background-position:63.4615% 40.6316%}.open .door-left{transform:rotateY(-115deg);opacity:0}.open .door-right{transform:rotateY(115deg);opacity:0}.realm-view{object-fit:fill;filter:brightness(.8);transition:filter 4s,transform 6s}.open .realm-view{filter:brightness(1);transform:scale(1)}.gateway-glow{display:none}.gateway-fog{z-index:4;opacity:.2}.scene-bottom,.scene-top{z-index:8}.scene.open .gateway-fog{opacity:.08}.scene-top{background:#08100bb0}.scene.open .scene-caption{color:#fff3d0}.scene-bottom{left:15px;right:15px}.scene-caption{font-size:8px;letter-spacing:.12em}

/* Fit the complete desktop hero and gateway within the viewport. */
@media(min-width:901px){
header .nav{height:88px;padding-block:15px}
.hero{height:calc(100svh - 88px);min-height:0;padding:24px 5%;gap:clamp(30px,4vw,60px);grid-template-columns:1fr 1fr}
.hero .scene{height:calc(100svh - 136px);width:auto;max-width:100%;aspect-ratio:1122/1402;justify-self:center;align-self:center}
.hero h1{font-size:clamp(44px,4.5vw,67px);margin-block:20px}
.hero .lede{font-size:18px;line-height:1.65}
.hero .actions{margin-top:24px}.hero .hero-note{margin-top:24px;padding-top:18px}
}
.scene-bottom{bottom:20px;display:flex;justify-content:center}.scene-bottom .btn{min-width:180px;padding:14px 23px}
@media(min-width:901px) and (max-height:740px){.hero h1{font-size:clamp(38px,4vw,54px);margin-block:14px}.hero .lede{font-size:16px;line-height:1.55}.hero .eyebrow{font-size:9px}.hero .actions{margin-top:18px;gap:10px}.hero .btn{padding:12px 16px;font-size:10px}.hero .hero-note{margin-top:18px;padding-top:14px;font-size:9px}}
@media(max-width:900px){.hero .scene{height:auto;max-height:calc(100svh - 116px);width:min(100%,calc((100svh - 116px)*.8));justify-self:center}.scene-bottom{bottom:14px}}

/* Stationary doorway: only the hinged leaves animate. */
.scene .portal,.scene.open .portal{left:27.5%;top:19.3%;width:44%;height:52.5%;border-radius:50% 50% 0 0 / 24% 24% 0 0;transition:none;perspective:1000px;transform:none;opacity:1}
.scene .gateway-image,.scene.open .gateway-image{opacity:1;transition:none;transform:none}
.scene .realm-view,.scene.open .realm-view{transform:none;filter:none;transition:none;object-fit:fill}
.scene .door{opacity:1;transition:transform 3s cubic-bezier(.4,0,.2,1);will-change:transform;backface-visibility:hidden;transform-style:preserve-3d}
.scene .door-left{transform:rotateY(0deg);transform-origin:0 50%}.scene .door-right{transform:rotateY(0deg);transform-origin:100% 50%}
.scene.open .door-left{transform:rotateY(-105deg);opacity:1}.scene.open .door-right{transform:rotateY(105deg);opacity:1}
.scene .gateway-fog{display:none}.scene,.scene.open{box-shadow:0 35px 100px #0009}
@media(prefers-reduced-motion:reduce){.scene .door{transition:none}}

/* Explicit image layers: the complete closed image is always the initial state. */
#scene .fixed-gateway,#scene .closed-safety{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block;pointer-events:none}
#scene .fixed-gateway{z-index:1}#scene .closed-safety{z-index:5;opacity:1;visibility:visible;transition:opacity .2s,visibility 0s}
#scene .new-opening{position:absolute;left:27.5%;top:19.3%;width:44%;height:52.5%;border-radius:50% 50% 0 0 / 24% 24% 0 0;overflow:hidden;perspective:900px;z-index:3;visibility:hidden}
#scene .fixed-realm{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block;pointer-events:none}
#scene .new-leaf{position:absolute;top:0;width:50%;height:100%;overflow:hidden;z-index:2;backface-visibility:hidden;transition:transform 2.8s cubic-bezier(.4,0,.2,1);transform:rotateY(0deg)}
#scene .new-left{left:0;transform-origin:left center}#scene .new-right{right:0;transform-origin:right center}
#scene .new-leaf img{position:absolute;width:454.545%;height:190.476%;max-width:none;top:-36.7619%;object-fit:fill;pointer-events:none;display:block}
#scene .new-left img{left:-125%}#scene .new-right img{left:-225%}
#scene.open .new-opening{visibility:visible}
#scene.open .closed-safety{opacity:0;visibility:hidden;transition:opacity .15s,visibility 0s .15s}
#scene.open .new-left{transform:rotateY(-105deg);transition-delay:.15s}#scene.open .new-right{transform:rotateY(105deg);transition-delay:.15s}
#scene .scene-bottom{z-index:10;pointer-events:auto}#scene .scene-bottom button{position:relative;z-index:11;pointer-events:auto}
@media(prefers-reduced-motion:reduce){#scene .new-leaf,#scene .closed-safety{transition:none!important}}

/* Two stages: stationary doors, then full-frame landscape dissolve. */
#scene .full-realm-reveal{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:7;opacity:0;visibility:hidden;pointer-events:none;transform:none;transition:opacity .6s,visibility 0s .6s}
#scene.open .full-realm-reveal{opacity:1;visibility:visible;transition:opacity 1.4s 3.05s,visibility 0s 3.05s}
#scene .fixed-gateway{opacity:1;transition:opacity .25s}
#scene.open .fixed-gateway{opacity:0;transition:opacity 1.4s 3.05s}
@media(prefers-reduced-motion:reduce){#scene.open .full-realm-reveal{transition:none}#scene.open .fixed-gateway{transition:none}}

/* Wider architectural gateway; opening and full-reveal timing retained. */
#scene .new-opening{left:12.5%;top:15%;width:75%;height:68%;border-radius:0}
#scene .new-leaf img{width:266.666667%;height:147.058824%;top:-22.058824%}
#scene .new-left img{left:-33.333333%}#scene .new-right img{left:-133.333333%}

/* Intermediate gateway size with moon and forest margins. */
#scene .new-opening{left:23.0%;top:24.4%;width:54.0%;height:51.4%;border-radius:0}
#scene .new-leaf img{width:370.370370370%;height:194.552529183%;top:-47.470817121%}
#scene .new-left img{left:-85.185185185%}#scene .new-right img{left:-185.185185185%}

/* Separate pages: only the selected page contributes to the document layout. */
#main > .site-page[hidden]{display:none!important}
#main > .site-page{min-height:calc(100svh - 170px)}
#navigation a[aria-current="page"]{color:var(--gold)}
#navigation .btn[aria-current="page"]{border-color:var(--cream)}
@media(min-width:901px) and (max-width:1100px){#navigation{gap:13px;font-size:11px}#navigation .btn{padding:12px 14px;font-size:10px}.brand{font-size:22px}}

/* An author-wide introduction and a complete Books destination. */
.home-release{border-top:1px solid var(--line);margin-top:23px;padding-top:17px;display:grid;gap:3px}
.home-release>a{color:var(--gold);font-size:22px;line-height:1.3}.home-release>a:hover{color:var(--cream)}
.home-release .eyebrow{font-size:9px}.home-release .small{font-size:11px}
#enter{max-width:100%;white-space:normal;line-height:1.4;letter-spacing:.08em;font-size:10px;padding-inline:18px}
.home-world-strip a:hover{color:var(--cream)}
.trilogy-titles{padding-left:21px;margin:22px 0;color:#40543e;font-size:16px;line-height:1.8}
.picture-library>h2{max-width:700px}.picture-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:45px}
.picture-story{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(0,1fr);gap:25px;align-items:center}
.picture-cover{aspect-ratio:3/4;overflow:hidden;box-shadow:0 20px 45px #0007;border:1px solid var(--line)}
.picture-cover img{height:100%;width:200%;max-width:none;display:block;transform:translateX(-50%)}
.picture-story h3{font-size:27px;line-height:1.2;margin:12px 0 18px}.picture-story p{font-size:16px;line-height:1.7}
.catalog-upcoming{margin-top:75px;border-top:1px solid var(--line);padding-top:35px;display:flex;align-items:center;justify-content:space-between;gap:30px}.catalog-upcoming p{font-size:16px}
@media(min-width:901px) and (max-height:740px){.home-release{margin-top:17px;padding-top:12px;gap:2px}.home-release>a{font-size:19px}.home-release .small{font-size:10px}.hero .lede{font-size:16px}.hero h1{font-size:clamp(38px,3.8vw,52px)}}
@media(max-width:1100px){.picture-grid{gap:30px}.picture-story{grid-template-columns:1fr;align-items:start}.picture-cover{width:min(240px,100%)}}
@media(max-width:700px){.picture-grid{grid-template-columns:1fr;gap:50px}.picture-story{grid-template-columns:.7fr 1fr;gap:20px}.picture-story h3{font-size:24px}.catalog-upcoming{flex-direction:column;align-items:flex-start}.home-release>a{font-size:21px}}

/* Reverse sequence: dissolve to the doorway, then swing both leaves shut. */
#scene.closing .full-realm-reveal{opacity:0;visibility:visible;transition:opacity .6s}
#scene.closing .fixed-gateway{opacity:1;transition:opacity .6s}
#scene.closing .new-opening{visibility:visible}
#scene.closing .closed-safety{opacity:0;visibility:hidden;transition:none}
#scene.closing .new-left,#scene.closing .new-right{transform:rotateY(0deg);transition:transform 2.8s .65s cubic-bezier(.4,0,.2,1)}
#enter:disabled{cursor:wait}
@media(prefers-reduced-motion:reduce){#scene.closing .full-realm-reveal,#scene.closing .fixed-gateway,#scene.closing .new-leaf{transition:none!important}}

/* Living atmosphere, without translating or scaling either hero artwork. */
#scene .living-gate-effects,#scene .living-reveal-effects,#scene .living-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden}
#scene .living-gate-effects{z-index:6;opacity:1;transition:opacity .6s}
#scene.open .living-gate-effects{opacity:0;transition:opacity .3s}
#scene.closing .living-gate-effects{opacity:1;transition:opacity .6s}
#scene .living-reveal-effects{z-index:8;opacity:0;transition:opacity .6s}
#scene.open .living-reveal-effects{opacity:1;transition:opacity 1.4s 3.05s}
#scene.closing .living-reveal-effects{opacity:0;transition:opacity .6s}
#scene .living-particles{z-index:9;width:100%;height:100%}
#scene .living-texture,#scene .living-blink{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
#scene .living-texture{mix-blend-mode:screen}
#scene .gate-earth{clip-path:ellipse(12% 11% at 36% 46%);animation:element-awaken 12s 0s ease-in-out infinite}
#scene .gate-air{clip-path:ellipse(10% 9% at 50% 34%);animation:element-awaken 12s -9.6s ease-in-out infinite}
#scene .gate-water{clip-path:ellipse(12% 11% at 64% 46%);animation:element-awaken 12s -7.2s ease-in-out infinite}
#scene .gate-fire{clip-path:ellipse(11% 12% at 50% 61%);animation:element-awaken 12s -4.8s ease-in-out infinite}
#scene .gate-trace{clip-path:inset(24% 22% 24% 22%);mask-image:linear-gradient(180deg,transparent 35%,#000 48%,#000 52%,transparent 65%);mask-size:100% 350%;animation:gold-travel 13s ease-in-out infinite;opacity:.42}
#scene .gate-dragons{mask-image:radial-gradient(ellipse 8% 4% at 40% 15%,#000,transparent),radial-gradient(ellipse 8% 4% at 60% 15%,#000,transparent);animation:dragon-glint 8s 1s ease-in-out infinite}
#scene .lantern-aura{position:absolute;top:64%;width:20%;height:17%;mix-blend-mode:screen;background:radial-gradient(ellipse,#ffb34a66,transparent 67%);filter:blur(5px);animation:lantern-flicker 3.1s ease-in-out infinite}
#scene .lantern-left{left:0}#scene .lantern-right{right:0;animation-delay:-1.7s}
#scene .lantern-flame{position:absolute;top:69.1%;width:1.4%;height:2.4%;border-radius:60% 50% 55% 50%;transform-origin:50% 100%;background:radial-gradient(ellipse at 50% 70%,#fff6c8,#ffd36b 35%,#ff980033 75%,transparent);filter:blur(.35px);mix-blend-mode:screen;animation:flame-dance 1.4s ease-in-out infinite}
#scene .flame-left{left:8.7%}#scene .flame-right{right:8.7%;animation-delay:-.8s}
#scene .living-fog{position:absolute;pointer-events:none;background:radial-gradient(ellipse at 25% 55%,#d9e4d455,transparent 53%),radial-gradient(ellipse at 70% 45%,#dce8df66,transparent 54%);filter:url(#living-mist);mix-blend-mode:screen;will-change:transform}
#scene .gate-fog-a{left:-25%;top:78%;width:140%;height:16%;opacity:.52;animation:mist-sweep 16s -4s ease-in-out infinite alternate}
#scene .gate-fog-b{left:-20%;top:86%;width:135%;height:12%;opacity:.36;animation:mist-curl 12s -7s ease-in-out infinite alternate}
#scene .gate-fog-c{left:-15%;top:73%;width:120%;height:11%;opacity:.23;animation:mist-sweep 21s -12s ease-in-out infinite alternate-reverse}
#scene .realm-earth{clip-path:ellipse(13% 12% at 32% 19%);opacity:.12;animation:realm-breathe 11s ease-in-out infinite}
#scene .realm-air{clip-path:ellipse(14% 12% at 50% 9%);opacity:.12;animation:realm-breathe 13s -4s ease-in-out infinite}
#scene .realm-water{clip-path:ellipse(18% 15% at 73% 18%);animation:water-shimmer 7s ease-in-out infinite}
#scene .realm-fire{clip-path:ellipse(14% 12% at 50% 25%);animation:fire-breathe 4.8s ease-in-out infinite}
#scene .valley-fog-a{left:-15%;top:42%;width:125%;height:16%;opacity:.25;animation:mist-sweep 22s -5s ease-in-out infinite alternate}
#scene .valley-fog-b{left:-20%;top:57%;width:135%;height:16%;opacity:.21;animation:mist-curl 18s -11s ease-in-out infinite alternate-reverse}
#scene .valley-fog-c{left:-12%;top:82%;width:130%;height:13%;opacity:.14;animation:mist-sweep 25s -16s ease-in-out infinite alternate}
#scene .horizon-radiance{position:absolute;left:33%;top:24%;width:35%;height:22%;background:radial-gradient(ellipse,#ffe9a644,transparent 70%);mix-blend-mode:screen;animation:horizon-breathe 8s ease-in-out infinite}
#scene .fairy-tree-aura{position:absolute;left:68%;top:48%;width:31%;height:31%;background:radial-gradient(ellipse,#fff0aa22,transparent 70%);mix-blend-mode:screen;animation:horizon-breathe 6s -2s ease-in-out infinite}
#scene .living-blink{opacity:0;mask-image:radial-gradient(ellipse 3.3% 2.5% at 25.2% 60.1%,#000 50%,transparent 100%)}
#scene.open .living-blink{animation:dragon-blink 9.7s 4.5s linear infinite}
.site-page[hidden] *{animation-play-state:paused!important}
@keyframes element-awaken{0%,28%,100%{opacity:.02}8%,18%{opacity:.63}23%{opacity:.18}}
@keyframes gold-travel{0%,15%{mask-position:0 0;opacity:0}28%{opacity:.5}70%{opacity:.35}90%,100%{mask-position:0 100%;opacity:0}}
@keyframes dragon-glint{0%,55%,100%{opacity:0}64%,73%{opacity:.6}82%{opacity:.1}}
@keyframes lantern-flicker{0%,100%{opacity:.65}17%{opacity:.83}31%{opacity:.59}46%{opacity:.92}63%{opacity:.71}79%{opacity:.86}}
@keyframes flame-dance{0%,100%{transform:scale(.9,1) rotate(-4deg);opacity:.7}35%{transform:scale(1.1,.85) rotate(4deg);opacity:.9}70%{transform:scale(.85,1.12) rotate(-2deg);opacity:.78}}
@keyframes mist-sweep{from{transform:translateX(-7%) translateY(2%) scale(1.02)}to{transform:translateX(11%) translateY(-5%) scale(1.1)}}
@keyframes mist-curl{from{transform:translateX(8%) rotate(-3deg) scale(1.02)}to{transform:translateX(-9%) rotate(3deg) scale(1.15)}}
@keyframes realm-breathe{0%,100%{opacity:.06}50%{opacity:.28}}
@keyframes water-shimmer{0%,100%{opacity:.08}35%{opacity:.3}67%{opacity:.16}}
@keyframes fire-breathe{0%,100%{opacity:.13}30%{opacity:.33}58%{opacity:.21}79%{opacity:.37}}
@keyframes horizon-breathe{0%,100%{opacity:.35}50%{opacity:.85}}
@keyframes dragon-blink{0%,4%{opacity:0}4.8%,5.8%{opacity:1}6.5%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){#scene .living-gate-effects *,#scene .living-reveal-effects *{animation:none!important;will-change:auto}#scene .living-blink,#scene .living-fog,#scene .lantern-flame{display:none}#scene .living-texture{opacity:.12}}


/* More visible living magic; only atmosphere moves, never the artwork. */
#scene .gate-earth,#scene .gate-air,#scene .gate-water,#scene .gate-fire{animation-duration:8s}
#scene .gate-air{animation-delay:-6s}#scene .gate-water{animation-delay:-4s}#scene .gate-fire{animation-delay:-2s}
@keyframes element-awaken{0%,100%{opacity:.12}12%,31%{opacity:1}50%,82%{opacity:.24}}
@keyframes gold-travel{0%{mask-position:0 0;opacity:.15}25%,65%{opacity:.95}100%{mask-position:0 100%;opacity:.15}}
#scene .gate-trace{animation-duration:7s}
@keyframes dragon-glint{0%,100%{opacity:.15}25%,55%{opacity:1}75%{opacity:.35}}
#scene .gate-dragons{animation-duration:5.5s}
#scene .lantern-aura{background:radial-gradient(ellipse,#ffdc9acc,#ffad5066 35%,transparent 70%);width:25%;height:23%;top:61%;filter:blur(3px)}
#scene .lantern-left{left:-2.5%}#scene .lantern-right{right:-2.5%}
#scene .living-fog{background:radial-gradient(ellipse at 23% 55%,#d9e4d4bb,transparent 54%),radial-gradient(ellipse at 72% 45%,#dce8dfaa,transparent 55%)}
#scene .gate-fog-a{opacity:.85;height:21%;top:74%;animation-duration:10s}
#scene .gate-fog-b{opacity:.7;height:16%;top:83%;animation-duration:8s}
#scene .gate-fog-c{opacity:.5;height:16%;top:66%;animation-duration:13s}
#scene .valley-fog-a{opacity:.58;height:20%;animation-duration:14s}
#scene .valley-fog-b{opacity:.52;height:20%;animation-duration:11s}
#scene .valley-fog-c{opacity:.45;height:18%;animation-duration:16s}
@keyframes mist-sweep{from{transform:translateX(-13%) translateY(3%) scale(1.02)}to{transform:translateX(16%) translateY(-9%) scale(1.12)}}
@keyframes mist-curl{from{transform:translateX(13%) rotate(-4deg) scale(1.02)}to{transform:translateX(-14%) rotate(4deg) scale(1.18)}}
@keyframes realm-breathe{0%,100%{opacity:.2}50%{opacity:.85}}
@keyframes water-shimmer{0%,100%{opacity:.2}35%{opacity:.9}67%{opacity:.4}}
@keyframes fire-breathe{0%,100%{opacity:.25}30%{opacity:.9}58%{opacity:.45}79%{opacity:.95}}
#scene .realm-earth{animation-duration:7s}#scene .realm-air{animation-duration:8s}#scene .realm-water{animation-duration:4.5s}#scene .realm-fire{animation-duration:3.5s}
#scene .fairy-tree-aura{background:radial-gradient(ellipse,#fff0aa88,#ffe49b22 40%,transparent 72%)}
#scene .horizon-radiance{background:radial-gradient(ellipse,#ffe9a699,transparent 70%)}
#scene.open .living-blink{animation-duration:6.8s}
@keyframes dragon-blink{0%,10%{opacity:0}11%,15%{opacity:1}16%,100%{opacity:0}}
#scene .realm-light-path{position:absolute;left:36%;top:45%;width:26%;height:52%;background:repeating-linear-gradient(172deg,transparent 0%,#ffe5a177 7%,transparent 13%,transparent 28%);mask-image:radial-gradient(ellipse 22% 50% at 50% 50%,#000,transparent);mix-blend-mode:screen;background-size:100% 200%;animation:path-current 5s linear infinite;opacity:.65}
@keyframes path-current{from{background-position:0 100%}to{background-position:0 0}}
#scene:has(#enter:hover) .gate-trace,#scene:has(#enter:focus-visible) .gate-trace{filter:url(#living-gold) brightness(1.7)!important}
@media(prefers-reduced-motion:reduce){#scene .realm-light-path{animation:none;opacity:.15}#scene .living-fog{display:none}#scene .living-texture{animation:none;opacity:.18}}


/* Balanced atmosphere: visible magic with room for the artwork. */
#scene .gate-earth,#scene .gate-air,#scene .gate-water,#scene .gate-fire{animation-duration:10s}
#scene .gate-air{animation-delay:-7.5s}#scene .gate-water{animation-delay:-5s}#scene .gate-fire{animation-delay:-2.5s}
@keyframes element-awaken{0%,100%{opacity:.06}12%,26%{opacity:.72}45%,82%{opacity:.13}}
@keyframes gold-travel{0%{mask-position:0 0;opacity:.06}25%,65%{opacity:.6}100%{mask-position:0 100%;opacity:.06}}
#scene .gate-trace{animation-duration:10s}
@keyframes dragon-glint{0%,100%{opacity:.06}28%,48%{opacity:.7}75%{opacity:.18}}
#scene .gate-dragons{animation-duration:7s}
#scene .lantern-aura{background:radial-gradient(ellipse,#ffdc9a99,#ffad5044 35%,transparent 70%)}
#scene .gate-fog-a{opacity:.425;animation-duration:15s}#scene .gate-fog-b{opacity:.35;animation-duration:12s}#scene .gate-fog-c{opacity:.25;animation-duration:19s}
#scene .valley-fog-a{opacity:.29;animation-duration:21s}#scene .valley-fog-b{opacity:.26;animation-duration:17s}#scene .valley-fog-c{opacity:.225;animation-duration:24s}
@keyframes realm-breathe{0%,100%{opacity:.12}50%{opacity:.52}}
@keyframes water-shimmer{0%,100%{opacity:.13}35%{opacity:.54}67%{opacity:.25}}
@keyframes fire-breathe{0%,100%{opacity:.16}30%{opacity:.55}58%{opacity:.28}79%{opacity:.58}}
#scene .realm-earth{animation-duration:9s}#scene .realm-air{animation-duration:10s}#scene .realm-water{animation-duration:6s}#scene .realm-fire{animation-duration:4.5s}
#scene .fairy-tree-aura{background:radial-gradient(ellipse,#fff0aa55,#ffe49b18 40%,transparent 72%)}
#scene .horizon-radiance{background:radial-gradient(ellipse,#ffe9a666,transparent 70%)}
#scene .realm-light-path{opacity:.3;animation-duration:7s}
#scene.open .living-blink{animation-duration:9s}
@keyframes dragon-blink{0%,10%{opacity:0}11%,13.5%{opacity:1}14.5%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){#scene .living-texture{animation:none;opacity:.15}#scene .realm-light-path{animation:none;opacity:.12}}


#scene .gate-earth{clip-path:ellipse(13% 12% at 36% 47%);animation:emerald-awaken 6s ease-in-out infinite!important;filter:url(#living-earth) saturate(1.7) brightness(1.3)!important}
@keyframes emerald-awaken{0%,100%{opacity:.28}45%,60%{opacity:.95}}
#scene .moon-aura{position:absolute;left:72%;top:0;width:16%;height:12%;border-radius:50%;background:radial-gradient(ellipse,#f0f7ff99,#a4cfff55 37%,transparent 70%);mix-blend-mode:screen;animation:moon-breathe 8s ease-in-out infinite}
#scene .moon-texture{mask-image:radial-gradient(ellipse 4.7% 3.7% at 79.8% 5%,#000 70%,transparent);filter:brightness(1.65);mix-blend-mode:screen;animation:moon-breathe 8s ease-in-out infinite}
@keyframes moon-breathe{0%,100%{opacity:.08}50%{opacity:.8}}
#scene .living-art-motion{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#scene .motion-gate{z-index:5;opacity:1;transition:opacity .25s}
#scene.open .motion-gate{opacity:0}#scene.closing .motion-gate{opacity:1;transition:opacity .6s}
#scene .motion-realm{z-index:7;opacity:0;transition:opacity .6s}
#scene.open .motion-realm{opacity:1;transition:opacity 1.4s 3.05s}#scene.closing .motion-realm{opacity:0;transition:opacity .6s}
#scene .realm-earth{filter:url(#living-earth) saturate(1.4)!important}
#scene .realm-light-path{display:none}
@media(prefers-reduced-motion:reduce){#scene .living-art-motion{display:none}#scene .moon-aura,#scene .moon-texture,#scene .gate-earth{animation:none!important;opacity:.25}}


/* Keep full closed artwork above the doors out of the reverse sequence. */
#scene.closing .motion-gate,#scene.closing .living-gate-effects{opacity:0;visibility:hidden;transition:none}


/* Registered alternate artwork frames, with stationary elemental faces. */
#scene .prepared-realm-motion{position:absolute;inset:0;z-index:7;pointer-events:none;opacity:0;transition:opacity .6s}
#scene.open .prepared-realm-motion{opacity:1;transition:opacity 1.4s 3.05s}
#scene.closing .prepared-realm-motion{opacity:0;transition:opacity .6s}
#scene .prepared-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;opacity:0}
#scene .prepared-dragon{mask-image:radial-gradient(ellipse 17% 15% at 17% 58%,#000 65%,transparent 100%);animation:prepared-breath 6s ease-in-out infinite}
#scene .prepared-earth{mask-image:radial-gradient(ellipse 16% 13% at 28% 18%,#000 60%,transparent),radial-gradient(ellipse 4% 5% at 35% 18%,#000 70%,transparent);mask-composite:subtract;animation:prepared-current 7s -2s ease-in-out infinite}
#scene .prepared-air{mask-image:radial-gradient(ellipse 18% 10% at 50% 8%,#000 60%,transparent),radial-gradient(ellipse 3.5% 4.5% at 50% 8%,#000 75%,transparent);mask-composite:subtract;animation:prepared-current 5s -1s ease-in-out infinite}
#scene .prepared-water{mask-image:radial-gradient(ellipse 18% 13% at 75% 18%,#000 60%,transparent),radial-gradient(ellipse 4% 5.5% at 67% 18%,#000 75%,transparent);mask-composite:subtract;animation:prepared-current 4.5s -3s ease-in-out infinite}
#scene .prepared-fire{mask-image:radial-gradient(ellipse 12% 9% at 50% 25%,#000 60%,transparent),radial-gradient(ellipse 3.5% 4.5% at 50% 25%,#000 75%,transparent);mask-composite:subtract;animation:prepared-flame 2.8s ease-in-out infinite}
@keyframes prepared-breath{0%,100%{opacity:0}42%,58%{opacity:1}}
@keyframes prepared-current{0%,100%{opacity:.05}50%{opacity:1}}
@keyframes prepared-flame{0%,100%{opacity:.1}28%{opacity:.9}49%{opacity:.4}76%{opacity:1}}
#scene .moon-aura{left:70%;top:-1.5%;width:20%;height:16%;background:radial-gradient(ellipse,#fff 0%,#eef7ffbb 23%,#a4cfff77 44%,transparent 72%);animation:moon-breathe 4s ease-in-out infinite}
#scene .moon-texture{filter:brightness(2.4);animation:moon-breathe 4s ease-in-out infinite}
@keyframes moon-breathe{0%,100%{opacity:.08}45%,55%{opacity:1}}
@media(prefers-reduced-motion:reduce){#scene .prepared-frame{animation:none;opacity:0}#scene .moon-aura,#scene .moon-texture{animation:none;opacity:.3}}


#scene .realm-earth,#scene .realm-air,#scene .realm-water,#scene .realm-fire{display:none}
#scene .continuous-realm{z-index:7}
#scene .living-blink{mask-image:radial-gradient(ellipse 1.3% 1% at 24.6% 60.1%,#000 40%,transparent 100%)}


/* A single complete first paint, with the hero's dimensions reserved. */
#scene{background:#07120f}
#scene:not(.gate-ready)>*{visibility:hidden!important}
#scene:not(.gate-ready) .scene-bottom{pointer-events:none}
#scene.gate-ready{animation:assembled-gateway .45s ease-out both}
@keyframes assembled-gateway{from{opacity:0}to{opacity:1}}
#scene .living-blink{display:none}
@media(prefers-reduced-motion:reduce){#scene.gate-ready{animation:none}}


/* Show one normal image immediately; decorations join only after that image decodes. */
#scene.gate-ready{animation:none}
#scene:not(.gate-decoded) .living-gate-effects,#scene:not(.gate-decoded) .motion-gate,#scene:not(.gate-decoded) .closed-safety{visibility:hidden!important}
#scene .sharp-dragon-composite{position:absolute;inset:0;z-index:8;pointer-events:none;opacity:0;transition:opacity .6s}
#scene.open .sharp-dragon-composite{opacity:1;transition:opacity 1.4s 3.05s}
#scene.closing .sharp-dragon-composite{opacity:0;transition:opacity .6s}
#scene .sharp-head-pivot{position:absolute;inset:0;transform-origin:7.5% 54%;will-change:transform}
#scene .sharp-dragon-head{position:absolute;left:0;top:9.5%;width:75%;height:75%;object-fit:fill;mask-image:radial-gradient(ellipse 24% 23% at 25% 62%,#000 80%,transparent 100%);image-rendering:auto}
#scene .sharp-girl-foreground{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;mask-image:radial-gradient(ellipse 9.8% 8.8% at 22.5% 74.5%,#000 70%,transparent),radial-gradient(ellipse 5.5% 4.7% at 26% 68.5%,#000 70%,transparent),radial-gradient(ellipse 4% 3.5% at 21.1% 68.6%,#000 70%,transparent)}
@media(prefers-reduced-motion:reduce){#scene .sharp-dragon-composite{display:none}}


/* Clear gateway architecture and richer light within the carved elements. */
#scene .gate-fog-a,#scene .gate-fog-b,#scene .gate-fog-c{display:none!important}
#scene .gate-earth{filter:url(#gate-vibrant-earth) saturate(1.25) brightness(1.2)!important;mask-image:radial-gradient(ellipse 13% 12% at 36% 47%,#000 55%,transparent 100%);animation:gate-emerald-glow 5.8s ease-in-out infinite!important}
#scene .gate-air{filter:url(#gate-vibrant-air)!important;mask-image:radial-gradient(ellipse 10% 9% at 50% 34%,#000 55%,transparent 100%);animation:gate-air-glow 7s -2s ease-in-out infinite!important}
#scene .gate-water{filter:url(#gate-vibrant-water) saturate(1.3)!important;mask-image:radial-gradient(ellipse 12% 11% at 64% 46%,#000 55%,transparent 100%);animation:gate-water-glow 6.4s -3.5s ease-in-out infinite!important}
#scene .gate-fire{filter:url(#gate-vibrant-fire) saturate(1.2)!important;mask-image:radial-gradient(ellipse 11% 12% at 50% 61%,#000 55%,transparent 100%);animation:gate-fire-glow 4.5s -1s ease-in-out infinite!important}
@keyframes gate-emerald-glow{0%,100%{opacity:.42}45%,60%{opacity:1}}
@keyframes gate-air-glow{0%,100%{opacity:.25}50%{opacity:.78}}
@keyframes gate-water-glow{0%,100%{opacity:.36}45%,58%{opacity:.95}}
@keyframes gate-fire-glow{0%,100%{opacity:.35}30%{opacity:.92}57%{opacity:.62}78%{opacity:1}}
@media(prefers-reduced-motion:reduce){#scene .gate-earth,#scene .gate-air,#scene .gate-water,#scene .gate-fire{animation:none!important;opacity:.58}}


/* Bright resting illumination, with breathing peaks above it. */
#scene .gate-earth{filter:url(#gate-vibrant-earth) saturate(1.35) brightness(1.7)!important;clip-path:ellipse(15% 14% at 36% 47%);mask-image:radial-gradient(ellipse 15% 14% at 36% 47%,#000 75%,transparent 100%)}
#scene .gate-air{filter:url(#gate-vibrant-air) brightness(1.45)!important;clip-path:ellipse(12% 11% at 50% 34%);mask-image:radial-gradient(ellipse 12% 11% at 50% 34%,#000 75%,transparent 100%)}
#scene .gate-water{filter:url(#gate-vibrant-water) saturate(1.4) brightness(1.7)!important;clip-path:ellipse(14% 13% at 64% 46%);mask-image:radial-gradient(ellipse 14% 13% at 64% 46%,#000 75%,transparent 100%)}
#scene .gate-fire{filter:url(#gate-vibrant-fire) saturate(1.3) brightness(1.65)!important;clip-path:ellipse(13% 14% at 50% 61%);mask-image:radial-gradient(ellipse 13% 14% at 50% 61%,#000 75%,transparent 100%)}
@keyframes gate-emerald-glow{0%,100%{opacity:.78}45%,60%{opacity:1}}
@keyframes gate-air-glow{0%,100%{opacity:.62}50%{opacity:.94}}
@keyframes gate-water-glow{0%,100%{opacity:.75}45%,58%{opacity:1}}
@keyframes gate-fire-glow{0%,100%{opacity:.74}30%{opacity:1}57%{opacity:.85}78%{opacity:1}}
@media(prefers-reduced-motion:reduce){#scene .gate-earth,#scene .gate-air,#scene .gate-water,#scene .gate-fire{opacity:.8}}


/* Original carving colors, with a separate soft emission halo. */
#scene .gate-earth{filter:url(#gate-vibrant-earth) saturate(1.25) brightness(1.2)!important;clip-path:ellipse(13% 12% at 36% 47%);mask-image:radial-gradient(ellipse 13% 12% at 36% 47%,#000 55%,transparent)}
#scene .gate-air{filter:url(#gate-vibrant-air)!important;clip-path:ellipse(10% 9% at 50% 34%);mask-image:radial-gradient(ellipse 10% 9% at 50% 34%,#000 55%,transparent)}
#scene .gate-water{filter:url(#gate-vibrant-water) saturate(1.3)!important;clip-path:ellipse(12% 11% at 64% 46%);mask-image:radial-gradient(ellipse 12% 11% at 64% 46%,#000 55%,transparent)}
#scene .gate-fire{filter:url(#gate-vibrant-fire) saturate(1.2)!important;clip-path:ellipse(11% 12% at 50% 61%);mask-image:radial-gradient(ellipse 11% 12% at 50% 61%,#000 55%,transparent)}
@keyframes gate-emerald-glow{0%,100%{opacity:.42}45%,60%{opacity:1}}
@keyframes gate-air-glow{0%,100%{opacity:.25}50%{opacity:.78}}
@keyframes gate-water-glow{0%,100%{opacity:.36}45%,58%{opacity:.95}}
@keyframes gate-fire-glow{0%,100%{opacity:.35}30%{opacity:.92}57%{opacity:.62}78%{opacity:1}}
#scene .gate-soft-halo{mix-blend-mode:screen;animation:carving-halo 6s ease-in-out infinite}
#scene .halo-earth{mask-image:radial-gradient(ellipse 15% 14% at 36% 47%,#000 45%,transparent)}
#scene .halo-air{mask-image:radial-gradient(ellipse 12% 11% at 50% 34%,#000 45%,transparent);animation-duration:7s;animation-delay:-2s}
#scene .halo-water{mask-image:radial-gradient(ellipse 14% 13% at 64% 46%,#000 45%,transparent);animation-duration:6.4s;animation-delay:-3.5s}
#scene .halo-fire{mask-image:radial-gradient(ellipse 13% 14% at 50% 61%,#000 45%,transparent);animation-duration:4.5s;animation-delay:-1s}
@keyframes carving-halo{0%,100%{opacity:.14}45%,60%{opacity:.46}}
@media(prefers-reduced-motion:reduce){#scene .gate-soft-halo{animation:none;opacity:.25}#scene .gate-earth,#scene .gate-air,#scene .gate-water,#scene .gate-fire{opacity:.58}}

#scene .gate-air{filter:url(#gate-vibrant-air) saturate(1.12)!important}
#scene .sharp-dragon-head{clip-path:inset(45% 0 0 0)}

/* Untouched face textures move only as rigid vertical image planes. */
#scene .rigid-element-faces{position:absolute;inset:0;z-index:8;pointer-events:none;opacity:0;transition:opacity .6s}
#scene.open .rigid-element-faces{opacity:1;transition:opacity 1.4s 3.05s}
#scene.closing .rigid-element-faces{opacity:0;transition:opacity .6s}
#scene .rigid-element-face{position:absolute;left:16%;top:4%;width:68%;height:68%;object-fit:fill;will-change:transform;image-rendering:auto}
#scene .rigid-air-face{mask-image:radial-gradient(ellipse 6.3% 7.8% at 50% 15.5%,#000 75%,transparent 100%)}
#scene .rigid-fire-face{mask-image:radial-gradient(ellipse 6.4% 7.4% at 50% 40.2%,#000 75%,transparent 100%)}
@media(prefers-reduced-motion:reduce){#scene .rigid-element-faces{display:none}}


/* Stronger magic stays around the boy, with his silhouette left clear. */
#scene .boy-swirl-light{filter:brightness(1.4) contrast(1.1);mix-blend-mode:screen;mask-image:radial-gradient(ellipse 8.5% 11% at 83.5% 67.5%,#000 50%,transparent 100%),radial-gradient(ellipse 2.5% 6.5% at 83.5% 68%,#000 80%,transparent 100%);mask-composite:subtract;animation:boy-magic-wave 8.4s ease-in-out infinite}
#scene .fairy-tree-aura{left:75%;top:57%;width:18%;height:22%;background:radial-gradient(ellipse,#ffe5a944,transparent 72%)}
@keyframes boy-magic-wave{0%,100%{opacity:.18}50%{opacity:.27}}
@media(prefers-reduced-motion:reduce){#scene .boy-swirl-light{animation:none;opacity:.2}}


/* Static lip patches preserve closed mouths; the rest of each form can move locally. */
#scene .rigid-element-face{transform:none!important;will-change:auto}
#scene .rigid-air-face{mask-image:radial-gradient(ellipse 3.4% 3% at 50% 18.8%,#000 75%,transparent 100%)}
#scene .rigid-fire-face{mask-image:radial-gradient(ellipse 3.6% 3% at 50% 43%,#000 75%,transparent 100%)}


#scene .boy-swirl-light,#scene .fairy-tree-aura{display:none!important}
#scene .boy-soft-backdrop{mix-blend-mode:normal;filter:none;opacity:1;mask-image:linear-gradient(to right,transparent 69%,#000 76%),linear-gradient(to bottom,transparent 48%,#000 55%,#000 79%,transparent 85%);mask-composite:intersect}


/* One explicit reveal phase keeps late-created image layers synchronized. */
#scene.open .full-realm-reveal,#scene.open .motion-realm,#scene.open .sharp-dragon-composite,#scene.open .living-reveal-effects,#scene.open .rigid-element-faces{opacity:0;transition:opacity .6s}
#scene.open.realm-visible .full-realm-reveal,#scene.open.realm-visible .motion-realm,#scene.open.realm-visible .sharp-dragon-composite,#scene.open.realm-visible .living-reveal-effects,#scene.open.realm-visible .rigid-element-faces{opacity:1;visibility:visible;transition:opacity 1.4s}
#scene .firefly-field{position:absolute;inset:0;z-index:9;pointer-events:none;overflow:hidden}
#scene .firefly-dot{position:absolute;left:0;top:0;border-radius:50%;opacity:0;pointer-events:none;background:#fff4c6;box-shadow:0 0 3px 1px #ffda8799,0 0 7px #ffca6355;will-change:transform,opacity}
@media(prefers-reduced-motion:reduce){#scene.open.realm-visible .full-realm-reveal,#scene.open.realm-visible .motion-realm,#scene.open.realm-visible .sharp-dragon-composite,#scene.open.realm-visible .living-reveal-effects,#scene.open.realm-visible .rigid-element-faces{transition:none}}

#scene .firefly-dot{background:#fff6b5;box-shadow:0 0 3px 1px #ffd05cdd,0 0 6px #ffc34d88}
/* Air face is an untouched image; only its surrounding wisps animate. */
#scene .rigid-air-face{mask-image:radial-gradient(ellipse 6.3% 7.8% at 50% 15.5%,#000 75%,transparent 100%);transform:none!important}

/* Faster staggered light, preserving the approved carving palette. */
#scene .gate-air{animation:gate-air-pulse 12s linear infinite!important}
#scene .halo-air{animation:gate-air-halo 12s linear infinite!important}
@keyframes gate-air-pulse{0.0000%{opacity:0.25}2.6667%{opacity:0.25}4.1667%{opacity:1}6.1667%{opacity:1}12.8333%{opacity:0.25}32.6667%{opacity:0.25}34.1667%{opacity:1}36.1667%{opacity:1}42.8333%{opacity:0.25}62.6667%{opacity:0.25}64.1667%{opacity:1}66.1667%{opacity:1}72.8333%{opacity:0.25}91.5000%{opacity:0.25}93.3333%{opacity:1}95.3333%{opacity:1}100.0000%{opacity:0.25}}@keyframes gate-air-halo{0.0000%{opacity:0.12}2.6667%{opacity:0.12}4.1667%{opacity:0.62}6.1667%{opacity:0.62}12.8333%{opacity:0.12}32.6667%{opacity:0.12}34.1667%{opacity:0.62}36.1667%{opacity:0.62}42.8333%{opacity:0.12}62.6667%{opacity:0.12}64.1667%{opacity:0.62}66.1667%{opacity:0.62}72.8333%{opacity:0.12}91.5000%{opacity:0.12}93.3333%{opacity:0.7}95.3333%{opacity:0.7}100.0000%{opacity:0.12}}
#scene .gate-earth{animation:gate-earth-pulse 12s linear infinite!important}
#scene .halo-earth{animation:gate-earth-halo 12s linear infinite!important}
@keyframes gate-earth-pulse{0.0000%{opacity:0.42}8.5000%{opacity:0.42}10.0000%{opacity:1}12.0000%{opacity:1}18.6667%{opacity:0.42}38.5000%{opacity:0.42}40.0000%{opacity:1}42.0000%{opacity:1}48.6667%{opacity:0.42}68.5000%{opacity:0.42}70.0000%{opacity:1}72.0000%{opacity:1}78.6667%{opacity:0.42}91.5000%{opacity:0.42}93.3333%{opacity:1}95.3333%{opacity:1}100.0000%{opacity:0.42}}@keyframes gate-earth-halo{0.0000%{opacity:0.12}8.5000%{opacity:0.12}10.0000%{opacity:0.62}12.0000%{opacity:0.62}18.6667%{opacity:0.12}38.5000%{opacity:0.12}40.0000%{opacity:0.62}42.0000%{opacity:0.62}48.6667%{opacity:0.12}68.5000%{opacity:0.12}70.0000%{opacity:0.62}72.0000%{opacity:0.62}78.6667%{opacity:0.12}91.5000%{opacity:0.12}93.3333%{opacity:0.7}95.3333%{opacity:0.7}100.0000%{opacity:0.12}}
#scene .gate-water{animation:gate-water-pulse 12s linear infinite!important}
#scene .halo-water{animation:gate-water-halo 12s linear infinite!important}
@keyframes gate-water-pulse{0.0000%{opacity:0.36}14.3333%{opacity:0.36}15.8333%{opacity:1}17.8333%{opacity:1}24.5000%{opacity:0.36}44.3333%{opacity:0.36}45.8333%{opacity:1}47.8333%{opacity:1}54.5000%{opacity:0.36}74.3333%{opacity:0.36}75.8333%{opacity:1}77.8333%{opacity:1}84.5000%{opacity:0.36}91.5000%{opacity:0.36}93.3333%{opacity:1}95.3333%{opacity:1}100.0000%{opacity:0.36}}@keyframes gate-water-halo{0.0000%{opacity:0.12}14.3333%{opacity:0.12}15.8333%{opacity:0.62}17.8333%{opacity:0.62}24.5000%{opacity:0.12}44.3333%{opacity:0.12}45.8333%{opacity:0.62}47.8333%{opacity:0.62}54.5000%{opacity:0.12}74.3333%{opacity:0.12}75.8333%{opacity:0.62}77.8333%{opacity:0.62}84.5000%{opacity:0.12}91.5000%{opacity:0.12}93.3333%{opacity:0.7}95.3333%{opacity:0.7}100.0000%{opacity:0.12}}
#scene .gate-fire{animation:gate-fire-pulse 12s linear infinite!important}
#scene .halo-fire{animation:gate-fire-halo 12s linear infinite!important}
@keyframes gate-fire-pulse{0.0000%{opacity:0.35}20.1667%{opacity:0.35}21.6667%{opacity:1}23.6667%{opacity:1}30.3333%{opacity:0.35}50.1667%{opacity:0.35}51.6667%{opacity:1}53.6667%{opacity:1}60.3333%{opacity:0.35}80.1667%{opacity:0.35}81.6667%{opacity:1}83.6667%{opacity:1}90.3333%{opacity:0.35}91.5000%{opacity:0.35}93.3333%{opacity:1}95.3333%{opacity:1}100.0000%{opacity:0.35}}@keyframes gate-fire-halo{0.0000%{opacity:0.12}20.1667%{opacity:0.12}21.6667%{opacity:0.62}23.6667%{opacity:0.62}30.3333%{opacity:0.12}50.1667%{opacity:0.12}51.6667%{opacity:0.62}53.6667%{opacity:0.62}60.3333%{opacity:0.12}80.1667%{opacity:0.12}81.6667%{opacity:0.62}83.6667%{opacity:0.62}90.3333%{opacity:0.12}91.5000%{opacity:0.12}93.3333%{opacity:0.7}95.3333%{opacity:0.7}100.0000%{opacity:0.12}}
@media(prefers-reduced-motion:reduce){#scene .gate-earth,#scene .gate-air,#scene .gate-water,#scene .gate-fire{animation:none!important;opacity:.58}#scene .gate-soft-halo{animation:none!important;opacity:.25}}
[data-page][hidden] #scene .gate-earth,[data-page][hidden] #scene .gate-air,[data-page][hidden] #scene .gate-water,[data-page][hidden] #scene .gate-fire,[data-page][hidden] #scene .gate-soft-halo{animation-play-state:paused!important}


/* Expanded editorial homepage — scoped away from the gateway. */
.home-expanded{background:radial-gradient(ellipse at 15% 5%,#24382c33,transparent 45%),#0a1210}.home-width{width:88%;max-width:1240px;margin-inline:auto}.home-expanded h2{font-size:clamp(36px,4.2vw,60px);line-height:1.08;font-weight:400;margin:18px 0 24px}.home-expanded h2 em{color:var(--gold);font-weight:400}.home-expanded p{font-size:18px;line-height:1.75}.home-feature{padding-block:88px;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:9%}.home-feature-art{position:relative;text-align:center;padding:36px 36px 28px;border:1px solid var(--line);background:radial-gradient(ellipse,#3d4c343d,#111c17 70%);outline:1px solid #d7b77a20;outline-offset:-11px}.home-feature-art>img{display:block;height:330px;max-width:100%;width:auto;margin:25px auto;object-fit:contain;box-shadow:12px 15px 30px #0008}.home-art-label,.home-book-caption,.home-note{display:block;font:11px/1.6 Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}.home-book-caption{letter-spacing:1px;color:var(--muted)}.home-feature-copy{max-width:560px}.home-rule{width:68px;border-top:1px solid var(--gold);margin:26px 0}.home-feature-copy .btn{margin-top:18px}.home-note{letter-spacing:.5px;text-transform:none;color:var(--muted);margin-top:14px}.home-paths{padding:76px 0 86px;background:#15231b;border-block:1px solid #d7b77a20}.home-section-heading{text-align:center;max-width:820px;margin:0 auto 42px}.home-section-heading p{margin-bottom:0}.home-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.home-story-card{display:flex;flex-direction:column;text-decoration:none;color:var(--cream);border:1px solid #d7b77a45;background:#0b1511;transition:transform .25s,border-color .25s;overflow:hidden}.home-story-card:hover{transform:translateY(-5px);border-color:var(--gold)}.home-story-card:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.home-card-image{height:235px;position:relative;overflow:hidden;background:radial-gradient(ellipse,#41543b,#15251b)}.home-card-image>img{width:100%;height:100%;object-fit:cover;display:block}.home-dragon-art>img{object-position:50% 42%}.home-card-copy{padding:27px 26px 25px;display:flex;flex:1;flex-direction:column}.home-card-copy .eyebrow{font-size:9px;letter-spacing:1.7px}.home-card-copy h3{font-size:27px;line-height:1.18;font-weight:400;margin:13px 0}.home-card-copy p{font-size:16px;color:var(--muted);line-height:1.65;margin:0 0 24px}.home-card-link{margin-top:auto;color:var(--gold);font:11px/1.5 Arial,sans-serif;letter-spacing:.6px;display:flex;justify-content:space-between;gap:10px}.home-picture-pair{display:flex;justify-content:center;align-items:center;gap:15px;padding:23px}.home-picture-pair>div{width:42%;aspect-ratio:3/4;overflow:hidden;box-shadow:6px 8px 14px #0008;transform:rotate(-6deg)}.home-picture-pair>div+div{transform:rotate(7deg) translateY(9px)}.home-picture-pair img{height:100%;width:200%;max-width:none;display:block;transform:translateX(-50%)}.home-collection-art>img{object-fit:contain;padding:18px 20px;filter:drop-shadow(8px 10px 9px #0009)}.home-coming{position:absolute;left:14px;top:15px;background:#0b1511e8;border:1px solid var(--line);color:var(--gold);font:9px Arial,sans-serif;text-transform:uppercase;letter-spacing:1px;padding:8px 10px}.home-author{padding-block:88px;display:grid;grid-template-columns:.85fr 1.15fr;gap:9%;align-items:center}.home-author-plaque{position:relative;min-height:360px;padding:40px 28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid var(--gold);outline:1px solid #d7b77a40;outline-offset:-12px;background:radial-gradient(ellipse at top,#35433077,transparent),#101b15}.home-author-plaque:before,.home-author-plaque:after{content:'';position:absolute;width:30px;height:30px;border-color:var(--gold);border-style:solid}.home-author-plaque:before{top:20px;left:20px;border-width:1px 0 0 1px}.home-author-plaque:after{bottom:20px;right:20px;border-width:0 1px 1px 0}.home-author-plaque .eyebrow{font-size:8px}.home-monogram{font-size:100px;line-height:1.3;color:var(--gold);font-style:italic;letter-spacing:-9px;padding-right:9px}.home-author-name{font-size:25px}.home-plaque-line{width:54px;border-top:1px solid var(--line);margin:23px 0}.home-plaque-caption{font-size:19px;line-height:1.55;color:var(--muted);font-style:italic}.home-author-copy .btn{margin-top:16px}.home-invitation{text-align:center;padding:65px 6% 78px;border-top:1px solid var(--line);background:radial-gradient(ellipse at bottom,#31473055,transparent 75%)}.home-invitation h2{font-size:clamp(40px,4.8vw,66px)}.home-invitation p{color:var(--muted)}.home-invitation .actions{justify-content:center;align-items:center;margin-top:28px;gap:28px}.home-text-link{color:var(--gold);font:12px Arial,sans-serif;text-decoration:none}.home-expanded img:not([src]){visibility:hidden}
@media(max-width:900px){.home-feature,.home-author{gap:40px;grid-template-columns:1fr 1.15fr;padding-block:65px}.home-feature-art{padding:27px 20px}.home-feature-art>img{height:260px}.home-card-grid{gap:15px}.home-card-copy{padding:22px 18px}.home-card-copy h3{font-size:23px}.home-card-image{height:190px}.home-picture-pair{gap:10px;padding:15px}.home-author-plaque{min-height:340px}.home-width{width:90%}}
@media(max-width:650px){.home-feature,.home-author{grid-template-columns:1fr;gap:34px;padding-block:55px}.home-feature-art{width:100%;max-width:390px;margin:auto}.home-feature-art>img{height:290px}.home-card-grid{grid-template-columns:1fr;gap:25px;max-width:440px;margin:auto}.home-card-image{height:250px}.home-card-copy{padding:26px}.home-card-copy h3{font-size:28px}.home-paths{padding:55px 0}.home-author-plaque{max-width:390px;width:100%;margin:auto;min-height:330px}.home-invitation{padding-block:55px}.home-invitation .actions{flex-wrap:wrap}.home-expanded h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){.home-story-card{transition:none}.home-story-card:hover{transform:none}}


@media(min-width:901px){
.hero>div:first-child>.eyebrow{position:relative;top:-30px;font-size:13px}
.hero>.scene{translate:0 12px}
}
@media(min-width:901px) and (max-height:740px){.hero>div:first-child>.eyebrow{font-size:11px}}


.hero>div:first-child>.eyebrow{font-size:13px;color:#e4c58a;animation:world-title-glow 2.4s cubic-bezier(.45,0,.25,1) infinite;text-shadow:0 0 5px #dfb86840}
@media(min-width:901px){.hero>div:first-child>.eyebrow{font-size:15px}}
@media(min-width:901px) and (max-height:740px){.hero>div:first-child>.eyebrow{font-size:13px}}
@keyframes world-title-glow{0%,100%{text-shadow:0 0 4px #dfb86833,0 0 10px #d7ad5414}45%,55%{text-shadow:0 0 4px #fff1ccee,0 0 10px #f5d28be6,0 0 21px #e8b954b3,0 0 34px #d7ad5466}}
@media(prefers-reduced-motion:reduce){.hero>div:first-child>.eyebrow{animation:none;text-shadow:0 0 8px #dfb86866}}


.hero>div:first-child>h1{position:relative;top:-12px}
.hero .home-release{position:relative;top:0}
.hero .home-release>*{position:relative;top:12px}
.hero .home-release .small{font-size:14px;line-height:1.6}
.home-world-strip{margin-top:36px}

.home-feature-copy{position:relative;top:-20px}

.home-feature{padding-top:46px}
@media(max-width:900px){.home-feature{padding-top:29px}}
@media(max-width:650px){.home-feature{padding-top:21px}}

.home-josie-art{background:radial-gradient(ellipse,#5a6045,#18251c)}.home-josie-art>img{object-fit:contain;padding:15px;filter:drop-shadow(7px 9px 9px #0009)}
#navigation{gap:clamp(12px,1.4vw,24px)}#navigation :is(.nav-top,.nav-trigger){white-space:nowrap}.catalog-heading,.destination-intro{padding-bottom:45px}.catalog-heading h1,.destination-intro h1{font-size:clamp(44px,5vw,72px);line-height:1.1;margin:20px 0}.catalog-heading h1 em,.destination-intro h1 em{color:var(--gold);font-weight:400}.catalog-heading p,.destination-intro>p{max-width:720px}.catalog-heading .btn{font-size:11px}.josie-book-cover{text-align:center;padding:35px;border:1px solid var(--line);background:radial-gradient(ellipse,#3c4832,#101c15)}.josie-book-cover img{display:block;max-width:100%;width:auto;height:400px;object-fit:contain;margin:auto;box-shadow:10px 12px 25px #0008}.event-frame{margin-top:48px;padding:clamp(28px,5vw,65px);border:1px solid var(--gold);outline:1px solid var(--line);outline-offset:-12px;background:radial-gradient(ellipse at top right,#35433077,transparent),#101b15}.event-frame h2{margin-block:22px}.event-frame p{max-width:720px}.destination-closing{text-align:center}.destination-closing p{max-width:650px;margin:20px auto 30px}@media(max-width:1100px) and (min-width:901px){header .nav{padding-inline:3%;gap:18px}#navigation{gap:12px}#navigation :is(.nav-top,.nav-trigger){font-size:9px}.brand{font-size:23px}}@media(max-width:650px){.josie-book-cover img{height:300px}.catalog-heading .actions{gap:10px}}


#navigation{gap:9px;flex-shrink:0}
#navigation :is(.nav-top,.nav-trigger){position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:11px 13px;border:1px solid #c3a36b66;border-radius:5px;background:linear-gradient(160deg,#22392b,#101d16 68%);color:#e7dfcf;font:12px/1.25 Arial,sans-serif;letter-spacing:.035em;text-decoration:none;box-shadow:inset 0 1px 0 #f4d89b14,0 3px 8px #0003;transition:border-color .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease}
#navigation :is(.nav-top,.nav-trigger)[href="#books"]{border-color:#c8a568a6;background:linear-gradient(145deg,#493f26,#233423 80%);color:#f2d49b}
#navigation :is(.nav-top,.nav-trigger):hover{color:#fff0cc;border-color:#e7c27e;background:linear-gradient(155deg,#344d32,#182b1e);box-shadow:inset 0 0 13px #d7b77a14,0 0 13px #d7b77a40,0 3px 8px #0004}
#navigation :is(.nav-top,.nav-trigger)[aria-current="page"]{color:#ffe2a5;border-color:#e1bd77;background:linear-gradient(150deg,#3c492d,#1b2c1d);box-shadow:inset 0 0 16px #d7b77a26,0 0 10px #d7b77a22}
#navigation :is(.nav-top,.nav-trigger)[aria-current="page"]:after{content:'';position:absolute;bottom:5px;left:calc(50% - 13px);width:26px;height:1px;background:#edce91;box-shadow:0 0 5px #edce9199}
#navigation :is(.nav-top,.nav-trigger):focus-visible,.menu:focus-visible{outline:2px solid #f5d79c;outline-offset:4px}
.menu{border:1px solid #c3a36b88;border-radius:5px;padding:10px 16px;background:linear-gradient(150deg,#283e2a,#122219);color:#efd49e;font:12px Arial,sans-serif;letter-spacing:.08em;box-shadow:inset 0 1px 0 #f4d89b14}
@media(min-width:901px) and (max-width:1200px){header .nav{padding-inline:3%;gap:14px}.brand{font-size:22px}.brand small{font-size:8px;letter-spacing:.18em}#navigation{gap:6px}#navigation :is(.nav-top,.nav-trigger){font-size:10.5px;padding:10px 9px;min-height:41px}}
@media(max-width:900px){#navigation{gap:10px;padding:22px 6%;box-shadow:0 18px 30px #0009}#navigation :is(.nav-top,.nav-trigger){width:100%;max-width:460px;min-height:47px;font-size:13px;padding:13px 18px}}
@media(prefers-reduced-motion:reduce){#navigation :is(.nav-top,.nav-trigger){transition:none}}


.preview-destination{position:relative;isolation:isolate;aspect-ratio:1536 / 1024;min-height:calc(100svh - 88px);background:#080f0d;overflow:hidden;text-align:center;padding:46px 5% 0}
.preview-forest{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:top center;z-index:-1}
.preview-shade,.preview-ornament,.preview-divider{display:none}
.preview-plaque{position:relative;max-width:1100px;margin:0 auto;padding:0;background:none;border:0;outline:0;box-shadow:none}
.preview-plaque .eyebrow{font:10px/1.5 Arial,sans-serif;letter-spacing:.27em;color:#bca983}
.preview-plaque h1{font:400 clamp(46px,5.5vw,76px)/1.05 Georgia,serif;color:#f4eddf;letter-spacing:-.025em;margin:20px auto 12px;max-width:1050px;text-shadow:0 3px 20px #0005}
.preview-coming{font:italic 34px/1.2 Georgia,serif;color:#d9b77b;letter-spacing:.015em}
.preview-plaque p{font:18px/1.5 Georgia,serif;color:#c3cabb;margin:17px auto 21px;max-width:650px}
.preview-plaque .btn{font-size:10px;letter-spacing:.08em;min-height:41px;padding:11px 22px;border:1px solid #c7a96e88;border-radius:3px;color:#ead8b7;background:linear-gradient(150deg,#243629bb,#102016cc);box-shadow:inset 0 1px 0 #e2c58e1a}
.preview-plaque .btn:hover{border-color:#e3c184;color:#fff0d0;box-shadow:0 0 16px #d7b77a2b}
@media(min-width:901px) and (max-height:740px){.preview-destination{padding-top:32px}.preview-plaque h1{font-size:58px;margin:17px auto 10px}.preview-coming{font-size:30px}.preview-plaque p{margin:14px auto 17px;font-size:17px}}
@media(min-width:901px) and (max-width:1200px){.preview-destination{padding-top:30px}.preview-plaque h1{font-size:52px;margin:16px auto 9px}.preview-coming{font-size:28px}.preview-plaque p{margin:13px auto 17px;font-size:17px}}
@media(max-width:900px){.preview-destination{aspect-ratio:auto;min-height:850px;padding-top:42px}.preview-forest{inset:auto 0 0;height:auto;object-fit:contain}.preview-plaque h1{font-size:clamp(40px,7vw,60px)}.preview-coming{font-size:30px}}
@media(max-width:650px){.preview-destination{min-height:740px;padding:38px 7% 0}.preview-plaque .eyebrow{font-size:9px;letter-spacing:.2em}.preview-plaque h1{font-size:clamp(36px,9vw,48px);margin:20px auto 14px}.preview-plaque p{font-size:17px;max-width:310px;margin:18px auto 24px}.preview-forest{width:150%;max-width:none;left:-25%;right:auto;height:auto}}


.preview-destination{margin-bottom:40px;overflow:visible}
.preview-forest{transform:translateY(40px)}


@media(min-width:1101px) and (max-width:1350px){header .nav{padding-inline:3%;gap:14px}.brand{font-size:24px}.brand small{font-size:8px;letter-spacing:.17em}#navigation{gap:6px}#navigation :is(.nav-top,.nav-trigger){font-size:11px;padding:10px 9px}}
@media(min-width:901px) and (max-width:1100px){header .nav{padding-inline:3%;gap:12px}.brand{font-size:19px}.brand small{font-size:7px;letter-spacing:.12em}#navigation{gap:5px}#navigation :is(.nav-top,.nav-trigger){font-size:9px;padding:10px 7px}}


.home-feature-art{position:relative;isolation:isolate;border:0;outline:0;box-shadow:none;padding:26px 28px 30px;background:radial-gradient(ellipse at 50% 47%,#b3954930 0%,#34462b30 29%,transparent 65%)}
.home-feature-art:before{content:'';position:absolute;z-index:-1;left:20%;right:20%;bottom:56px;height:20px;background:#0007;filter:blur(13px);border-radius:50%}
.home-feature-art:after{content:'◆';display:block;margin:23px auto 0;color:#c9ad76;font-size:10px;line-height:1;background:linear-gradient(90deg,transparent,#c9ad7666) left center/40% 1px no-repeat,linear-gradient(90deg,#c9ad7666,transparent) right center/40% 1px no-repeat;max-width:200px}
.home-feature-art>img{height:355px;margin:30px auto 27px;max-width:100%;border:0;box-shadow:4px 4px 0 #c9ad7622,11px 18px 24px #0008;object-fit:contain}
.home-art-label{font-size:10px;letter-spacing:.2em;color:#c9b381}.home-book-caption{font-size:11px;letter-spacing:.07em;color:#c0c7b7}
.home-card-grid{gap:30px}
.home-story-card{border:0;overflow:visible;background:none;box-shadow:none;transition:transform .25s}
.home-story-card:hover{border:0;box-shadow:none;transform:translateY(-4px)}
.home-card-image{height:280px;margin:0;border:0;box-shadow:none;overflow:hidden;background:radial-gradient(ellipse at 50% 55%,#42503955,transparent 75%)}
.home-card-image:before,.home-card-image:after{display:none}
.home-dragon-art{background:#122016}
.home-dragon-art>img{padding:0;object-fit:cover;object-position:50% 43%}
.home-picture-pair{padding:22px 24px;gap:20px;align-items:center}
.home-picture-pair>div,.home-picture-pair>div+div{transform:none;width:auto;height:235px;aspect-ratio:3/4;flex:0 1 auto;border:0;box-shadow:4px 4px 0 #c9ad7622,8px 12px 17px #0008}
.home-josie-art{background:radial-gradient(ellipse at 50% 55%,#59614344,transparent 75%)}
.home-josie-art>img{object-fit:contain;padding:22px;filter:drop-shadow(9px 12px 10px #0009)}
.home-card-copy{position:relative;padding:27px 4px 8px;margin-top:20px;border-top:1px solid #c5a66c77}
.home-card-copy:before{display:none}
.home-card-copy .eyebrow{color:#c2ac7c;margin-top:0}
.home-card-copy h3{font-size:28px;line-height:1.2;margin:14px 0}
.home-card-copy p{font-size:16px;margin-bottom:25px}
.home-card-link{border:0;padding-top:0;font-size:11px}
@media(min-width:651px) and (max-width:900px){.home-feature-art{padding:22px 10px 27px}.home-feature-art>img{height:285px}.home-card-grid{gap:22px}.home-card-image{height:220px}.home-picture-pair{padding:17px 12px;gap:12px}.home-picture-pair>div,.home-picture-pair>div+div{height:180px}.home-card-copy h3{font-size:24px}.home-josie-art>img{padding:18px}}
@media(max-width:650px){.home-feature-art{padding:20px 28px 28px}.home-feature-art>img{height:320px}.home-card-grid{gap:42px}.home-card-image{height:300px}.home-picture-pair{padding:24px;gap:22px}.home-picture-pair>div,.home-picture-pair>div+div{height:245px}.home-card-copy{padding:25px 3px 5px;margin-top:20px}.home-card-copy h3{font-size:29px}}
@media(prefers-reduced-motion:reduce){.home-story-card{transition:none}.home-story-card:hover{transform:none}}


.home-feature-art>img{height:420px}
.home-card-grid{--story-height:clamp(150px,18vw,240px);gap:30px;align-items:stretch}
.home-card-image.clean-story-art{height:var(--story-height);min-height:0;aspect-ratio:auto;width:100%;margin:0;padding:0;display:flex;align-items:center;justify-content:center;gap:12px;background:none;border:0;box-shadow:none;overflow:visible}
.home-card-image.clean-story-art:before,.home-card-image.clean-story-art:after{display:none;content:none}
.home-card-image.clean-story-art>img{display:block;height:100%;width:auto;max-width:100%;margin:0;padding:0;object-fit:contain;transform:none;filter:none;border:0;box-shadow:none}
.clean-picture-pair>.clean-cover-front{position:relative;height:100%;width:calc(var(--story-height)*.75);flex:0 0 calc(var(--story-height)*.75);overflow:hidden;margin:0;padding:0;transform:none;background:none;border:0;box-shadow:none}
.clean-cover-front>img{display:block;height:100%;width:200%;max-width:none;margin:0;padding:0;transform:translateX(-50%);object-fit:fill;filter:none;border:0;box-shadow:none}
@media(min-width:651px) and (max-width:900px){.home-feature-art>img{height:335px}.home-card-grid{gap:22px}.home-card-image.clean-story-art{height:var(--story-height)}}
@media(max-width:650px){.home-feature-art>img{height:375px}.home-card-grid{--story-height:clamp(180px,54vw,280px);gap:42px}.home-card-image.clean-story-art{height:var(--story-height)}}


.home-paths>.home-width{width:94%;max-width:1440px}
.home-card-grid{--story-height:clamp(207px,23.4vw,338px);grid-template-columns:.85fr 1.3fr .85fr;gap:20px}
.home-card-image.clean-story-art{height:var(--story-height)}
@media(min-width:651px) and (max-width:900px){.home-paths>.home-width{width:94%}.home-card-grid{gap:16px;--story-height:clamp(164px,23.4vw,211px)}}
@media(max-width:650px){.home-paths>.home-width{width:90%}.home-card-grid{grid-template-columns:1fr;gap:42px;max-width:500px;--story-height:min(354px,calc((90vw - 12px)/1.5))}.home-card-image.clean-story-art{height:var(--story-height)}}


.home-paths .home-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));--story-height:clamp(207px,23.4vw,324px)}
@media(min-width:651px) and (max-width:900px){.home-paths .home-card-grid{--story-height:clamp(164px,23.4vw,211px)}}
@media(max-width:650px){.home-paths .home-card-grid{grid-template-columns:1fr;--story-height:min(324px,calc((90vw - 12px)/1.5))}}


.home-paths .home-card-copy{width:calc(100% - 48px);max-width:280px;align-self:center;margin:24px auto 0;padding:25px 0 8px;display:flex;flex:1;flex-direction:column;text-align:center;border-top:1px solid #c5a66c66}
.home-paths .home-card-copy .eyebrow{display:block;margin:0;font-size:10px;line-height:1.5;letter-spacing:.14em}
.home-paths .home-card-copy h3{font-size:28px;line-height:1.2;min-height:1.2em;margin:14px 0 16px}
.home-paths .home-card-copy p{font-size:16px;line-height:1.7;min-height:5.1em;margin:0 0 20px}
.home-paths .home-card-link{justify-content:center;gap:12px;margin-top:auto;padding-top:7px;line-height:1.6;font-size:11px;letter-spacing:.025em}
@media(min-width:651px) and (max-width:900px){.home-paths .home-card-copy{width:calc(100% - 30px);padding-top:23px}.home-paths .home-card-copy h3{font-size:24px;min-height:2.4em}.home-paths .home-card-copy p{min-height:6.8em}.home-paths .home-card-link{font-size:10px;gap:8px}}
@media(max-width:650px){.home-paths .home-card-copy{width:calc(100% - 40px);max-width:300px;padding:24px 0 8px}.home-paths .home-card-copy h3{font-size:28px;min-height:0}.home-paths .home-card-copy p{min-height:0;margin-bottom:24px}}


#scene .realm-static-elements{left:16%;top:4%;width:68%;height:68%;object-fit:fill;z-index:7}
#scene .sharp-dragon-composite,#scene .sharp-girl-foreground{display:none!important}
#scene .realm-dragon-fire{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:9}
@media(prefers-reduced-motion:reduce){#scene .realm-dragon-fire{display:none}}

#scene .new-opening>.doorway-elements{position:absolute;left:16%;top:4%;width:68%;height:68%;object-fit:fill;display:block;pointer-events:none}

#scene .elf-sprite-fallback,#scene .new-opening>.doorway-elf{position:absolute;left:64.877897%;top:54.000000%;width:16.244207%;height:26.000000%;object-fit:fill;pointer-events:none;image-rendering:auto}
#scene .elf-sprite-fallback{z-index:7}
#scene .new-opening>.doorway-elf{display:block}


#scene .doorway-magic-mist{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
#scene .doorway-magic-mist i{position:absolute;left:52%;top:94%;width:43%;height:16%;border-radius:47% 63% 39% 58%;background:radial-gradient(ellipse at 25% 65%,rgba(230,240,238,.40),transparent 58%),radial-gradient(ellipse at 67% 40%,rgba(237,245,243,.47),transparent 62%),radial-gradient(ellipse at 46% 79%,rgba(225,237,234,.32),transparent 65%);filter:blur(4px);opacity:0;animation:doorway-mist-rise calc(7.8s + var(--n)*.37s) ease-in-out infinite;animation-delay:calc(var(--n)*-1.53s);animation-play-state:paused}
#scene.open .doorway-magic-mist i{animation-play-state:running}
@keyframes doorway-mist-rise{0%{transform:translate(-6%,22%) scale(.65,.6);opacity:0}20%{opacity:.67}52%{transform:translate(10%,-135%) scale(.95,1.05);opacity:.76}78%{transform:translate(4%,-205%) scale(.85,1.35);opacity:.35}100%{transform:translate(1%,-275%) scale(.7,1.5);opacity:0}}
@media(prefers-reduced-motion:reduce){#scene .doorway-magic-mist{display:none}}


#scene .realm-dog,#scene .new-opening>.doorway-dog{position:absolute;inset:auto;object-fit:fill;pointer-events:none;image-rendering:auto;filter:url(#dog-soft-detail) brightness(1.12) contrast(1.035) saturate(1.035)}
#scene .realm-josie{left:56%;top:75.5%;width:18.275%;height:19.5%}
#scene .realm-doc{left:72.5%;top:80.3%;width:25.5%;height:12.775%}
#scene .realm-dog{z-index:8}
#scene .new-opening>.doorway-dog{display:block}


.gateway-original-size{position:relative;justify-self:center;align-self:center;width:min(100%,calc((100svh - 116px)*.8))}
.hero .gateway-original-size>.scene{translate:none}
.gateway-close-dock{position:absolute;top:calc(100% + 4px);left:0;right:0;display:flex;justify-content:center;z-index:12}
.gateway-close-dock>.scene-bottom{position:static;inset:auto;display:flex;margin:0;justify-content:center;width:100%}
.gateway-close-dock .scene-bottom .btn{min-width:0;padding:5px 16px;font-size:10px;line-height:14px;border:1px solid #c4a66b;background:#0b1712;color:#e4cb91;box-shadow:0 2px 10px #0003;border-radius:3px}
.gateway-close-dock .btn:hover{background:#1b2c20}
@media(min-width:901px){
 .hero>.gateway-original-size{height:calc(100svh - 136px);width:auto;max-width:100%;aspect-ratio:1122/1402;translate:0 -6px}
 .hero .gateway-original-size>.scene{height:100%;width:100%;max-width:100%;aspect-ratio:1122/1402}
}
@media(max-width:900px){.gateway-original-size{translate:0 -12px}.hero .gateway-original-size>.scene{width:100%;height:auto}}


#scene .dog-ground-wisps{inset:auto;left:48%;top:92.5%;width:50%;height:7%;z-index:8;overflow:hidden}
#scene .dog-ground-wisps i{position:absolute;inset:0;background:radial-gradient(ellipse at 24% 72%,#e4eeeb40,transparent 46%),radial-gradient(ellipse at 74% 82%,#e8f1ee40,transparent 49%);filter:blur(5px);animation:ground-wisp-drift 7s ease-in-out infinite alternate;animation-play-state:paused}
#scene .dog-ground-wisps i+i{animation-delay:-3s;opacity:.65}
#scene.open .dog-ground-wisps i{animation-play-state:running}
@keyframes ground-wisp-drift{from{transform:translate(-4%,15%) scale(.95)}to{transform:translate(5%,-12%) scale(1.12)}}
@media(prefers-reduced-motion:reduce){#scene .dog-ground-wisps{display:none}}

#scene .dragon-static-fallback{z-index:7}#scene .new-opening>.doorway-dragon{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;display:block}
.seo-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#main:focus{outline:none}:where(a,button,input,textarea,select):focus-visible{outline:2px solid #f4dca5;outline-offset:4px}button:disabled{cursor:wait}button.menu{min-height:44px;min-width:44px}.gateway-close-dock .btn{position:relative}.gateway-close-dock .btn:before{content:"";position:absolute;inset:-9px 0}
.site-page[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(min-width:1101px) and (max-width:1280px){header .nav{padding-inline:3%;gap:18px}#navigation{gap:6px}#navigation :is(.nav-top,.nav-trigger){padding-inline:10px;font-size:10px}}
#navigation .nav-group{position:relative;flex-shrink:0}#navigation .nav-trigger{cursor:pointer;gap:8px;white-space:nowrap}#navigation .nav-chevron{font-size:11px;line-height:1;transition:transform .18s}#navigation .nav-trigger[aria-expanded=true] .nav-chevron{transform:rotate(180deg)}#navigation .nav-submenu{position:absolute;top:calc(100% + 10px);left:0;min-width:230px;display:grid;gap:6px;padding:10px;border:1px solid #c3a36b88;border-radius:6px;background:linear-gradient(150deg,#192b20,#0b1710);box-shadow:0 15px 30px #0009;z-index:100}#navigation .nav-submenu[hidden]{display:none!important}#navigation .nav-submenu>a{display:block;padding:13px 15px;color:#e7dfcf;font:13px/1.5 Arial,sans-serif;text-decoration:none;border:1px solid transparent;border-radius:3px;white-space:nowrap}#navigation .nav-submenu>a:hover,#navigation .nav-submenu>a:focus-visible{color:#fff0cc;background:#31452b;border-color:#ac925c;outline:none}#navigation .nav-submenu>a[aria-current=page]{color:#ffe2a5;background:#2e3d26;border-color:#b99c60}#navigation .nav-trigger[data-active=true]{color:#ffe2a5;border-color:#e1bd77;background:linear-gradient(150deg,#3c492d,#1b2c1d);box-shadow:inset 0 0 16px #d7b77a26,0 0 10px #d7b77a22}#navigation .nav-trigger[data-active=true]:after{content:'';position:absolute;bottom:5px;left:calc(50% - 13px);width:26px;height:1px;background:#edce91;box-shadow:0 0 5px #edce9199}@media(max-width:900px){#navigation{max-height:calc(100dvh - 86px);overflow-y:auto}#navigation .nav-group{width:100%;max-width:460px}#navigation .nav-trigger{width:100%;max-width:none}#navigation .nav-submenu{position:static;min-width:0;margin-top:8px;padding:8px;background:#0b1710;box-shadow:none}#navigation .nav-submenu>a{white-space:normal;min-height:44px}}@media(prefers-reduced-motion:reduce){#navigation .nav-chevron{transition:none}}
.home-card-image.clean-story-art .trilogy-cover-set{display:grid;grid-template-columns:0.7262fr 0.7366fr 0.7736fr;align-items:center;gap:4px;width:min(100%,calc(var(--story-height) * 2.2364 + 8px))}.home-card-image.clean-story-art .trilogy-cover-set img{display:block;width:100%;height:auto;min-width:0;object-fit:contain;margin:0;padding:0;border:0;box-shadow:none;transform:none}

/* The trilogy occupies one cover frame alongside the two dog books. */
.home-paths .home-card-image.clean-story-art .trilogy-cover-set,
.home-paths .home-card-image.clean-story-art>img{width:min(100%,calc(var(--story-height) * .774));height:var(--story-height)}
.home-paths .home-card-image.clean-story-art .trilogy-cover-set{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:calc(var(--story-height) * .03)}
.home-paths .home-card-image.clean-story-art .trilogy-cover-set img:nth-child(3){grid-column:1/-1;width:50%;justify-self:center}
.home-paths .home-card-image.clean-story-art .trilogy-cover-set img{width:100%;height:100%;object-fit:contain;object-position:center}

.home-paths .home-card-image.clean-story-art .trilogy-cover-set img:nth-child(-n+2){width:auto;height:auto;max-width:100%;max-height:100%;justify-self:center;background:transparent;filter:none;clip-path:inset(1% 1.5%)}

#navigation .nav-trigger .nav-chevron {
 display: inline-block; width: 7px; height: 7px; flex: 0 0 7px;
 margin-inline-start: 6px; color: #c3a36b; opacity: 1;
 border: solid currentColor; border-width: 0 2px 2px 0;
 transform: translateY(-2px) rotate(45deg);
}
#navigation .nav-trigger[aria-expanded="true"] .nav-chevron {
 transform: translateY(2px) rotate(225deg);
}
