@font-face{font-family:Playfair Display;src:url(/fonts/playfair-display.woff2)format("woff2");font-weight:400 900;font-style:normal;font-display:swap}@font-face{font-family:Playfair Display;src:url(/fonts/playfair-display-italic.woff2)format("woff2");font-weight:400 900;font-style:italic;font-display:swap}@font-face{font-family:Pinyon Script;src:url(/fonts/pinyon-script.woff)format("woff");font-weight:400;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/dm-sans.woff)format("woff");font-weight:100 1000;font-style:normal;font-display:swap}:root{--midnight:#0e1a33;--deep:#081024;--dusk:#16264a;--line:#2a3a63;--gold:#e3b566;--gold-deep:#c99540;--paper:#f6eedc;--paper-shade:#e9dcc0;--ink:#2a2118;--pine:#163a2e;--seal:#9e2b33;--muted:#a9b3cc;--ok:#8fd3a8;--warn:#f0b878;--display:"Playfair Display", "Iowan Old Style", Georgia, serif;--body:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--hand:"Pinyon Script", "Snell Roundhand", "Apple Chancery", cursive;--step--1:clamp(.84rem, .82rem + .1vw, .9rem);--step-0:clamp(1rem, .97rem + .15vw, 1.08rem);--step-1:clamp(1.2rem, 1.1rem + .4vw, 1.4rem);--step-2:clamp(1.5rem, 1.3rem + .9vw, 2rem);--step-3:clamp(2rem, 1.6rem + 1.8vw, 3rem);--step-4:clamp(2.6rem, 1.9rem + 3.4vw, 4.8rem);--paper-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.25 0 0 0 0 0.12 0 0 0 0.09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--radius-soft:14px;--radius-pill:999px;--ease:cubic-bezier(.22, .8, .24, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{min-height:100dvh;font-family:var(--body);font-weight:300;font-size:var(--step-0);color:var(--paper);background-color:var(--midnight);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 0.96  0 0 0 0 0.88  0 0 0 0.055 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='900'%3E%3Cfilter id='c'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.0022 0.0045' numOctaves='4' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.22  0 0 0 0 0.3  0 0 0 0 0.6  0 0 0 0.3 -0.1'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23c)'/%3E%3C/svg%3E"), radial-gradient(1px 1px at 12% 18%, #ffffffb3 50%, transparent 51%), radial-gradient(1px 1px at 72% 9%, #ffffff8c 50%, transparent 51%), radial-gradient(1.5px 1.5px at 38% 31%, #ffffff80 50%, transparent 51%), radial-gradient(1px 1px at 88% 42%, #fff9 50%, transparent 51%), radial-gradient(1px 1px at 22% 63%, #ffffff59 50%, transparent 51%), radial-gradient(1.5px 1.5px at 61% 74%, #ffffff4d 50%, transparent 51%), radial-gradient(1px 1px at 47% 52%, #fff4d673 50%, transparent 51%), radial-gradient(120% 90% at 50% 45%, transparent 55%, #0307128c 100%), radial-gradient(70% 55% at 30% 8%, #34488c59, transparent 70%), radial-gradient(50% 40% at 85% 95%, #e3b56612, transparent 70%), linear-gradient(180deg, #0a1429 0%, var(--midnight) 45%, #13234a 100%);background-size:220px 220px,100% 100%,420px 420px,380px 380px,520px 520px,460px 460px,340px 340px,600px 600px,560px 560px,100% 100%,100% 100%,100% 100%,100% 100%;background-attachment:fixed;margin:0;line-height:1.6}img,video{max-width:100%;display:block}a{color:var(--gold);text-underline-offset:3px}:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}h1,h2,h3{font-family:var(--display);letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:500;line-height:1.1}p{text-wrap:pretty;margin:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.topbar{justify-content:space-between;align-items:center;gap:16px;padding:18px clamp(16px,4vw,40px);display:flex}.wordmark{align-items:center;line-height:0;text-decoration:none;display:inline-flex}.wordmark img{filter:drop-shadow(0 2px 4px #00000073);width:auto;height:34px;display:block}.wordmark-full img{height:52px}.wrap{width:min(640px,100% - 32px);margin-inline:auto;padding-block:clamp(12px,3vw,32px) 80px}.wrap.wide{width:min(1040px,100% - 32px)}.page-title{font-size:var(--step-3);margin-bottom:12px}.lead{color:var(--muted);font-size:var(--step-1);max-width:34em;margin-bottom:28px;line-height:1.5}.steps{gap:6px;margin:0;padding:0;list-style:none;display:flex}.steps li{background:var(--line);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);width:14px;height:14px}.steps li[data-state=done]{background:var(--gold-deep)}.steps li[data-state=current]{background:var(--gold);transform:scale(1.25)}.btn{--notch:10px;isolation:isolate;appearance:none;min-height:52px;font:600 1.06rem/1 var(--display);letter-spacing:.01em;cursor:pointer;color:var(--midnight);filter:drop-shadow(0 6px 14px #03071273);transition:transform .16s var(--ease), filter .7s var(--ease);background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;gap:10px;padding:0 30px;text-decoration:none;display:inline-flex;position:relative}.btn:before,.btn:after,.chip span:before,.chip span:after{content:"";z-index:-1;pointer-events:none;--r:var(--notch);-webkit-mask:var(--plaque);-webkit-mask:var(--plaque);mask:var(--plaque);--plaque:radial-gradient(circle at 0 0, #0000 var(--r), #000 calc(var(--r) + .6px)) 0 0 / 51% 51% no-repeat, radial-gradient(circle at 100% 0, #0000 var(--r), #000 calc(var(--r) + .6px)) 100% 0 / 51% 51% no-repeat, radial-gradient(circle at 0 100%, #0000 var(--r), #000 calc(var(--r) + .6px)) 0 100% / 51% 51% no-repeat, radial-gradient(circle at 100% 100%, #0000 var(--r), #000 calc(var(--r) + .6px)) 100% 100% / 51% 51% no-repeat;position:absolute}.btn:before{background:linear-gradient(112deg,#0000 30%,#fffcee47 50%,#0000 70%) -160% 0/250% 100% no-repeat,linear-gradient(#fff8e173 0,#fff8e100 2px,#0000 calc(100% - 2px),#5c3a0c59 100%),linear-gradient(#fff4d240,#784c122e),linear-gradient(90deg,#c8913e 0%,#e2b461 22%,#f6dc9a 48%,#e9c070 66%,#c48b3a 100%);transition:none;inset:0}.btn:after{display:none}.btn:hover{filter:drop-shadow(0 6px 14px #03071273)drop-shadow(0 0 16px #e3b5664d)}.btn:hover:before{background-position:160% 0,0 0,0 0,0 0;transition:background-position 2.4s cubic-bezier(.33,0,.2,1)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline-offset:4px;border-radius:4px}.btn[disabled]{opacity:.45;cursor:not-allowed;filter:none}.btn[disabled]:before{background-position:-160% 0,0 0,0 0,0 0}.btn.quiet{color:var(--paper);filter:none}.btn.quiet:before{background:linear-gradient(90deg,#b9853a,#f1d28c 50%,#b9853a)}.btn.quiet:after{transition:background .22s var(--ease);background:#0e1a33eb;display:block;inset:1.5px}.btn.quiet:hover{filter:drop-shadow(0 0 14px #e3b5664d)}.btn.quiet:hover:after{background:#182648f0}.btn.quiet.again{color:var(--gold)}.btn.quiet.again:after{background:#1c2a4eeb}.btn.block{width:100%}.btn.small{--notch:7px;min-height:40px;padding:0 18px;font-size:.95rem}@media (prefers-reduced-motion:reduce){.btn,.btn:before,.btn:after{transition:none}.btn:hover:before{background-position:-160% 0,0 0,0 0,0 0}}.actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.field{gap:8px;margin-bottom:24px;display:grid}.field>span:first-child{font-weight:600}.hint{color:var(--muted);font-size:var(--step--1)}:where(input[type=text]:not([readonly]),input[type=email],input[type=password],textarea){--notch:10px;--edge:1.5px;--ring:#c08c3e;--gold-line:linear-gradient(90deg, #b9853a, #f1d28c 50%, #b9853a);--arc:transparent calc(var(--notch) - .6px), var(--ring) var(--notch), var(--ring) calc(var(--notch) + var(--edge)), transparent calc(var(--notch) + var(--edge) + .6px);width:100%;font:inherit;color:var(--paper);border:var(--edge) solid transparent;background:radial-gradient(circle at 0 0, var(--arc)) border-box 0 0 / 50% 50% no-repeat, radial-gradient(circle at 100% 0, var(--arc)) border-box 100% 0 / 50% 50% no-repeat, radial-gradient(circle at 0 100%, var(--arc)) border-box 0 100% / 50% 50% no-repeat, radial-gradient(circle at 100% 100%, var(--arc)) border-box 100% 100% / 50% 50% no-repeat, linear-gradient(#0e1a33eb, #0e1a33eb) padding-box, var(--gold-line) border-box;-webkit-mask:radial-gradient(circle at 0 0, #0000 var(--notch), #000 calc(var(--notch) + .6px)) 0 0 / 51% 51% no-repeat, radial-gradient(circle at 100% 0, #0000 var(--notch), #000 calc(var(--notch) + .6px)) 100% 0 / 51% 51% no-repeat, radial-gradient(circle at 0 100%, #0000 var(--notch), #000 calc(var(--notch) + .6px)) 0 100% / 51% 51% no-repeat, radial-gradient(circle at 100% 100%, #0000 var(--notch), #000 calc(var(--notch) + .6px)) 100% 100% / 51% 51% no-repeat;-webkit-mask:radial-gradient(circle at 0 0, #0000 var(--notch), #000 calc(var(--notch) + .6px)) 0 0 / 51% 51% no-repeat, radial-gradient(circle at 100% 0, #0000 var(--notch), #000 calc(var(--notch) + .6px)) 100% 0 / 51% 51% no-repeat, radial-gradient(circle at 0 100%, #0000 var(--notch), #000 calc(var(--notch) + .6px)) 0 100% / 51% 51% no-repeat, radial-gradient(circle at 100% 100%, #0000 var(--notch), #000 calc(var(--notch) + .6px)) 100% 100% / 51% 51% no-repeat;mask:radial-gradient(circle at 0 0, #0000 var(--notch), #000 calc(var(--notch) + .6px)) 0 0 / 51% 51% no-repeat, radial-gradient(circle at 100% 0, #0000 var(--notch), #000 calc(var(--notch) + .6px)) 100% 0 / 51% 51% no-repeat, radial-gradient(circle at 0 100%, #0000 var(--notch), #000 calc(var(--notch) + .6px)) 0 100% / 51% 51% no-repeat, radial-gradient(circle at 100% 100%, #0000 var(--notch), #000 calc(var(--notch) + .6px)) 100% 100% / 51% 51% no-repeat;transition:box-shadow .5s var(--ease);border-radius:0;padding:14px 18px}:where(input[type=text]:not([readonly]),input[type=email],input[type=password]){height:52px;padding:0 18px}:where(input[type=text]:not([readonly]),input[type=email],input[type=password],textarea):focus{--ring:#dcaa52;--gold-line:linear-gradient(90deg, #d9a650, #fbe3a6 50%, #d9a650);outline:none;box-shadow:inset 0 0 22px #e3b56638}input:focus,textarea:focus{outline:none}input::placeholder,textarea::placeholder{color:#f6eedc80}.handwritten-input{font-family:var(--hand);color:#f3e4c0;font-size:1.9rem;line-height:1}.handwritten-input:placeholder-shown{font-family:var(--body);font-size:inherit;line-height:inherit}textarea{resize:vertical;min-height:96px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{position:relative}.chip input{opacity:0;position:absolute;inset:0}.chip span{--notch:8px;isolation:isolate;text-align:center;min-width:68px;min-height:52px;font:600 1.02rem/1.2 var(--display);font-variant-numeric:lining-nums;color:var(--paper);cursor:pointer;transition:color .3s var(--ease), filter .4s var(--ease);justify-content:center;align-items:center;padding:8px 20px;display:inline-flex;position:relative}.chip span:before{background:linear-gradient(90deg,#b9853a,#f1d28c 50%,#b9853a);inset:0}.chip span:after{transition:background .3s var(--ease), opacity .3s var(--ease);background:#0e1a33eb;inset:1.5px}.chip:hover span:after{background:#182648f0}.chip input:checked+span{color:var(--midnight);filter:drop-shadow(0 4px 10px #03071266)}.chip input:checked+span:before{background:linear-gradient(#fff8e173 0,#fff8e100 2px,#0000 calc(100% - 2px),#5c3a0c59 100%),linear-gradient(90deg,#c8913e 0%,#e2b461 22%,#f6dc9a 48%,#e9c070 66%,#c48b3a 100%)}.chip input:checked+span:after{opacity:0}.chip input:focus-visible+span{outline:3px solid var(--gold);outline-offset:4px;border-radius:4px}.error{color:var(--warn);margin-top:12px}.notice{border-left:3px solid var(--gold);color:var(--muted);padding:4px 0 4px 14px}.paper{color:var(--ink);background:radial-gradient(120% 90% at 10% 0%, #ffffff8c, transparent 55%), var(--paper);border-radius:6px;padding:clamp(20px,4vw,32px);box-shadow:inset 0 1px #fff9,0 24px 60px -24px #000000b3}.paper a{color:var(--seal)}.handwritten{font-family:var(--hand);font-size:2.3rem;line-height:1.25}.shot,.choice,.paper{--s:.17;--bt:calc(190px * var(--s));--br:calc(200px * var(--s));--bb:calc(200px * var(--s));--bl:calc(200px * var(--s));isolation:isolate;color:var(--ink);border:solid #0000;border-width:var(--bt) var(--br) var(--bb) var(--bl);box-shadow:none;background:0 0;border-radius:0;position:relative}.shot:before,.choice:before,.paper:before{content:"";inset:calc(-1 * var(--bt)) calc(-1 * var(--br)) calc(-1 * var(--bb)) calc(-1 * var(--bl));z-index:-1;border:solid #0000;border-width:var(--bt) var(--br) var(--bb) var(--bl);filter:drop-shadow(0 18px 26px #00000080);transition:filter .4s var(--ease);background:#f2d9b3 padding-box padding-box;border-image:url(/promise/letter.webp) 190 200 200 fill;position:absolute}.shot :is(.hint,ul),.choice .hint,.paper .hint{color:#5e4b33}.shot a,.choice a,.paper a{color:var(--ink);text-decoration-color:#2a211866}.shot .error,.paper .error{color:#8f2228}.shot{grid-template-columns:96px 1fr;gap:20px;padding:4px 6px 2px;display:grid}.shot+.shot{margin-top:22px}.shot:last-of-type{margin-bottom:30px}.shot-glyph{background:#fbf3e2;border:5px solid #fffaf0;place-items:center;width:96px;height:96px;display:grid;overflow:hidden;transform:rotate(-2deg);box-shadow:0 6px 14px -6px #2a21188c}.shot-glyph img{object-fit:cover;width:100%;height:100%}.shot-glyph svg{width:84%}.shot h2{font-size:var(--step-1);color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.tag{font-family:var(--display);font-style:italic;font-size:var(--step--1);color:#7a6a52;font-weight:400}.tag.needed{color:#8a5a12}.shot ul{font-size:var(--step--1);margin:8px 0 12px;padding-left:18px}.shot .status-ok{font-family:var(--display);color:#2f6b4f;font-style:italic}.photo-progress{gap:8px;margin:10px 0 4px;display:grid}.photo-progress-label{font-family:var(--display);color:#5e4b33;margin:0;font-style:italic}.photo-progress-track{background:#2a211824;border:1px solid #8a5a128c;border-radius:99px;height:10px;position:relative;overflow:visible}.photo-progress-fill{transform-origin:0;transition:transform .5s var(--ease);background:linear-gradient(90deg,#b9853a,#f1d28c 50%,#b9853a);border-radius:99px;position:absolute;inset:0}.photo-progress-track[data-working=true] .photo-progress-fill{background-image:linear-gradient(100deg,#0000 30%,#ffffff8c 50%,#0000 70%),linear-gradient(90deg,#b9853a,#f1d28c 50%,#b9853a);background-size:200% 100%,100% 100%;animation:1.8s linear infinite photo-progress-sheen}.photo-progress-spark{width:22px;height:22px;color:var(--gold-deep);transition:left .5s var(--ease);margin:-11px 0 0 -11px;animation:1.6s ease-in-out infinite photo-progress-twinkle;position:absolute;top:50%}.photo-stages{color:#7a6a52;justify-content:space-between;gap:2px;margin:0;padding:0;font-size:.78rem;list-style:none;display:flex}.photo-stages li{align-items:center;gap:3px;display:flex}.photo-stage-star{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:#d8c7a3;width:13px;height:13px}.photo-stages li[data-state=done]{color:#5e4b33}.photo-stages li[data-state=done] .photo-stage-star{background:var(--gold-deep)}.photo-stages li[data-state=current]{color:var(--ink);font-weight:600}.photo-stages li[data-state=current] .photo-stage-star{background:var(--gold);transform:scale(1.3)}@keyframes photo-progress-sheen{0%{background-position:200% 0,0 0}to{background-position:-100% 0,0 0}}@keyframes photo-progress-twinkle{0%,to{opacity:.8;transform:scale(.8)rotate(0)}50%{opacity:1;transform:scale(1.15)rotate(20deg)}}@media (prefers-reduced-motion:reduce){.photo-progress-fill,.photo-progress-spark{transition:none;animation:none}.photo-progress-track[data-working=true] .photo-progress-fill{animation:none}}.shot ul.photo-checks{color:#2f6b4f;gap:4px;margin:8px 0 4px;padding:0;list-style:none;display:grid}.photo-checks li{padding-left:22px;position:relative}.photo-checks li:before{content:"";border:2px solid;border-width:0 2px 2px 0;width:6px;height:11px;position:absolute;top:.35em;left:4px;transform:rotate(40deg)}@media (max-width:520px){.shot{grid-template-columns:1fr;gap:12px}.shot-glyph{width:120px;height:90px}}.camera{z-index:50;background:#000;grid-template-rows:minmax(0,1fr) auto;height:100dvh;display:grid;position:fixed;inset:0}.camera video{object-fit:cover;width:100%;height:100%;min-height:0}.camera-guide{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0 0 120px}.camera-guide svg{opacity:.75;width:min(70vw,60vh)}.camera-hint{bottom:calc(132px + env(safe-area-inset-bottom));text-align:center;max-width:calc(100% - 32px);font:500 var(--step-0) / 1.3 var(--display);color:var(--paper);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0810249e;border-radius:999px;padding:10px 18px;position:absolute;left:50%;transform:translate(-50%)}.camera-checks{top:max(14px, env(safe-area-inset-top));font-size:var(--step--1);color:#f6eedcbf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0810248c;border-radius:12px;gap:6px;margin:0;padding:10px 14px;font-weight:400;list-style:none;display:grid;position:absolute;left:14px}.camera-checks li{transition:color .3s var(--ease);align-items:center;gap:8px;display:flex}.camera-checks svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.camera-checks li[data-ok=yes]{color:var(--gold)}.camera-auto{width:96px;font-size:var(--step--1);color:#f6eedcb3;text-align:right;line-height:1.3}.camera-bar{padding:18px 24px max(18px, env(safe-area-inset-bottom));background:#000;justify-content:space-between;align-items:center;display:flex}.shutter{border:4px solid var(--paper);background:var(--gold);cursor:pointer;border-radius:50%;width:74px;height:74px;position:relative}.shutter-ring{pointer-events:none;width:calc(100% + 20px);height:calc(100% + 20px);position:absolute;inset:-10px;transform:rotate(-90deg)}.shutter-ring circle{fill:none;stroke:var(--gold);stroke-width:4px;stroke-dasharray:1;transition:stroke-dashoffset .25s linear}@media (prefers-reduced-motion:reduce){.shutter-ring circle{transition:none}}@media (orientation:landscape){.camera{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) auto}.camera-guide{inset:0 132px 0 0}.camera-guide svg{width:min(50vw,60vh)}.camera-bar{padding:14px max(16px, env(safe-area-inset-right)) 14px 16px;flex-direction:column-reverse;justify-content:center;gap:18px}.camera-auto{text-align:center}.camera-hint{bottom:max(14px, env(safe-area-inset-bottom));max-width:calc(100% - 180px);left:calc(50% - 66px)}.camera-checks{gap:4px;padding:8px 12px}}.stage{aspect-ratio:16/9;touch-action:none;-webkit-user-select:none;user-select:none;background-color:#0b1428;background-image:radial-gradient(60% 70% at 50% 55%,#e3b56638,#0000 70%),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:140% 140%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:2px;margin:10px;animation:3.2s ease-in-out infinite alternate develop;position:relative;overflow:hidden;box-shadow:0 0 0 10px #f6ecd6,0 0 0 11px #2a21182e,0 30px 50px -18px #000c}@keyframes develop{0%{background-position:30% 40%}to{background-position:70% 60%}}@media (prefers-reduced-motion:reduce){.stage{animation:none}}.stage>img{object-fit:cover;width:100%;height:100%}.marker{border:2px dashed var(--gold);cursor:grab;background:radial-gradient(60% 40% at 50% 100%,#e3b56659,#0000 70%);border-radius:46% 46% 10px 10px/30% 30% 10px 10px;position:absolute;box-shadow:0 0 30px -6px #e3b56699}.marker:active{cursor:grabbing}.marker:after{content:"";background:radial-gradient(closest-side, var(--gold) 70%, transparent 72%) 0 0 / 42% 100% no-repeat, radial-gradient(closest-side, var(--gold) 70%, transparent 72%) 100% 0 / 42% 100% no-repeat;opacity:.85;width:44%;height:7%;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}.marker-handle{background:var(--gold);border:3px solid var(--midnight);cursor:nwse-resize;border-radius:50%;width:26px;height:26px;position:absolute;top:-12px;right:-12px}.stage-caption{text-align:center;font-family:var(--display);color:var(--muted);font-style:italic;font-size:var(--step--1);margin-top:22px}.waiting{text-align:center;justify-items:center;gap:18px;padding:48px 0;display:grid}.waiting-star{filter:drop-shadow(0 0 14px #e3b566bf);background:var(--gold);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);width:46px;height:46px;animation:1.8s ease-in-out infinite twinkle}@keyframes twinkle{0%,to{opacity:.7;transform:scale(.85)rotate(0)}50%{opacity:1;transform:scale(1.05)rotate(10deg)}}.waiting p{font-family:var(--display);font-size:var(--step-2);max-width:18em;font-style:italic}.santa-progress{text-align:center;justify-items:center;gap:20px;padding:40px 0 24px;display:grid}.santa-progress-line{font-family:var(--display);font-size:var(--step-2);max-width:18em;min-height:2.6em;margin:0;font-style:italic}.ribbon{background:#08102499;border:1.5px solid #e3b566b3;border-radius:999px;width:min(100%,420px);height:14px;position:relative}.ribbon-fill{background:repeating-linear-gradient(-45deg, #ffffff2e 0 6px, transparent 6px 14px), linear-gradient(90deg, #b8863a, var(--gold) 70%, #f3d79a);background-size:28px 28px,100% 100%;border-radius:999px;height:100%;transition:width .5s linear;animation:1.6s linear infinite ribbon-shimmer}@keyframes ribbon-shimmer{to{background-position:28px 0,0 0}}.ribbon-star{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);filter:drop-shadow(0 0 8px #e3b566e6);background:#f3d79a;width:26px;height:26px;transition:left .5s linear;position:absolute;top:50%;transform:translate(-50%,-50%)}.ribbon-stages{font-size:var(--step--1);color:#f6eedc8c;flex-wrap:wrap;justify-content:center;gap:8px 12px;margin:0;padding:0;list-style:none;display:flex}.ribbon-stages li{transition:color .4s var(--ease);align-items:center;gap:6px;display:flex}.ribbon-stages li[data-state=done],.ribbon-stages li[data-state=now]{color:var(--gold)}.ribbon-stages svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.ribbon-stages li[data-state=now] circle{fill:currentColor}@media (prefers-reduced-motion:reduce){.ribbon-fill{transition:none;animation:none}.ribbon-star{transition:none}}.santa-problem{text-align:center;padding:32px 0 8px}.santa-problem h2{margin:0 0 10px}.reveal{animation:reveal 1.4s var(--ease) both}@keyframes reveal{0%{opacity:0;filter:brightness(2.2)blur(6px);transform:scale(1.02)}to{opacity:1;filter:none;transform:none}}.choices{gap:30px;display:grid}@media (min-width:640px){.choices{grid-template-columns:1fr 1fr}}.choice{cursor:pointer;transition:transform .4s var(--ease);gap:10px;padding:4px 4px 8px;display:grid}.choice input{opacity:0;position:absolute}.choice-art{aspect-ratio:16/9;object-fit:cover;border:5px solid #fffaf0;width:100%;box-shadow:0 8px 16px -8px #2a211899}.choice-seal{filter:drop-shadow(0 4px 6px #0006);opacity:0;width:64px;height:auto;transition:opacity .3s var(--ease), transform .45s var(--ease);pointer-events:none;position:absolute;top:-8px;right:-6px;transform:scale(1.4)rotate(-12deg)}.choice:has(input:checked){transform:translateY(-4px)}.choice:has(input:checked):before{filter:drop-shadow(0 18px 26px #00000080)drop-shadow(0 0 16px #e3b56699)}.choice:has(input:checked) .choice-seal{opacity:1;transform:scale(1)rotate(-12deg)}.choice:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:10px}.choice:has(input:disabled){cursor:not-allowed}.choice:has(input:disabled) .choice-art{filter:grayscale(.7)brightness(.8)}.choice h2{font-size:var(--step-1);color:var(--ink)}.stills{gap:28px;display:grid}.still figure{margin:0}.still img{aspect-ratio:16/9;object-fit:cover;background:var(--deep);border:8px solid #f6ecd6;border-radius:2px;width:100%;box-shadow:0 26px 44px -18px #000c}.still figcaption{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.still figcaption h2{font-size:var(--step-1)}.approved{color:var(--ok);font-weight:600}.retry-panel{border-radius:var(--radius-soft);border:1px solid var(--line);background:#08102499;margin-top:14px;padding:18px}.workshop{border-left:2px solid var(--line);margin:24px 0 0;padding:0;list-style:none}.workshop li{color:var(--muted);padding:8px 0 8px 22px;position:relative}.workshop li:before{content:"";background:var(--line);border-radius:50%;width:10px;height:10px;position:absolute;top:16px;left:-6px}.workshop li:last-child{color:var(--paper)}.workshop li:last-child:before{background:var(--gold);box-shadow:0 0 12px var(--gold)}.workshop time{font-size:var(--step--1);color:var(--muted);font-variant-numeric:tabular-nums;margin-right:10px}@media (prefers-reduced-motion:no-preference){.story [data-reveal]{transition:opacity 1.2s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay,0s), translate 1.5s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay,0s), scale 2.8s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay,0s), transform .5s var(--ease)}.story [data-reveal=rise]:not(.is-visible){opacity:0;translate:0 36px}.story [data-reveal=photo]:not(.is-visible){opacity:.25;scale:1.07}}.landing{overflow-x:clip}.foil{color:#0000;-webkit-text-fill-color:transparent;text-shadow:none;background-image:linear-gradient(100deg,#a87a33 0%,#e9c77c 16%,#fcefc6 30%,#e3b566 44%,#b5873a 58%,#f4dc9a 76%,#c99540 100%);background-position:0%;background-size:220% 100%;-webkit-background-clip:text;background-clip:text}.foil.shimmer{animation:foil-sheen 3.4s var(--ease) .8s both}@keyframes foil-sheen{0%{background-position:100%}to{background-position:0%}}.kicker{font-family:var(--hand);color:#f3e4c0;margin-bottom:6px;font-size:clamp(2.1rem,1.5rem + 1.9vw,3.2rem);font-weight:400;line-height:1;display:inline-block;transform:rotate(-2deg)}.sketch{color:#f6eedc33;pointer-events:none;z-index:0;position:absolute}.hero{isolation:isolate;align-items:end;min-height:100svh;display:grid;position:relative;overflow:hidden}.hero-media{z-index:-2;position:absolute;inset:0}.hero-media img,.hero-media video{object-fit:cover;object-position:50% 40%;width:100%;height:100%;animation:settle 14s var(--ease) both}@keyframes settle{0%{filter:brightness(.5);transform:scale(1.12)}to{filter:brightness();transform:scale(1)}}.hero:before{content:"";z-index:-1;background:linear-gradient(180deg, #0810248c 0%, #08102400 30%), linear-gradient(0deg, var(--midnight) 0%, #0e1a33e0 34%, #0e1a3373 58%, #0e1a3300 78%);position:absolute;inset:0}@media (min-width:800px){.hero:before{background:linear-gradient(180deg, #0810248c 0%, #08102400 30%), linear-gradient(90deg, #0e1a33d1 0%, #0e1a3399 30%, #0e1a3300 58%), linear-gradient(0deg, var(--midnight) 0%, #0e1a33a6 22%, #0e1a3300 50%)}}@media (max-width:799px){.hero-media img,.hero-media video{object-position:66% 40%}}.hero-link{color:var(--paper);font-size:var(--step-0);text-underline-offset:6px;transition:text-decoration-color .4s var(--ease), color .4s var(--ease);font-weight:300;-webkit-text-decoration:underline #e3b5668c;text-decoration:underline #e3b5668c;text-decoration-thickness:1px}.hero-link:hover{color:#f3e4c0;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold)}.hero-media{-webkit-mask-image:linear-gradient(#000 0% 58%,#0000 100%);mask-image:linear-gradient(#000 0% 58%,#0000 100%)}.hero:before{-webkit-mask-image:linear-gradient(#000 0% 90%,#0000 100%);mask-image:linear-gradient(#000 0% 90%,#0000 100%)}.hero .topbar{z-index:1;position:absolute;top:0;left:0;right:0}.hero-copy{z-index:1;width:min(1240px,100% - 2*clamp(16px,4vw,40px));margin-inline:auto;padding-bottom:clamp(44px,9vh,96px);position:relative}.hero h1{font-size:var(--step-4);letter-spacing:-.005em;text-shadow:0 2px 30px #00000080;max-width:11em;font-weight:420}.hero h1 em{filter:drop-shadow(0 2px 18px #0000008c);padding-bottom:.08em;font-style:italic;display:block}.hero-sub{text-wrap:balance;font-size:var(--step-1);color:var(--paper);max-width:30em;margin:20px 0 30px}.hero-actions{flex-wrap:wrap;align-items:center;gap:14px 24px;display:flex}.hero-meta{color:var(--muted);font-size:var(--step--1);margin-top:16px;line-height:1.45}.hero-meta a{color:var(--gold);text-underline-offset:3px}.snow{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.section{width:min(1120px,100% - 32px);margin:0 auto;padding:clamp(56px,8vw,104px) 0;position:relative}.section h2{font-size:var(--step-3);max-width:16em;margin-bottom:36px;font-weight:430}.ceremony{z-index:1;text-align:center;max-width:44em;margin:0 auto clamp(36px,5vw,56px);position:relative}.section .ceremony h2,.northpole .ceremony h2,.band h2,.finale h2{font-size:var(--step-4);letter-spacing:-.005em;max-width:none;margin:0;padding-bottom:.06em;font-weight:420}.ceremony-lead{color:var(--muted);font-size:var(--step-1);max-width:30em;margin:16px auto 0}.film .fir-left{width:clamp(140px,22vw,260px);top:clamp(40px,7vw,90px);left:clamp(-60px,-3vw,-10px);transform:rotate(-24deg)}.film .fir-right{width:clamp(140px,22vw,260px);top:clamp(30px,5vw,70px);right:clamp(-60px,-3vw,-10px);transform:scaleX(-1)rotate(-18deg)}.chapters{z-index:1;gap:22px;display:grid;position:relative}@media (min-width:920px){.chapters{grid-template-columns:1.6fr 1fr;align-items:center;gap:40px}}.chapter-screen{aspect-ratio:16/9;background:#050a18;border-radius:12px;position:relative;overflow:hidden;box-shadow:0 50px 90px -40px #000000f2,0 0 0 1px #e3b56666,0 0 80px -20px #e3b56640}.chapter-screen img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 1.2s var(--ease), transform 0s linear 1.2s;position:absolute;inset:0;transform:scale(1.07)}.chapter-screen img.on{opacity:1;transition:opacity 1.2s var(--ease), transform 8s linear;transform:scale(1)}.chapter-screen:after{content:"";pointer-events:none;border:1px solid #f6dfa659;border-radius:6px;position:absolute;inset:10px;box-shadow:0 0 0 40px #050a1800,inset 0 0 120px #050a188c}.chapter-time{z-index:1;border-radius:var(--radius-pill);font-size:var(--step--1);font-variant-numeric:tabular-nums;color:var(--paper);background:#081024ad;padding:3px 12px;position:absolute;bottom:20px;left:22px}.chapter-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.chapter-list button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .3s var(--ease);background:0 0;border:0;border-radius:10px;grid-template-columns:3.1em 1fr;gap:12px;padding:12px 16px;display:grid;position:relative;overflow:hidden}.chapter-list button:hover{background:#f6eedc0a}.chapter-list button[aria-current]{background:#e3b56617}.chapter-num{font-family:var(--body);font-size:var(--step--1);color:var(--muted);font-variant-numeric:tabular-nums;padding-top:3px}.chapter-list button[aria-current] .chapter-num{color:var(--gold)}.chapter-text strong{font-family:var(--display);font-weight:450;font-size:var(--step-1);color:var(--paper);line-height:1.25;display:block}.chapter-text span{color:var(--muted);font-size:var(--step--1);opacity:0;max-height:0;transition:max-height .5s var(--ease), opacity .5s var(--ease), margin .5s var(--ease);line-height:1.5;display:block;overflow:hidden}.chapter-list button[aria-current] .chapter-text span{opacity:1;max-height:6em;margin-top:4px}.chapter-progress{background:var(--gold);transform-origin:0;opacity:.7;height:2px;animation:5.2s linear both chapter-progress;position:absolute;bottom:4px;left:16px;right:16px}@keyframes chapter-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.band,.finale{isolation:isolate;display:grid;position:relative;overflow:hidden}.band{align-items:end;min-height:min(88svh,780px)}.band-media{object-fit:cover;z-index:-2;width:100%;height:100%;position:absolute;inset:0}.band:before,.finale:before{content:"";z-index:-1;position:absolute;inset:0}.band .band-media,.band:before,.finale .band-media,.finale:before{-webkit-mask-image:linear-gradient(#0000 0%,#000 24% 74%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 24% 74%,#0000 100%)}@media (min-width:900px){.band .band-media{-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;width:76%;left:auto;-webkit-mask-image:linear-gradient(#0000 0%,#000 24% 74%,#0000 100%),linear-gradient(90deg,#0000 0%,#000 34%);mask-image:linear-gradient(#0000 0%,#000 24% 74%,#0000 100%),linear-gradient(90deg,#0000 0%,#000 34%);-webkit-mask-composite:source-in;mask-composite:intersect}}.band:before{background:linear-gradient(180deg, var(--midnight) 0%, #0e1a3300 22%), linear-gradient(0deg, var(--midnight) 0%, #0e1a33d1 26%, #0e1a3333 62%, #0e1a3300 80%), linear-gradient(90deg, var(--midnight) 0%, var(--midnight) 24%, #0e1a33bf 38%, #0e1a3300 64%), radial-gradient(120% 90% at 50% 50%, transparent 50%, #050a1899 100%)}@media (max-width:699px){.band .band-media{object-position:62% 30%}.band:before{background:linear-gradient(180deg, var(--midnight) 0%, #0e1a3300 18%), linear-gradient(0deg, var(--midnight) 0%, #0e1a33e6 42%, #0e1a3326 75%)}}.band-copy{width:min(1120px,100% - 32px);margin:0 auto;padding-bottom:clamp(56px,9vw,110px)}.band-copy h2{max-width:13em}.band-copy p:last-child{font-size:var(--step-1);max-width:32em;margin-top:18px}.how-medallion{width:84px;color:var(--gold);margin:0 auto 16px;display:block}.medallion-fill{fill:var(--midnight)}.postcards{gap:34px;max-width:420px;margin:clamp(32px,5vw,56px) auto 0;padding:0;list-style:none;display:grid}@media (min-width:1000px){.postcards{grid-template-columns:repeat(3,1fr);gap:38px;max-width:none}}.postcard{isolation:isolate;aspect-ratio:601/794;color:var(--ink);position:relative;transform:rotate(-1.4deg);container-type:inline-size}.postcard:nth-child(2){transform:rotate(1.1deg)}.postcard:nth-child(3){transform:rotate(-.6deg)}.postcard:before{content:"";z-index:-1;filter:drop-shadow(0 22px 26px #0000008c);background:url(/postcards/postcard-1.webp) 0 0/100% 100% no-repeat;position:absolute;inset:0}.postcard:nth-child(2):before{background-image:url(/postcards/postcard-2.webp)}.postcard:nth-child(3):before{background-image:url(/postcards/postcard-3.webp)}.postcard-text{position:absolute;top:44%;left:13%;right:13%}@media (hover:hover) and (prefers-reduced-motion:no-preference){.postcard{transition:transform .5s var(--ease)}.postcard:hover{transform:rotate(0)translateY(-6px)}}.postcard-step{font-family:var(--display);color:#7a5e38;font-size:4.6cqw;font-style:italic;line-height:1.2}.postcard h3{color:var(--ink);margin:.8cqw 0 2.4cqw;font-size:7.4cqw;font-weight:450;line-height:1.12}.postcard h3+p{color:#4a3d2c;font-size:4.5cqw;line-height:1.45}.frame-cta{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 28px;margin-top:clamp(40px,6vw,60px);display:flex}.split{align-items:center;gap:44px;display:grid}@media (min-width:920px){.split{grid-template-columns:1.1fr 1fr;gap:72px}}.envelope-demo{justify-items:center;display:grid}.envelope-demo .tilt{width:min(480px,100%);transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .45s var(--ease);margin-top:calc(min(480px,92vw)/2.34697);position:relative}.envelope-demo .envelope{width:100%;margin-top:0}.glare{z-index:5;pointer-events:none;background:radial-gradient(45% 55% at var(--gx,30%) var(--gy,20%), #fff4d673, transparent 70%);mix-blend-mode:soft-light;border-radius:8px;position:absolute;inset:0}.envelope-try{text-align:center;min-height:84px;margin-top:22px}.envelope-try label span{color:var(--muted);font-size:var(--step--1);margin-bottom:8px;display:block}.envelope-try input{text-align:center;width:min(280px,80vw);min-height:52px;padding:0 18px}.split-copy{position:relative}.split-copy .bells{width:clamp(80px,10vw,120px);top:-96px;right:4%;transform:rotate(10deg)}@media (max-width:919px){.split-copy .bells{display:none}}.split-copy h2{position:relative}.split-lead{font-size:var(--step-1);max-width:28em;margin-bottom:28px}.starred{color:var(--muted);gap:16px;margin:0;padding:0;list-style:none;display:grid}.starred li{grid-template-columns:22px 1fr;gap:10px;display:grid}.starred .bullet{width:13px;height:13px;color:var(--gold);margin-top:.45em}.proof{align-items:center;gap:28px;display:grid}@media (min-width:800px){.proof{grid-template-columns:1fr 1.25fr}}.photo{background:#fbf7ee;margin:0;padding:12px 12px 44px;position:relative;box-shadow:0 30px 60px -30px #000c}.photo:first-child{transform:rotate(-2.5deg)}.photo:last-child{transform:rotate(1.5deg)}.photo img{aspect-ratio:4/3;object-fit:cover;width:100%}.photo figcaption{font-family:var(--hand);color:var(--ink);font-size:2rem;position:absolute;bottom:8px;left:16px}.promise-section{justify-items:center;gap:clamp(48px,7vw,72px);display:grid}.promise{--s:.42;--bt:calc(190px * var(--s));--br:calc(200px * var(--s));--bb:calc(200px * var(--s));--bl:calc(200px * var(--s));isolation:isolate;width:min(780px,100%);color:var(--ink);border:solid #0000;border-width:var(--bt) var(--br) var(--bb) var(--bl);padding:2px 8px 0;position:relative;transform:rotate(-1deg)}.promise:before{content:"";inset:calc(-1 * var(--bt)) calc(-1 * var(--br)) calc(-1 * var(--bb)) calc(-1 * var(--bl));z-index:-1;border:solid #0000;border-width:var(--bt) var(--br) var(--bb) var(--bl);filter:drop-shadow(0 24px 34px #00000080);background:#f2d9b3 padding-box padding-box;border-image:url(/promise/letter.webp) 190 200 200 fill;position:absolute}@media (max-width:640px){.promise{--s:.24;padding:6px 4px 4px}}.promise p{font-family:var(--hand);font-size:clamp(1.45rem,1.15rem + 1vw,1.9rem);line-height:1.3}.promise p+p{margin-top:10px}.promise .signature{margin-top:6px;font-size:clamp(2.6rem,2rem + 2vw,3.4rem);line-height:1}.promise .handwritten{margin-bottom:4px;font-size:clamp(2.1rem,1.6rem + 1.6vw,2.8rem);line-height:1.1}.promise-holly{right:calc(-235px * var(--s));top:calc(-300px * var(--s));width:calc(380px * var(--s));filter:drop-shadow(0 6px 8px #00000059);pointer-events:none;height:auto;position:absolute;transform:rotate(10deg)}.signature{font-family:var(--hand);color:var(--seal);margin-top:8px;font-size:3rem}.assurances{gap:28px;width:100%;margin:0;padding:0;list-style:none;display:grid}@media (min-width:800px){.assurances{grid-template-columns:repeat(3,1fr);gap:40px}}.assurances li{border-top:1px solid #e3b56666;gap:6px;padding-top:18px;display:grid}.assurances strong{font-family:var(--display);font-weight:450;font-size:var(--step-1)}.assurances span{color:var(--muted)}.faq{gap:24px;display:grid}@media (min-width:920px){.faq{grid-template-columns:1fr 1.7fr;align-items:start;gap:72px}.faq-head{position:sticky;top:40px}}.faq-head h2{margin-bottom:0}.faq .divider{width:200px;color:var(--gold-deep);margin-top:20px}:is(.faq,.help-list) details{border-top:1px solid var(--line);padding:20px 0}:is(.faq,.help-list) details:last-child{border-bottom:1px solid var(--line)}:is(.faq,.help-list) summary{cursor:pointer;font-family:var(--display);font-weight:430;font-size:var(--step-1);justify-content:space-between;gap:16px;list-style:none;display:flex}:is(.faq,.help-list) summary::-webkit-details-marker{display:none}:is(.faq,.help-list) summary:after{content:"+";color:var(--gold);font-family:var(--body)}:is(.faq,.help-list) details[open] summary:after{content:"−"}:is(.faq,.help-list) details p{color:var(--muted);max-width:40em;margin-top:10px}.finale{text-align:center;place-items:center;min-height:min(92svh,840px)}.finale .band-media{filter:brightness(.85)saturate(.95)}.finale:before{background:linear-gradient(180deg, var(--midnight) 0%, #0e1a3300 26%), linear-gradient(0deg, var(--midnight) 0%, #0e1a3300 30%), radial-gradient(70% 60% at 50% 55%, #08102459 0%, #081024cc 100%)}.finale-copy{justify-items:center;gap:18px;padding:0 16px;display:grid}.finale h2{margin-bottom:8px;font-size:clamp(3rem,2rem + 5vw,6.4rem)}.footer{width:min(1120px,100% - 32px);color:var(--muted);font-size:var(--step--1);border-top:1px solid var(--line);gap:20px;margin:0 auto;padding:40px 0 60px;display:grid}@media (min-width:800px){.footer{grid-template-columns:auto 1fr;align-items:center;gap:48px}}.footer-mark{align-items:center;gap:14px;display:flex}.footer-medallion{width:56px;color:var(--gold-deep)}.footer-notes{gap:6px;max-width:52em;display:grid}.envelope-scene{background:radial-gradient(70% 50% at 50% 55%,#e3b5661f,#0000 70%);place-items:center;min-height:100svh;padding:24px 16px 40px;display:grid;position:relative;overflow:hidden}.envelope-stage{z-index:1;justify-items:center;gap:14px;display:grid;position:relative}.envelope{--paper-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.25 0 0 0 0 0.12 0 0 0 0.09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");aspect-ratio:1334/861;perspective:1600px;width:min(560px,92vw);margin-top:calc(min(560px,92vw)/2.34697);position:relative;container-type:inline-size}.envelope.nudge{animation:nudge .6s var(--ease)}@keyframes nudge{20%{transform:rotate(-2deg)}40%{transform:rotate(2deg)}60%{transform:rotate(-1deg)}80%{transform:rotate(1deg)}}.envelope-back{background:var(--paper-grain), linear-gradient(170deg, #ead9b6, #d9c296);border-radius:8px;position:absolute;inset:0;box-shadow:0 50px 90px -30px #000000e6,inset 0 0 0 1px #ffffff26}.envelope-card{background:var(--paper-grain), linear-gradient(180deg, #fffaf0, #f3e6c9);text-align:center;height:84%;color:var(--ink);transition:transform 1.1s var(--ease), box-shadow 1.1s;z-index:1;border-radius:4px;place-content:center;padding:0 24px;display:grid;position:absolute;top:8%;left:6%;right:6%;transform:translateY(0)}.envelope-card>*{opacity:0;transition:opacity .7s var(--ease) .35s}.envelope-card.rise{transform:translateY(-58%);box-shadow:0 14px 28px -16px #00000059}.envelope-card.rise>*{opacity:1}.card-kicker{font-family:var(--body);color:#8a6a3c;font-size:.85rem}.card-title{font-family:var(--display);margin-top:6px;font-size:clamp(1.5rem,4.5vw,2.1rem);font-style:italic;line-height:1.15}.envelope-front{z-index:2;clip-path:polygon(0 8.13%,49.18% 62.72%,100% 9.87%,100% 100%,0 100%);background:url(/envelope/envelope-body.webp) 0 0/100% 100% no-repeat;position:absolute;inset:0}.envelope-address{text-align:center;gap:.4cqw;margin:0;display:grid;position:absolute;top:63.5%;left:12%;right:12%}.envelope-address span{font-family:var(--hand);color:#1c2a56;white-space:nowrap;text-overflow:ellipsis;font-size:8.4cqw;line-height:1.12;overflow:hidden}.envelope-address small{font-family:var(--hand);color:#a8792a;font-size:4.3cqw;line-height:1.1}.envelope-flap{z-index:3;transform-style:preserve-3d;transform-origin:top;transition:transform .9s var(--ease) .38s, z-index 0s .8s;pointer-events:none;position:absolute;inset:0}.flap-front,.flap-back{backface-visibility:hidden;position:absolute;inset:0}.flap-front{clip-path:polygon(0 0,100% 0,100% 9.87%,97% 13%,97% 36%,79.91% 36%,79.91% 30.78%,49.18% 62.72%,0 8.13%);background:url(/envelope/envelope.webp) 0 0/100% 100% no-repeat}.flap-back{background:var(--paper-grain), linear-gradient(0deg, #f1e1bf, #e3cc9f);clip-path:polygon(0 100%,100% 100%,100% 90.13%,49.18% 37.28%,0 91.87%);transform:rotateX(180deg)}.envelope.open .envelope-flap{z-index:0;transform:rotateX(180deg)}.seal{z-index:4;aspect-ratio:312/298;cursor:pointer;filter:drop-shadow(0 6px 10px #00000059);width:23.39%;transition:transform .3s var(--ease);background:0 0;border:0;padding:0;position:absolute;top:29.97%;left:37.93%}.seal:hover{transform:scale(1.05)rotate(-3deg)}.seal:before{content:"";z-index:-1;background:radial-gradient(circle,#e3b5668c,#0000 65%);border-radius:50%;animation:2.8s ease-in-out infinite seal-glow;position:absolute;inset:-22%}.envelope.open .seal:before{opacity:0;animation:none}@keyframes seal-glow{0%,to{opacity:.35;transform:scale(.92)}50%{opacity:.9;transform:scale(1.05)}}.seal-half{transition:transform .7s var(--ease), opacity .7s var(--ease);position:absolute;inset:0}.seal-half img{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.seal-half.left{clip-path:polygon(0 0,56% 0,46% 38%,58% 62%,48% 100%,0 100%)}.seal-half.right{clip-path:polygon(54% 0,100% 0,100% 100%,46% 100%,56% 62%,44% 38%)}.envelope.open .seal-half.left{opacity:0;transform:translate(-46px,70px)rotate(-38deg)}.envelope.open .seal-half.right{opacity:0;transform:translate(46px,76px)rotate(32deg)}.envelope-tap{color:var(--muted);margin-top:10px}.countdown{text-align:center;margin-top:6px}.countdown p{font-family:var(--display);font-style:italic;font-size:var(--step-1)}.countdown ol{color:var(--muted);font-size:var(--step--1);justify-content:center;gap:12px;margin:12px 0 0;padding:0;list-style:none;display:flex}.countdown li{min-width:64px;display:grid}.countdown strong{font-family:var(--display);color:var(--paper);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:500}.link-button{color:var(--muted);text-underline-offset:3px;font:inherit;font-size:var(--step--1);cursor:pointer;background:0 0;border:0;margin-top:6px;text-decoration:underline}.status-ok .link-button{font-size:inherit;margin:0 0 0 10px}.shot .link-button{color:#5e4b33}.link-button:hover{color:var(--gold)}.film-player{z-index:1;width:min(1100px,100%);animation:reveal 1.2s var(--ease) both;gap:18px;display:grid;position:relative}.player{background:#000;border-radius:12px;position:relative;overflow:hidden;box-shadow:0 40px 100px -40px #e3b56680}.player video{aspect-ratio:16/9;width:100%;display:block}.play{cursor:pointer;color:var(--paper);font:600 1.1rem var(--body);background:radial-gradient(60% 60%,#08102426,#0810248c);border:0;place-content:center;justify-items:center;gap:14px;display:grid;position:absolute;inset:0}.play-icon{background:var(--gold);width:88px;height:88px;transition:transform .2s var(--ease);border-radius:50%;position:relative;box-shadow:0 0 0 10px #e3b56638,0 0 60px #e3b56699}.play-icon:after{content:"";border-left:28px solid var(--midnight);border-top:17px solid #0000;border-bottom:17px solid #0000;position:absolute;top:27px;left:36px}.play:hover .play-icon{transform:scale(1.06)}.end-card{text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:reveal .9s var(--ease) both;background:#081024db;place-content:center;gap:clamp(10px,2.4vw,22px);padding:12px;display:grid;position:absolute;inset:0}.end-title{font-family:var(--display);color:var(--paper);font-size:clamp(1.45rem,1rem + 2.4vw,3rem);font-style:italic}.end-card .actions{flex-wrap:nowrap}@media (max-width:520px){.end-card .btn{min-height:40px;padding:0 14px;font-size:.9rem}}.film-title{font-size:var(--step-3);text-align:center}.admin{width:min(1280px,100% - 32px);margin:0 auto;padding:24px 0 80px;font-size:.95rem}.admin h1{margin-bottom:16px;font-size:1.8rem}.admin h2{margin:32px 0 12px;font-size:1.3rem}.admin table{border-collapse:collapse;width:100%}.admin th,.admin td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 8px}.admin th{color:var(--muted);font-weight:500}.admin .num{text-align:right;font-variant-numeric:tabular-nums}.status{border-radius:var(--radius-pill);background:var(--dusk);padding:2px 10px;font-size:.82rem;display:inline-block}.status[data-s=in_review]{background:#6a4a12}.status[data-s=on_hold]{background:#6e1a20}.status[data-s=delivered]{background:#1d4a33}.flag{color:var(--warn);font-weight:600}.admin-bar{border:1px solid var(--line);border-radius:var(--radius-soft);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;padding:14px 16px;display:flex}.scene-row{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:12px;padding:16px 0;display:grid}@media (max-width:900px){.scene-row{grid-template-columns:1fr 1fr}}.scene-row figure{margin:0}.scene-row img,.scene-row video{aspect-ratio:16/9;object-fit:cover;background:var(--deep);border-radius:6px;width:100%}.scene-row figcaption{color:var(--muted);margin-top:4px;font-size:.8rem}.order-tabs{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 18px;display:flex}.order-tabs a{border-radius:var(--radius-pill);border:1px solid var(--line);color:inherit;padding:6px 12px;font-size:.88rem;text-decoration:none}.order-tabs a strong{margin-left:4px}.order-tabs a[aria-current=page]{border-color:var(--gold);background:var(--dusk)}.order-tabs a[data-tab=you] strong{color:var(--gold)}table.orders td{vertical-align:top}table.orders tr[data-who=you] td:first-child{box-shadow:inset 4px 0 0 var(--gold)}table.orders tr[data-who=done],table.orders tr[data-who=none],table.orders tr[data-who=test]{opacity:.7}.order-name{font-weight:600}.who{border-radius:var(--radius-pill);background:var(--dusk);border:1px solid var(--line);padding:1px 8px;font-size:.75rem;font-weight:600;display:inline-block}.who[data-who=you]{background:var(--gold);color:#0e1a33;border-color:var(--gold)}.who[data-who=elves]{background:#1c2f57;border-color:#4a7bd0}.who[data-who=family]{background:#2b2148;border-color:#8a6fc0}.who[data-who=done]{background:#173b2a;border-color:#2f7d55}.milestones{color:var(--muted);gap:2px;margin:0;padding:0;font-size:.8rem;list-style:none;display:grid}.milestones li:before{content:"○ "}.milestones li[data-done]{color:inherit}.milestones li[data-done]:before{content:"● ";color:var(--gold)}.milestones li span{color:var(--muted)}.order-overview{border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:0 0 16px;padding:14px 16px;display:grid}.order-overview h2{margin:0 0 8px;font-size:.95rem}.order-overview ul{gap:4px;margin:0;padding:0;font-size:.85rem;list-style:none;display:grid}.glance{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 20px;display:flex}.glance-card{background:var(--dusk);border-left:4px solid var(--line);border-radius:10px;flex-direction:column;min-width:120px;padding:10px 14px;display:flex}.glance-card strong{font-size:1.6rem;line-height:1.1}.glance-card span{color:var(--muted);font-size:.82rem}.glance-card[data-zero]{opacity:.55}.glance-card[data-s=processing]{border-left-color:#4a7bd0}.glance-card[data-s=awaiting_stills]{border-left-color:var(--gold)}.glance-card[data-s=in_review]{border-left-color:#c98a1e}.glance-card[data-s=on_hold]{border-left-color:#c0392b}.glance-card[data-s=delivered]{border-left-color:#2f7d55}.progress{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.scene-pill{border-radius:var(--radius-pill);background:var(--dusk);border:1px solid var(--line);white-space:nowrap;padding:2px 9px;font-size:.78rem;display:inline-block}.scene-pill[data-stage=working]{background:#1c2f57;border-color:#4a7bd0}.scene-pill[data-stage=working]:before{content:"● ";color:#7fa8ff}.scene-pill[data-stage=waiting]{border-color:var(--gold)}.scene-pill[data-stage=done]{background:#173b2a;border-color:#2f7d55}.scene-pill[data-stage=problem]{background:#4a1a1e;border-color:#c0392b}@media (prefers-reduced-motion:no-preference){.scene-pill[data-stage=working]:before{animation:1.4s ease-in-out infinite pill-pulse}}@keyframes pill-pulse{50%{opacity:.3}}.redo-panel{border:1px solid var(--gold);background:var(--dusk);border-radius:10px;flex-basis:100%;gap:10px;padding:14px;display:grid}.redo-panel textarea{width:100%;min-height:200px;font:inherit;color:inherit;background:var(--deep);border:1px solid var(--line);resize:vertical;border-radius:8px;padding:12px;font-size:.9rem;line-height:1.5}.redo-links{flex-wrap:wrap;align-items:center;gap:14px;font-size:.85rem;display:flex}.redo-links .link-button{margin:0}.clip-prompt{margin:6px 0 0;font-size:.85rem}.clip-prompt summary{cursor:pointer;color:var(--muted)}.clip-prompt p{white-space:pre-wrap;margin:6px 0 0;line-height:1.5}.admin-photos{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:24px;display:grid}.admin-photos figure{margin:0}.admin-photos img{aspect-ratio:4/3;object-fit:contain;background:var(--deep);border-radius:6px;width:100%}.admin-photos figcaption{color:var(--muted);margin-top:4px;font-size:.8rem}.scores{color:var(--muted);font-size:.82rem}.modal{z-index:40;background:#040814d9;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal>div{background:var(--midnight);border:1px solid var(--line);border-radius:var(--radius-soft);width:min(900px,100%);padding:20px}.outbox iframe{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;height:520px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.northpole{isolation:isolate;padding:clamp(84px,11vw,140px) 16px clamp(40px,6vw,72px);position:relative;overflow:hidden}.northpole:before{content:"";z-index:-2;pointer-events:none;background:radial-gradient(80% 40% at 50% 32%,#26606c38,#0000 70%),linear-gradient(#0a1531 0%,#081227 40%,#0a1531 100%);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 22% 78%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 22% 78%,#0000 100%)}.northpole>.ceremony,.northpole>.nicelist{z-index:2;position:relative}.aurora{z-index:-1;pointer-events:none;filter:blur(56px);opacity:.42;mix-blend-mode:screen;position:absolute;inset:0 -25% 40%;-webkit-mask-image:linear-gradient(#0000 0%,#000 40% 70%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 40% 70%,#0000 100%)}.aurora span{background:linear-gradient(90deg,#0000 0%,#7896e699 30%,#aabef566 62%,#0000 100%);border-radius:50%;width:78%;height:34%;animation:17s ease-in-out infinite alternate aurora;position:absolute;top:20%;left:12%;transform:rotate(-9deg)skew(-24deg)}.aurora span:nth-child(2){background:linear-gradient(90deg,#0000,#6e78d273 35%,#e3b56647 66%,#0000);width:66%;animation-duration:22s;animation-direction:alternate-reverse;top:36%;left:28%}.aurora span:nth-child(3){background:linear-gradient(90deg,#0000,#96aff066 40%,#e3b56638 76%,#0000);width:62%;height:28%;animation-duration:27s;top:6%;left:-4%;transform:rotate(6deg)skew(18deg)}@keyframes aurora{0%{opacity:.5;translate:-8%;scale:1 .7}50%{opacity:1}to{opacity:.7;translate:9% 7%;scale:1.12 1.18}}.sleigh-sky{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.sleigh{opacity:0;will-change:transform;width:clamp(150px,17vw,250px);transition:opacity .6s;position:absolute;top:0;left:0}.sleigh img{width:100%;display:block}.sleigh img+img{position:absolute;inset:0}.sleigh[data-leg="0"] img:last-child,.sleigh[data-leg="1"] img:first-child{opacity:0}.stardust{pointer-events:none;background:radial-gradient(circle,#fffaf0 0%,#f3d28a 42%,#f3d28a00 72%);border-radius:50%;animation:2.1s ease-out forwards stardust;position:absolute}@keyframes stardust{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(var(--drift,40px)) scale(.3)}}.magic-dust{z-index:60;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.nicelist{justify-items:center;gap:30px;display:grid}.scroll{filter:drop-shadow(0 30px 44px #0000008c);width:min(620px,100%);position:relative;container-type:inline-size}.scroll-art{width:100%;height:auto;display:block}.scroll-line{--row:10.1cqw;isolation:isolate;justify-content:space-between;align-items:center;gap:2cqw;width:59.6%;height:14.66%;display:flex;position:absolute;top:44%;left:21.2%}.scroll-line .ink{font-size:calc(var(--row) * .9);filter:drop-shadow(0 .5px #543208a6)drop-shadow(0 0 6px #f0c4648c);background-image:linear-gradient(100deg,#8a5a12 0%,#c99536 22%,#f2d084 40%,#b98327 58%,#e2b257 78%,#9c6a1c 100%);margin-top:-.04em;padding:.12em .15em .18em;line-height:1}.scroll-line:before{content:"";z-index:-1;filter:blur(3px);opacity:0;transition:opacity .9s var(--ease);background:linear-gradient(90deg,#f0c46400 0%,#f6ce706b 18%,#ffeca88c 42%,#f6ce7052 72%,#f0c46400 100%);border-radius:40%;position:absolute;inset:4% -3%}.nicelist[data-stage=ticked] .scroll-line:before,.nicelist[data-stage=done] .scroll-line:before{opacity:1}.scroll-search{opacity:0;pointer-events:none;background:radial-gradient(60% 70%,#ffe29666,#ffe29600 72%);border-radius:40%;width:64%;height:8.8%;position:absolute;top:26.4%;left:19%}.nicelist[data-stage=searching] .scroll-search{animation:1.9s cubic-bezier(.45,.05,.25,1) forwards search-list}.nicelist[data-stage=writing] .scroll-search{opacity:0;height:14.66%;transition:opacity .9s var(--ease);top:44%}@keyframes search-list{0%{opacity:0;height:8.8%;top:26.4%}12%{opacity:1;height:8.8%;top:26.4%}55%{opacity:1;height:8.8%;top:67.2%}to{opacity:1;height:14.66%;top:44%}}.tick{flex:none}.tick path{fill:none;stroke:#b22a2e;stroke-width:3.6px;stroke-linecap:round;stroke-linejoin:round}.ink-wrap{display:inline-block;position:relative}.ink{font-family:var(--hand);font-size:calc(var(--row) * 1.02);white-space:nowrap;filter:drop-shadow(0 0 5px #e3b5668c);color:#0000;-webkit-text-fill-color:transparent;clip-path:inset(0 100% 0 0);background-image:linear-gradient(100deg,#5e3a0a 0%,#9a6a1a 28%,#c89634 46%,#7a4f12 64%,#a87828 100%);-webkit-background-clip:text;background-clip:text;padding:0 .15em;line-height:1.15;display:inline-block}.nicelist[data-stage=writing] .ink{animation:1.5s cubic-bezier(.4,.1,.6,1) forwards write-name}.nicelist[data-stage=ticked] .ink,.nicelist[data-stage=done] .ink{clip-path:inset(0)}@keyframes write-name{to{clip-path:inset(0)}}.nib{opacity:0;background:radial-gradient(circle,#fffaf0 0%,#f3d28a 45%,#f3d28a00 72%);border-radius:50%;width:12px;height:12px;position:absolute;top:40%;left:0;box-shadow:0 0 14px 5px #f3d28ab3}.nicelist[data-stage=writing] .nib{animation:1.5s cubic-bezier(.4,.1,.6,1) forwards nib}@keyframes nib{0%{opacity:1;left:0;transform:translateY(0)}25%{transform:translateY(-6px)}50%{transform:translateY(5px)}75%{transform:translateY(-4px)}92%{opacity:1}to{opacity:0;left:100%;transform:translateY(0)}}.tick.big{width:4.4cqw;height:3.4cqw;margin-right:.6cqw}.tick.big path{stroke-dasharray:60;stroke-dashoffset:60px;transition:stroke-dashoffset .45s var(--ease)}.nicelist[data-stage=ticked] .tick.big path,.nicelist[data-stage=done] .tick.big path{stroke-dashoffset:0}.burst{pointer-events:none;position:absolute;top:50%;right:2.6cqw}.burst i{opacity:0;background:radial-gradient(circle,#fffaf0 0%,#e3b566 55%,#e3b56600 72%);border-radius:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;position:absolute}.nicelist[data-stage=ticked] .burst i{animation:1s ease-out forwards burst}@keyframes burst{0%{opacity:1;transform:rotate(var(--a)) translateX(0) scale(1.4)}to{opacity:0;transform:rotate(var(--a)) translateX(var(--d)) scale(.4)}}.nicelist-action{align-content:start;justify-items:center;min-height:150px;display:grid}.nicelist-form{justify-items:center;gap:10px;display:grid}.nicelist-form label{color:var(--muted);font-size:var(--step--1)}.nicelist-field{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.plaque-field{--notch:10px;isolation:isolate;width:min(280px,84vw);transition:filter .5s var(--ease);display:inline-flex;position:relative}.plaque-field:focus-within{filter:drop-shadow(0 0 14px #e3b56659)}.nicelist-field input{text-align:center;min-height:52px;padding:0 22px;font-size:2.1rem}.nicelist-field input:placeholder-shown{font-size:1.1rem}.nicelist-result{text-align:center;max-width:36em;animation:reveal .8s var(--ease) both;justify-items:center;gap:10px;display:grid}.nicelist-yes{font-family:var(--display);font-size:var(--step-3);line-height:1.15}.nicelist-yes .foil{font-family:var(--hand);padding:0 .12em;font-size:1.35em}.nicelist-result>p:nth-child(2){color:var(--muted);font-size:var(--step-1)}.nicelist-buttons{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 20px;margin-top:10px;display:flex}.countdown-board{justify-items:center;gap:12px;min-height:132px;margin:4px 0 8px;display:grid}.countdown-label{font-family:var(--display);font-style:italic;font-size:var(--step-1);color:var(--paper)}.countdown-board ol{perspective:600px;gap:clamp(8px,2vw,16px);margin:0;padding:0;list-style:none;display:flex}.countdown-board li{justify-items:center;gap:6px;display:grid}.flip{min-width:2.6ch;font-family:var(--body);letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--paper);text-align:center;animation:flip-in .52s var(--ease);transform-origin:50%;background:linear-gradient(#1a2b52 0%,#16264a 49.6%,#0c1734 50.4%,#0f1c3d 100%);border:1px solid #e3b56659;border-radius:10px;padding:12px 10px 10px;font-size:clamp(1.9rem,1.3rem + 2.4vw,3.1rem);font-weight:500;line-height:1;display:block;box-shadow:0 16px 26px -14px #000000d9,inset 0 1px #ffffff12}@keyframes flip-in{0%{filter:brightness(1.6);transform:rotateX(-85deg)}to{filter:none;transform:rotateX(0)}}.countdown-board small{color:var(--muted);font-size:var(--step--1)}.paper input[readonly]{width:100%;height:48px;font:inherit;letter-spacing:.06em;border:1px solid #d8c9a8;border-radius:4px;padding:0 14px}.child-row{border:0;border-top:1px solid #e3b56647;margin:0 0 8px;padding:22px 0 0}.child-row-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.child-row legend,.child-row-head legend{float:left;font:600 var(--step-1) / 1.2 var(--display);color:var(--paper);padding:0}.child-row>legend{margin-bottom:14px}.child-row>legend+*{clear:left}.child-row .field>span:first-child,.child-row .field>label{font-weight:600}.say-row{gap:10px;display:flex}.say-row .btn{min-width:96px}.extras{margin-top:44px}.extras-title{font:600 var(--step-2) / 1.2 var(--display);color:var(--paper);margin-bottom:22px}.choices.one{grid-template-columns:1fr;max-width:420px}.choice.extra .extra-art{aspect-ratio:16/9;background:#f4e6c8;border:5px solid #fffaf0;display:block;overflow:hidden;box-shadow:0 8px 16px -8px #2a211899}.choice.extra .extra-art img{object-fit:contain;width:100%;height:100%;transition:transform .6s var(--ease);padding:8px}.choice.extra:hover .extra-art img{transform:scale(1.04)rotate(-1deg)}.extra-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.extra-price{font:600 var(--step-0) / 1 var(--display);font-variant-numeric:lining-nums;color:var(--seal);white-space:nowrap}.extra-tick{border:1.5px solid var(--gold-deep);min-height:44px;font:600 var(--step--1) / 1.2 var(--display);color:#5a4529;transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);background:#fffaf08c;border-radius:6px;justify-self:start;align-items:center;gap:10px;padding:0 16px 0 10px;display:inline-flex}.extra-box{border:1.5px solid var(--gold-deep);color:#0000;background:#fffaf0;border-radius:4px;place-items:center;width:22px;height:22px;display:grid}.choice.extra:has(input:checked) .extra-tick{color:var(--midnight);background:linear-gradient(90deg,#c8913e 0%,#e2b461 22%,#f6dc9a 48%,#e9c070 66%,#c48b3a 100%);border-color:#b5873a}.choice.extra:has(input:checked) .extra-box{border-color:var(--midnight);background:var(--midnight);color:#f6dc9a}@media (max-width:640px){.extras .choices{gap:16px}.choice.extra{grid-template-columns:84px 1fr;align-items:start;gap:8px 14px}.choice.extra .extra-art{aspect-ratio:1;border-width:3px;grid-row:span 2}.choice.extra .extra-art img{padding:4px}.choice.extra .extra-head{flex-direction:column;gap:2px}.choice.extra .extra-head h2{font-size:var(--step-0)}.choice.extra .hint{font-size:.86rem;line-height:1.45}.choice.extra .extra-tick{grid-column:1/-1;justify-content:center;justify-self:stretch}.choice.extra .choice-seal{width:40px;top:-14px;right:-10px}}.sibling-rows{margin-top:30px}.sibling-rows>.btn{margin:4px 0 8px}.children-on-list{font-size:var(--step-0);margin:0 0 16px}.children-on-list strong{color:var(--paper,#f6eedc);font-weight:600}.children-actions{flex-wrap:wrap;gap:12px;display:flex}.order-slip{margin-top:36px}.order-slip-title{font:600 var(--step-1) / 1.2 var(--display);color:var(--ink);margin-bottom:10px}.order-slip ul{margin:14px 0 0;padding:0;list-style:none}.order-slip li,.order-slip-total{font-variant-numeric:lining-nums tabular-nums;justify-content:space-between;gap:16px;padding:10px 0;display:flex}.order-slip li{border-bottom:1px dashed #2a211840}.order-slip li span:last-child,.order-slip-total span:last-child{white-space:nowrap}.order-slip-total{font:600 var(--step-1) / 1.2 var(--display);border-bottom:3px double #2a211880;margin-top:4px}.order-slip .hint{margin-top:14px}.order-slip .field{margin:18px 0 0}.order-slip input[readonly]{width:100%;height:52px;font:inherit;color:var(--ink);background:#fff;border:1px solid #d8c9a8;border-radius:6px;padding:0 16px}.gift-slip{margin:0 0 32px}.gift-steps{gap:8px;margin:8px 0 0;padding-left:1.3em;display:grid}.order-slip .gift-steps li{display:list-item}.keepsake{justify-items:center;gap:32px;padding:24px 16px 60px;display:grid}.ks-toolbar{flex-wrap:wrap;align-items:center;gap:12px;width:min(210mm,100%);display:flex}.ks-write{gap:12px;width:min(210mm,100%);display:grid}.ks-write-letter{color:#2a2118;background:#f6eedc;border-radius:6px;padding:20px 24px;font-size:1.25rem;line-height:1.6}.ks-write-letter p{margin:0 0 .8em}.ks-write-actions{flex-wrap:wrap;gap:12px;display:flex}.ks-write-address span{display:block}.ks-toolbar .hint,.ks-toolbar .flag{flex-basis:100%;margin:0}.ks-page{width:210mm;height:297mm;color:var(--ink);-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fbf6ea;flex:none;position:relative;overflow:hidden;box-shadow:0 30px 60px -20px #000000b3}.ks-hand{font-family:var(--hand);line-height:1.3}.ks-letter-paper{background:#f2d9b3 padding-box padding-box;border:46mm solid #0000;border-width:46mm 44mm;border-image:url(/promise/letter.webp) 190 200 200 fill/46mm 44mm;flex-direction:column;padding:0 4mm;display:flex;position:absolute;inset:0}.ks-holly{width:46mm;position:absolute;top:-34mm;right:-30mm}.ks-greeting{margin-bottom:8mm;font-size:30pt}.ks-body{font-size:22pt;line-height:1.55}.ks-love{width:55%;margin:12mm 0 0 auto;font-size:22pt}.ks-santa{color:var(--seal);width:50%;margin:-2mm 0 0 auto;font-size:46pt}.ks-postmark{font:italic 10pt / 1.3 var(--display);color:#6b5537;margin-top:auto}.ks-picture{align-content:center;justify-items:center;gap:16mm;padding:20mm;display:grid}.ks-print{background:#fffdf7;margin:0;padding:6mm 6mm 4mm;transform:rotate(-1.2deg);box-shadow:0 2mm 6mm #2a211840}.ks-print img,.ks-print-empty{aspect-ratio:3/2;object-fit:cover;background:#e9dcc0;width:150mm;display:block}.ks-print figcaption{text-align:center;padding-top:3mm;font-size:18pt}.ks-code{outline-offset:1.2mm;border:.4mm solid #c99540;outline:.4mm solid #c99540;align-items:center;gap:10mm;width:150mm;padding:8mm;display:flex}.ks-qr{flex:none;width:38mm;height:38mm}.ks-qr svg{width:100%;height:100%}.ks-code p{font-size:11pt;line-height:1.45}.ks-code-title{margin-bottom:2mm;font:600 18pt / 1.2 var(--display)!important}.ks-brand{align-items:center;gap:2mm;margin-top:4mm;display:flex;font:italic 600 12pt / 1 var(--display)!important}.ks-brand img{width:8mm}.ks-label{align-content:start;justify-items:center;padding-top:30mm;display:grid}.ks-label-card{background:#fffdf7;border:.4mm dashed #8a7556;width:140mm;padding:12mm 14mm;position:relative}.ks-label-seal{width:18mm;position:absolute;top:6mm;right:8mm}.ks-for{margin-bottom:6mm;font-size:30pt}.ks-label address{font:400 13pt / 1.5 var(--body);font-style:normal;display:grid}.ks-missing{color:var(--seal)}.ks-by{font:italic 10pt / 1.3 var(--display);color:#6b5537;margin-top:6mm}.ks-cut{color:#8a7556;margin-top:4mm;font-size:9pt}@media print{@page{size:A4;margin:0}body{background:#fff!important}.keepsake{gap:0;padding:0;display:block}.ks-toolbar,.ks-write,nextjs-portal{display:none!important}.ks-page{box-shadow:none;break-after:page}.ks-page:last-child{break-after:auto}}.shot>.spot{grid-column:1/-1;margin-top:6px}.shot>.spotted{grid-column:1/-1;margin:10px 0 0}.spot-question{font:600 var(--step-1) / 1.25 var(--display);color:var(--ink)}.spot .hint{margin-top:4px}.spot-stage{touch-action:none;-webkit-user-select:none;user-select:none;margin-top:14px;line-height:0;position:relative;overflow:hidden;box-shadow:0 0 0 6px #fffaf0,0 8px 18px -8px #2a211899}.spot-stage img{pointer-events:none;width:100%;height:auto}.spot-box{border:2px solid var(--gold);cursor:grab;border-radius:3px;outline:none;position:absolute;box-shadow:0 0 0 9999px #08102461,0 0 18px #e3b566b3}.spot-box:active{cursor:grabbing}.spot-box:focus-visible{border-color:#fbe3a6;box-shadow:0 0 0 9999px #08102461,0 0 0 3px #fbe3a6e6}.spot-handle{touch-action:none;width:34px;height:34px;margin:-17px;position:absolute}.spot-handle:after{content:"";background:var(--gold);border-radius:50%;position:absolute;inset:10px;box-shadow:0 0 0 2px #fffaf0,0 2px 6px #00000080}.spot-handle.nw{cursor:nwse-resize;top:0;left:0}.spot-handle.ne{cursor:nesw-resize;top:0;right:0}.spot-handle.sw{cursor:nesw-resize;bottom:0;left:0}.spot-handle.se{cursor:nwse-resize;bottom:0;right:0}.spot-side{border:0;margin:18px 0 0;padding:0}.spot-side legend{margin-bottom:10px;font-weight:600}.entry-choice{margin-bottom:36px}.entry-choice h2{font:600 var(--step-2) / 1.2 var(--display);color:var(--paper);margin-bottom:14px}.entry-key{cursor:pointer;color:var(--paper);align-items:flex-start;gap:12px;margin-top:18px;display:flex}.entry-key input{width:22px;height:22px;accent-color:var(--gold);flex:none;margin-top:2px}.entry-key strong{font-weight:600}.entry-choice .hint{margin-top:14px}.notice-pick{border-top:1px dashed color-mix(in srgb, currentColor 25%, transparent);margin-top:16px;padding-top:14px}.notice-q{font-family:var(--display);font-size:var(--step-0);margin:0 0 2px;font-weight:500}.notice-pick .chips{margin-top:10px}.notice-own{margin-top:14px}.notice-own .field{margin-bottom:10px}.notice-pick .status-ok{margin-top:10px}.notice-pick.is-told{border-top:0;margin-top:4px;padding-top:0}.notice-pick.is-told .status-ok{margin-top:0}.landscape-note{max-width:34em;color:var(--paper);text-align:left;background:#0e1a3399;border:1px solid #e3b56673;border-radius:6px;align-items:center;gap:16px;margin:20px auto;padding:14px 18px;display:flex}.landscape-note svg{color:var(--gold);flex:none}.landscape-note p{font-size:var(--step--1);margin:0;line-height:1.5}.landscape-note strong{color:#f3e4c0;font-weight:500}.landscape-note.in-card{background:var(--midnight,#0e1a33);border-color:var(--gold);max-width:none;margin:14px 0 0}.postmark-badge{place-items:center;padding:clamp(40px,7vw,72px) 16px clamp(28px,5vw,48px);display:grid}.postmark-badge img{filter:drop-shadow(0 10px 24px #03071299)drop-shadow(0 0 28px #e3b56624);width:clamp(200px,56vw,300px);height:auto;transform:rotate(-4deg)}.film-sample{z-index:1;width:min(960px,100%);margin:0 auto clamp(40px,6vw,72px);position:relative}.film-sample-frame{width:100%;margin:0 auto;position:relative}.film-sample video{background:#000;border:1px solid #e3b5668c;border-radius:10px;width:100%;height:auto;display:block;box-shadow:0 18px 50px #03071299,0 0 0 6px #0e1a3399}.film-sample-cover{background:linear-gradient(#0810248c 0%,#08102400 28%),linear-gradient(#08102400 70%,#081024b3 100%);border-radius:9px;place-items:end center;padding-bottom:clamp(18px,5%,40px);display:grid;position:absolute;inset:1px}.film-sample-mark{filter:drop-shadow(0 2px 5px #0009);pointer-events:none;width:auto;height:clamp(26px,4vw,40px);position:absolute;top:clamp(12px,2.4vw,22px);left:clamp(14px,2.6vw,26px)}.film-sample-play{filter:drop-shadow(0 10px 26px #030712b3)drop-shadow(0 0 22px #e3b56640)}.film-sample-play svg{flex:none;margin-left:-4px}.film-sample-play:hover{transform:translateY(-1px)scale(1.03)}.film-sample-wide{aspect-ratio:16/9}.film-sample-tall{aspect-ratio:9/16;max-height:80svh;margin:0 auto;width:auto!important;display:none!important}@media (max-width:640px){.film-sample-wide:has(+.film-sample-tall){display:none!important}.film-sample-tall{display:block!important}.film-sample-frame:has(.film-sample-tall){width:fit-content;max-width:100%}}.film-sample figcaption{text-align:center;color:var(--muted);font-size:var(--step--1);margin-top:12px}.film-sample-more{text-align:center;margin:16px 0 0}.bookbar{z-index:30;-webkit-backdrop-filter:blur(10px)saturate(1.2);backdrop-filter:blur(10px)saturate(1.2);transition:transform .42s var(--ease), opacity .42s var(--ease);opacity:0;pointer-events:none;background:#0a1429e6;align-items:center;gap:16px;display:flex;position:fixed;left:0;right:0}.bookbar.is-shown{opacity:1;pointer-events:auto;transform:none}.bookbar-mark img{filter:drop-shadow(0 2px 4px #00000073);width:auto;height:30px;display:block}.bookbar-price{color:var(--muted);font-size:var(--step--1);white-space:nowrap;margin:0}@media (max-width:759px){.bookbar{padding:10px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #e3b56673;flex-direction:column;gap:8px;bottom:0;transform:translateY(110%);box-shadow:0 -10px 30px #03071280}.bookbar-mark{display:none}.bookbar-btn{width:100%}}@media (min-width:760px){.bookbar{border-bottom:1px solid #e3b56673;padding:10px clamp(16px,4vw,40px);top:0;transform:translateY(-110%);box-shadow:0 10px 30px #03071280}.bookbar-price{margin-left:auto}.bookbar-btn{min-height:44px;padding:0 24px;font-size:.98rem}}.pay-reassurance{max-width:34em;color:var(--muted);font-size:var(--step--1);text-align:center;justify-content:center;align-items:flex-start;gap:8px;margin:12px auto 0;line-height:1.5;display:flex}.pay-reassurance svg{color:var(--gold);flex:none;margin-top:.3em}.ai-note{font-size:var(--step--1);color:#f6eedcdb;background:#f6eedc0d;border:1px solid #e3b56659;border-radius:10px;margin-top:24px;padding:16px 18px;line-height:1.55}.ai-note p{margin:0}.ai-note .ai-note-title{font:600 var(--step-0) / 1.3 var(--display);color:var(--gold);margin-bottom:6px}.terms-tick{font-size:var(--step--1);color:#f6eedce6;cursor:pointer;grid-template-columns:28px 1fr;align-items:start;gap:12px;margin-top:18px;line-height:1.5;display:grid}.terms-tick input{opacity:0;width:1px;height:1px;position:absolute}.terms-tick .extra-box{border-color:var(--gold);background:0 0;width:26px;height:26px;margin-top:1px}.terms-tick input:checked+.extra-box{color:var(--midnight);background:var(--gold)}.terms-tick input:focus-visible+.extra-box{outline:2px solid var(--gold);outline-offset:3px}.terms-tick a{color:var(--gold)}.paper.terms h2{font:600 var(--step-1) / 1.25 var(--display);margin:26px 0 8px}.paper.terms h2:first-child{margin-top:0}.paper.terms ul{padding-left:1.2em}.paper.terms li{margin:4px 0}.shot-seal{z-index:2;filter:drop-shadow(0 4px 6px #2a211873);width:64px;height:auto;animation:seal-press .52s var(--ease) both;pointer-events:none;position:absolute;top:-18px;right:-14px;transform:rotate(12deg)}@keyframes seal-press{0%{opacity:0;transform:rotate(12deg)scale(1.6)}60%{opacity:1;transform:rotate(12deg)scale(.92)}to{transform:rotate(12deg)scale(1)}}.ticked-off{font-family:var(--hand);color:#8f2228;align-items:center;gap:8px;margin:6px 0 10px;font-size:1.35rem;line-height:1.2;display:flex}.ticked-off svg{flex:none;width:22px;height:auto}@keyframes tick-draw{0%{stroke-dashoffset:40px}to{stroke-dashoffset:0}}.ticked-off svg path{stroke-dasharray:40;animation:tick-draw .6s .2s var(--ease) both}@media (prefers-reduced-motion:reduce){.shot-seal,.ticked-off svg path{animation:none}}.all-done p{margin:0 0 12px}.all-done .handwritten{margin-bottom:8px}.all-done .signature{margin:4px 0 0;line-height:1}.workshop-log{margin-top:28px}.workshop-log summary{cursor:pointer;color:var(--muted);font-family:var(--display);font-style:italic}.workshop-log[open] summary{margin-bottom:12px}.season-note{text-align:center;max-width:34rem;color:var(--muted);font-size:var(--step--1);margin:28px auto 0}.help-list details p a{color:var(--gold)}.help-contact{margin-top:44px}.footer-links{flex-wrap:wrap;gap:6px 20px;display:flex}.later-photos{color:#f6eedcdb;font-size:var(--step--1);background:#f6eedc0a;border:1px dashed #e3b56673;border-radius:10px;margin-top:28px;padding:18px 18px 8px;line-height:1.55}.later-photos h2{font-size:var(--step-1);color:var(--paper);margin:0 0 6px}.later-photos p{margin:0 0 14px}.later-photos ul{margin:0;padding:0;list-style:none}.later-photos li{border-top:1px solid #e3b5662e;grid-template-columns:52px 1fr;align-items:center;gap:14px;padding:10px 0;display:grid}.later-glyph{border:1px solid #e3b56666;border-radius:6px;place-items:center;width:52px;height:52px;display:grid}.later-glyph svg{filter:brightness(1.6);width:78%}.later-photos strong{color:var(--paper);font-weight:500;font-size:var(--step-0);display:block}.later-why{display:block}.example-link{margin:2px 0 4px;display:inline-block}.later-photos .example-link{color:var(--gold);font-size:var(--step--1);margin:4px 0 0;padding:0}.example-sheet{background:var(--midnight,#0e1a33);width:min(560px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--paper);border:1px solid #e3b5668c;border-radius:12px;padding:0;overflow:auto}.example-sheet::backdrop{background:#030712b8}.example-inner{padding:20px 18px 18px}.example-inner h2{font-size:var(--step-1);color:var(--paper);margin:0 0 12px;display:block}.example-inner figure{margin:0 0 16px}.example-inner img{border:4px solid #fffaf0;border-radius:2px;width:100%;height:auto;display:block}.example-inner figcaption{font-size:var(--step--1);color:#f6eedcdb;margin-top:8px;line-height:1.5}.example-inner figcaption strong{font-size:inherit;color:var(--paper);font-weight:500;display:inline}@media (prefers-reduced-motion:no-preference){.example-sheet[open]{animation:example-in .22s var(--ease)}@keyframes example-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}.elf-help{font-size:var(--step--1);color:#f6eedccc;text-align:center;border-top:1px dashed #e3b5664d;margin-top:40px;padding-top:18px;line-height:1.55}.elf-help p{margin:0}.elf-help strong{color:var(--paper);font-weight:500}.elf-help a{color:var(--gold);text-underline-offset:3px}.elf-help-ref{opacity:.75;margin-top:4px}.cookie-ask{z-index:50;background:var(--deep);border:1px solid var(--gold);border-radius:var(--radius-soft);max-width:560px;font-size:var(--step--1);margin:0 auto;padding:18px 20px;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 12px 40px #00000080}.cookie-ask p{margin:0 0 14px}.cookie-ask a{color:var(--gold)}.cookie-ask-buttons{flex-wrap:wrap;gap:10px;display:flex}
