:root{--red:#811b28;--ink:#3b2923;--cream:#f7f1e4;--gold:#b38c50;--green:#304d3d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b77929;outline-offset:5px}button{cursor:pointer}[hidden]{display:none!important}.trial{background:var(--red);color:#fff0d5;text-align:center;padding:9px 15px;font-size:10px;letter-spacing:1.5px}.trial span{padding:0 12px}header{display:flex;align-items:center;justify-content:space-between;padding:24px 5%;border-bottom:1px solid #dacfb9;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-family:'Libre Caslon Display',Georgia,serif;font-size:36px;color:var(--red);white-space:nowrap}.brand-star{font-size:40px}.brand small{display:block;font:8px 'DM Sans',sans-serif;letter-spacing:3px;margin-top:3px}nav{display:flex;gap:32px;align-items:center;font-size:12px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:36px;min-height:54px;background:var(--red);color:#fff6e5;border:1px solid var(--red);border-radius:4px;padding:16px 25px;font-weight:600;font-size:13px;transition:background .2s,transform .2s}.button:hover{background:#62131e;transform:translateY(-2px)}.button.small{min-height:44px;padding:12px 20px;font-size:11px;gap:25px}.hero{display:grid;grid-template-columns:44% 56%;min-height:615px;overflow:hidden}.hero-copy{padding:80px 8% 60px 11.4%;position:relative}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:700;color:var(--red)}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400}h1{font-size:clamp(48px,4.8vw,78px);line-height:1.02;letter-spacing:-2px;margin:24px 0}h1 em{color:var(--red);font-weight:400}p{line-height:1.85} .hero-copy>p{font-size:14px;margin:25px 0 30px;color:#6b594e}.hero-note{font-size:10px;margin-top:16px;color:#796a59}.seal{position:absolute;right:25px;bottom:34px;border:1px solid #bda576;border-radius:50%;width:103px;height:103px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:7px;letter-spacing:1px;color:#9c753d;transform:rotate(-15deg);line-height:1}.seal b{font-size:23px}.scene{position:relative;min-width:0;background:#3c251b}.scene img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:55% center}.scene:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#20160ec9);pointer-events:none}.warmth{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 65%,#ff980031,transparent 50%);mix-blend-mode:screen;animation:flicker 2.3s infinite alternate;pointer-events:none}.snow{position:absolute;inset:0;background-image:radial-gradient(circle,#fff9 1px,transparent 2px);background-size:97px 83px;opacity:.3;animation:snow 17s linear infinite;pointer-events:none}.motion{position:absolute;right:20px;top:20px;z-index:2;color:#fff3db;background:#211b14a8;border:1px solid #fff5;border-radius:30px;padding:11px 14px;font-size:10px}.scene-caption{position:absolute;bottom:28px;left:30px;color:#fff1d4;z-index:2;font-size:10px;letter-spacing:.6px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#ddb775;margin-right:10px}.ribbon{display:flex;justify-content:space-evenly;background:var(--green);color:#f7edce;padding:20px;font-family:Georgia,serif;font-style:italic;font-size:15px}.tradition{padding:95px 11%;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}h2{font-size:clamp(35px,3.3vw,49px);line-height:1.12;margin:20px 0}.tradition p{font-size:13px;color:#715e50;max-width:420px}.text-link{font-size:12px;font-weight:600;color:var(--red);display:inline-block;padding:13px 0;border:0;background:none;text-decoration:underline;text-underline-offset:6px}.letter{background:#fffcf3;padding:44px 35px 36px;box-shadow:0 14px 35px #593f2220;transform:rotate(3deg);border:1px solid #e7dcc4;position:relative}.letter-heading,.signed{font-family:Georgia,serif;font-style:italic;color:var(--red)}.letter-heading{font-size:29px}.letter p{font:italic 15px/2 Georgia,serif;margin-top:27px}.postmark{float:right;border:1px solid #bca47d;border-radius:50%;padding:16px 9px;text-align:center;font-size:7px;line-height:1.7;color:#9c7951;transform:rotate(-16deg)}.lines{height:62px;background:repeating-linear-gradient(transparent 0 29px,#e2d7bd 30px 31px);margin-bottom:22px}.signed{font-size:12px}.steps{border-top:1px solid #dfd4bf;padding:65px 8% 75px;text-align:center}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin:42px auto 0;max-width:1050px;text-align:left}.step-grid article{border-top:1px solid #bba17a;padding-top:22px}.step-grid article>span{color:#a8834d;font:14px Georgia,serif}h3{font-size:30px;margin:17px 0 8px}.step-grid p{font-size:13px;color:#715e50}.grownups{background:#eae5d6;padding:45px 8%;display:flex;gap:30px;align-items:center}.grownups>span{font-size:55px;color:var(--green)}.grownups h2{font-size:30px;margin:12px 0}.grownups p{font-size:12px;max-width:630px}.grownups>a{margin-left:auto;white-space:nowrap}footer{padding:35px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px}footer .brand{font-size:26px}footer p{font-family:Georgia,serif;font-style:italic;font-size:13px}footer>span{font-size:10px;color:#7d6a59}.write-intro{text-align:center;padding:42px 20px 30px}.write-intro>a{display:block;margin-bottom:30px}.write-intro h1{font-size:60px}.write-intro p{font-size:14px}.form-layout{display:grid;grid-template-columns:minmax(0,650px) 260px;gap:65px;max-width:1040px;margin:0 auto 80px;padding:0 25px}form,#letter-preview{background:#fffcf4;border:1px solid #ded2ba;padding:35px;box-shadow:0 12px 30px #57331809}.form-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.form-top h2{margin:0;color:var(--red)}.form-top>span{font-size:8px;letter-spacing:1px;color:#96733b}label{display:block;font-size:12px;font-weight:600;margin:20px 0 8px}label small{font-weight:400;color:#776450}input:not([type=checkbox]),textarea{width:100%;background:#fffef9;border:1px solid #bbae98;border-radius:3px;padding:13px;color:var(--ink);font-size:16px}textarea{resize:vertical;line-height:1.7}.form-help{display:flex;justify-content:space-between;gap:16px;font-size:10px;color:#796953;margin-top:8px}fieldset{border:0;padding:0;margin:26px 0}legend{font-size:11px;margin-bottom:10px}fieldset button{border:1px solid #d6c6aa;background:transparent;color:var(--red);padding:10px;border-radius:20px;font-size:10px;margin:0 3px 8px 0;min-height:36px}.consent{display:flex;align-items:start;gap:10px;font-size:11px;line-height:1.7;font-weight:400;margin-bottom:25px}.consent input{width:18px;height:18px;flex-shrink:0;accent-color:var(--red)}aside{padding-top:25px}aside p{font-size:13px;color:#75604e}aside hr{border:0;border-top:1px solid #d6c7af;margin:30px 0}.aside-star{font-size:100px;color:#b49360}#letter-preview{max-width:750px;margin:0 auto 75px}#preview-message{white-space:pre-wrap;overflow-wrap:anywhere}.preview-actions{display:flex;gap:30px;margin:35px 0 20px}#letter-preview small{color:#7b6654}.paused .warmth,.paused .snow{animation:none}@keyframes flicker{0%{opacity:.4}30%{opacity:.9}55%{opacity:.5}75%{opacity:.8}100%{opacity:.6}}@keyframes snow{to{background-position:35px 166px}}@media(min-width:1600px){.hero{min-height:730px}.hero-copy{padding-top:110px}}@media(max-width:900px){nav{gap:18px}nav>a:not(.button){display:none}.hero{grid-template-columns:1fr 1fr;min-height:570px}.hero-copy{padding:55px 7% 70px 10%}h1{font-size:50px}.seal{display:none}.tradition{gap:45px;padding:65px 7%}.grownups{flex-wrap:wrap}.grownups>a{margin-left:85px}.form-layout{gap:30px;grid-template-columns:minmax(0,1fr) 220px}}@media(max-width:600px){.trial{font-size:8px;letter-spacing:.5px}.trial span{padding:0 4px}header{padding:18px 5%;gap:10px}.brand{font-size:27px;gap:6px}.brand-star{font-size:28px}.brand small{font-size:6px;letter-spacing:2px}.button.small{padding:12px;font-size:10px;gap:12px}.hero{display:flex;flex-direction:column}.hero-copy{padding:40px 7% 35px}.eyebrow{font-size:9px}h1{font-size:52px;margin:19px 0}.hero-copy>p{font-size:13px;margin:20px 0}.hero-note{margin-top:13px}.scene{height:380px}.scene img{object-position:center}.scene-caption{left:20px;font-size:9px}.ribbon{padding:17px 10px;gap:12px;font-size:11px}.tradition{grid-template-columns:1fr;padding:55px 8%;gap:35px}.letter{padding:35px 27px}.steps{padding:50px 8%}.step-grid{grid-template-columns:1fr;gap:22px;margin-top:30px}.step-grid article{display:grid;grid-template-columns:40px 1fr;gap:0 10px}.step-grid h3{margin:0;font-size:27px}.step-grid p{grid-column:2;margin-bottom:0}.grownups{padding:35px 8%;gap:15px}.grownups>span{display:none}.grownups>a{margin:0}footer{flex-wrap:wrap;justify-content:center;text-align:center;padding:30px 7%;gap:10px}footer p{width:100%;margin:5px}.write-intro h1{font-size:51px}.form-layout{display:block;padding:0 18px;margin-bottom:35px}form{padding:25px 20px}aside{padding:35px 15px 0}.aside-star{display:none}.form-top>span{max-width:75px;text-align:right;line-height:1.8}.form-help{font-size:9px}.form-help span:first-child{max-width:180px}.write-intro{padding-top:20px}#letter-preview{margin:0 18px 40px;padding:25px}.preview-actions{gap:20px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media print{body>*:not(#write),#write>*:not(#letter-preview),.preview-actions{display:none!important}#write,#letter-preview{display:block!important}#letter-preview{border:0;box-shadow:none;margin:0}body{background:white}}

.parent-note{font-size:11px;color:#6c5746;line-height:1.7}.preview-actions{flex-wrap:wrap}.button:disabled{opacity:.65;cursor:default;transform:none}#save-status{font-size:13px}header{position:sticky;top:0;background:var(--cream);z-index:10}@media print{#save-status{display:none}}
