@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600&display=swap');
:root{--ink:#0b100f;--paper:#e7dbc4;--muted:#aaa99e;--line:#d9ceb333;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--ink);color:var(--paper);font:14px/1.7 var(--sans)}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #e2c9a4;outline-offset:5px}button:disabled{cursor:wait;opacity:.65}.site-header{height:85px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);background:#0b100fe8;position:absolute;top:0;width:100%;z-index:3}.brand{letter-spacing:5px;font:19px var(--serif);white-space:nowrap}.moth{font-size:42px;vertical-align:middle;margin-right:14px;display:inline-block;transform:scaleX(1.5);font-family:Georgia}nav{display:flex;gap:34px;align-items:center;font-size:12px}nav a:hover,.text-button:hover{color:#fff3d8}.nav-letter{border:0;background:none;padding:10px 0}.nav-letter span{margin-left:12px;color:#cfb79a}.hero{position:relative;min-height:790px;height:94svh;max-height:1100px;isolation:isolate;overflow:hidden;display:flex;align-items:center}.hero-art{position:absolute;inset:0;background:#0b100f url('assets/hero-castle-hq.png') no-repeat center center/cover;z-index:-3;transform:scale(1);transform-origin:72% 45%;animation:hero-camera 26s cubic-bezier(.4,0,.2,1) infinite alternate;will-change:transform}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#060b0bf5 0%,#060b0bc9 24%,#060b0b40 65%,#060b0b14),linear-gradient(0deg,var(--ink),transparent 30%);z-index:-2}.hero-content{padding:100px 6% 30px;width:65%}.eyebrow{font-size:10px;letter-spacing:3px;font-weight:500;line-height:1.9;color:#d0bfa4;margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.03}h1{font-size:clamp(50px,5.4vw,90px);letter-spacing:-2px;margin-bottom:27px}em{font-weight:400;color:#dcc8a7}.hero-description{font-size:14px;color:#d0cdc3;line-height:1.9;margin-bottom:32px}.primary{background:var(--paper);color:#242820;border:1px solid var(--paper);padding:17px 28px;min-height:54px;transition:background .2s,transform .2s;font-weight:500}.primary:hover{background:#fff0d3;transform:translateY(-2px)}.primary span{padding-left:35px;font-size:18px}.fine-print{font-size:10px;color:#a9aba1;margin:16px 0;letter-spacing:.5px}.hero-scroll{position:absolute;bottom:30px;left:6%;font-size:9px;letter-spacing:2px;color:#b6b6a8}.hero-scroll span{margin-left:24px;font-size:18px}.envelope{position:absolute;right:7%;bottom:16%;width:285px;height:180px;background:linear-gradient(150deg,#e3d4b6,#b2a084);color:#453d31;border:1px solid #b6a180;transform:rotate(-9deg);box-shadow:0 20px 60px #000b;transition:transform .4s}.envelope:before,.envelope:after{content:'';position:absolute;inset:0;pointer-events:none}.envelope:before{background:linear-gradient(31deg,transparent 49.7%,#6c5d4140 50%,transparent 50.7%),linear-gradient(-31deg,transparent 49.7%,#6c5d4140 50%,transparent 50.7%)}.envelope:after{background:linear-gradient(155deg,#e9ddc5,#b2a084);clip-path:polygon(0 0,100% 0,50% 57%);border-top:1px solid #a68b67}.envelope:hover{transform:rotate(-4deg) translateY(-8px)}.envelope-script{position:absolute;bottom:26px;left:0;right:0;font:italic 16px var(--serif)}.wax{position:absolute;z-index:1;top:66px;left:calc(50% - 25px);height:51px;width:51px;display:grid;place-items:center;border-radius:47% 51% 46% 49%;background:radial-gradient(circle at 40% 30%,#934b55,#4c1d28 80%);border:3px double #ba7e7d;box-shadow:1px 4px 4px #0007;color:#dbb399;font-size:27px}.envelope-caption{position:absolute;bottom:-35px;width:100%;left:0;font-size:8px;letter-spacing:2px;color:#d1c3ab}.world-section{padding:75px 5% 70px}.section-intro{text-align:center;margin:0 auto 42px}.section-intro .eyebrow{margin-bottom:18px}h2{font-size:clamp(39px,4vw,64px);margin-bottom:22px}.section-intro>p:last-child{color:var(--muted);font-size:12px;line-height:1.9}.world-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1440px;margin:auto}.world-card{border:1px solid #a49b7959;min-height:340px;position:relative;overflow:hidden;text-align:left;padding:0;background:#17201a;isolation:isolate;transition:transform .35s,border-color .35s}.world-card:hover{transform:translateY(-9px);border-color:var(--paper)}.world-art{position:absolute;inset:0;background-image:url('assets/realms.png');background-size:300% 200%;z-index:-2;transition:transform .6s}.world-card:hover .world-art{transform:scale(1.05)}.world-card:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#080e0efa,transparent 90%)}.world-card-content{position:absolute;bottom:0;left:0;right:0;padding:20px 15px}.world-num{position:absolute;top:15px;left:16px;font-size:9px;letter-spacing:2px;border-bottom:1px solid #ccc8b688;padding-bottom:5px}.world-card h3{font-size:27px;line-height:1.06;margin-bottom:9px}.world-card p{font-size:10px;color:#c4c2b6;margin:0 0 13px}.world-card .enter{font-size:9px;letter-spacing:1px;color:#dac9ac;display:flex;justify-content:space-between}.world-note{text-align:center;font-size:10px;color:#a9ab9d;margin-top:36px}.world-note span{margin-right:14px;color:#cdb799}.about{padding:65px 8%;display:grid;grid-template-columns:100px 1.4fr 1fr;gap:55px;align-items:center;background:#ded1b8;color:#2a302b}.about .eyebrow{color:#655f52}.about h2{font-size:53px}.about em{color:#68634f}.about p{max-width:480px;font-size:12px}.about-ornament{font-size:30px;text-align:center;line-height:3;color:#6b6656}.about-ornament span{font-size:65px}.text-button{border:0;border-bottom:1px solid currentColor;padding:8px 0;background:none;color:inherit;font-size:12px}.text-button span{margin-left:32px}.about .text-button:hover{color:#747058}.how-it-works{border-left:1px solid #777b6344;padding:30px 0 30px 40px}.how-it-works p{padding:13px 0}.how-it-works span{font:22px var(--serif);color:#6a6a5c;margin-right:18px}footer{padding:38px 5%;display:flex;align-items:center;gap:30px;justify-content:space-between}footer .brand{font-size:14px}footer p,footer>span{font-size:9px;color:#999d91;margin:0}footer>span{font-size:8px}
dialog{border:1px solid #b5a27b70;color:var(--paper);background:var(--ink);width:min(1000px,94vw);max-height:92svh;padding:0;overflow:auto;box-shadow:0 20px 120px #000c}dialog::backdrop{background:#030807d9;backdrop-filter:blur(9px)}.dialog-shell{position:relative;min-height:460px}.close{position:absolute;right:14px;top:10px;width:42px;height:42px;background:#101613c9;border:1px solid var(--line);font-size:27px;z-index:5;line-height:1}.close:hover{background:#34372b}.letter-stage{padding:62px 65px;text-align:center;background:radial-gradient(ellipse at 50% 10%,#33423555,transparent 70%)}.letter-mark{display:inline-block;font:72px var(--serif);color:#cbb594;margin-bottom:8px}.letter-stage h2{font-size:57px}.letter-paper{background:#e4d6bd;color:#353a30;max-width:610px;margin:24px auto;padding:38px 44px;text-align:left;box-shadow:0 12px 40px #0004;font:22px/1.55 var(--serif);transform:rotate(-.6deg)}.letter-paper .signature{font-style:italic;font-size:19px;color:#726b59;margin-bottom:0}.letter-stage .fine-print{margin-bottom:0}.journey-stage{padding:55px 45px 38px}.journey-top{display:flex;gap:20px;align-items:center;margin-bottom:28px;padding-right:40px}.back{background:none;border:1px solid var(--line);padding:6px 13px;font-size:18px}.step-label{font-size:9px;letter-spacing:2px;color:#b7ac97}.step-track{display:flex;gap:5px;margin-left:auto}.step-track i{width:20px;height:2px;background:#595e51}.step-track i.active{background:#e4d5b6}.journey-stage h2{font-size:48px}.journey-stage .section-intro{margin-bottom:26px}.journey-stage .world-grid{gap:10px}.journey-stage .world-card{min-height:280px}.journey-stage .world-card h3{font-size:23px}.realm-scene{height:150px;position:relative;overflow:hidden;margin-bottom:30px;border:1px solid var(--line)}.realm-scene .world-art{z-index:0}.realm-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#08100ed9,transparent)}.realm-scene p{position:relative;z-index:1;max-width:70%;margin:0;padding:30px;font:32px var(--serif)}.scene-copy{max-width:710px;color:#c1c3b6;font-size:14px;line-height:1.9}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:26px 0}.choice{border:1px solid var(--line);background:#111914;padding:24px;text-align:left;position:relative;transition:background .2s,border-color .2s,transform .2s}.choice:hover,.choice[aria-pressed=true]{border-color:var(--accent,#d2bea0);background:#233128;transform:translateY(-3px)}.choice .symbol{display:block;font:32px var(--serif);margin-bottom:15px;color:var(--accent,#d5c5aa)}.choice strong{font:25px/1.12 var(--serif);display:block;margin-bottom:12px}.choice small{font-size:10px;line-height:1.7;color:#acb3a7;display:block}.choice-index{font:13px var(--serif);display:block;color:#a2947d;margin-bottom:15px}.relic-options{margin-bottom:26px}.vow-options .choice{padding:17px}.vow-options .choice strong{font-size:22px}.field{display:block;font-size:11px;color:#c8c9bc}.field input{display:block;background:#0e1511;border:1px solid #8c8d7755;padding:12px 15px;margin:9px 0 23px;width:100%;max-width:400px;color:#f2e6ce;min-height:48px}.field input::placeholder{color:#7c8477}.result-stage{padding:50px 35px 32px}.result-layout{display:grid;grid-template-columns: minmax(260px,.95fr) 1fr;gap:38px;align-items:start}.result-preview{position:relative;line-height:0;background:#162019;min-height:300px}.result-preview canvas{width:100%;height:auto;box-shadow:0 10px 50px #0006}.result-info{padding-top:20px}.result-info .eyebrow{font-size:9px;margin-bottom:14px}.result-info h2{font-size:42px;line-height:1.06}.result-info .story{font:21px/1.5 var(--serif);color:#d2cbb9}.fact{border-top:1px solid var(--line);padding:15px 0}.fact span{display:block;color:#b4a58c;font-size:9px;letter-spacing:1px;margin-bottom:6px}.fact p{font-size:11px;margin:0;color:#c6c9bb}.result-actions{display:flex;flex-direction:column;gap:10px;margin-top:15px}.result-actions .primary{padding:14px;font-size:12px}.secondary{background:none;border:1px solid var(--line);padding:12px 16px;font-size:11px}.secondary:hover{border-color:var(--paper);background:#1d281e}.pin-help{font-size:10px;line-height:1.8;color:#a8afa2;padding:15px 0 0}.pin-help summary{cursor:pointer;color:#d7c7ab}.pin-help ol{padding-left:20px}.pin-help a{text-decoration:underline}.restart{display:block;margin:25px auto 0;font-size:11px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#e6d8be;color:#182119;padding:13px 22px;max-width:90vw;width:max-content;z-index:10;opacity:0;pointer-events:none;transition:.3s;font-size:12px;box-shadow:0 5px 30px #0007}.toast.visible{opacity:1;transform:translate(-50%,0)}.result-note{font-size:9px;color:#a1a997;margin-top:18px}.render-error{padding:35px;line-height:1.8}.writing-prompt{margin-top:22px;border:1px solid var(--line);padding:20px}.writing-prompt p{font-size:11px;margin:0}.writing-prompt .eyebrow{font-size:8px;margin-bottom:9px}@keyframes hero-camera{from{transform:scale(1.32)}to{transform:scale(1)}}@keyframes reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}#journey-content>div{animation:reveal .4s ease both}
@media(min-width:1600px){.hero-content{padding-left:12%}.hero-scroll{left:12%}.envelope{right:15%}.world-card{min-height:430px}}
@media(max-width:1000px){.world-grid{gap:10px}.world-card{min-height:300px}.world-card h3{font-size:24px}.world-card-content{padding:16px 11px}.hero{min-height:740px}.envelope{right:7%;width:240px;height:155px;bottom:19%}.wax{top:54px}.about{gap:30px;grid-template-columns:50px 1.3fr 1fr;padding:50px 5%}.how-it-works{padding-left:20px}.journey-stage .world-grid{grid-template-columns:repeat(3,1fr)}.journey-stage .world-card{min-height:230px}.journey-stage .world-card h3{font-size:27px}}
@media(max-width:700px){.site-header{height:70px;padding:0 6%}.brand{font-size:15px;letter-spacing:3px}.moth{font-size:30px;margin-right:8px}nav{gap:15px;font-size:10px}nav>a:nth-child(2){display:none}.nav-letter{font-size:10px}.nav-letter span{display:none}.hero{height:auto;min-height:850px;max-height:none;align-items:flex-start}.hero-art{background-size:cover;background-position:68% center;transform-origin:68% 40%;opacity:1}.hero-shade{background:linear-gradient(90deg,#06100dc9,transparent),linear-gradient(0deg,#0b100f,transparent 40%),linear-gradient(180deg,#0b100f40,transparent 40%)}.hero-content{padding:150px 7% 0;width:100%}h1{font-size:61px;letter-spacing:-1px}.hero .eyebrow{font-size:8px;letter-spacing:2.4px}.hero-description{font-size:12px}.primary{padding:15px 22px}.hero .fine-print{font-size:9px}.envelope{width:210px;height:130px;right:11%;bottom:85px}.envelope-script{font-size:14px;bottom:17px}.wax{top:43px;width:44px;height:44px;left:calc(50% - 22px)}.envelope-caption{font-size:7px;bottom:-27px}.hero-scroll{bottom:25px;left:7%;font-size:8px}.world-section{padding:50px 6%}.section-intro h2{font-size:43px}.section-intro .eyebrow{font-size:8px;letter-spacing:2px}.section-intro>p:last-child{font-size:11px}.world-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.world-card{min-height:300px}.world-card h3{font-size:28px}.world-card p{font-size:10px}.world-note{font-size:9px;line-height:1.9}.about{grid-template-columns:1fr;gap:25px;padding:45px 8%}.about-ornament{display:none}.about h2{font-size:48px}.how-it-works{border-left:0;border-top:1px solid #777b6344;padding:18px 0 0}.how-it-works p{padding:5px 0;margin-bottom:8px}footer{padding:30px 7%;display:block}footer p{margin:14px 0 5px}dialog{width:96vw;max-height:94svh}.letter-stage{padding:55px 20px 35px}.letter-stage h2{font-size:44px}.letter-paper{padding:24px;font-size:21px}.letter-mark{font-size:52px}.journey-stage{padding:55px 20px 25px}.journey-stage h2{font-size:40px}.journey-stage .world-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-stage .world-card{min-height:200px!important}.journey-stage .world-card h3{font-size:25px}.step-label{font-size:8px;letter-spacing:1px}.journey-top{gap:12px;padding-right:0}.step-track{gap:3px}.step-track i{width:13px}.realm-scene p{font-size:28px;max-width:85%;padding:25px}.choices{grid-template-columns:1fr;gap:10px}.choice{padding:18px 20px}.choice strong{font-size:27px;margin-bottom:7px}.choice .symbol{float:left;margin:0 18px 0 0;font-size:32px}.choice-index{float:right;margin:0 0 0 15px}.choice small{font-size:11px}.relic-options{grid-template-columns:1fr}.vow-options{grid-template-columns:1fr}.result-stage{padding:55px 20px 30px}.result-layout{grid-template-columns:1fr;gap:20px}.result-preview{max-width:400px;width:100%;margin:auto}.result-info h2{font-size:43px}.result-info .story{font-size:23px}.result-info{padding:5px}.result-actions .primary{min-height:54px}.result-info .fact p{font-size:12px}.writing-prompt p{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;transform:none!important}}

/* Keep the slow camera still when it is out of view. */
.hero-art.is-paused{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.hero-art{will-change:auto}}

.world-card.light-world{color:var(--paper);background:#17201a;border-color:#a49b7959}.world-card.light-world:after{background:linear-gradient(0deg,#080e0ef2 0%,#080e0ed9 18%,#080e0e40 48%,#080e0e00 75%)}.light-world .world-num{color:#3e5662;background:#f8f4e9d9;padding:3px 8px;border:0}.light-world .world-card-content p{color:#c4c2b6}.light-world .enter{color:#dac9ac}.light-realm{background:#f5f1e7;color:#354b55;--line:#8a705144}.light-realm em{color:#826d52}.light-realm .eyebrow,.light-realm .step-label,.light-realm .fact span{color:#80684b}.light-realm .scene-copy,.light-realm .story,.light-realm .fact p,.light-realm .result-note,.light-realm .pin-help,.light-realm .fine-print{color:#576b73}.light-realm .realm-scene:after{background:linear-gradient(90deg,#f5f1e7ed,#f5f1e722)}.light-realm .realm-scene .world-art{background-position:center 25%!important}.light-realm .choice{background:#fffcf5;color:#354b55;border-color:#bcb7a5}.light-realm .choice:hover,.light-realm .choice[aria-pressed=true]{background:#e1eaf0;border-color:#7b99a9}.light-realm .choice small,.light-realm .field{color:#566e78}.light-realm .choice .symbol{color:#80684b}.light-realm .field input{background:#fffdf6;color:#354b55}.light-realm .primary{background:#354b55;color:#fffbf0;border-color:#354b55}.light-realm .secondary{color:#354b55}.light-realm .secondary:hover{background:#e3eaf0;border-color:#7b99a9}.light-realm .pin-help summary{color:#80684b}.light-realm .back{color:#354b55}.light-realm .text-button:hover{color:#80684b}.light-realm .result-preview{background:#f5f1e7}

.pinterest-save{display:block;text-align:center;background:#ad263e;color:#fff8ed;border:1px solid #c34056;padding:15px 20px;font-size:13px;font-weight:600;transition:background .2s}.pinterest-save:hover{background:#c3324c}.pin-privacy{font-size:9px;line-height:1.6;color:#a8afa2;margin:0 0 4px;text-align:center}.light-realm .pin-privacy{color:#576b73}.result-actions .secondary[data-download]{padding:14px}

.choice .relic-symbol{width:48px;height:48px;display:block;float:none;margin:0 0 17px}.relic-symbol svg{display:block;width:100%;height:100%}@media(max-width:700px){.choice .relic-symbol{float:left;width:42px;height:42px;margin:0 18px 12px 0}}
