:root{color-scheme:dark;--bg:#10251f;--cream:#f6f1dc;--gold:#f5cc65;--muted:#a7b8a8;--line:#ffffff18}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--cream);font-family:'DM Sans',sans-serif}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button{transition:transform .25s,background .25s}button:hover{transform:translateY(-2px)}.ambient{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 76% 28%,#49603b26,transparent 60%);z-index:-1}.header{max-width:1320px;margin:auto;padding:32px 54px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-family:'Playfair Display',serif;font-size:29px;text-decoration:none;color:var(--cream);display:flex;align-items:center;gap:9px}.brand-icon,.brand-dot{color:var(--gold)}.brand-icon{font-size:36px}.header-note{font-size:9px;letter-spacing:2.7px;color:var(--muted)}.quiet-button{border:1px solid #ffffff23;border-radius:100px;background:transparent;color:var(--cream);padding:11px 18px;font-size:12px}.quiet-button[aria-pressed=true]{color:var(--gold);border-color:var(--gold)}main{max-width:1320px;margin:auto}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:700px;padding:40px 54px 30px;gap:12px}.hero-copy{position:relative;z-index:1;padding:30px 0}.eyebrow{font-size:10px;letter-spacing:2.7px;font-weight:600;color:var(--gold);line-height:1.8}.eyebrow span{display:inline-block;width:6px;height:6px;background:var(--gold);border-radius:50%;margin-right:8px}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-2.5px}h1{font-size:clamp(48px,5.6vw,77px);line-height:1.1;margin:24px 0}em{font-weight:400;color:var(--gold)}.intro{max-width:370px;color:var(--muted);font-size:14px;line-height:1.9;margin-bottom:30px}.primary-button{border:0;border-radius:8px;padding:17px 23px;background:var(--gold);color:#263526;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:30px;box-shadow:0 8px 30px #e8b84c12}.primary-button:hover{background:#ffdd83}.primary-button span{font-size:19px}.text-button{display:block;padding:16px 0;background:none;border:0;color:#b8c4af;font-size:12px}.text-button span{margin-left:12px;color:var(--gold)}.little-note{display:flex;align-items:center;gap:15px;margin-top:32px;font-size:11px;line-height:1.8;color:#8fa28f}.little-note strong{font-weight:400;color:#c9d0bd}.hand-heart{font-size:37px;color:var(--gold);font-family:Georgia}.garden-panel{position:relative;min-width:0;height:640px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.garden-halo{position:absolute;width:95%;aspect-ratio:1;border-radius:50%;top:30px;background:radial-gradient(ellipse,#d9bb4324 0,#49663b21 40%,transparent 70%);filter:blur(12px)}.garden{position:absolute;inset:0 0 65px;filter:drop-shadow(0 22px 20px #0005)}.garden svg{width:100%;height:100%;overflow:visible}.vertical-caption{position:absolute;right:-18px;top:150px;writing-mode:vertical-rl;letter-spacing:3px;font-size:8px;color:#82937c}.garden-label{position:relative;width:80%;display:flex;align-items:center;gap:15px;padding:17px 20px;border:1px solid #dcc87430;border-radius:12px;background:linear-gradient(120deg,#354234e8,#162e25e8);backdrop-filter:blur(16px);box-shadow:0 15px 50px #0002}.garden-label small{font-size:8px;letter-spacing:2px;color:#b9c5ab}.garden-label p{font-family:'Playfair Display',serif;margin:5px 0 0;font-size:23px;overflow-wrap:anywhere}.tiny-flower{color:var(--gold);font-size:38px}.label-heart{margin-left:auto;color:var(--gold);font-size:28px}.bloom-button{position:relative;background:none;border:0;color:#b5bd9d;font-size:10px;letter-spacing:.8px;padding:21px 0}.quote-section{margin:25px 54px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;padding:29px 15px 34px}.quote-star{color:var(--gold);font-size:23px}.quote-section p{max-width:670px;margin:17px auto 22px;font:italic 23px/1.6 'Playfair Display',Georgia,serif;color:#d8ddc7}.quote-section button{font-size:10px;border:0;color:#a9b896}footer{padding:25px 54px 32px;display:flex;justify-content:space-between;color:#819780;font-size:10px}footer b{color:var(--gold);font-size:16px;margin-left:9px}.flower-stem{transform-origin:280px 535px;animation:sway 7s ease-in-out infinite alternate}.flower-stem:nth-of-type(2n){animation-delay:-3s}.firefly{animation:twinkle 4s ease-in-out infinite;opacity:.6}.burst{animation:burst 1.6s ease-out forwards}.garden.celebrate{filter:drop-shadow(0 0 25px #ecc55770)}dialog{width:min(520px,calc(100% - 30px));max-height:90dvh;overflow:auto;border:1px solid #d6c57e44;border-radius:22px;padding:38px;background:#183228;color:var(--cream);box-shadow:0 40px 100px #0007}dialog::backdrop{background:#06120ed9;backdrop-filter:blur(9px)}dialog[open]{animation:appear .35s ease}h2{font-size:37px;line-height:1.2;margin:15px 0 26px;letter-spacing:-1px}.close{position:absolute;right:17px;top:12px;font-size:28px;background:none;border:0;color:#bac3ac}label{display:block;font-size:12px;color:#cbd5bb;margin:17px 0 8px}input,textarea{width:100%;border:1px solid #a6b98a40;border-radius:8px;background:#0d241c;padding:13px;color:var(--cream);outline:none;font-size:14px}input:focus,textarea:focus{border-color:var(--gold)}textarea{resize:vertical}form>.primary-button{width:100%;margin-top:10px}.letter{text-align:center;background:linear-gradient(145deg,#203c2f,#10281e)}.letter-flower{font-size:64px;color:var(--gold)}.letter h2{overflow-wrap:anywhere}.letter-message{white-space:pre-wrap;overflow-wrap:anywhere;color:#d4ddc6;font:18px/1.85 'Playfair Display',Georgia,serif}.signature{font-size:12px;color:#91a58b;line-height:2;margin:28px 0}.signature span{color:var(--gold);font:italic 24px 'Playfair Display',Georgia,serif;overflow-wrap:anywhere}.letter-actions{display:flex;flex-direction:column;align-items:center}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#f5cc65;color:#163126;border-radius:9px;padding:14px 20px;font-size:13px;z-index:20;box-shadow:0 10px 35px #0004;opacity:0;pointer-events:none;transition:opacity .3s;max-width:90%;text-align:center}.toast.visible{opacity:1}@keyframes sway{from{transform:rotate(-1.6deg)}to{transform:rotate(1.6deg)}}@keyframes twinkle{50%{opacity:.1;transform:translateY(-8px)}}@keyframes burst{to{transform:translate(var(--dx),var(--dy));opacity:0}}@keyframes appear{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1500px){.hero{min-height:760px}}@media(max-width:760px){.header{padding:20px 24px}.header-note{display:none}.hero{grid-template-columns:1fr;padding:25px 26px 0;gap:0}.hero-copy{text-align:center;padding:15px 0}.eyebrow{font-size:9px}h1{font-size:53px;letter-spacing:-2px}.intro{margin:20px auto 25px;max-width:340px}.text-button{margin:auto}.little-note{display:none}.garden-panel{height:530px;max-width:500px;width:100%;margin:-10px auto 0}.vertical-caption{right:0;font-size:7px}.garden-label{width:87%}.garden-label p{font-size:21px}.quote-section{margin:20px 24px 0}.quote-section p{font-size:20px}footer{padding:24px;gap:12px;text-align:center;flex-direction:column}dialog{padding:32px 23px}h2{font-size:32px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.burst{display:none}}
