@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400;1,500&family=DM+Sans:wght@400;500;600&display=swap');
:root{--paper:#fbf4eb;--ink:#533e35;--muted:#806459;--rust:#a35d44;--line:#dbc4b3;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--rust);outline-offset:5px}[hidden]{display:none!important}
body:before{content:'';position:absolute;z-index:-1;inset:0 0 auto;height:800px;background:linear-gradient(to bottom,transparent 78%,var(--paper)),url('peach-tree.png') center 43%/cover no-repeat}
.site-header{margin:auto;padding:25px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dbc4b35c;background:#fbf4eb40}.monogram{font-family:var(--serif);font-style:italic;font-size:48px;line-height:1;text-decoration:none}.monogram span{color:var(--rust)}.header-note{font-size:12px;letter-spacing:2.3px}.nav-link{font-size:14px;text-decoration:none}.nav-link span{margin-left:14px}
.welcome{min-height:700px;display:flex;align-items:center;padding:65px max(8%,calc((100vw - 1210px)/2)) 100px}.welcome-copy{position:relative;max-width:580px}.eyebrow{font-size:12px;letter-spacing:2.2px;font-weight:500;line-height:1.8;margin:0 0 25px}.welcome-copy .eyebrow{display:flex;align-items:center;gap:12px}.welcome-copy .eyebrow span{font-size:17px;letter-spacing:0}.birth-date{font-family:var(--serif);font-size:25px;font-style:italic;color:var(--rust);margin:0 0 16px}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-2px;margin:0}h1{font-size:clamp(76px,7.8vw,116px);line-height:.99}h1 em,h2 em{color:var(--rust);font-weight:400}h2{font-size:clamp(42px,4.2vw,62px);line-height:1.06}.keep-together{white-space:nowrap}.intro{font-size:17px;line-height:1.85;color:var(--ink);margin:28px 0 34px}.text-link{display:inline-flex;gap:25px;align-items:center;text-decoration:none;font-size:14px;border-bottom:1px solid var(--rust);padding-bottom:10px}.text-link:hover{color:var(--rust)}
.gift{background:linear-gradient(var(--paper),#f4e4d7 110px,#f4e4d7);padding:80px max(8%,calc((100vw - 1210px)/2));display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:start}.gift>*{min-width:0}.gift-heading{padding-top:38px}.gift-heading>p:not(.eyebrow){font-size:16px;line-height:1.85;max-width:445px;color:var(--muted);margin:25px 0 0}.gift-heading .thanks{font-family:var(--serif);font-style:italic;font-size:24px!important}.prayer-link{margin-top:38px}.gift-card{min-width:0;background:#fff9f1;border:1px solid #dec1aa;border-radius:3px;padding:28px 32px;box-shadow:0 12px 36px #81503907;border-top:3px solid #d99575}.card-top{display:flex;align-items:center;justify-content:space-between;color:var(--rust);font-size:12px;letter-spacing:2px}.card-monogram{font-family:var(--serif);font-style:italic;font-size:39px;letter-spacing:-2px}dl{margin:8px 0 0}dl>div{padding:18px 0;border-bottom:1px solid #eadacf}dt{font-size:12px;color:var(--muted);margin-bottom:8px;letter-spacing:.4px}dd{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0;font-size:16px;line-height:1.5;overflow-wrap:anywhere}dd>span{min-width:0;user-select:text}.iban{font-size:15px;letter-spacing:.1px}.copy-button{flex-shrink:0;min-width:68px;min-height:44px;padding:8px 10px;background:transparent;border:1px solid #b87e60;border-radius:5px;color:#854b3b;font:500 14px var(--sans);cursor:pointer}.copy-button:hover{background:#f4e4d7}.copy-status{min-height:21px;font-size:13px;line-height:1.6;color:var(--muted);margin:12px 0}
.paypal-option{border-top:1px solid #eadacf;padding-top:24px}.paypal-heading{display:flex;align-items:center;gap:14px;font-size:14px;margin-bottom:20px}.paypal-heading img{width:100px;height:auto}.paypal-button{display:flex;align-items:center;justify-content:center;gap:18px;border-radius:6px;padding:15px 12px;background:#003087;color:#fff;text-decoration:none;font-size:15px}.paypal-button:hover{background:#001f5c}.paypal-address{font-size:13px;text-align:center;overflow-wrap:anywhere}.paypal-address a,.paypal-qr a{text-underline-offset:4px}.paypal-qr{display:flex;align-items:center;gap:20px;margin-top:24px}.paypal-qr>a{flex:0 0 142px}.paypal-qr img{display:block;width:100%;height:auto;border-radius:5px}.paypal-qr p{font-size:13px;line-height:1.7;color:var(--muted);margin:0}.paypal-qr p a{display:inline-block;padding-top:12px}
.prayer{text-align:center;padding:95px 8% 80px;background:linear-gradient(#f4e4d7,var(--paper) 130px)}.prayer h2{font-size:clamp(40px,4.2vw,60px)}.prayer blockquote{font-family:var(--serif);font-size:clamp(25px,2.5vw,34px);font-style:italic;line-height:1.45;max-width:700px;margin:36px auto 14px}.scripture-source{font-size:13px;color:var(--rust);text-underline-offset:5px}.prayer-text{margin:42px auto 0;font-family:var(--serif);font-size:25px;line-height:1.55}.prayer-text p{margin:0 0 24px}.prayer-note{font-size:12px;color:var(--muted);margin:28px 0 0}footer{border-top:1px solid #dbc4b36b;padding:35px 8%;display:flex;align-items:center;justify-content:space-between;gap:24px}footer p{font-family:var(--serif);font-size:24px;font-style:italic;max-width:680px;text-align:center;line-height:1.4}footer>span{font-size:11px;letter-spacing:1.8px}
@media(max-width:950px){.header-note{display:none}.gift{gap:35px;padding:60px 6%;grid-template-columns:1fr}.gift-heading{padding-top:0}.gift-card{max-width:620px;width:100%}.gift-heading>p:not(.eyebrow){max-width:560px}footer>span{display:none}body:before{background-position:58% top}.welcome-copy{max-width:520px;background:radial-gradient(ellipse at 25% 48%,#fbf4ebc9,transparent 75%)}}
@media(max-width:600px){body:before{height:810px;background-image:linear-gradient(to bottom,#fbf4eb20 0%,#fbf4eb50 48%,var(--paper) 98%),url('peach-tree.png');background-position:center,62% top;background-size:cover,auto 810px}.site-header{padding:20px 7%;background:#fbf4eb65}.monogram{font-size:39px}.nav-link{font-size:13px}.welcome{min-height:690px;padding:75px 8% 100px;align-items:flex-start}.welcome-copy{max-width:100%;background:radial-gradient(ellipse,#fbf4ebbf,transparent 72%)}.eyebrow{font-size:10px;letter-spacing:1.6px;margin-bottom:24px}.welcome-copy .eyebrow{gap:8px}.birth-date{font-size:23px}h1{font-size:clamp(70px,20vw,90px)}.intro{font-size:16px;line-height:1.75;margin:24px 0}.gift{padding:38px 7% 50px;gap:30px}h2{font-size:46px;letter-spacing:-1px}.gift-card{padding:20px}.iban{font-size:14px}dd{gap:10px;font-size:15px}.paypal-qr{gap:15px}.paypal-qr>a{flex-basis:116px}.paypal-qr p{font-size:12px}.prayer{padding:65px 7% 55px}.prayer-text{font-size:22px}.prayer-text br{display:none}.prayer-text p{max-width:360px;margin:0 auto 24px}.prayer h2 em{display:block}footer{padding:24px 8%;gap:18px;align-items:flex-start}footer p{margin:0;text-align:left;font-size:22px}footer .monogram{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Readable header and a prominent invitation directly beneath Emilia. */
.site-header{background:rgba(251,244,235,.94);backdrop-filter:blur(8px)}
.monogram,.card-monogram{letter-spacing:-2px}
.hero-cta{margin-top:28px;background:#f2c9b3;color:#533e35;border:0;border-radius:6px;padding:15px 21px;font-weight:600;box-shadow:0 5px 18px #533e351a;min-height:50px}
.hero-cta:hover{color:#533e35;background:#eab99e}
.gift-heading>p:not(.eyebrow){max-width:none}
footer{justify-content:flex-start}footer p{margin-left:auto;margin-right:auto}
@media(max-width:600px){.gift-heading>p:not(.eyebrow):not(.thanks){font-size:clamp(11.5px,3.28vw,16px);line-height:1.95}.hero-cta{font-size:14px}.site-header{background:rgba(251,244,235,.94)}}
.psalm-text{max-width:740px;margin:35px auto;font-family:var(--serif);font-size:23px;line-height:1.55}.psalm-text p{margin:0 0 22px}.psalm-text .psalm-reference{font:500 13px var(--sans);letter-spacing:1.4px;color:var(--rust);margin-bottom:30px}.psalm-text sup{font:500 12px var(--sans);color:var(--rust);margin-right:5px}@media(max-width:600px){.psalm-text{font-size:20px}}
.copy-button{width:44px;min-width:44px;height:44px;padding:10px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%}.copy-button .copied-icon,.copy-button.is-copied .copy-icon{display:none}.copy-button.is-copied .copied-icon{display:block}
@media(max-width:600px){
 body:before{top:0;height:810px;background-size:cover,auto 810px;background-position:center,62% top}
 .welcome{position:relative;padding-top:75px}.welcome-copy{position:relative;background:none}.welcome-copy .eyebrow{position:static;justify-content:flex-start;margin:0 0 24px;padding:0;background:none}
 .gift-card{padding:18px 14px}dd{gap:5px}#beneficiary{white-space:nowrap;font-size:clamp(9px,3.1vw,14px);letter-spacing:-.15px}
 footer{flex-direction:column;align-items:center;gap:12px;padding:24px 4%}footer p{white-space:nowrap;text-align:center;font-size:clamp(10px,3.8vw,20px);margin:0;letter-spacing:-.1px}footer .monogram{font-size:30px}
}

@media(max-width:600px){body:before{background-image:linear-gradient(to bottom,transparent 48%,var(--paper) 98%),radial-gradient(ellipse 115% 48% at 22% 34%,#fbf4ebed 0%,#fbf4ebce 42%,#fbf4eb55 73%,transparent 100%),url('peach-tree.png');background-position:center,center,62% top;background-size:cover,cover,auto 810px}}
/* A quiet layered watercolor scene; content never moves. */
body{overflow-x:clip}body:before{transform-origin:85% 15%}
.welcome{position:relative;isolation:isolate}.welcome-copy{z-index:2}
.falling-leaves{position:absolute;inset:0;overflow:hidden;pointer-events:none;perspective:850px;z-index:1;mask-image:linear-gradient(#000 78%,transparent)}
.leaf{position:absolute;left:var(--x);top:var(--y);opacity:0;transform-style:preserve-3d;pointer-events:none}
.leaf span{display:block;width:var(--size);height:calc(var(--size) * .43);border-radius:0 85% 0 85%;background:linear-gradient(155deg,#c6be96,#99996d 48%,#d5cba5 52%,#b3ae85);box-shadow:1px 2px 5px #74674614;transform-origin:50% 50%}
.leaf-1{--x:87%;--y:3%;--size:23px;--drift:-60px;--duration:20s;--delay:1s}.leaf-2{--x:74%;--y:18%;--size:17px;--drift:42px;--duration:24s;--delay:5s}.leaf-3{--x:94%;--y:27%;--size:27px;--drift:-75px;--duration:23s;--delay:9s}.leaf-4{--x:64%;--y:7%;--size:15px;--drift:54px;--duration:27s;--delay:14s}.leaf-5{--x:82%;--y:35%;--size:19px;--drift:-48px;--duration:25s;--delay:19s}.leaf-6{--x:97%;--y:12%;--size:16px;--drift:-85px;--duration:28s;--delay:24s}.leaf-7{--x:70%;--y:30%;--size:21px;--drift:50px;--duration:26s;--delay:29s}
body.scene-live:before{animation:tree-breathe 17s ease-in-out infinite alternate}
.scene-live .leaf{animation:leaf-fall var(--duration) linear var(--delay) infinite}.scene-live .leaf span{animation:leaf-turn 7s ease-in-out infinite alternate;animation-delay:var(--delay)}
@keyframes tree-breathe{from{transform:perspective(1400px) rotateY(-.25deg) rotateZ(-.12deg) scale(1.012)}to{transform:perspective(1400px) rotateY(.35deg) rotateZ(.16deg) scale(1.026)}}
@keyframes leaf-fall{0%{opacity:0;transform:translate3d(0,0,-30px)}8%{opacity:.65}35%{transform:translate3d(calc(var(--drift) * -.3),180px,25px)}65%{opacity:.55;transform:translate3d(var(--drift),360px,55px)}100%{opacity:0;transform:translate3d(calc(var(--drift) * .4),680px,5px)}}
@keyframes leaf-turn{0%{transform:rotateZ(-30deg) rotateY(15deg) rotateX(20deg)}50%{transform:rotateZ(65deg) rotateY(145deg) rotateX(-25deg)}100%{transform:rotateZ(150deg) rotateY(310deg) rotateX(35deg)}}
.motion-toggle{position:absolute;right:6%;bottom:30px;z-index:3;border:0;border-radius:20px;background:#fbf4ebdd;color:var(--muted);padding:10px 14px;min-height:44px;font:12px var(--sans);cursor:pointer}
.scene-paused:before,.scene-paused .leaf,.scene-paused .leaf span{animation-play-state:paused!important}
@media(max-width:600px){.leaf:nth-child(n+5){display:none}.leaf{--size:16px}.motion-toggle{bottom:18px;font-size:11px}.falling-leaves{left:40%}.leaf{left:calc(var(--x) - 45%)}}
@media(prefers-reduced-motion:reduce){body.scene-live:before,.scene-live .leaf,.scene-live .leaf span{animation:none!important}.falling-leaves,.motion-toggle{display:none!important}}
/* Visible breeze, seamless header, and little hearts on every monogram. */
.site-header{position:relative;z-index:4;border-bottom:0;background:linear-gradient(to bottom,#fbf4ebed 0%,#fbf4ebaa 60%,#fbf4eb00 100%);backdrop-filter:none}
body.scene-live:before{animation:tree-breathe 8s ease-in-out infinite alternate;transform-origin:100% 5%}
@keyframes tree-breathe{0%{transform:perspective(1000px) translate3d(-12px,-7px,0) rotateY(-1.4deg) rotateZ(-.9deg) scale(1.07)}50%{transform:perspective(1000px) translate3d(5px,4px,20px) rotateY(.4deg) rotateZ(.4deg) scale(1.08)}100%{transform:perspective(1000px) translate3d(15px,8px,0) rotateY(1.4deg) rotateZ(1.15deg) scale(1.07)}}
.leaf span{filter:drop-shadow(2px 4px 3px #74674620)}.leaf-1{--size:30px;--delay:.2s}.leaf-2{--size:23px;--delay:2s}.leaf-3{--size:33px;--delay:5s}.leaf-4{--size:21px;--delay:8s}
.motion-toggle{width:38px;min-height:38px;height:38px;padding:0;background:#fbf4eb80;font-size:16px;opacity:.65}.motion-toggle:hover,.motion-toggle:focus-visible{opacity:1}
.heart-trigger{cursor:pointer;-webkit-tap-highlight-color:transparent}.card-monogram.heart-trigger{border:0;background:none;padding:0;color:var(--rust);min-width:44px;min-height:44px}.heart-trigger:active{transform:scale(.94)}
.heart-layer{position:fixed;inset:0;z-index:100;overflow:hidden;pointer-events:none}.heart-particle{position:absolute;color:#cb7d7a;opacity:0;line-height:1;animation:heart-burst 2s ease-out forwards;text-shadow:0 2px 8px #fff8}
@keyframes heart-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}15%{opacity:.95}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--tilt)) scale(1.1)}}
@media(max-width:600px){.leaf{--size:23px}.site-header{background:linear-gradient(to bottom,#fbf4ebee,#fbf4eb99 60%,transparent)}body.scene-live:before{animation-duration:10s}}
@media(prefers-reduced-motion:reduce){.heart-particle{animation:heart-still 1.4s ease-out forwards;transform:translate(calc(-50% + var(--dx) * .3),-120%)}@keyframes heart-still{20%{opacity:1}100%{opacity:0}}}

/* Continuous paper-to-peach transitions, independent of the moving artwork. */
.site-header{background:linear-gradient(to bottom,#fbf4ebfa 0%,#fbf4ebd9 52%,#fbf4eb70 82%,transparent 100%)}
body:before{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 59%,transparent 95%);mask-image:linear-gradient(to bottom,#000 0%,#000 59%,transparent 95%)}
.gift{position:relative;background:linear-gradient(to bottom,var(--paper) 0%,#f7ece1 130px,#f4e4d7 280px);border:0}
.prayer{background:linear-gradient(to bottom,#f4e4d7 0%,#f7ece1 170px,var(--paper) 340px);border:0}
footer{border-top:0;background:var(--paper)}
.heart-particle{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;text-shadow:none}
@media(max-width:600px){.site-header{background:linear-gradient(to bottom,#fbf4ebfa,#fbf4ebdc 55%,#fbf4eb66 85%,transparent)}.gift{background:linear-gradient(to bottom,var(--paper),#f7ece1 110px,#f4e4d7 240px)}.prayer{background:linear-gradient(to bottom,#f4e4d7,#f7ece1 140px,var(--paper) 300px)}}

/* Share the cover text alignment on every screen size. */
.site-header{padding-left:max(8%,calc((100vw - 1210px)/2));padding-right:max(8%,calc((100vw - 1210px)/2));justify-content:flex-start}
.paypal-option{border-top:0}
@media(max-width:600px){.site-header{padding-left:8%;padding-right:8%}}
/* Separate watercolor planes: still scenery, independently moving branches. */
body:before,body.scene-live:before{display:none;animation:none}
.depth-scene{position:absolute;inset:0 0 auto;height:800px;overflow:hidden;pointer-events:none;z-index:0;mask-image:linear-gradient(#000 0%,#000 60%,transparent 98%)}
.tree-canvas{position:absolute;top:0;left:50%;transform:translateX(-50%);width:max(100%,1200px);height:800px;perspective:1100px}
.landscape-plane{position:absolute;inset:0;background:url('landscape.png') center/cover no-repeat}
.tree-plane{position:absolute;inset:0;transform-style:preserve-3d;transition:transform 1.2s ease-out}
.tree-plane img{width:100%;height:100%;object-fit:cover;display:block}.branch-sway{position:absolute;inset:0;transform-origin:85% 0%;transform-style:preserve-3d}
.tree-back{z-index:1;transform:translate3d(calc(var(--pointer-x,0px) * .3),calc(var(--pointer-y,0px) * .3),-30px)}
.tree-back img{clip-path:polygon(0 0,59% 0,59% 100%,0 100%);opacity:.85}.tree-back .branch-sway{transform-origin:50% 0%}
.tree-front{z-index:3;transform:translate3d(var(--pointer-x,0px),var(--pointer-y,0px),35px) rotateY(var(--pointer-rotate,0deg))}
.tree-front img{clip-path:polygon(59% 0,100% 0,100% 100%,59% 100%)}
.scene-live .tree-back .branch-sway{animation:back-branch 9s ease-in-out infinite alternate}
.scene-live .tree-front .branch-sway{animation:front-branch 6.5s ease-in-out infinite alternate}
@keyframes back-branch{from{transform:rotateZ(-1.6deg) rotateX(-2deg)}to{transform:rotateZ(2.2deg) rotateX(3deg) translateY(8px)}}
@keyframes front-branch{0%{transform:rotateZ(-1.5deg) rotateY(-3deg) translate3d(-8px,-5px,0)}100%{transform:rotateZ(2deg) rotateY(3deg) translate3d(12px,9px,22px)}}
.depth-scene .back-leaves{z-index:2;opacity:.5;filter:blur(.6px);inset:0}.depth-scene .back-leaves .leaf{--size:15px}
.scene-paused .branch-sway{animation-play-state:paused!important}
@media(max-width:600px){.depth-scene{height:810px}.tree-canvas{height:810px;width:1215px;left:62%;transform:translateX(-62%)}.depth-scene:after{content:'';position:absolute;inset:0;z-index:4;background:radial-gradient(ellipse 115% 48% at 22% 34%,#fbf4ebed 0%,#fbf4ebce 42%,#fbf4eb55 73%,transparent 100%)}.tree-front{transform:translateZ(15px)}.tree-back{transform:translateZ(-20px)}.scene-live .tree-front .branch-sway{animation-duration:8s}.back-leaves{display:none}}
@media(prefers-reduced-motion:reduce){.scene-live .branch-sway{animation:none!important}.tree-plane{transform:none!important;transition:none}}
/* Keep connected branches intact while preserving foreground depth. */
.tree-back{display:none}.tree-front img{clip-path:none;opacity:.86;filter:saturate(.88)}
.site-header{background:linear-gradient(to bottom,#fbf4eb30,transparent 90%)}
@media(max-width:600px){.site-header{background:linear-gradient(to bottom,#fbf4eb30,transparent 90%)}}
