:root{color-scheme:dark;--green:#102c23;--cream:#fff5d6;--gold:#f1ca62;--muted:#bcc8b4}*{box-sizing:border-box}body{margin:0;background:var(--green);color:var(--cream);font-family:Arial,sans-serif;font-size:16px;background-image:radial-gradient(ellipse at 68% 35%,#244c343f,transparent 60%)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:6px}header{max-width:1440px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:30px 5%;position:relative;z-index:2;border-bottom:1px solid #f1ca6222}.brand{color:var(--cream);font:italic 32px Georgia,serif;text-decoration:none}.brand span{color:var(--gold);margin-left:10px}.occasion{font-size:12px;letter-spacing:2px;color:var(--muted)}.letter-link{border:0;background:none;color:var(--cream);font-size:14px;padding:12px 0}.letter-link span{margin-left:12px;color:var(--gold)}main{max-width:1380px;margin:auto}.garden{display:grid;grid-template-columns:1fr 1.18fr;grid-template-rows:auto auto;padding:45px 5% 28px;column-gap:4%}.intro{align-self:center;padding-bottom:15px}.eyebrow{font-size:12px;letter-spacing:2.2px;line-height:1.6;color:var(--gold);font-weight:500}h1{font:clamp(44px,5.1vw,75px)/1.09 Georgia,serif;letter-spacing:-2px;margin:25px 0}h1 em{color:var(--gold);font-weight:normal}.dedication{font-size:17px;line-height:1.9;color:var(--muted)}.love-note{display:flex;gap:16px;align-items:center;margin-top:35px;font-size:14px;line-height:1.6;color:var(--muted)}.love-note>span:first-child{font-size:36px;color:var(--gold)}.bouquet-area{grid-column:2;grid-row:1/3;align-self:center;min-width:0}.image-frame{position:relative;max-width:550px;margin:auto;aspect-ratio:1/1;border-radius:16px;overflow:hidden;border:0;background:#102c23}.image-frame>img{width:100%;height:100%;object-fit:contain;display:block;transition:opacity .2s,filter .2s}.seal{position:absolute;right:5%;bottom:6%;display:grid;place-content:center;text-align:center;border:1px solid #e3c55f75;border-radius:50%;width:95px;height:95px;background:#173527d9;transform:rotate(12deg);font-size:12px;letter-spacing:1px;line-height:1.5;color:var(--gold)}.seal i{font:italic 26px Georgia,serif}.flower-caption{text-align:center;padding:22px 8px 0;min-height:130px}.flower-caption>span{font-size:12px;color:var(--gold);letter-spacing:3px}.flower-caption h2{font:30px Georgia,serif;margin:10px 0}.flower-caption p{color:var(--muted);font-size:15px;line-height:1.6;margin:0}.picker{align-self:end;padding-top:22px}.picker>.eyebrow{font-size:11px;letter-spacing:1.5px}.choices{display:flex;gap:12px;margin-top:17px}.choice{border:1px solid #eee0b72a;background:#ffffff04;color:var(--muted);border-radius:60px 60px 12px 12px;width:105px;padding:5px 5px 10px;transition:border-color .2s,transform .2s,background .2s;font-size:13px}.choice img{width:100%;height:74px;object-fit:cover;border-radius:50px 50px 8px 8px;display:block;margin-bottom:8px}.choice:hover{transform:translateY(-4px);border-color:var(--gold)}.choice.active{border-color:var(--gold);color:var(--gold);background:#f1ca6212}.hint{font-size:12px;color:var(--muted);margin-top:15px}footer{max-width:1242px;margin:5px auto 0;border-top:1px solid #f1ca6222;padding:22px 0 28px;display:flex;justify-content:space-between;color:var(--muted);font-size:13px}footer b{color:var(--gold);padding-left:8px}dialog{border:1px solid #d5bc77;border-radius:8px;background:#fff8e7;color:#244332;padding:52px;max-width:530px;width:calc(100% - 32px);max-height:90dvh;box-shadow:0 25px 100px #0007}dialog::backdrop{background:#05180edf;backdrop-filter:blur(8px)}dialog .eyebrow{color:#7b6028;font-size:11px}dialog h2{font:italic 44px Georgia,serif;margin:26px 0}dialog p{line-height:1.85;font-size:16px}.close{position:absolute;right:14px;top:10px;border:0;background:none;color:#244332;font-size:30px;width:44px;height:44px}.signature{font:italic 24px Georgia,serif!important}.signature span{color:#997414}.return{border:1px solid #244332;background:#244332;color:#fff8e7;border-radius:50px;padding:13px 23px;margin-top:12px}.sparkles{position:fixed;inset:0;pointer-events:none;overflow:hidden}.sparkles i{position:absolute;bottom:-10px;background:#f6d876;border-radius:50%;width:3px;height:3px;opacity:0;animation:floatUp var(--duration) linear infinite;animation-delay:var(--delay);left:var(--left)}@keyframes floatUp{0%{transform:translateY(0);opacity:0}20%{opacity:.4}80%{opacity:.3}100%{transform:translate(35px,-105vh);opacity:0}}@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}@media(min-width:1500px){.garden{padding-top:70px}}@media(max-width:800px){header{padding:18px 6%}.brand{font-size:28px}.occasion{display:none}.garden{grid-template-columns:1fr;padding:28px 6%}.intro{text-align:center;padding:0}.intro .eyebrow{font-size:10px;letter-spacing:1.7px}h1{font-size:48px;margin:20px 0;line-height:1.06}h1 br:nth-child(2){display:none}.dedication{font-size:15px;line-height:1.65}.dedication br{display:none}.love-note{display:none}.bouquet-area{grid-column:1;grid-row:2;margin-top:18px}.image-frame{max-width:430px}.flower-caption{padding-top:18px;min-height:110px}.flower-caption h2{font-size:27px}.picker{grid-row:3;text-align:center;padding-top:12px}.choices{justify-content:center}.choice{width:96px}.hint{font-size:12px}footer{margin:0 6%;text-align:center;display:block;font-size:12px;line-height:1.8}footer span{display:block}dialog{padding:42px 26px 30px}dialog h2{font-size:38px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Keep all five bouquets comfortable to choose on small screens. */
.choices{flex-wrap:wrap}.choice{flex:0 0 96px}@media(max-width:800px){.choices{max-width:420px;margin-left:auto;margin-right:auto;gap:12px}.choice{flex-basis:96px}}
