*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:#efe8da;color:#2b2723;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-family:Cormorant Garamond,Georgia,serif}#root{min-height:100vh}a{color:#7a5e34;text-decoration:none;transition:color .4s ease}a:hover{color:#b08a4a}@keyframes lightsweep{0%{transform:translate(-60%)}to{transform:translate(160%)}}@keyframes plateIn{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes veilIn{0%{opacity:0}to{opacity:1}}@keyframes stageWarm{0%{opacity:0}to{opacity:1}}@keyframes studioReveal{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes welcomeVeil{0%{opacity:1}78%{opacity:1}to{opacity:0}}@keyframes welcomeText{0%{opacity:0}18%{opacity:1}70%{opacity:1}to{opacity:0}}@keyframes softFade{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes birdArrive{0%{transform:translate(58vw,-42vh) scale(.65);opacity:0}12%{opacity:1}78%{transform:translate(7vw,-3vh) scale(.94)}to{transform:translate(0) scale(1);opacity:1}}@keyframes birdWing{0%,to{transform:rotate(2deg)}50%{transform:rotate(-46deg)}}@keyframes birdSettle{0%,92%,to{transform:rotate(0)}96%{transform:rotate(-7deg)}}@keyframes birdFlap{0%,to{transform:scaleY(1)}50%{transform:scaleY(.5)}}@keyframes doorCrack{0%{transform:scaleX(1)}to{transform:scaleX(.88)}}@keyframes riseFade{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes glowPulse{0%,to{opacity:.5}50%{opacity:.85}}@keyframes sceneIn{0%{opacity:0;transform:translateY(20px) scale(.99);filter:blur(6px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes ambientDrift{0%{transform:translate(-8%,-4%)}to{transform:translate(10%,6%)}}@keyframes hint{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:.7;transform:translateY(4px)}}@keyframes doorSwing{0%{transform:rotateY(0)}to{transform:rotateY(-82deg)}}@keyframes bloom{0%{opacity:0;transform:scale(.2)}45%{opacity:1}to{opacity:1;transform:scale(3.4)}}@keyframes handleGlow{0%,to{box-shadow:0 0 #b08a4a00}50%{box-shadow:0 0 18px 2px #b08a4a8c}}@keyframes overtureOut{0%{opacity:1}to{opacity:0}}@keyframes focusIn{0%{opacity:0;filter:blur(16px);transform:scale(1.08)}to{opacity:1;filter:blur(0);transform:scale(1)}}@keyframes contentFocus{0%{opacity:0;filter:blur(7px);transform:translateY(16px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}@keyframes slowZoom{0%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes roomBreath{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.02);filter:brightness(1.035)}}@keyframes oakSwing{0%{transform:rotateY(0);opacity:1}82%{opacity:1}to{transform:rotateY(-110deg);opacity:.85}}@keyframes keyShimmer{0%,to{opacity:.7}50%{opacity:1}}@keyframes leafDrift{0%{transform:translate(0)}to{transform:translate(20px,12px)}}@keyframes keyRise{0%{transform:rotate(-5deg) translateY(0);opacity:1}12%{transform:rotate(-3deg) translateY(-1vh)}30%{transform:rotate(0) translateY(-3vh)}to{transform:rotate(0) translateY(-60vh) scale(1.04);opacity:.8}}@keyframes glowGrow{0%{opacity:0}to{opacity:1}}@keyframes sheen{0%,78%{transform:translateY(130%);opacity:0}86%{opacity:.9}to{transform:translateY(-130%);opacity:0}}@keyframes keyCatch{0%,80%,to{filter:brightness(1)}90%{filter:brightness(1.16) saturate(1.06)}}@keyframes keyGlint{0%,to{filter:brightness(1) drop-shadow(0 10px 8px rgba(80,58,26,.28))}48%{filter:brightness(1.28) saturate(1.08) drop-shadow(0 10px 10px rgba(80,58,26,.3))}}@keyframes paperBreath{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.008)}}@keyframes inkDraw{to{stroke-dashoffset:0}}@keyframes driftUp{0%{opacity:0;transform:translate(0) scale(1)}14%{opacity:1}to{opacity:0;transform:translate(var(--dx,0),-46vh) scale(.4)}}@keyframes doorFadeIn{0%{opacity:0}to{opacity:1}}@keyframes leafOpen{0%{transform:rotateY(0)}to{transform:rotateY(-84deg)}}@keyframes lightPour{0%{opacity:0}to{opacity:1}}@keyframes letterLife{0%{opacity:0;filter:blur(9px);transform:translateY(16px)}13%{opacity:1;filter:blur(0);transform:translateY(0)}60%{opacity:1;filter:blur(0);transform:translate(0) rotate(0) scale(1)}to{opacity:0;filter:blur(7px);transform:translate(var(--lx,4px),-72px) rotate(var(--lr,10deg)) scale(.6)}}@keyframes cueBreath{0%,to{opacity:.45}50%{opacity:1}}@keyframes keyBreath{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes crackBreath{0%,to{opacity:.78;transform:translate(-50%) scaleX(1)}50%{opacity:1;transform:translate(-50%) scaleX(1.75)}}@keyframes crackHaloBreath{0%,to{opacity:.6}50%{opacity:.85}}@keyframes crackFlicker{0%{opacity:.5}24%{opacity:.64}46%{opacity:.55}68%{opacity:.68}84%{opacity:.58}to{opacity:.5}}@keyframes blackReveal{0%,15%{opacity:1}to{opacity:0}}@keyframes doorwayReveal{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUpSoft{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes blueprintUnfold{0%{opacity:0;transform:scaleY(.05) scaleX(.92);filter:blur(3px)}45%{opacity:1}to{opacity:1;transform:scaleY(1) scaleX(1);filter:blur(0)}}@keyframes walkForward{0%{transform:scale(1) translateY(0)}to{transform:scale(1.17) translateY(2.6%)}}@keyframes handleSheen{0%{opacity:0;transform:translate(-50%,-130%)}22%{opacity:.85}60%{opacity:.85}to{opacity:0;transform:translate(-50%,130%)}}@keyframes handleRest{0%,to{opacity:.16;transform:translate(-50%,-28%)}50%{opacity:.4;transform:translate(-50%,18%)}}@keyframes mote{0%{opacity:0;transform:translate(0)}18%{opacity:var(--op,.22)}50%{transform:translate(calc(var(--sx,6px)*.6),-17%)}82%{opacity:var(--op,.22)}to{opacity:0;transform:translate(var(--sx,6px),-37%)}}@keyframes sunShift{0%{transform:translate(0) scale(1);opacity:.6}to{transform:translate(3.5%,2.6%) scale(1.045);opacity:1}}@keyframes lightWander{0%{transform:translate(0) scale(1)}50%{transform:translate(4.5%,3%) scale(1.06)}to{transform:translate(-3%,5%) scale(1.03)}}@keyframes steamRise{0%{opacity:0;transform:translate(-50%,10%) scaleX(.8)}22%{opacity:.7}55%{opacity:.5;transform:translate(-50%,-70%) scaleX(1.5)}to{opacity:0;transform:translate(-50%,-150%) scaleX(2.4)}}@keyframes drapeBreathe{0%,to{transform:translate(0) skew(0) scaleX(1)}38%{transform:translate(2.2%) skew(1.1deg) scaleX(1.03)}70%{transform:translate(-1%) skew(-.5deg) scaleX(.99)}}@keyframes pageCornerLift{0%,to{transform:rotate(0);box-shadow:none}46%{transform:rotate(-.5deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
