*{box-sizing:border-box}html{min-height:100%;background:#064a80}body{margin:0;min-height:100svh;color:#fff;font-family:Arial,Helvetica,sans-serif;background:#075c99 url('/christmas/assets/background.webp') center/cover fixed}body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at 50% 43%,#013a7040 0%,#00274b70 100%);pointer-events:none}.winter-scene{position:fixed;inset:0;pointer-events:none;overflow:hidden}.border{position:absolute;display:block;object-fit:fill}.border-top{top:-12px;left:0;width:100%;height:clamp(150px,22vh,245px)}.border-left,.border-right{top:9%;height:88%;width:clamp(150px,23vw,380px)}.border-left{left:-3%}.border-right{right:-3%;transform:scaleX(-1)}.border-bottom{bottom:-8px;left:0;width:100%;height:clamp(130px,22vh,260px)}#snow{position:fixed;inset:0;pointer-events:none;width:100%;height:100%}main{position:relative;z-index:2;margin:auto;text-align:center;width:min(840px,calc(100% - 64px));padding:clamp(130px,17vh,200px) 0 135px}.eyebrow{display:flex;justify-content:center;align-items:center;gap:16px;font-size:10px;letter-spacing:3px;font-weight:700;color:#e1f3ff}.eyebrow span{width:32px;height:1px;background:#cde8f7a0}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(38px,4.4vw,68px);font-weight:400;line-height:1.12;margin:23px 0 13px;letter-spacing:-2px;text-shadow:0 3px 22px #00375c}h1 em{font-style:italic}p{line-height:1.6}.intro{font-size:17px;margin:0 0 24px;color:#ecf8ff;text-shadow:0 2px 8px #003a69}.gold-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:23px;border:1px solid #ffe99a;border-bottom-color:#9d5f05;border-radius:9px;background:linear-gradient(#fff1a0 0%,#ffda48 38%,#f7bf20 54%,#e8a212 100%);box-shadow:inset 0 2px 1px #fff7c9,inset 0 -3px 1px #c98a0d,0 5px 0 #94600d,0 9px 18px #002c5d66;color:#4c3100;font:700 17px Arial,Helvetica,sans-serif;text-decoration:none;padding:17px 29px;cursor:pointer;text-shadow:0 1px #fff3ae;transition:transform .18s,filter .18s}.gold-button:hover{filter:brightness(1.06);transform:translateY(-2px)}.gold-button:active{transform:translateY(3px);box-shadow:inset 0 2px 1px #fff7c9,0 2px 0 #94600d}.gold-button:focus-visible,input:focus-visible{outline:3px solid #fff;outline-offset:5px}.gold-button span{font-size:22px}.album-status{font-size:12px;min-height:19px;margin:13px 0 0}.nice-list{margin:8px auto 0;max-width:710px}.little-star{font-size:29px;color:#ffdf78;margin:0 0 7px}h2{font-family:Georgia,'Times New Roman',serif;font-size:32px;line-height:1.2;margin:0 0 10px;font-weight:400;text-shadow:0 2px 12px #003462}h2 em{color:#ffe59c}.nice-list>p{font-size:15px;margin:0 0 23px;color:#ecf8ff}.fields{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:13px;text-align:left}label{display:block;font-size:12px;font-weight:700;letter-spacing:.3px}label span{font-size:10px;font-weight:400;color:#deeffc}input{display:block;width:100%;height:48px;margin-top:8px;border:1px solid #c3e2f7;border-radius:6px;background:#f4fafff5;color:#163c5c;padding:0 14px;font:14px Arial,Helvetica,sans-serif;box-shadow:0 3px 12px #00264825}input::placeholder{color:#617789}.submit-button{margin-top:20px;min-width:180px;padding:12px 27px;font-size:15px}.submit-button:disabled{cursor:not-allowed;filter:saturate(.8)}.form-note{font-size:11px;color:#e3f3ff;margin:15px 0 0}footer{margin-top:35px;font-size:10px;letter-spacing:.6px;color:#def1ff}footer span{margin:0 8px;color:#ffe08b}@media(min-width:1600px){main{padding-top:20vh}}@media(max-width:680px){main{width:calc(100% - 48px);padding-top:145px;padding-bottom:125px}.border-top{width:160%;left:-30%;height:170px}.border-left,.border-right{width:150px;height:80%;opacity:.8}.border-left{left:-88px}.border-right{right:-88px}.border-bottom{width:160%;left:-30%;height:145px}.eyebrow{font-size:8px;letter-spacing:1.6px;gap:9px}.eyebrow span{width:18px}h1{letter-spacing:-1px;margin-top:19px}.intro{font-size:15px}.album-button{font-size:16px;padding:16px 23px}.nice-list{max-width:410px;margin-top:8px}h2{font-size:29px}.nice-list>p{font-size:14px}.fields{grid-template-columns:1fr;gap:14px}input{height:49px}.desktop-break{display:none}.submit-button{width:100%}footer{line-height:1.8;max-width:240px;margin:30px auto 0}footer span{display:block;height:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Keep the opaque foliage visible; the remaining image area is transparent. */
.border-top{height:clamp(240px,34vh,360px)}
.border-bottom{height:clamp(210px,30vh,330px)}
@media(max-width:680px){.border-top{height:240px}.border-left,.border-right{width:130px;opacity:.9}.border-left{left:-12px}.border-right{right:-12px}.border-bottom{height:210px}}
@media(max-width:680px){body{position:relative}.winter-scene{position:absolute}.border-left,.border-right{top:6%;height:88%}}
.signup-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.signup-consent{display:flex;align-items:flex-start;justify-content:center;gap:9px;margin:18px auto 0;max-width:560px;text-align:left;line-height:1.5}.signup-consent input{appearance:auto;width:17px;height:17px;flex:0 0 17px;margin:1px 0 0;box-shadow:none;accent-color:#f5c536}.signup-consent span{font-size:12px;color:#fff;letter-spacing:0}.nice-list .form-note{max-width:580px;margin-left:auto;margin-right:auto}
/* Preserve the side artwork's intrinsic aspect ratio at every breakpoint. */
.border-left,.border-right{width:clamp(180px,30vw,440px);height:auto;top:50%;object-fit:contain;transform:translateY(-50%)}
.border-right{transform:translateY(-50%) scaleX(-1)}
@media(max-width:680px){.border-left,.border-right{width:190px;height:auto;top:50%}.border-left{left:-42px}.border-right{right:-42px}}
.christmas-photo{width:min(680px,90%);margin:0 auto 48px;padding:8px 0 0}
.christmas-photo img{display:block;width:100%;height:auto;transform:rotate(-2deg);filter:drop-shadow(0 14px 14px #001c4b80);transform-origin:center}
.christmas-photo img.photo-ready{animation:christmas-photo-drop .85s both}
@keyframes christmas-photo-drop{0%{opacity:0;transform:translateY(-100vh) rotate(-5deg);animation-timing-function:cubic-bezier(.32,0,.7,.55)}60%{opacity:1;transform:translateY(13px) rotate(-1deg);animation-timing-function:ease-out}79%{transform:translateY(-8px) rotate(-2.6deg);animation-timing-function:ease-in-out}92%{transform:translateY(3px) rotate(-1.8deg)}100%{opacity:1;transform:translateY(0) rotate(-2deg)}}
@media(max-width:680px){.christmas-photo{width:92%;margin-bottom:37px;padding-top:0}.christmas-photo img{filter:drop-shadow(0 9px 9px #001c4b80)}}
@media(prefers-reduced-motion:reduce){.christmas-photo img.photo-ready{animation:none}}
