:root{--green-deep:#0A2A1F;--green:#102E22;--cream:#F0EADE;--white:#FFFFFF;--gold:#D7B15E;--gold-hi:#E0AF52;--gold-dark:#C0983F;--field:#FAF8F5;--line:rgba(10,42,31,.12);--muted:rgba(10,42,31,.62);--serif:"Cormorant Garamond",Georgia,serif;--sans:"Figtree","Helvetica Neue",Arial,sans-serif;--r-card:24px;--r-input:8px;--shadow:0 18px 50px rgba(10,42,31,.28)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--green-deep);color:var(--cream);font-family:var(--sans);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;-webkit-font-smoothing:antialiased}.stage{width:100%;max-width:560px;perspective:1400px}.watermark{position:fixed;left:-14vw;bottom:-16vh;height:clamp(620px,118vh,1500px);width:auto;opacity:.05;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:0}.stage{position:relative;z-index:1}.highlight{background:var(--green-deep);color:var(--cream);border-radius:var(--r-input);padding:18px 22px;text-align:center;font-size:15.5px;line-height:1.5;margin:22px 0 28px}.highlight b{color:var(--gold);font-weight:700}.crest{display:block;margin:0 auto;width:auto;height:56px}.eyebrow{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);text-align:center;margin:0 0 10px}h1,h2{font-family:var(--serif);font-weight:600;letter-spacing:.005em}.btn{display:block;width:100%;border:0;cursor:pointer;background:linear-gradient(180deg,var(--gold) 0,var(--gold-hi) 100%);color:var(--green-deep);font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:18px 24px;border-radius:999px;transition:filter .18s ease,transform .18s ease}.btn:hover{filter:brightness(1.06)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.btn[disabled]{opacity:.55;cursor:default}.error{font-size:13.5px;line-height:1.5;color:#8f2f22;background:rgba(143,47,34,.07);border-radius:var(--r-input);padding:12px 14px;margin:0 0 16px}.card-strip{display:grid;grid-template-columns:repeat(3,1fr);background:rgba(240,234,222,.07);border-radius:999px;padding:5px;margin:0 0 28px}.card-strip div{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:9px 4px;text-align:center;border-radius:999px;color:rgba(240,234,222,.45);transition:all .4s ease}.card-strip div[data-on="1"]{background:var(--gold);color:var(--green-deep)}.envelope-wrap{text-align:center}.prepared{font-size:14px;color:rgba(240,234,222,.7);margin:0 0 30px}.envelope{position:relative;width:100%;aspect-ratio:1.55/1;margin:0 auto;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.4,0,.2,1),opacity .5s ease .25s}.env-body{position:absolute;inset:0;background:var(--cream);border-radius:12px;box-shadow:var(--shadow)}.env-body:after,.env-body:before{content:"";position:absolute;bottom:0;width:52%;height:100%}.env-body:before{left:0;-webkit-clip-path:polygon(0 0,100% 100%,0 100%);clip-path:polygon(0 0,100% 100%,0 100%);background:linear-gradient(135deg,rgba(10,42,31,.05),transparent 62%)}.env-body:after{right:0;-webkit-clip-path:polygon(100% 0,100% 100%,0 100%);clip-path:polygon(100% 0,100% 100%,0 100%);background:linear-gradient(225deg,rgba(10,42,31,.05),transparent 62%)}.env-flap{position:absolute;top:0;left:0;width:100%;height:62%;background:#E5DCCC;-webkit-clip-path:polygon(0 0,100% 0,50% 100%);clip-path:polygon(0 0,100% 0,50% 100%);border-radius:12px 12px 0 0;transform-origin:top center;transform:rotateX(0deg);transition:transform .75s cubic-bezier(.6,0,.3,1);z-index:3}.seal{left:50%;top:52%;width:98px;height:99px;margin:-50px 0 0 -49px;z-index:4;transform-style:flat}.seal,.seal-half{position:absolute;background:transparent}.seal-half{inset:0;transition:transform .55s cubic-bezier(.5,0,.3,1),opacity .55s ease}.seal-half img{display:block;width:98px;height:99px;background:transparent}.seal-half.left{-webkit-clip-path:polygon(0 0,52% 0,48% 100%,0 100%);clip-path:polygon(0 0,52% 0,48% 100%,0 100%)}.seal-half.right{-webkit-clip-path:polygon(52% 0,100% 0,100% 100%,48% 100%);clip-path:polygon(52% 0,100% 0,100% 100%,48% 100%)}.letter{background:var(--white);color:var(--green-deep);padding:46px 40px 40px;border-radius:var(--r-card);box-shadow:var(--shadow);opacity:0;transform:translateY(46px) scale(.97);transition:opacity .6s ease .35s,transform .7s cubic-bezier(.3,0,.2,1) .35s}.letter .name{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;text-align:center;margin:22px 0 6px;color:var(--gold-dark)}.letter h1{font-size:clamp(32px,7.5vw,44px);line-height:1.08;margin:0;text-align:center;color:var(--green)}.letter p.body{font-size:16px;line-height:1.65;margin:20px auto 0;max-width:44ch}.letter p.body,.sig{text-align:center;color:var(--muted)}.sig{font-family:var(--serif);font-style:italic;font-size:19px;margin-top:26px}.terms{width:100%;border-collapse:collapse;margin:30px 0 6px}.terms tr{border-top:1px solid var(--line)}.terms tr:last-child{border-bottom:1px solid var(--line)}.terms th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:13px 0;width:52%}.terms td{text-align:right;font-size:15px;font-weight:600;color:var(--green-deep);padding:13px 0}.terms .waived{color:var(--gold-dark)}.panel{background:var(--white);color:var(--green-deep);padding:40px 40px 36px;border-radius:var(--r-card);box-shadow:var(--shadow)}.panel h2{font-size:31px;margin:0;text-align:center;color:var(--green)}.panel p.lead{font-size:15px;line-height:1.6;color:var(--muted);text-align:center;margin:12px auto 0;max-width:42ch}.price-line{display:flex;justify-content:space-between;align-items:center;background:var(--cream);border-radius:var(--r-input);padding:16px 18px;margin:24px 0 26px}.price-line span{font-size:13.5px;color:var(--muted);line-height:1.45}.price-line strong{font-family:var(--serif);font-size:28px;font-weight:600;color:var(--green)}.next-note{font-size:13px;line-height:1.55;text-align:center;color:var(--muted);margin:18px 0 0}.stripe-note{font-size:11.5px;text-align:center;color:rgba(10,42,31,.42);margin:12px 0 0}.loading{font-size:13.5px;text-align:center;color:var(--muted);padding:44px 0}.field{margin-bottom:14px}.field label{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green-deep);margin-bottom:7px}.field input{width:100%;font-family:var(--sans);font-size:15px;color:var(--green-deep);background:var(--field);border:1px solid var(--line);border-radius:var(--r-input);padding:14px}.field input:focus{outline:none;border-color:var(--gold);background:var(--white)}.row-3{display:grid;grid-template-columns:2fr 1fr 1fr;grid-gap:12px;gap:12px}.step{display:none}.stage[data-step=letter] .step-letter,.stage[data-step=opening] .step-envelope,.stage[data-step=pay] .step-pay,.stage[data-step=sealed] .step-envelope{display:block}.stage[data-step=opening] .env-flap{transform:rotateX(-172deg)}.stage[data-step=opening] .seal-half.left{transform:translateX(-28px) rotate(-22deg);opacity:0}.stage[data-step=opening] .seal-half.right{transform:translateX(28px) rotate(22deg);opacity:0}.stage[data-step=opening] .envelope{transform:translateY(24px) scale(.94);opacity:0}.stage[data-step=letter] .letter{opacity:1;transform:translateY(0) scale(1)}@media (prefers-reduced-motion:reduce){.env-flap,.envelope,.letter,.seal-half{transition-duration:.01ms!important}}@media (max-width:480px){.letter,.panel{padding-left:26px;padding-right:26px}.row-3{grid-template-columns:1fr}.watermark{left:-30vw;bottom:-10vh;height:85vh;opacity:.045}}