/* Motion is progressively enhanced: all content remains usable without JavaScript. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.period-options input{z-index:2}.period-options input:checked+span:after{pointer-events:none}
.site-shell{position:relative;z-index:1;background:radial-gradient(ellipse at 80% 5%,#39304999 0%,transparent 31%)}
.reading-progress{position:fixed;inset:0 0 auto;height:2px;z-index:100;pointer-events:none}.reading-progress-fill{height:100%;background:linear-gradient(90deg,#ae8cbf,#f3c7a6);box-shadow:0 0 12px #efc4ab77;transform:scaleX(0);transform-origin:left}
.ambient-scene{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}.ambient-glow{position:absolute;width:70vmax;height:70vmax;border-radius:50%;opacity:.25;background:radial-gradient(circle,#7f537c55,transparent 65%)}.glow-one{top:-30vmax;right:-15vmax}.glow-two{bottom:-45vmax;left:-30vmax;background:radial-gradient(circle,#6d628855,transparent 65%)}.ambient-stars{position:absolute;inset:0}.ambient-stars>span{position:absolute;left:var(--star-x);top:var(--star-y);width:var(--star-size);height:var(--star-size);border-radius:50%;background:#f2d9c4;opacity:.25}
.site-header nav{gap:22px}.motion-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;color:#cebecd;border:1px solid #87728b66;background:#ffffff04;border-radius:999px;padding:11px 13px;min-height:39px;font-size:10px;letter-spacing:.03em;transition:background .25s,border-color .25s}.motion-toggle:hover{background:#ffffff0b;border-color:#b595aa}.motion-toggle [data-motion-icon]{font-size:12px;color:#e3b69f;min-width:11px;text-align:center}
.hero-copy>h1 em{text-shadow:0 0 45px #e4ae9020}.book-drift{position:relative;width:max-content}.storybook{transform:perspective(1000px) rotateX(var(--book-tilt-x,0deg)) rotateY(var(--book-tilt-y,0deg)) rotate(-9deg);transition:transform .4s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d}.book-page{backface-visibility:hidden}.page-left{transform-origin:right center}.page-right{transform-origin:left center}.book-orbit:before{content:'';position:absolute;top:10%;right:16%;width:5px;height:5px;background:#e9b9a5;border-radius:50%;box-shadow:0 0 15px #e9b9a5aa}
.experience-section{position:relative;padding:35px 36px 0;border:1px solid #b38c9e3d;border-radius:12px;background:linear-gradient(125deg,#45314632,#272a4432);box-shadow:inset 0 1px #ead2bb05;scroll-margin-top:25px}.experience-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px}.experience-heading h2{font-size:24px;line-height:1.8;font-weight:500;letter-spacing:.06em;margin:12px 0 0}.experience-heading>p{font-size:11px;line-height:2;color:#b4a3bc;margin:0 0 3px;flex-shrink:0}.story-map{display:grid;grid-template-columns:minmax(0,1fr) 185px;align-items:center;gap:12px 25px;margin:32px 0 0}.map-pathway{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;text-align:center;align-self:start;padding-top:10px}.map-connections{position:absolute;top:0;left:0;width:100%;height:120px;overflow:visible}.map-connections path{fill:none;stroke-linecap:round}.map-path-base{stroke:#9d809548;stroke-width:1}.map-path-draw{stroke:url(#path-gradient);stroke-width:1.5;stroke-dasharray:700;stroke-dashoffset:0}.map-path-flow{stroke:#f2d0b9;stroke-width:3;stroke-dasharray:1 23;opacity:.6}.map-node{position:relative;z-index:1;min-width:0}.node-symbol{position:relative;width:80px;height:80px;margin:0 auto 16px;display:grid;place-items:center;border-radius:50%;border:1px solid #9e7e9760;background:linear-gradient(145deg,#3a2e46,#202035);box-shadow:0 5px 30px #0e0c222f;transition:box-shadow .6s,border-color .6s,background .6s}.node-symbol>svg{width:45px;height:45px;fill:none;stroke:#c3a3ae;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:stroke .5s}.node-step{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;background:#32273c;border:1px solid #97748c;box-shadow:0 0 0 5px #272338;border-radius:50%;width:22px;height:22px;font-size:9px;letter-spacing:.02em;color:#d8afaa}.map-node p{margin:0 0 11px;font-size:11px;color:#d1bdce;line-height:1.6}.map-node p strong{font-family:Georgia,serif;font-size:25px;font-weight:400;color:#edbea7;font-variant-numeric:tabular-nums}.node-choice{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 12px;border:1px solid #94708b44;border-radius:999px;font-size:9px;color:#a99ab4;line-height:1.6;max-width:100%;transition:background .5s,color .5s,border-color .5s}.map-node.is-selected .node-symbol{border-color:#d5a68b;background:linear-gradient(145deg,#5c3e51,#2c293e);box-shadow:0 0 30px #e6b29320}.map-node.is-selected .node-symbol>svg{stroke:#edc3a6}.map-node.is-selected .node-choice{background:#b8867c19;color:#e2b9a6;border-color:#bb8f7e77}.map-total{position:relative;display:grid;place-items:center;width:185px;height:185px;align-self:start;isolation:isolate}.map-total>svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);fill:none}.total-ring-track{stroke:#ac8c9b44;stroke-width:1}.total-ring{stroke:#ddb198;stroke-width:1.5;stroke-dasharray:490;stroke-dashoffset:0;stroke-linecap:round}.total-inner-ring{stroke:#bea3c14f;stroke-width:1;stroke-dasharray:2 11}.map-total>div{display:flex;flex-direction:column;align-items:center;gap:6px}.total-kicker{font-size:7px;letter-spacing:.2em;color:#bca4bb}.map-total strong{font-family:Georgia,serif;font-weight:400;font-size:57px;line-height:1.1;color:#f2c6aa;font-variant-numeric:tabular-nums}.map-total>div>span:last-child{font-size:10px;letter-spacing:.08em;color:#bca4bb}.total-star{position:absolute;right:18px;top:12px;font-size:20px;color:#e5b89e;background:#29263b;padding:2px}.story-map figcaption{grid-column:1/-1;text-align:center;font-size:10px;line-height:1.9;color:#b4a0b8;margin:12px 0 27px;letter-spacing:.04em}.story-map figcaption>span{font-family:Georgia,serif;color:#ddb69e;font-size:15px;margin-right:13px;letter-spacing:.15em}.experience-steps{display:flex;justify-content:center;align-items:center;gap:30px;border-top:1px solid #9b7c9233;padding:23px 0}.experience-steps p{font-size:10px;letter-spacing:.05em;color:#bfadc7;margin:0;line-height:1.8}.experience-steps p>span{font-family:Georgia,serif;color:#d9af9c;font-size:16px;margin-right:12px}.experience-steps i{font-style:normal;color:#967b94;font-size:15px}
.selection-progress{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;margin-bottom:29px}.selection-progress>span:first-child{font-size:8px;letter-spacing:.16em;color:#a28386}.selection-progress>span:nth-child(2){font-size:10px;color:#99736e;font-variant-numeric:tabular-nums}.selection-progress-track{flex:0 0 100%;height:3px;background:#eaded6;border-radius:2px;overflow:hidden}.selection-progress-track>span{display:block;height:100%;background:linear-gradient(90deg,#b093b9,#cf977a);transform:scaleX(var(--selection-progress));transform-origin:left;transition:transform .7s cubic-bezier(.16,1,.3,1)}.field:focus-within label{color:#9b645e}.field input,.field select{transition:box-shadow .25s,border-color .25s,background .25s}.field input:focus,.field select:focus{border-color:#bb9284;background:#fff;box-shadow:0 0 0 4px #b98a7710}.period-options label>span{position:relative;transition:background .3s,border-color .3s,box-shadow .3s,transform .3s}.period-options label:hover>span{transform:translateY(-3px);box-shadow:0 5px 20px #936c7612}.period-options input:checked+span:after{content:'✧';position:absolute;top:8px;right:8px;color:#a56f64;font-size:14px;animation:selection-star .5s ease-out}.button{position:relative;isolation:isolate;overflow:hidden;transition:background .25s,transform .25s,box-shadow .35s}.button:hover:not(:disabled){box-shadow:0 8px 26px #0b091825}.button:active:not(:disabled){transform:translateY(0) scale(.98)}.button>span:not(.button-ripple){transition:transform .3s}.button:hover>span:not(.button-ripple){transform:translate(3px,-1px)}.button-dark.is-ready{background:linear-gradient(115deg,#46364d,#2d2941);box-shadow:0 0 0 1px #b6867566,0 5px 22px #b68a7524}.button-ripple{position:absolute;pointer-events:none;border-radius:50%;background:currentColor;z-index:-1}.button-dark.is-ready:before{content:'';position:absolute;inset:-50% auto -50% -70%;width:45%;background:linear-gradient(90deg,transparent,#f4d9c525,transparent);transform:skewX(-18deg);pointer-events:none}
.share-image-wrap{position:relative;isolation:isolate;overflow:visible;transition:transform .55s cubic-bezier(.16,1,.3,1),box-shadow .55s}.share-image-wrap img{border-radius:3px}.share-image-wrap:after{content:'';position:absolute;inset:0;border-radius:3px;pointer-events:none;background:linear-gradient(115deg,transparent 25%,#fff1 45%,#fff2 50%,transparent 60%);background-size:350% 100%;background-position:150% 0;opacity:0}.share-image-wrap:hover{transform:perspective(900px) rotateY(-3deg) rotateX(2deg);box-shadow:8px 15px 26px #0d081d44}.card-loader{position:absolute;inset:0;display:none;align-items:center;justify-content:center;flex-direction:column;gap:17px;font-size:9px;letter-spacing:.15em;color:#b599a8;background:linear-gradient(125deg,#272338,#453145,#272338);background-size:250% 100%;border-radius:3px}.card-loader>span{font-size:30px;color:#d9ad9c}.is-preparing .card-loader{display:flex}.success-spark{position:absolute;top:50%;left:50%;font-size:17px;color:#edc2a3;pointer-events:none;z-index:3}.title-reveal{overflow:hidden}.title-reveal:after{content:'';position:absolute;inset:0 auto auto 0;height:1px;width:100%;background:linear-gradient(90deg,transparent,#b77965,transparent);transform:scaleX(1)}
.faq-list summary{position:relative;list-style:none;padding-right:32px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:7px;top:0;font-weight:300;font-size:21px;color:#d2ac9a;transition:transform .35s}.faq-list details[open] summary:after{transform:rotate(45deg)}
/* Only transform and opacity animate continuously; off-screen diagrams are paused. */
html.motion-ready[data-motion="on"] .glow-one{animation:nebula-drift 24s ease-in-out infinite alternate}html.motion-ready[data-motion="on"] .glow-two{animation:nebula-drift 31s ease-in-out -9s infinite alternate-reverse}html.motion-ready[data-motion="on"] .ambient-stars>span{animation:star-twinkle 7s ease-in-out var(--star-delay) infinite}html.motion-ready[data-motion="on"] .hero-copy>*{animation:hero-arrive 1.1s cubic-bezier(.16,1,.3,1) both}html.motion-ready[data-motion="on"] .hero-copy>:nth-child(2){animation-delay:.1s}html.motion-ready[data-motion="on"] .hero-copy>:nth-child(3){animation-delay:.2s}html.motion-ready[data-motion="on"] .hero-copy>:nth-child(4){animation-delay:.35s}html.motion-ready[data-motion="on"] .hero-copy>:nth-child(5){animation-delay:.5s}html.motion-ready[data-motion="on"] .hero-copy>:nth-child(6){animation-delay:.65s}
html.motion-ready[data-motion="on"] [data-reveal]:not(.book-art){transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}html.motion-ready[data-motion="on"] [data-reveal]:not(.is-visible):not(.book-art){opacity:0;transform:translateY(28px)}html.motion-ready[data-motion="on"] .book-art.is-visible .book-drift{animation:book-breathe 6.5s ease-in-out infinite}html.motion-ready[data-motion="on"] .book-art.is-visible .page-left{animation:open-left-page 1.7s cubic-bezier(.16,1,.3,1) both}html.motion-ready[data-motion="on"] .book-art.is-visible .page-right{animation:open-right-page 1.9s cubic-bezier(.16,1,.3,1) both}html.motion-ready[data-motion="on"] .book-art.is-visible .book-orbit{animation:orbit-drift 35s linear infinite}html.motion-ready[data-motion="on"] .art-star{animation:art-twinkle 4.5s ease-in-out infinite}html.motion-ready[data-motion="on"] .star-two{animation-delay:-2s}html.motion-ready[data-motion="on"] .star-three{animation-delay:-1s}html.motion-ready[data-motion="on"] .floating-note{animation:note-drift 7s ease-in-out -2s infinite}
html.motion-ready[data-motion="on"] .experience-section.is-visible .map-path-draw{animation:draw-connection 2.2s cubic-bezier(.4,0,.2,1) both}html.motion-ready[data-motion="on"] .experience-section.is-visible .map-path-flow{animation:connection-flow 8s linear infinite}html.motion-ready[data-motion="on"] .experience-section.is-visible .node-symbol svg path,html.motion-ready[data-motion="on"] .experience-section.is-visible .node-symbol svg circle{stroke-dasharray:200;animation:draw-icon 1.9s .25s cubic-bezier(.4,0,.2,1) both}html.motion-ready[data-motion="on"] .experience-section.is-visible .map-node:nth-of-type(2) .node-symbol svg path{animation-delay:.45s}html.motion-ready[data-motion="on"] .experience-section.is-visible .map-node:nth-of-type(3) .node-symbol svg path{animation-delay:.65s}html.motion-ready[data-motion="on"] .experience-section.is-visible .total-ring{animation:draw-ring 1.9s cubic-bezier(.3,0,.2,1) both}html.motion-ready[data-motion="on"] .experience-section.is-visible .total-inner-ring{animation:ring-revolve 38s linear infinite;transform-origin:90px 90px}html.motion-ready[data-motion="on"] .experience-section.is-visible .total-star{animation:art-twinkle 4s ease-in-out infinite}html.motion-ready[data-motion="on"] .button-dark.is-ready:before{animation:button-sheen 6s 1s ease-in-out infinite}html.motion-ready[data-motion="on"] .is-preparing .card-loader{animation:loading-shimmer 3s ease-in-out infinite}html.motion-ready[data-motion="on"] .is-preparing .card-loader>span{animation:art-twinkle 2s ease-in-out infinite}html.motion-ready[data-motion="on"] .share-image-wrap:hover:after{animation:card-gleam 1.3s ease-out both}html.motion-ready[data-motion="on"] .title-reveal.is-visible h3{animation:title-arrive 1s .1s cubic-bezier(.16,1,.3,1) both}html.motion-ready[data-motion="on"] .title-reveal.is-visible:after{animation:title-line 1.4s ease-out both}
html.motion-ready[data-motion="on"] .book-art:not(.motion-in-view) .book-drift,html.motion-ready[data-motion="on"] .book-art:not(.motion-in-view) .book-orbit,html.motion-ready[data-motion="on"] .experience-section:not(.motion-in-view) .map-path-flow,html.motion-ready[data-motion="on"] .experience-section:not(.motion-in-view) .total-inner-ring{animation-play-state:paused}
@keyframes hero-arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes nebula-drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-7%,9%,0) scale(1.12)}}
@keyframes star-twinkle{0%,100%{opacity:.12;transform:scale(.8)}50%{opacity:.55;transform:scale(1.3)}}
@keyframes book-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-13px)}}
@keyframes open-left-page{from{transform:perspective(900px) skewY(-4deg) rotateY(65deg);opacity:.2}to{transform:perspective(900px) skewY(-4deg) rotateY(0);opacity:1}}
@keyframes open-right-page{from{transform:perspective(900px) skewY(4deg) rotateY(-72deg);opacity:.2}to{transform:perspective(900px) skewY(4deg) rotateY(0);opacity:1}}
@keyframes orbit-drift{from{transform:rotate(-18deg) scaleY(.9)}to{transform:rotate(342deg) scaleY(.9)}}
@keyframes art-twinkle{0%,100%{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}
@keyframes note-drift{0%,100%{transform:rotate(3deg) translateY(0)}50%{transform:rotate(1deg) translateY(-5px)}}
@keyframes draw-connection{from{stroke-dashoffset:700;opacity:0}to{stroke-dashoffset:0;opacity:1}}
@keyframes connection-flow{to{stroke-dashoffset:-192}}
@keyframes draw-icon{from{stroke-dashoffset:200;opacity:.2}to{stroke-dashoffset:0;opacity:1}}
@keyframes draw-ring{from{stroke-dashoffset:490}to{stroke-dashoffset:0}}
@keyframes ring-revolve{to{transform:rotate(360deg)}}
@keyframes selection-star{from{opacity:0;transform:rotate(-45deg) scale(.4)}to{opacity:1;transform:rotate(0) scale(1)}}
@keyframes button-sheen{0%,55%,100%{left:-70%}85%{left:140%}}
@keyframes loading-shimmer{0%,100%{background-position:0 0}50%{background-position:100% 0}}
@keyframes card-gleam{0%{background-position:150% 0;opacity:0}20%{opacity:1}100%{background-position:-50% 0;opacity:0}}
@keyframes title-arrive{from{opacity:0;transform:translateY(12px);letter-spacing:.14em}to{opacity:1;transform:translateY(0);letter-spacing:.08em}}
@keyframes title-line{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}
@supports(interpolate-size:allow-keywords){:root{interpolate-size:allow-keywords}.faq-list details::details-content,.name-details::details-content{block-size:0;opacity:0;overflow:hidden;transition:block-size .4s ease,opacity .4s,content-visibility .4s allow-discrete}.faq-list details[open]::details-content,.name-details[open]::details-content{block-size:auto;opacity:1}}
@media(max-width:1000px){.site-header nav{gap:15px}.motion-toggle{width:38px;height:38px;padding:0}.motion-toggle [data-motion-label]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.experience-section{padding:29px 25px 0}.experience-heading h2{font-size:21px}.story-map{grid-template-columns:minmax(0,1fr) 155px;gap:10px 15px}.map-total{width:155px;height:155px}.map-total strong{font-size:47px}.total-star{right:12px;top:7px}.node-symbol{width:72px;height:72px}.map-connections{top:-5px}.node-choice{padding:6px 8px;font-size:8px}.map-node p{font-size:10px}}
@media(max-width:760px){.site-header nav{gap:12px}.experience-section{padding:28px 22px 0}.experience-heading{display:block;text-align:center}.experience-heading h2{font-size:22px;margin-top:10px}.experience-heading>p{margin:12px 0 0;font-size:11px}.experience-heading>p br{display:none}.story-map{grid-template-columns:1fr;gap:0;margin-top:28px}.map-pathway{gap:8px}.node-choice{font-size:9px;padding:6px 9px}.map-node p{font-size:11px}.map-total{margin:26px auto 0;width:158px;height:158px}.story-map figcaption{margin:19px 0 23px;font-size:9px}.story-map figcaption>span{font-size:13px}.experience-steps{gap:16px;padding:20px 0}.experience-steps p{font-size:9px}.experience-steps p>span{font-size:14px;margin-right:7px}.experience-steps i{font-size:11px}.selection-progress{margin-bottom:26px}.motion-toggle{background:#ffffff08}}
@media(max-width:500px){.site-header nav{gap:8px}.motion-toggle{width:33px;height:33px;min-height:33px}.experience-section{padding:25px 12px 0}.experience-heading .eyebrow{font-size:8px;letter-spacing:.12em}.experience-heading h2{font-size:19px;letter-spacing:.02em}.experience-heading>p{font-size:10px}.node-symbol{width:60px;height:60px;margin-bottom:12px}.node-symbol>svg{width:35px;height:35px}.node-step{width:18px;height:18px;font-size:8px;box-shadow:0 0 0 3px #272338}.map-connections{top:-10px;height:105px}.map-node p{font-size:9px;margin-bottom:8px;white-space:nowrap}.map-node p strong{font-size:19px}.node-choice{font-size:8px;padding:5px 6px;min-height:36px;border-radius:9px}.map-total{margin-top:24px;width:146px;height:146px}.map-total strong{font-size:45px}.total-kicker{font-size:6px}.map-total>div>span:last-child{font-size:9px}.total-star{font-size:18px}.experience-steps{gap:10px;justify-content:space-between}.experience-steps p{font-size:9px;text-align:center}.experience-steps p>span{display:block;margin:0 0 5px;font-size:16px}.experience-steps i{font-size:10px}.story-map figcaption{font-size:8px;letter-spacing:0}.story-map figcaption>span{margin-right:8px;font-size:12px}.selection-progress>span:first-child{font-size:7px;letter-spacing:.1em}.selection-progress>span:nth-child(2){font-size:9px}.period-options input:checked+span:after{font-size:11px;top:8px;right:5px}}
html[data-motion="off"]{scroll-behavior:auto}html[data-motion="off"] *,html[data-motion="off"] *:before,html[data-motion="off"] *:after{animation:none!important;transition:none!important}html[data-motion="off"] [data-reveal]{opacity:1!important}html[data-motion="off"] .storybook{transform:rotate(-9deg)}html[data-motion="off"] .share-image-wrap:hover{transform:none}html.motion-tab-paused *,html.motion-tab-paused *:before,html.motion-tab-paused *:after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){html:not([data-motion="on"]){scroll-behavior:auto}html:not([data-motion="on"]) *,html:not([data-motion="on"]) *:before,html:not([data-motion="on"]) *:after{animation:none!important;transition:none!important}}
