:root{color-scheme:dark;--bg:#100d11;--text:#eee4df;--muted:#a99b9f;--rose:#d3a9aa;--line:rgba(221,193,197,.17);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid var(--rose);outline-offset:6px}[hidden]{display:none!important}::selection{background:#78515d;color:#fff}.atmosphere{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 60% 38%,#2b1b27 0,transparent 65%),#100d11}.photos{position:absolute;inset:-4%;opacity:.29;transition:opacity 2s}.floating-photo{position:absolute;width:clamp(145px,20vw,310px);aspect-ratio:3/4;object-fit:cover;border-radius:3px;filter:saturate(.45);animation:drift var(--duration,38s) ease-in-out infinite alternate;animation-delay:var(--delay,0s);transform:rotate(var(--rotation,0deg));box-shadow:0 0 60px #100d11}.floating-photo:nth-child(1){left:4%;top:9%}.floating-photo:nth-child(2){right:5%;top:-13%;width:24vw}.floating-photo:nth-child(3){right:-6%;top:47%}.floating-photo:nth-child(4){left:-5%;top:64%}.floating-photo:nth-child(5){left:33%;top:76%;width:20vw}.floating-photo:nth-child(6){left:44%;top:-25%;width:17vw}.veil{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 44%,rgba(16,13,17,.78) 0,rgba(16,13,17,.35) 54%,rgba(16,13,17,.67) 100%),linear-gradient(0deg,#100d1166,transparent 40%);transition:background 2s}.masthead{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:35px 5%;padding-top:max(30px,env(safe-area-inset-top));color:var(--muted)}.monogram{font:32px var(--serif);color:var(--text)}.monogram span{font-size:15px;margin-left:4px;color:var(--rose)}.chapter{font-size:10px;letter-spacing:.24em}.header-heart{font-size:21px;color:var(--rose)}.hero{min-height:100svh;position:relative;display:grid;place-items:center;text-align:center;padding:110px 24px 130px}.hero-content{animation:arrive 1.8s ease both}.eyebrow{font-size:11px;font-weight:500;letter-spacing:.27em;color:var(--rose);margin:0 0 30px}.hero h1{font:400 clamp(68px,8vw,118px)/1.12 var(--serif);letter-spacing:-.045em;margin:0 0 26px}em{font-weight:400;color:var(--rose)}.hero-note{font:400 clamp(24px,2.1vw,31px)/1.5 var(--serif);color:#c4b6b6;margin:0}.little-star{display:block;margin-top:32px;font-size:28px;color:var(--rose);opacity:.75}.scroll-cue{position:absolute;bottom:max(27px,env(safe-area-inset-bottom));display:flex;align-items:center;flex-direction:column;gap:15px;font-size:11px;letter-spacing:.09em;color:var(--muted);padding:12px}.scroll-line{height:38px;width:1px;background:linear-gradient(var(--rose),transparent);animation:breathe 3s ease-in-out infinite}.reading-progress{position:fixed;left:0;bottom:0;width:100%;height:2px;z-index:20;background:#ffffff03}.reading-progress span{display:block;height:100%;background:#b88696;transform-origin:left;transform:scaleX(0)}.story{position:relative}.story-stage{height:100svh;position:sticky;top:0;display:grid;place-items:center;padding:80px 24px}.story-slide{grid-area:1/1;max-width:760px;text-align:center;font:400 clamp(27px,3vw,43px)/1.38 var(--serif);white-space:pre-line;will-change:transform,opacity;opacity:0;transform:translateY(24px);pointer-events:none}.story-slide.long{font-size:clamp(23px,2.5vw,35px)}.story-slide.active{pointer-events:auto}.story-slide p{margin:0}.story-slide blockquote{margin:0;font-style:italic}.story-slide cite{display:block;font:12px var(--sans);font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--rose);margin-top:27px}.slide-count{position:absolute;bottom:35px;color:#a99b9f99;font-size:11px;letter-spacing:.2em}.choice{min-height:85svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:110px 24px}.choice h2,dialog h2,.gifts h2{font:400 clamp(44px,5vw,68px)/1.1 var(--serif);letter-spacing:-.025em;margin:0 0 25px}.choice>p{max-width:470px;font:25px/1.45 var(--serif);color:var(--muted)}.actions{display:flex;gap:14px;justify-content:center;margin-top:30px}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;min-height:54px;padding:16px 27px;border-radius:3px;border:1px solid var(--line);font-size:13px;font-weight:500;transition:background .25s,transform .25s;color:var(--text);background:transparent}.button:hover{transform:translateY(-2px);background:#ffffff0b}.button.primary{background:#d7b7b3;border-color:#d7b7b3;color:#241a22}.button.primary:hover{background:#ead0c9}.button.secondary{background:#22192199}dialog{width:min(540px,calc(100% - 36px));padding:55px 38px 38px;border:1px solid #65505a;border-radius:8px;background:#1b141c;color:var(--text);box-shadow:0 35px 150px #0009}dialog::backdrop{background:#080609c9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}dialog[open]{animation:arrive .4s ease}dialog h2{font-size:48px;margin-top:23px}dialog p{font-size:15px;line-height:1.9;color:#c4b5bc}.dialog-close{position:absolute;right:12px;top:9px;width:44px;height:44px;border:0;background:none;font-size:29px;color:var(--muted)}body.personal-mode .photos{opacity:.13}body.personal-mode .atmosphere{background:radial-gradient(ellipse at 50% 60%,#28151f,#0b090e 75%)}.sparks{position:absolute;inset:0;opacity:0;transition:opacity 2s}.personal-mode .sparks{opacity:1}.spark{position:absolute;bottom:-15px;width:2px;height:2px;background:#efd0aa;border-radius:50%;box-shadow:0 0 8px 2px #da9d7755;animation:sparkle var(--speed) linear infinite;animation-delay:var(--delay)}
@keyframes drift{0%{transform:translate3d(-12px,8px,0) rotate(var(--rotation))}50%{transform:translate3d(16px,-16px,0) rotate(calc(var(--rotation) + 3deg))}100%{transform:translate3d(-8px,-35px,0) rotate(calc(var(--rotation) - 2deg))}}@keyframes arrive{from{opacity:0;transform:translateY(20px);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes breathe{50%{opacity:.35;transform:scaleY(.8)}}@keyframes sparkle{0%{transform:translate3d(0,0,0);opacity:0}15%,70%{opacity:.65}100%{transform:translate3d(65px,-110vh,0);opacity:0}}
@media(max-width:600px){.masthead{padding:23px 23px}.chapter{font-size:9px;letter-spacing:.16em}.hero h1{font-size:70px;max-width:330px;line-height:1.04;margin-bottom:30px}.hero h1 em{display:block}.hero .eyebrow{margin-bottom:28px}.hero-note{font-size:26px}.floating-photo{width:43vw}.floating-photo:nth-child(1){left:-12%;top:16%}.floating-photo:nth-child(2){width:46vw;right:-13%;top:4%}.floating-photo:nth-child(3){right:-15%;top:61%}.floating-photo:nth-child(4){left:-18%;top:75%}.floating-photo:nth-child(5),.floating-photo:nth-child(6){display:none}.story-stage{padding:75px 27px}.story-slide{font-size:29px;line-height:1.42}.story-slide.long{font-size:24px;line-height:1.4}.actions{width:100%;max-width:360px;flex-direction:column;gap:12px}.button{width:100%;min-height:56px;font-size:14px}dialog{padding:49px 25px 28px}dialog h2{font-size:42px}dialog .actions{max-width:none}dialog .eyebrow{font-size:10px}.choice{min-height:90svh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.story-slide{will-change:auto}}
.simba-name{color:#d9a15f}
