/* Moonlit botanical art direction — a richer, image-led second edition. */
:root{--night:#100e1b;--cream:#f9eadb;--muted:#c5b8c7;--pink:#f3bdcb;--gold:#d4b58b}
body{background:linear-gradient(180deg,#100e1b,#15101e 44%,#10131e);background-color:#100e1b}.grain{opacity:.025}header{border-color:#f4d5bc21;background:linear-gradient(#0e10203b,transparent)}
.hero{min-height:900px;max-height:1200px;background:#110e1c;isolation:isolate}.dream-landscape{position:absolute;inset:-3%;background-image:url('assets/moon-garden.jpg');background-size:cover;background-position:50% 50%;z-index:-5;animation:dream-breathe 24s ease-in-out infinite alternate;will-change:transform}.landscape-shade{position:absolute;inset:0;z-index:-4;background:linear-gradient(90deg,#110d1ed9 0%,#110e1ca3 32%,#160f2130 62%,#160f2110 100%),linear-gradient(0deg,#100e1b 0%,transparent 28%,#100e1b15 88%,#100e1b50)}.hero:after{z-index:-1;background:linear-gradient(0deg,#100e1b,transparent 16%)}.hero .aurora{opacity:.25;mix-blend-mode:screen;z-index:-3}.hero .moon-orbit,.hero #garden,.hero .art-caption,.hero #love-art{display:none}.hero-content{margin-left:11%;margin-top:70px;margin-bottom:90px;position:relative}.hero-content:before{color:#eed1a2;top:114px}.eyebrow{color:#e4c89e;font-size:8px;letter-spacing:3px}.pretitle{color:#f0dddc;font-size:15px;letter-spacing:6px}h1{font-size:clamp(110px,11vw,166px);letter-spacing:13px;margin-bottom:0;filter:drop-shadow(0 0 30px #f4abb34d);background:linear-gradient(110deg,#e9bc8f 0%,#fff1d8 22%,#f7cbd9 48%,#fff3de 68%,#c9a57d 90%);background-size:230% 100%;padding-top:14px;line-height:1.12}.hero-script{font:47px var(--script);display:block;color:#e5b6b8;transform:rotate(-7deg);margin:-1px 0 29px 90px;line-height:1.1;opacity:.9}.hero-line{font-size:22px;line-height:1.9;letter-spacing:3px}.hero-note{color:#d7c5d0;font-size:12px;line-height:2.1}.hero-caption{color:#d3b9c3;font-size:9px}.primary{box-shadow:0 4px 30px #ed9fb72b;border-radius:1px;background:linear-gradient(100deg,#e5a8bb,#f5d8ca 48%,#dfb398);color:#402936}.side-note{color:#ead1b3ad}.hero-number{color:#d3b89a}.scroll-hint{color:#e7c9bf}.theater-entry{color:#f0d1c4;border-color:#f3d2b659}.poetry-ribbon{overflow:hidden;border-top:1px solid #e3bd931f;border-bottom:1px solid #e3bd931f;padding:20px 0;background:#16111f}.poetry-ribbon>div{width:max-content;display:flex;align-items:center;gap:70px;animation:poetry-flow 36s linear infinite}.poetry-ribbon span{font:22px var(--serif);letter-spacing:8px;color:#d2b5bd99;white-space:nowrap}.poetry-ribbon b{font:21px Georgia;color:#c7a98566}.poem{padding-top:140px;padding-bottom:140px}.poem-heading{position:relative}.poem-heading:after{content:'Only you';font:98px var(--script);color:#b7789126;display:block;margin-top:50px;transform:rotate(-12deg)}.poem-flower{display:none}.script-word{color:#deb4c3}.verses{border-color:#c79b9d55}.verses p{color:#d2c4d0}.verses em{color:#f6c9ca}.section-index{color:#d2af93}.constellation{background:radial-gradient(ellipse at 50% 70%,#53324c42,transparent 70%),linear-gradient(130deg,#1b172d,#20162c);position:relative;overflow:hidden}.constellation:before,.constellation:after{content:'';position:absolute;width:550px;height:550px;border:1px solid #d8ae9912;border-radius:50%;top:-280px;left:-150px;pointer-events:none}.constellation:after{left:auto;right:-180px;top:auto;bottom:-300px}.wish-star>span{filter:drop-shadow(0 0 20px #f2bf94);color:#f8d3a4}.wish-star.lit>span{color:#ffe2bc;filter:drop-shadow(0 0 22px #ffa0bc)}.wish-message p{color:#f3c6d1}.wish-star small{color:#cbb8c2}.section-title p{color:#c3b4c4}
.butterfly-garden{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}.butterfly{position:absolute;left:var(--bx);top:var(--by);width:var(--bs);height:var(--bs);animation:butterfly-flight var(--bd) ease-in-out infinite alternate;animation-delay:var(--delay);filter:drop-shadow(0 0 8px #ffd8a5);opacity:.75}.butterfly svg{overflow:visible;width:100%;height:100%}.butterfly .left-wing{transform-origin:32px 32px;animation:wing-flap .6s ease-in-out infinite alternate}.butterfly .right-wing{transform-origin:32px 32px;animation:wing-flap .6s ease-in-out infinite alternate-reverse}.butterfly:nth-child(even){filter:drop-shadow(0 0 9px #fab9da)}
.bloom-section{max-width:1280px;padding-top:130px;padding-bottom:140px}.bloom-layout{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:95px}.bouquet-frame{position:relative;width:100%;aspect-ratio:4/5;border-radius:48% 48% 3px 3px;isolation:isolate;box-shadow:0 0 65px #a65e8c17}.bouquet-frame img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.bouquet-frame:after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(0deg,#1c1327c9,transparent 35%);pointer-events:none}.bouquet-frame-line{position:absolute;inset:-15px;border:1px solid #d2b18647;border-radius:inherit;pointer-events:none}.bouquet-frame-line:after{content:'✧';position:absolute;top:-17px;left:calc(50% - 15px);background:#15101e;color:#d6b385;font-size:25px;width:30px;line-height:30px;text-align:center}.bouquet-word{font:77px/1.05 var(--script);position:absolute;left:-25px;bottom:90px;z-index:2;color:#f0c3cb;transform:rotate(-10deg);text-shadow:0 3px 30px #080510}.bouquet-label{position:absolute;bottom:28px;left:15%;right:15%;text-align:center;z-index:2;font-size:8px;color:#ecd0bd;letter-spacing:2px}.bloom-content .script-word{font-size:38px}.bloom-content h2{font-size:34px;line-height:1.85}.bloom-content h2 em{display:block}.bloom-lead{font-size:12px;color:#c9b8c6;letter-spacing:2px;line-height:2.2;margin:20px 0 23px}.flower-choices{display:flex;justify-content:space-between;gap:14px;margin:25px 0 20px}.flower-choice{background:none;border:0;border-bottom:1px solid #ae91a626;padding:12px 0;flex:1;color:#c2acb9;transition:all .3s}.flower-choice>span:last-child{display:block;font-size:9px;letter-spacing:1px;white-space:nowrap;margin-top:12px}.flower-choice:hover,.flower-choice[aria-pressed=true]{color:#ffdbc6;border-color:#d6a8a2}.little-flower{position:relative;width:65px;height:65px;display:block;margin:0 auto;filter:drop-shadow(0 0 10px #e9b1c230);transition:transform .5s}.little-flower>i{position:absolute;left:24px;top:5px;width:20px;height:35px;border-radius:50% 50% 45% 45%;background:radial-gradient(ellipse at 30% 0%,#ffe0df,#d99bb5 45%,#753e5f);transform-origin:10px 28px;transform:rotate(var(--a)) scale(.83);transition:transform .7s cubic-bezier(.22,.8,.32,1)}.little-flower>i:nth-child(1){--a:0deg}.little-flower>i:nth-child(2){--a:60deg}.little-flower>i:nth-child(3){--a:120deg}.little-flower>i:nth-child(4){--a:180deg}.little-flower>i:nth-child(5){--a:240deg}.little-flower>i:nth-child(6){--a:300deg}.little-flower>b{position:absolute;top:28px;left:28px;width:10px;height:10px;border-radius:50%;background:#efcf97;box-shadow:0 0 12px #eec9898c}.gold-flower>i{background:radial-gradient(ellipse at 30% 0%,#fff0d9,#dbb885 45%,#836451)}.lilac-flower>i{background:radial-gradient(ellipse at 30% 0%,#efe1ff,#b79ccf 45%,#614776)}.flower-choice[aria-pressed=true] .little-flower>i,.flower-choice:hover .little-flower>i{transform:rotate(var(--a)) scale(1.1)}.flower-choice[aria-pressed=true] .little-flower{transform:rotate(15deg);filter:drop-shadow(0 0 18px #efb6c188)}.flower-note{border-left:1px solid #d8b29455;padding:5px 0 5px 20px;margin:25px 0;min-height:113px}.flower-note>span{font-size:8px;letter-spacing:2px;color:#caa99d}.flower-note>p{font:16px/2 var(--serif);color:#f0c7ce;letter-spacing:1px;margin:10px 0 0}.postcard-button{padding:10px 0;background:none;border:0;border-bottom:1px solid #d0b08a7d;color:#e5c7ac;font-size:11px;letter-spacing:2px}.postcard-button>span{margin-left:25px;font-size:17px}.postcard-help{font-size:8px;letter-spacing:1px;color:#9c879b;display:block;margin-top:12px}.bloom-sparkles{position:absolute;inset:0;pointer-events:none;z-index:4}.bloom-sparkles>i{position:absolute;font-style:normal;color:#ffdfb6;animation:flower-release 1.8s ease-out both;font-size:18px;filter:drop-shadow(0 0 8px #f3b499)}
.letter-section{max-width:none;padding-left:max(7%,calc((100vw - 1070px)/2));padding-right:max(7%,calc((100vw - 1070px)/2));background:radial-gradient(ellipse at 70% 50%,#ac79611b,transparent 60%),linear-gradient(125deg,#19131f,#211726);border-top:1px solid #c7a9851d;border-bottom:1px solid #c7a9851d}.letter-section>.letter-layout{max-width:1070px;margin:auto}.letter-section>.section-index{max-width:1070px;margin-left:auto;margin-right:auto}.letter-intro>p{color:#c7b2c0}.letter-address{color:#b09da6}.envelope{filter:drop-shadow(0 20px 45px #0008)}.finale{padding-top:125px;padding-bottom:145px;background:linear-gradient(#120f1de8,#171120c9,#100e1b),url('assets/moon-garden.jpg') center 75%/cover}.finale .halo{background:radial-gradient(ellipse,#cf749d2b,transparent 70%);z-index:0;pointer-events:none}.finale>.reveal{position:relative;z-index:1}.finale h2{font-size:38px}.finale h2 em{font-family:var(--art);font-size:57px;letter-spacing:5px;color:#f3c5ca}.heart-line{font-size:68px;color:#ffd4cf}.finale .primary{min-width:240px}.finale:before{border-color:#d5b28e24;box-shadow:0 0 0 28px #d1a78106,0 0 0 70px #d1a78104}footer{background:#100e1b}.paper{background-color:#f4e5d3}.paper:before{content:'♡';position:absolute;top:44px;right:65px;font:40px Georgia;color:#b26b7a44}#confession-dialog{background:linear-gradient(#120e22e6,#120e22e6),url('assets/moon-garden.jpg') center/cover;border-color:#e1b6b959;box-shadow:0 0 100px #db82aa19}.confession-content h2{font-size:68px}.confession-content .script-word{color:#efc8c6}.confession-heart{filter:drop-shadow(0 0 20px #e69cbf)}
@keyframes dream-breathe{to{transform:scale(1.055) translate(-.7%,.7%)}}@keyframes butterfly-flight{0%{transform:translate(0,0) rotate(-20deg)}35%{transform:translate(26px,-34px) rotate(10deg)}70%{transform:translate(-15px,-72px) rotate(-10deg)}100%{transform:translate(35px,-105px) rotate(17deg)}}@keyframes wing-flap{from{transform:scaleX(.55)}to{transform:scaleX(1)}}@keyframes poetry-flow{to{transform:translateX(-50%)}}@keyframes flower-release{0%{opacity:0;transform:translate(0,20px) scale(.3)}20%{opacity:1}100%{opacity:0;transform:translate(var(--dx),-130px) rotate(60deg) scale(1)}}
@media(min-width:1500px){.hero-content{margin-left:15%}}@media(max-width:1050px){.bloom-layout{gap:55px}.bloom-content h2{font-size:28px}.hero-content{margin-left:8%}.hero-script{font-size:41px}.bloom-content .script-word{font-size:32px}.little-flower{transform:scale(.9)}}
@media(max-width:600px){header{padding:20px 22px;background:linear-gradient(#110e1b80,transparent);border:0}.brand{color:#f7e3cb}.hero{min-height:950px;max-height:1100px;height:110svh;align-items:flex-start}.dream-landscape{background-position:67% center;inset:-2%;animation:mobile-dream 20s ease-in-out infinite alternate}.landscape-shade{background:linear-gradient(90deg,#150c2178,#150c2122 90%),linear-gradient(0deg,#100e1b 0%,#150d2238 26%,#150c2160 40%,#150c21a6 68%,#150c210d 95%)}.hero-content{margin:205px 25px 190px;width:calc(100% - 50px)}.eyebrow{font-size:6px!important;letter-spacing:1.5px!important;margin-bottom:33px!important}.pretitle{font-size:12px;letter-spacing:3px;text-shadow:0 2px 15px #000}h1{font-size:90px;letter-spacing:6px;line-height:1.1;padding:17px 0 8px;margin:0;text-shadow:0 4px 45px #4d23416b}.hero-script{font-size:33px;margin:0 0 31px 40px;transform:rotate(-6deg);white-space:nowrap;color:#efb7c8}.hero-line{font-size:21px;line-height:1.85;letter-spacing:3px;text-shadow:0 2px 12px #140d22;margin-bottom:22px}.hero-note{font-size:11px;color:#e2cbd9;margin-bottom:26px}.hero-actions{gap:15px}.hero-actions .primary{padding:15px 24px;min-width:200px}.hero-actions .theater-entry{font-size:10px;padding:4px 0 8px}.hero-caption{font-size:8px;color:#ddbecd;letter-spacing:.4px}.side-note{font-size:6px;right:12px;top:41%;color:#efc7aa80}.scroll-hint{bottom:40px;font-size:9px;letter-spacing:3px}.butterfly{opacity:.7}.poetry-ribbon{padding:16px 0}.poetry-ribbon>div{gap:36px}.poetry-ribbon span{font-size:17px;letter-spacing:5px}.poem{padding:85px 27px 80px}.poem-heading:after{position:absolute;right:5px;bottom:-22px;font-size:63px;margin:0}.poem-heading h2{font-size:28px;line-height:1.9}.verses{margin-top:47px}.verses p{font-size:16px;line-height:2.2}.section-title .script-word{font-size:32px}.constellation{padding:75px 25px 45px}.bloom-section{padding:80px 27px 85px}.bloom-layout{display:flex;flex-direction:column;gap:64px}.bouquet-frame{width:92%;max-width:400px}.bouquet-frame-line{inset:-10px}.bouquet-word{font-size:65px;left:-19px;bottom:65px}.bouquet-label{font-size:7px;letter-spacing:1px;left:8%;right:8%;bottom:24px}.bloom-content{width:100%}.bloom-content .script-word{font-size:32px}.bloom-content h2{font-size:29px}.bloom-lead{font-size:11px}.flower-choices{gap:7px;margin:22px 0}.flower-choice>span:last-child{font-size:8px;letter-spacing:.4px}.flower-note p{font-size:16px}.flower-note{padding-left:17px}.postcard-help{font-size:8px}.little-flower{transform:none}.letter-section{padding:80px 27px 120px}.letter-intro h2{font-size:31px}.letter-intro .script-word{font-size:31px}.envelope{margin-top:75px}.finale{padding:95px 25px 100px;background-position:60% center}.finale h2{font-size:28px}.finale h2 em{font-size:42px;letter-spacing:2px;margin-top:13px}.finale p{color:#d6bdce}.finale .primary{min-width:220px}.confession-content h2{font-size:53px}.paper:before{right:55px;top:47px;font-size:29px}}
@media(max-width:360px){h1{font-size:76px;letter-spacing:4px}.hero-content{margin-top:195px}.hero-script{font-size:29px;margin-left:20px}.hero-line{font-size:19px}.hero-caption{font-size:7px}.hero{min-height:930px}.bloom-content h2{font-size:26px}.flower-note p{font-size:14px}.hero .eyebrow{font-size:5.5px!important;letter-spacing:1px!important}.finale h2{font-size:25px}.finale h2 em{font-size:38px}}
@keyframes mobile-dream{to{transform:scale(1.06) translate(-1%,1%)}}@media(prefers-reduced-motion:reduce){.dream-landscape,.butterfly,.butterfly .left-wing,.butterfly .right-wing,.poetry-ribbon>div{animation:none!important}.poetry-ribbon>div{transform:none}}

@media(max-width:600px){.dream-landscape{background-position:82% center}}@media(max-width:360px){h1{font-size:70px}}
h1{background-clip:text;-webkit-background-clip:text;color:transparent}.hero-script{font-style:normal}.hero-content{z-index:4}
