*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--parchment-light: #f5e6c8;--parchment: #eedcb5;--parchment-dark: #d4c49a;--parchment-edge: #c4b080;--ink: #1c1a15;--ink-light: #33302a;--ink-faded: #6b6252;--ink-ghost: #9a8e7a;--sienna: #7a3b10;--gold: #b8943e;--gold-muted: #9a7d30;--font-display: "Playfair Display", Georgia, "Times New Roman", serif;--font-body: "Cormorant Garamond", Garamond, "Times New Roman", serif;--font-script: "Great Vibes", cursive}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:1.125rem;color:var(--ink);line-height:1.75;min-height:100vh;min-height:100dvh;overflow-x:hidden;background:var(--parchment);background-image:radial-gradient(ellipse at 15% 10%,rgba(139,69,19,.06) 0%,transparent 50%),radial-gradient(ellipse at 85% 85%,rgba(139,105,20,.05) 0%,transparent 40%),radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.03) 0%,transparent 60%),radial-gradient(ellipse at 70% 20%,rgba(139,69,19,.04) 0%,transparent 35%),radial-gradient(ellipse at 50% 30%,rgba(139,90,43,.03) 0%,transparent 45%),radial-gradient(ellipse at 80% 70%,rgba(70,85,110,.02) 0%,transparent 40%);background-attachment:fixed}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;box-shadow:inset 0 0 120px #6450281a,inset 0 0 300px #3c28140d}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px}.letter-wrap{position:relative;min-height:100vh;min-height:100dvh}.sketches{position:absolute;inset:0;min-height:100%;z-index:0;pointer-events:none;overflow:hidden}.sketch{position:absolute;pointer-events:none;opacity:.1;mix-blend-mode:multiply;object-fit:contain}.sketch--soldiers{width:180px;top:6%;left:-2%;transform:rotate(-2deg);animation:driftRight 20s ease-in-out infinite alternate}.sketch--campfire{width:140px;top:42%;right:0%;transform:rotate(1deg);animation:driftLeft 18s ease-in-out infinite alternate}.sketch--tents{width:120px;bottom:30%;left:0%;transform:rotate(-3deg);animation:driftRight 22s ease-in-out infinite alternate}.sketch--horse{width:160px;bottom:10%;right:-1%;transform:rotate(2deg);animation:driftLeft 16s ease-in-out infinite alternate}.sketch--drum{width:130px;bottom:2%;left:1%;transform:rotate(-1deg);animation:driftRight 24s ease-in-out infinite alternate}.sketch--friedrich-wrap{position:absolute;top:14%;right:2%;animation:friedrichJump 8s ease-in-out infinite}.sketch--friedrich{width:100px;position:relative;transform:rotate(2deg)}@keyframes driftRight{0%{transform:translate(-8px) rotate(-2deg)}to{transform:translate(8px) rotate(0)}}@keyframes driftLeft{0%{transform:translate(8px) rotate(2deg)}to{transform:translate(-8px) rotate(0)}}@keyframes friedrichJump{0%,80%,to{transform:translateY(0)}85%{transform:translateY(-14px)}88%{transform:translateY(-20px)}91%{transform:translateY(-14px)}95%{transform:translateY(-4px)}}@media(max-width:480px){.sketch{opacity:.07}.sketch--soldiers{width:120px}.sketch--campfire{width:100px}.sketch--tents{width:90px}.sketch--horse{width:110px}.sketch--drum{width:90px}.sketch--friedrich{width:70px}}.letter{width:100%;max-width:600px;min-width:0;margin:0 auto;padding:5rem 2rem 4rem;position:relative;z-index:1;overflow-wrap:break-word;word-break:break-word}.letter__seal{text-align:center;font-size:1.5rem;color:var(--gold-muted);opacity:.5;margin-bottom:1.75rem;animation:fadeIn 1s .2s ease-out both}.letter__header{text-align:center;margin-bottom:2rem}.letter__pedigree{font-family:var(--font-display);font-size:.65rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-ghost);margin-bottom:1.25rem;animation:fadeIn .8s .15s ease-out both}.letter__pedigree em{font-style:italic;text-transform:none;letter-spacing:.04em}.letter__pedigree a{color:inherit;text-decoration:underline;text-decoration-color:var(--parchment-dark);text-underline-offset:2px;transition:color .3s ease,text-decoration-color .3s ease}.letter__pedigree a:hover{color:var(--sienna);text-decoration-color:var(--sienna)}.letter__kicker{font-family:var(--font-script);font-size:1.6rem;color:var(--sienna);margin-bottom:.1rem;animation:fadeIn .8s .3s ease-out both}.letter__title{font-family:var(--font-display);font-weight:900;font-size:3.5rem;line-height:1;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);animation:fadeIn .8s .5s ease-out both}.letter__rule{width:60px;height:1.5px;background:var(--ink-faded);margin:.85rem auto;opacity:.5;animation:fadeIn .8s .65s ease-out both}.letter__tagline{font-family:var(--font-body);font-size:1.25rem;font-style:italic;font-weight:400;color:var(--ink-faded);line-height:1.45;animation:fadeIn .8s .8s ease-out both}.fabulous{position:relative;display:inline-block;cursor:default;transition:color .3s ease}.fabulous:hover{color:var(--gold)}.fabulous .sparkle{position:absolute;pointer-events:none;font-style:normal;animation:sparkleLife .6s ease-out forwards}@keyframes sparkleLife{0%{opacity:0;transform:scale(0) rotate(0)}40%{opacity:1;transform:scale(1) rotate(15deg)}to{opacity:0;transform:scale(.5) rotate(45deg) translateY(-8px)}}.fabulous.is-sparkling{color:var(--gold)}.letter__event{text-align:center;margin-bottom:2rem;padding:1.25rem 0;border-top:1px solid var(--parchment-dark);border-bottom:1px solid var(--parchment-dark);animation:fadeIn .8s 1s ease-out both}.letter__event-line{font-family:var(--font-display);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faded)}.letter__event-date{font-weight:700;font-size:.85rem;color:var(--ink);letter-spacing:.12em}.letter__event-venue{font-family:var(--font-display);font-weight:700;font-size:1.35rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin:.3rem 0 .1rem}.letter__event-type{font-family:var(--font-script);font-size:1.2rem;color:var(--sienna)}.letter__divider{text-align:center;padding:1rem 0}.letter__divider-svg{width:60%;max-width:200px;height:16px;color:var(--parchment-dark)}.letter__body{margin-bottom:1.25rem;font-size:1rem;font-weight:400;color:var(--ink-light);text-align:justify;text-indent:1.5em;-webkit-hyphens:auto;hyphens:auto}.letter__body p{margin-bottom:.65rem}.letter__body p:first-child{text-indent:0}.letter__body p:first-child:first-letter{font-family:var(--font-display);font-weight:900;font-size:3em;float:left;line-height:.8;margin:.05em .1em 0 0;color:var(--ink)}.letter__body em{font-style:italic;color:var(--ink)}.letter__credits{text-align:center;font-family:var(--font-display);font-size:.8rem;letter-spacing:.06em;color:var(--ink-faded);margin-top:.85rem}.letter__credits p+p{margin-top:.1rem}.letter__credits strong{color:var(--ink);font-weight:700}.letter__signup{text-align:center;padding:1.25rem 0 .75rem}.letter__signup-heading{font-family:var(--font-display);font-weight:700;font-size:1rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:.35rem}.letter__signup-notice{font-family:var(--font-script);font-size:1.15rem;color:var(--sienna);margin-bottom:.2rem}.letter__signup-desc{font-size:.85rem;color:var(--ink-faded);margin-bottom:1.25rem;line-height:1.5}.letter__form{display:flex;flex-direction:column;gap:.85rem;max-width:320px;margin:0 auto}.letter__label{display:block;font-family:var(--font-display);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-ghost);margin-bottom:.2rem;text-align:left}.letter__input{width:100%;padding:.5rem 0;font-family:var(--font-body);font-size:1rem;color:var(--ink);background:transparent;border:none;border-bottom:1px solid var(--parchment-dark);border-radius:0;-webkit-appearance:none;outline:none;transition:border-color .3s ease}.letter__input::placeholder{color:var(--ink-ghost);opacity:.6;font-style:italic}.letter__input:focus{border-bottom-color:var(--gold-muted)}.letter__button{margin-top:.5rem;width:100%;padding:.8rem 2rem;font-family:var(--font-display);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--parchment);background:var(--ink);border:none;border-radius:0;-webkit-appearance:none;cursor:pointer;transition:background .3s ease,box-shadow .3s ease}.letter__button:hover{background:var(--ink-light);box-shadow:0 2px 12px #00000026}.letter__button:active{transform:translateY(1px)}.letter__success{font-family:var(--font-script);font-size:1.2rem;color:var(--sienna);padding:1.25rem 0 .5rem}.letter__footer{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--parchment-dark);text-align:center}.letter__closing-flourish{margin-bottom:.6rem}.letter__closing-svg{width:80px;height:16px;color:var(--parchment-dark)}.letter__copy{font-family:var(--font-display);font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-ghost)}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){body{font-size:1rem}.letter{padding:3rem 1.25rem 2.5rem}.letter__kicker{font-size:1.3rem}.letter__title{font-size:2.2rem;letter-spacing:.03em}.letter__tagline{font-size:1.05rem}.letter__event-venue{font-size:1.1rem}.letter__body{text-align:left;text-indent:0}.letter__body p:first-child:first-letter{font-size:2.4em}.letter__form{max-width:100%}}@media(min-width:481px)and (max-width:700px){.letter{padding:4rem 1.75rem 3rem}.letter__title{font-size:2.8rem}}
