@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;1,400&family=DM+Sans:wght@400;500;600&display=swap');:root{--bg:#100f19;--cream:#f4e9dc;--gold:#d5a978;--pink:#d4a9bd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 80% 10%,#40253e,transparent 37%),radial-gradient(ellipse at 10% 65%,#252038,transparent 45%),var(--bg);color:var(--cream);font-family:'DM Sans',sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.stars{position:absolute;inset:0 0 auto;height:1000px;pointer-events:none;background-image:radial-gradient(1px 1px at 12% 21%,#fff 90%,transparent),radial-gradient(2px 2px at 70% 18%,#e7c8c3 90%,transparent),radial-gradient(1px 1px at 84% 47%,#fff 90%,transparent);background-size:280px 300px;opacity:.38}header{position:absolute;z-index:3;width:100%;display:flex;align-items:center;justify-content:space-between;padding:28px 6vw;font-size:10px;letter-spacing:.2em;color:#cbb8c4}.brand{font:32px 'Cormorant Garamond',serif;letter-spacing:0;color:white}.brand span{font-size:15px;color:var(--gold);margin:0 7px}header>a:last-child{border-bottom:1px solid #ad8d8c;padding-bottom:8px}.hero{height:95svh;min-height:710px;max-height:1000px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;position:relative;padding:120px 20px 130px}.hero:before{content:'';position:absolute;border:1px solid #9c76813b;border-radius:50%;width:min(65vw,590px);height:min(65vw,590px);box-shadow:0 0 0 75px #8f6e7910,0 0 0 150px #8f6e7908;pointer-events:none}.eyebrow{font-size:10px;letter-spacing:.3em;color:var(--gold);font-weight:600}.hero h1{font:400 clamp(77px,10vw,158px)/.83 'Cormorant Garamond',serif;letter-spacing:-.055em;margin:42px 0 25px;z-index:1}.hero h1 em{color:var(--pink)}.hero h1 span{color:var(--gold)}.hero p{font-size:16px;line-height:1.9;color:#d1bfc9}.love{margin-top:23px;border-top:1px solid #96757b66;padding-top:23px;font:italic 25px 'Cormorant Garamond',serif}.love b{color:#cc8aa2;margin:0 5px}.down{position:absolute;bottom:40px;font-size:10px;letter-spacing:.2em;line-height:2.3;color:#c9a9a8}.intro{text-align:center;padding:100px 20px 90px}.intro h2{font:400 clamp(50px,6vw,91px)/1 'Cormorant Garamond',serif;margin:24px 0;letter-spacing:-.04em}.intro h2 i{color:var(--pink)}.intro p{color:#b9aab7;font-size:14px;line-height:1.9}.trail{max-width:1030px;margin:auto;padding:0 24px 160px;display:grid;grid-template-columns:1fr 1fr;gap:45px clamp(50px,12vw,170px);position:relative}.trail:before{content:'';position:absolute;left:50%;height:90%;border-left:1px dashed #b28c7c44}.stone{position:relative;text-align:left;cursor:pointer;border:1px solid #a7858b45;border-radius:150px 150px 18px 18px;background:linear-gradient(140deg,#38293b,#17141f);padding:14px 14px 22px;color:var(--cream);box-shadow:0 24px 60px #0005;transition:transform .4s,border-color .4s}.stone:nth-child(even){transform:translateY(110px)}.stone:hover,.stone:focus-visible{transform:translateY(-10px) rotate(-1deg);border-color:var(--gold)}.stone:nth-child(even):hover{transform:translateY(100px) rotate(1deg)}.art{display:block;height:clamp(190px,26vw,325px);border-radius:140px 140px 8px 8px;overflow:hidden;background:#201b27}.art img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.stone:hover img{transform:scale(1.06)}.meta{display:block;padding:17px 8px 0}.meta strong{font:30px 'Cormorant Garamond',serif;display:block}.meta small{font-size:11px;color:#b9a9b7;display:block;margin:5px 0 15px}.meta b{font-size:10px;letter-spacing:.17em;color:var(--gold)}.ending{text-align:center;padding:150px 20px 240px;background:radial-gradient(ellipse at 50% 50%,#42283b66,transparent 60%)}.ending>span{color:var(--gold);font-size:28px}.ending h2{font:italic clamp(50px,6vw,83px)/1.1 'Cormorant Garamond',serif;margin:25px 0}.ending p{font-size:13px;color:#b9a9b7}.cat-lane{position:fixed;bottom:0;left:0;width:100%;height:170px;overflow:hidden;pointer-events:none;z-index:5}.cat{position:absolute;bottom:2px;width:clamp(190px,23vw,325px);animation:walk 29s linear infinite;filter:drop-shadow(0 8px 8px #0008)}.cat img{display:block;width:100%;animation:bob 1.2s ease-in-out infinite}@keyframes walk{0%{left:-350px;transform:scaleX(-1)}46%{left:calc(100% + 30px);transform:scaleX(-1)}50%{left:calc(100% + 30px);transform:scaleX(1)}96%{left:-350px;transform:scaleX(1)}100%{left:-350px;transform:scaleX(-1)}}@keyframes bob{50%{transform:translateY(-6px)}}footer{display:flex;justify-content:space-between;gap:20px;padding:35px 6vw 160px;border-top:1px solid #ffffff1a;font-size:11px;color:#ad98a5}dialog{border:1px solid #9d768b66;border-radius:12px;background:#16121f;color:var(--cream);width:min(95vw,1050px);max-width:1050px;max-height:94dvh;text-align:center;padding:22px 65px;box-shadow:0 0 0 100vmax #0009}dialog::backdrop{background:#05030bdc;backdrop-filter:blur(12px)}dialog img{max-width:100%;max-height:70dvh;object-fit:contain}dialog h3{font:34px 'Cormorant Garamond',serif;margin:12px 0 2px}dialog p{font-size:12px;color:#b9a9b7}dialog button{position:absolute;border:0;border-radius:50%;width:40px;height:40px;background:#423044;color:white;cursor:pointer;font-size:29px}.close{right:10px;top:10px}.prev{left:10px;top:45%}.next{right:10px;top:45%}@media(max-width:680px){header{padding:23px}header span{display:none}.hero{min-height:660px}.hero h1{font-size:clamp(65px,13vw,90px)}.hero p{font-size:14px}.trail{grid-template-columns:1fr;max-width:440px;gap:32px}.trail:before{left:12px}.stone:nth-child(even){transform:none}.stone:nth-child(even):hover{transform:translateY(-8px)}.art{height:270px}.intro{padding-top:65px}.cat-lane{height:110px}.cat{width:190px}footer{padding-bottom:115px}dialog{padding:45px 20px 20px}dialog img{max-height:65dvh}dialog .prev,dialog .next{top:auto;bottom:12px}dialog p{padding-bottom:30px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.cat{left:10px!important;transform:none!important}}
/* Enchanted edition: quiet ambient light and a discoverable personal note. */
.fireflies{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:2;isolation:isolate}
.firefly{position:absolute;width:var(--size,4px);height:var(--size,4px);border-radius:50%;background:var(--light,#e9bb82);box-shadow:0 0 9px 3px var(--glow,#cfa47855);opacity:0;animation:firefly-drift var(--duration,17s) ease-in-out infinite;animation-delay:var(--delay,0s);will-change:transform,opacity}
@keyframes firefly-drift{0%,100%{opacity:0;transform:translate3d(0,15px,0)}20%{opacity:.6}50%{opacity:.9;transform:translate3d(var(--dx,20px),var(--dy,-45px),0)}80%{opacity:.4}}
.secret-moon{position:absolute;z-index:6;top:75px;right:6vw;background:transparent;border:1px solid #d5a97866;color:#e7c8ad;border-radius:50%;width:44px;height:44px;cursor:pointer;font-size:27px;line-height:1;box-shadow:0 0 22px #d5a97822;transition:box-shadow .3s,transform .3s}
.secret-moon:hover,.secret-moon:focus-visible{box-shadow:0 0 27px #d5a97877;transform:rotate(-12deg)}
.moon-message{width:min(92vw,560px);max-width:560px;max-height:90dvh;overflow:auto;padding:56px 40px 45px;border:1px solid #d5a97877;border-radius:22px;background:radial-gradient(ellipse at 50% 0%,#4b304e,#181320 75%);color:#f4e9dc;text-align:center;box-shadow:0 20px 80px #000a}
.moon-message::backdrop{background:#090714d9;backdrop-filter:blur(9px)}
.moon-ornament{color:#e5b780;font-size:24px;letter-spacing:.35em}
.moon-message h2{font:italic 62px/1 'Cormorant Garamond',serif;margin:25px 0}
.moon-message p{font:22px/1.5 'Cormorant Garamond',serif;color:#ead9e3;margin:15px auto;max-width:410px}
.moon-message .moon-signoff{margin-top:30px;color:#e8b8ca}.moon-signoff strong{font-weight:400;color:#f5d5ab}
.moon-message .moon-close{position:absolute;top:13px;right:13px;width:38px;height:38px;border:1px solid #ffffff35;border-radius:50%;background:#ffffff10;color:white;font:28px/1 sans-serif;cursor:pointer}
body.moonlit .firefly{filter:brightness(1.8)}body.moonlit .cat img{animation-play-state:paused}body.moonlit .cat{animation-play-state:paused}
@media(max-width:680px){.secret-moon{top:80px;right:23px;width:38px;height:38px;font-size:24px}.moon-message{padding:52px 24px 34px}.moon-message h2{font-size:52px}.moon-message p{font-size:21px}}
@media(prefers-reduced-motion:reduce){.fireflies{display:none}.secret-moon{transition:none}}
