/* Preserve the pearl layout, with the original forest-green palette. */
:root { --forest:#173e37; --forest-deep:#102c29; --forest-light:#355b52; --gold:#b99864; --gold-light:#dac39b; --cream:#f8f5ee; --paper:#fffcf5; --ink:#273b34; --muted:#728078; }
body { background:#f8f5ee; }
.opening { background:radial-gradient(ellipse 63% 72% at 50% 47%,#2e5a4e 0%,#1b443c 57%,#11322f 100%); color:#f4eddc; }
.opening::before { border-color:#dac39b66; }
.opening::after { border-color:#dac39b2b; }
.opening-aura--one { background:radial-gradient(circle,#d2bc8c29,transparent 70%); }
.opening-aura--two { background:radial-gradient(circle,#f5ebc914,transparent 70%); }
.opening-title-intro { color:#d6c299; }
.opening-title-names { color:#f4e5c7; text-shadow:0 3px 24px #061f1950; }
.opening-title-and { color:#c9a86e; }
.botanical--opening-right,.botanical--opening-left { opacity:.28; filter:none; }
.envelope-back { background:linear-gradient(145deg,#487567,#1b4036); box-shadow:0 16px 45px #061f1945; }
.envelope-fold--left { background:linear-gradient(140deg,#527f6e,#345d4e); }
.envelope-fold--right { background:linear-gradient(215deg,#426e5f,#234b3d); }
.envelope-fold--bottom { background:linear-gradient(175deg,#5b8775,#2f5848); }
.envelope-flap { background:linear-gradient(155deg,#638e7c,#355f4f); filter:drop-shadow(0 3px 3px #102c2945); }
.envelope-shadow { background:#030b095e; }
.letter-monogram { color:#496a5c; }
.open-help { color:#eadfc9; }
.tap-pulse { border-color:#ead3a7; background:#ddbc8226; }
.opening-bottom { color:#cdb98f; }
.opening-bottom span { background:#b4a17991; }
.invitation { background:radial-gradient(ellipse at 50% 0,#fcf9f2,#f5f2ea 58%,#f2eee5); }
.topbar { color:#7d8a7f; }
.music-control { background:#fffcf1e8; color:#446054; box-shadow:0 5px 22px #173e3712; }
.hero-halo { background:radial-gradient(ellipse at center,#fffdfacc,transparent 72%); }
.hero-first .eyebrow { color:#7e7d61; }
.hero-kicker { color:#88958a; }
.couple-names { color:#28493f; }
.hero-poem { color:#486456; }
.scroll-cue { color:#7b8b7e; }
.invitation-paper { box-shadow:0 20px 65px #173e370c; }
.message-copy { color:#526457; }
.message-copy--emph { color:#314d41; }
.signature strong { color:#446b54; }
.detail-label { color:#9a907e; }
.detail-value { color:#32574b; }
.detail-hint { color:#8e9588; }
.countdown-grid strong { color:#355b52; }
.countdown-grid span,.countdown-title { color:#819078; }
.location-card { background:radial-gradient(ellipse at 50% 15%,#315b4e 0%,#1d463d 56%,#12352f 100%); box-shadow:0 20px 60px #173e371a; }
.location-description { color:#d2c8b0; }
.address { color:#f2eee1; }
.primary-btn { color:#223b32; }
.footer { background:#f0ebdf; border-color:#ddd0b6; }
.footer p { color:#557062; }
.footer .footer-names { color:#244c40; }
.replay { color:#6f8272; border-color:#9ea899; }
.toast { background:#1e463d; }
