@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap";:root{--cream:#f8f5ed;--green:#183d35;--red:#b84034;--muted:#72776a;--line:#dedfd2;--gold:#d4ad6a;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{background:var(--cream);color:var(--green);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}button:disabled{cursor:not-allowed;opacity:.5}.wrap{max-width:1240px;margin-inline:auto;padding-inline:40px}.light-string{pointer-events:none;z-index:5;width:100%;height:58px;position:absolute;top:0;left:0;overflow:hidden}.light-string svg{width:100%;height:50px;position:absolute;top:-14px}.light-string path{stroke:#52644c;stroke-width:1.2px;fill:none}.bulb{background:#f3d27a;border-radius:40% 40% 50% 50%;width:6px;height:10px;animation:3s ease-in-out infinite alternate twinkle;position:absolute;box-shadow:0 0 12px 5px #f8d78444}.bulb:nth-child(3n){background:#bd5b43;box-shadow:0 0 12px 4px #bd5b4333}.bulb:nth-child(4n){background:#8f9b64}.header{justify-content:space-between;align-items:center;height:137px;padding-top:15px;display:flex}.brand{font-family:var(--serif);letter-spacing:-1px;align-items:center;gap:10px;font-size:25px;font-weight:600;line-height:1;display:flex}.brand-icon{color:var(--red);font-family:Georgia,serif;font-size:49px;font-weight:400}.brand-sub{font:9px var(--sans);letter-spacing:3px;margin-top:8px;display:block}.header nav{align-items:center;gap:34px;font-size:12px;font-weight:550;display:flex}.header nav a{transition:color .2s}.header nav a:hover{color:var(--red)}#nav-count{border:1px solid #d6d9ca;border-radius:50%;margin-left:5px;padding:2px 5px;font-size:10px}.nav-admin{background:0 0;border:1px solid #cfd4c5;border-radius:7px;padding:11px 16px;font-size:12px}.nav-admin span{margin-right:6px}.hero{grid-template-columns:1.13fr 1fr;align-items:center;gap:35px;padding-top:30px;padding-bottom:73px;display:grid}.eyebrow{letter-spacing:2px;font-size:9px;font-weight:650;line-height:1.7}.tiny-star{color:var(--red);vertical-align:middle;margin-right:7px;font-size:18px}h1{font-family:var(--serif);letter-spacing:-3px;white-space:nowrap;margin:25px 0 28px;font-size:clamp(46px,4.9vw,67px);font-weight:500;line-height:1.12}.joy{color:var(--red);font-style:italic;display:inline-block;position:relative}.joy svg{fill:none;stroke:#bd6651;stroke-width:1.7px;width:100%;height:20px;position:absolute;bottom:-17px;left:-2px}.hero-description{color:#6c7368;margin:30px 0;font-size:13px;line-height:1.95}.hero-actions{align-items:center;gap:24px;display:flex}.button{border:0;border-radius:6px;justify-content:center;align-items:center;gap:25px;padding:15px 22px;font-weight:550;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-2px);box-shadow:0 6px 18px #183d3520}.primary{background:var(--red);color:#fff9ec}.primary:hover{background:#a9362c}.button span{font-size:20px;line-height:1}.text-button{text-align:left;background:0 0;border:0;padding:5px 0;font-size:11px;line-height:1.8}.hero-actions .text-button{color:var(--muted)}.text-button span{color:var(--green);text-underline-offset:4px;text-decoration:underline;display:block}.hero-note{color:#7e8275;align-items:center;gap:7px;margin-top:24px;font-size:9px;display:flex}.small-gift{color:var(--green);font-size:17px}.christmas-world{isolation:isolate;background:#254a3e;border-radius:49% 49% 8px 8px;height:470px;margin-top:15px;position:relative;overflow:visible;box-shadow:inset 0 0 100px #092b2b44}.scene-grain{border-radius:inherit;opacity:.4;z-index:2;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' opacity='.1' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");position:absolute;inset:0;overflow:hidden}.scene-label{text-align:center;color:#ded6b5;letter-spacing:2.3px;z-index:3;font-size:8px;position:absolute;top:37px;left:0;right:0}.moon-glow{background:radial-gradient(#a4a96b1a,#0000 70%);position:absolute;inset:10% 2% 15% 15%}.room-scene{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.scene-caption{text-align:center;letter-spacing:.6px;color:#e4dec3;justify-content:center;align-items:center;gap:8px;font-size:9px;display:flex;position:absolute;bottom:18px;left:0;right:0}.live-dot{background:#798b5b;border-radius:50%;width:5px;height:5px;display:inline-block;box-shadow:0 0 0 3px #798b5b14}.scene-caption .live-dot{background:#dac087;box-shadow:0 0 10px #e6c78088}.main-gift{filter:drop-shadow(0 15px 14px #0c29264d);z-index:3;width:140px;height:140px;animation:5s ease-in-out infinite giftFloat;position:absolute;top:58%;left:43%;transform:translate(-50%)rotate(-8deg)}.gift-box{background:linear-gradient(110deg,#c15843,#a6362b);border-radius:2px 2px 5px 5px;width:128px;height:105px;position:absolute;bottom:0;left:6px;box-shadow:inset -12px 0 25px #812c2c44}.gift-box:after{content:"";background:linear-gradient(90deg,#dac18e,#f2d9a8,#ddbd85);width:22px;height:100%;position:absolute;top:0;left:52px}.gift-lid{z-index:2;background:#d36a51;border-radius:3px;width:140px;height:22px;position:absolute;top:27px;left:0;box-shadow:0 4px 2px #60292524}.gift-lid:after{content:"";background:#efd29b;width:22px;height:100%;position:absolute;left:58px}.gift-bow{z-index:3;width:60px;height:40px;position:absolute;top:-4px;left:43px}.gift-bow i{border:7px solid #e6c28b;border-radius:50% 50% 0;width:36px;height:28px;position:absolute;top:5px;left:-14px;transform:rotate(26deg)}.gift-bow i+i{border-color:#f4d6a1;left:15px;transform:rotate(78deg)}.gift-tag{color:#834336;z-index:4;background:#f5e9cb;padding:13px 7px;font:italic 13px Georgia;position:absolute;top:33px;right:-16px;transform:rotate(23deg);box-shadow:0 2px 5px #0002}.round-stamp{background:var(--cream);letter-spacing:1.6px;z-index:4;outline-offset:-6px;border:1px solid #c9b787;border-radius:50%;outline:1px dashed #c9b787;flex-direction:column;justify-content:center;align-items:center;width:90px;height:90px;font-size:7px;line-height:1.15;display:flex;position:absolute;bottom:70px;right:-23px;transform:rotate(13deg)}.round-stamp span{font:25px var(--serif);color:var(--red);line-height:.9}.scene-spark{color:#ead6a7;font-size:36px;animation:4s infinite sparkle;position:absolute}.spark-one{top:27%;left:9%}.spark-two{font-size:22px;animation-delay:-2s;top:42%;right:8%}.snow{pointer-events:none;border-radius:inherit;position:absolute;inset:0;overflow:hidden}.snow i{opacity:0;background:#fff6da;border-radius:50%;width:3px;height:3px;animation:linear infinite snowfall;position:absolute;top:-10px}.flame{transform-origin:440px 442px;animation:.9s ease-in-out infinite alternate flicker}.f2{animation-duration:.7s;animation-delay:-.4s}.f3{animation-duration:.45s}.fire-glow{animation:1.3s ease-in-out infinite alternate fireGlow}.tree-lights{filter:drop-shadow(0 0 4px #f9d685);animation:2.7s ease-in-out infinite alternate twinkle}.tree-star{filter:drop-shadow(0 0 7px #f9d68566);animation:4s ease-in-out infinite alternate twinkle}.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f0f0e5;padding:17px 0;overflow:hidden}.ticker>div{white-space:nowrap;letter-spacing:2.2px;color:#516351;gap:30px;width:max-content;font-size:9px;animation:65s linear infinite marquee;display:flex}.ticker span{color:var(--red);font-size:16px;line-height:10px}.section-top{justify-content:space-between;align-items:center;gap:20px;display:flex}h2{font:500 33px/1.2 var(--serif);letter-spacing:-1px;margin:10px 0 0}.handwritten{font:italic 16px var(--serif);color:#8a8e7b;padding-top:15px;transform:rotate(-5deg)}.handwritten span{margin-left:8px;font-size:28px;display:inline-block;transform:rotate(20deg)}.steps{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:31px;display:grid}.steps article{border:1px solid var(--line);border-radius:8px;padding:23px 25px 24px;transition:transform .3s,background .3s;position:relative}.steps article:hover{background:#f0eee2;transform:translateY(-5px)}.step-number{color:#a8ad99;font-size:11px;position:absolute;top:18px;right:20px}.step-icon{width:34px;height:34px;color:var(--green);background:#e8ecdf;border-radius:50%;place-items:center;font-size:22px;display:grid}.steps article:nth-child(2) .step-icon{color:#ac7444;background:#f2e7d6}.steps article:nth-child(3) .step-icon{color:var(--red);background:#f2e3dc}h3{font:500 22px var(--serif);letter-spacing:-.5px;margin:18px 0 9px}.steps p{color:#7b7f72;max-width:270px;margin:0;font-size:11px;line-height:1.85}.family-section{background:#eeeede;border-top:1px solid #e2e3d3;border-bottom:1px solid #e2e3d3;padding:48px 0 42px}.red-period{color:var(--red)}.count-pill{border:1px solid #cbd1bb;border-radius:30px;align-items:center;gap:9px;padding:9px 13px;font-size:10px;display:flex}.round-info{color:#707965;flex-wrap:wrap;gap:25px;padding:24px 0;font-size:10px;display:flex}.round-info>span{align-items:center;gap:5px;display:flex}.round-info strong{color:var(--green);font-weight:550}#round-status{margin-left:auto}.members{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.member-card{background:#f8f6ee;border:1px solid #d9ddc9;border-radius:8px;align-items:center;gap:12px;padding:20px;animation:.5s both rise;display:flex}.avatar{width:38px;height:38px;font:18px var(--serif);color:#466049;background:#e1e7d6;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.member-card:nth-child(3n+2) .avatar{color:#9b6147;background:#f0dfd1}.member-card:nth-child(3n) .avatar{color:#82733e;background:#e9e1c9}.member-card h3{font:550 12px var(--sans);letter-spacing:0;overflow-wrap:anywhere;margin:0 0 5px}.member-card p{color:#868a79;margin:0;font-size:9px}.add-member{text-align:center;background:0 0;border:1px dashed #adb99b;border-radius:8px;min-height:80px;font-size:12px;transition:background .2s}.add-member:hover{background:#f8f6ee}.add-member span{vertical-align:middle;margin-right:9px;font-size:24px}.empty-family{border:1px dashed #bfc7ae;border-radius:8px;grid-column:1/-1;align-items:center;gap:20px;padding:22px 26px;display:flex}.empty-family>span{color:var(--red);font-size:36px}.empty-family h3{margin:0 0 5px;font-size:20px}.empty-family p{color:#79816c;margin:0;font-size:11px;line-height:1.7}.empty-family .button{white-space:nowrap;margin-left:auto;padding:12px 17px;font-size:11px}.privacy-note{color:#868b79;justify-content:center;align-items:center;gap:7px;margin-top:22px;font-size:9px;line-height:1.8;display:flex}.privacy-note>span{font-size:18px}.closing{text-align:center;justify-content:center;align-items:center;gap:60px;padding-block:45px;display:flex}.closing>span{color:#b7a179;font-size:28px}.closing p{font:500 27px/1.5 var(--serif);letter-spacing:-.6px;margin:0}.closing em{color:var(--red)}footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:100px;display:flex}footer .brand{font-size:19px}footer .brand-icon{font-size:36px}footer .brand-sub{letter-spacing:2px;margin-top:5px;font-size:7px}footer>span{color:#838674;font-size:9px}footer button{color:#67765d!important;font-size:10px!important}dialog{background:var(--cream);width:min(490px,100vw - 30px);color:var(--green);border:1px solid #d3d4bf;border-radius:15px;max-height:90dvh;padding:38px;overflow:auto;box-shadow:0 25px 100px #0b261b66}dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#112e2ad1}dialog[open]{animation:.25s both rise}.modal-close{color:#7a826e;background:0 0;border:0;padding:3px 9px;font-size:27px;position:absolute;top:10px;right:13px}dialog h2{margin:7px 0 14px;font-size:33px}dialog p{color:#738069;font-size:12px;line-height:1.8}dialog .modal-icon{color:var(--red);font-size:32px}label{margin:19px 0 7px;font-size:11px;font-weight:600;display:block}input,textarea,select{width:100%;color:var(--green);background:#fffdf7;border:1px solid #cbd2bd;border-radius:6px;outline:none;padding:12px;display:block}input:focus,textarea:focus,select:focus{border-color:#738965;box-shadow:0 0 0 3px #73896519}textarea{resize:vertical;min-height:85px}form .button,.full{width:100%;margin-top:22px;font-size:12px}.secondary{color:var(--green);background:#e7ebdb}.error{background:#f4e4d9;border-radius:5px;padding:10px 12px;color:#b33e32!important;font-size:11px!important}.error:empty{display:none}.hint{color:#8a8c79!important;font-size:10px!important}.key-box{letter-spacing:5px;text-align:center;-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;background:#edf0e1;border:1px dashed #b3bda4;border-radius:7px;margin:22px 0 6px;padding:18px;font-family:monospace;font-size:27px}.dialog-links{justify-content:center;gap:12px;margin-top:14px;display:flex}.dialog-links button{font-size:11px}.admin-dialog{width:min(680px,100vw - 30px)}.admin-tabs{border-bottom:1px solid #d5d9c9;gap:17px;margin:25px 0 20px;display:flex}.admin-tabs button{background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 0;font-size:11px}.admin-tabs button.active{border-color:var(--red);color:var(--red)}.admin-person{border-bottom:1px solid #e0e2d4;align-items:center;gap:10px;padding:12px 0;display:flex}.admin-person .avatar{width:30px;height:30px;font-size:14px}.admin-person strong{font-size:12px}.admin-person small{color:#7e876e;margin-left:auto;font-size:10px}.icon-button{background:0 0;border:1px solid #d8ddcb;border-radius:5px;padding:5px 9px;font-size:11px}.pair-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;display:grid}.pair-row select{font-size:12px}.relation{background:#ecefdf;border-radius:5px;align-items:center;gap:8px;margin-top:8px;padding:12px;font-size:11px;display:flex}.relation button{margin-left:auto}.settings-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.admin-summary{background:#ecefdf;border-radius:7px;margin:15px 0;padding:16px}.admin-summary p{margin:0}.danger{color:var(--red);background:0 0;border:1px solid #d8c0af}.admin-footer{border-top:1px solid #d5d9c9;gap:15px;margin-top:20px;padding-top:15px;display:flex}.admin-footer button{font-size:10px}.reveal-stage{text-align:center;padding:10px 0}.reveal-present{width:140px;height:150px;margin:25px auto;position:relative}.reveal-present .main-gift{animation:3s infinite giftFloat;top:0;left:50%;transform:translate(-50%)}.revealing .gift-lid{animation:.9s forwards lidOpen}.revealing .gift-bow{animation:.9s forwards bowOpen}.recipient-card{background:#e8eddc;border-radius:10px;margin-top:25px;padding:24px 20px;animation:.8s both rise}.recipient-card .avatar{background:#f8f5ed;width:66px;height:66px;margin:auto;font-size:30px}.recipient-card h3{margin:14px 0;font-size:32px}.recipient-card .wish{color:#5b6c50;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.my-actions{justify-content:center;gap:14px;margin-top:15px;display:flex}.my-actions button{font-size:11px}#toast{color:#fff6df;opacity:0;pointer-events:none;z-index:20;text-align:center;background:#183d35;border:1px solid #75836a;border-radius:9px;max-width:90vw;padding:13px 20px;font-size:12px;transition:all .25s;position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);box-shadow:0 8px 30px #0002}#toast.show{opacity:1;transform:translate(-50%)}#confetti{pointer-events:none;z-index:30;position:fixed;inset:0;overflow:hidden}#confetti i{width:8px;height:13px;animation:3.5s ease-in forwards confetti;position:absolute;top:-20px}body:has(dialog[open]){overflow:hidden}@keyframes twinkle{0%{opacity:.55}to{opacity:1;filter:drop-shadow(0 0 5px #f6ce77)}}@keyframes snowfall{0%{opacity:0;transform:translateY(-10px)}15%{opacity:.7}90%{opacity:.5}to{opacity:0;transform:translate(30px,460px)}}@keyframes giftFloat{0%,to{translate:0;rotate:-2deg}50%{translate:0 -9px;rotate:2deg}}@keyframes flicker{0%{transform:scaleX(.9)skew(-4deg)}to{transform:scale(1.06,.8)skew(5deg)}}@keyframes fireGlow{0%{opacity:.5}to{opacity:1}}@keyframes sparkle{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}@keyframes marquee{to{transform:translate(-30%)}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes lidOpen{to{opacity:0;transform:translateY(-90px)rotate(-25deg)}}@keyframes bowOpen{to{opacity:0;transform:translateY(-90px)rotate(-25deg)}}@keyframes confetti{to{transform:translate(var(--drift),105vh) rotate(700deg);opacity:0}}@media (width>=1450px){.wrap{max-width:1360px}.hero{gap:55px;padding-top:40px;padding-bottom:85px}.christmas-world{height:530px}h1{font-size:73px}.hero-description{font-size:14px}.hero-actions .button{padding:17px 26px}.hero-note{font-size:10px}.scene-caption{bottom:24px}.how{padding-block:70px}.steps p{font-size:12px}.steps article{padding:27px}.header{height:150px}}@media (width<=1050px){.wrap{padding-inline:28px}.header nav{gap:20px}.hero{gap:25px}.christmas-world{height:410px}h1{letter-spacing:-2.5px;font-size:49px}.hero-description{font-size:12px}.hero-actions{gap:16px}.hero-actions .button{padding:13px 17px;font-size:12px}.hero-note{font-size:8px}.scene-label{font-size:7px}.main-gift{transform-origin:bottom;scale:.85}.round-stamp{width:75px;height:75px;right:-12px}.members{grid-template-columns:repeat(3,1fr)}}@media (width<=760px){.header{height:110px;padding-top:17px}.header nav>a{display:none}.header nav{gap:0}.nav-admin{padding:9px 12px;font-size:0}.nav-admin span{margin:0;font-size:18px}.brand{font-size:22px}.brand-icon{font-size:42px}.brand-sub{font-size:7px}.hero{grid-template-columns:1fr;gap:35px;padding-top:15px;padding-bottom:40px}.hero-copy{text-align:center}.eyebrow{letter-spacing:1.7px;font-size:8px}h1{letter-spacing:-2px;margin-top:20px;font-size:clamp(41px,8vw,62px)}.hero-description{margin:29px 0 23px;font-size:12px}.hero-actions{justify-content:center;gap:24px}.hero-note{justify-content:center;margin-top:18px;font-size:8px}.christmas-world{border-radius:48% 48% 8px 8px;width:100%;max-width:480px;height:450px;margin:8px auto 0}.scene-label{font-size:8px}.main-gift{scale:1}.round-stamp{bottom:55px;right:-10px}.how{padding-block:37px}.section-top{align-items:flex-start}.handwritten{display:none}h2{font-size:28px}.steps{gap:12px;margin-top:25px}.steps article{padding:20px 15px}.steps h3{font-size:20px}.steps p{font-size:10px}.step-number{top:15px;right:12px}.step-icon{width:29px;height:29px;font-size:20px}.family-section{padding-block:35px}.count-pill{white-space:nowrap;margin-top:20px;padding:7px 9px;font-size:8px}.round-info{gap:15px;padding:20px 0;font-size:9px}#round-status{margin-left:0}.members{grid-template-columns:repeat(2,1fr)}.empty-family{flex-wrap:wrap;gap:12px;padding:20px}.empty-family>div{flex:1}.empty-family .button{width:100%;margin-top:4px;margin-left:0}.privacy-note{text-align:center;font-size:8px}.closing{gap:25px;padding-block:35px}.closing p{font-size:24px}footer{flex-wrap:wrap;min-height:100px;padding-block:22px}footer>span{text-align:center;order:3;width:100%;font-size:8px}.footer-brand{font-size:18px!important}.ticker{padding:14px 0}.ticker>div{gap:20px;font-size:8px}}@media (width<=420px){.wrap{padding-inline:20px}.christmas-world{height:370px}.main-gift{scale:.8}.scene-caption{font-size:8px;bottom:13px}.scene-label{font-size:7px;top:30px}.round-stamp{width:65px;height:65px;font-size:6px;right:-8px}.steps{grid-template-columns:1fr;gap:10px}.steps article{min-height:98px;padding:17px 18px 17px 69px}.steps .step-icon{position:absolute;top:25px;left:20px}.steps h3{margin:0 0 6px}.steps p{max-width:none;font-size:11px}.step-number{font-size:9px;top:12px}.section-top h2{font-size:25px}.member-card{gap:8px;padding:14px 10px}.member-card .avatar{width:30px;height:30px;font-size:15px}.member-card h3{font-size:11px}dialog{padding:30px 23px}.hero-actions{gap:18px}.hero-description{font-size:11px}.desktop-break{display:none}.hero-note{font-size:7px}.settings-grid{grid-template-columns:1fr}.pair-row{gap:5px}.pair-row select{padding:9px 5px;font-size:10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.snow{display:none}}.winter-opening{isolation:isolate;color:#f7eed9;--scene-x:0px;--scene-y:0px;background:#071b15;min-height:min(900px,100svh);position:relative;overflow:hidden}.cinema-background{z-index:-4;transform:translate3d(var(--scene-x),var(--scene-y),0) scale(1.045);will-change:transform;background:url(/images/christmas-room.jpg) 50% 58%/cover no-repeat;animation:22s ease-in-out infinite alternate roomBreathe;position:absolute;inset:-25px}.cinema-vignette{z-index:-3;background:linear-gradient(90deg,#051810b8 0%,#071a1466 30%,#0000 63%),linear-gradient(#061810a3 0%,#0000 25% 82%,#081c17 100%);position:absolute;inset:0}.winter-opening:after{content:"";z-index:-2;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(at 88% 70%,#ffc77b22,#0000 35%);animation:2.7s ease-in-out infinite alternate hearthLight;position:absolute;inset:0}#magic-canvas{pointer-events:none;z-index:2;opacity:.85;width:100%;height:100%;position:absolute;inset:0}.winter-opening .header{z-index:4;padding-inline:60px;max-width:1480px;height:125px;padding-top:17px;position:relative}.winter-opening .brand{color:#f3e9d3}.winter-opening .brand-icon{color:#dfb374}.winter-opening .brand-sub{color:#c4bda5}.winter-opening .header nav{gap:33px;font-size:11px}.winter-opening .header nav a:hover{color:#e3bf85}.winter-opening #nav-count{background:#122a1d55;border-color:#e6d7b438}.winter-opening .nav-admin{color:#f1e6d0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c21194d;border-color:#e6d7b438;border-radius:40px;padding:12px 19px}.winter-opening .hero{z-index:3;grid-template-columns:1.22fr 1fr;gap:10px;max-width:1480px;min-height:610px;padding:58px 60px 85px;position:relative}.winter-opening .hero-copy{padding-bottom:30px}.winter-opening .eyebrow{letter-spacing:2px;color:#dcc797;font-size:9px}.winter-opening .tiny-star{color:#e4bf7d;animation:5s infinite starBreathe}.winter-opening h1{letter-spacing:-3.8px;color:#f8f1e3;white-space:normal;text-shadow:0 3px 25px #0004;max-width:760px;margin:30px 0 32px;font-size:clamp(54px,5.1vw,83px);font-weight:500;line-height:1.08}.winter-opening .joy{color:#e6c48c;white-space:nowrap;text-shadow:0 0 40px #efd49b17;font-weight:500}.winter-opening .joy svg{stroke:#d2a86c88;stroke-width:1.3px;bottom:-16px}.winter-opening .hero-description{color:#ddd9c7b3;text-shadow:0 1px 9px #0004;margin-top:35px;font-size:13px;line-height:2.1}.winter-opening .hero-actions{gap:27px;margin-top:32px}.winter-opening .primary{color:#233426;letter-spacing:.4px;background:linear-gradient(135deg,#e9ca91,#d3a663);border:1px solid #f1d5a655;border-radius:40px;padding:18px 32px;font-size:12px;animation:5s ease-in-out infinite ctaGlow;position:relative;overflow:hidden;box-shadow:0 4px 30px #e9bc6c18}.winter-opening .primary:before{content:"";background:linear-gradient(90deg,#0000,#fff7d466,#0000);animation:7s infinite buttonShine;position:absolute;inset:-50% -80%;transform:translate(-80%)rotate(-25deg)}.winter-opening .primary:hover{background:linear-gradient(135deg,#f8e2b7,#d6af73);transform:translateY(-4px);box-shadow:0 10px 50px #e9bc6c44}.winter-opening .text-button{color:#e5d7bda6;font-size:10px}.winter-opening .text-button span{color:#eee1c6;text-decoration-color:#b7aa8655}.winter-opening .hero-note{color:#bfbda280;margin-top:28px;font-size:9px}.winter-opening .small-gift{color:#c6b68d}.winter-opening .christmas-world{height:470px;box-shadow:none;isolation:auto;perspective:900px;transform:translate3d(calc(var(--scene-x) * -.8),calc(var(--scene-y) * -.8),0);background:0 0;border-radius:0;margin:0;transition:transform .9s cubic-bezier(.2,.6,.2,1)}.winter-opening .main-gift{filter:drop-shadow(0 25px 20px #020c0a99)drop-shadow(0 0 25px #f9d79511);cursor:pointer;transition:filter .5s,scale .5s;animation:7s ease-in-out infinite giftFloat;top:54%;left:52%;rotate:8deg;scale:1.12}.winter-opening .main-gift:hover{filter:drop-shadow(0 20px 30px #020c0a88)drop-shadow(0 0 35px #f9d79566);scale:1.22}.winter-opening .gift-box{background:linear-gradient(110deg,#ab302d,#591c24);box-shadow:inset 1px 0 2px #f3937055,inset -20px 0 25px #2c141544}.winter-opening .gift-lid{background:linear-gradient(110deg,#c54c39,#852d2d)}.winter-opening .gift-tag{color:#775935;transform-origin:12px 0;background:#f2e5bc;animation:5s ease-in-out infinite tagSwing;box-shadow:2px 5px 10px #0003}.floating-message{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:linear-gradient(135deg,#182c2088,#16251a99);border:1px solid #eadbbd24;border-radius:9px;align-items:center;gap:12px;padding:15px 21px;animation:8s ease-in-out infinite messageFloat;display:flex;position:absolute;bottom:15%;left:12%;transform:rotate(-3deg);box-shadow:0 15px 50px #0002}.message-star{color:#dfbd7f;font-size:32px}.floating-message div{flex-direction:column;gap:5px;display:flex}.floating-message span:not(.message-star){letter-spacing:.6px;color:#cbbf9d;font-size:9px}.floating-message strong{font:italic 18px var(--serif);color:#eee0c2;font-weight:500}.winter-opening .scene-caption{letter-spacing:1.3px;color:#e6d6ae9c;font-size:8px;bottom:0;left:20%}.magic-orbit{pointer-events:none;border:1px solid #d9bd7214;border-radius:50%;width:340px;height:340px;animation:26s linear infinite orbit;position:absolute;top:16%;left:11%;transform:rotateX(65deg)rotate(-25deg)}.magic-orbit:before{content:"";background:#f8e4b1;border-radius:50%;width:5px;height:5px;position:absolute;top:20%;left:10%;box-shadow:0 0 15px 7px #e3b86d44}.orbit-two{border-color:#d9bd720e;width:270px;height:270px;animation-duration:32s;animation-direction:reverse;top:24%;left:20%;transform:rotateX(45deg)rotate(45deg)}.hero-bottom{z-index:4;color:#c9c0a36b;letter-spacing:2px;justify-content:space-between;align-items:center;max-width:1360px;margin:0 auto;padding:0 0 30px;font-size:8px;display:flex;position:relative}.hero-bottom>span:nth-child(2){align-items:center;gap:15px;display:flex}.hero-bottom i{background:linear-gradient(#c9c0a300,#e6cd91);width:1px;height:32px;animation:3s infinite scrollLight;display:inline-block}.hero-bottom button{color:#d5c8a9;letter-spacing:.5px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0d261d66;border:1px solid #c9c0a326;border-radius:30px;padding:8px 13px;font-size:9px}.hanging-ornaments{pointer-events:none;z-index:3;width:180px;height:260px;position:absolute;top:0;left:47%}.ornament{transform-origin:50% -120px;filter:drop-shadow(0 0 12px #f6c87611);background:radial-gradient(circle at 30% 25%,#fff0bb,#bca272 10%,#78522e 45%,#35271b 80%);border-radius:50%;width:38px;height:46px;animation:9s ease-in-out infinite ornamentSwing;display:block;position:absolute;top:112px;left:0;box-shadow:inset -7px -5px 12px #0007,0 6px 12px #0005}.ornament:before{content:"";background:linear-gradient(#9b835b22,#d2b87a88);width:1px;height:180px;position:absolute;bottom:100%;left:50%}.ornament:after{content:"";background:#bba071;border-radius:2px;width:10px;height:7px;position:absolute;top:-5px;left:calc(50% - 5px)}.ornament-two{background:radial-gradient(circle at 30% 25%,#f2cc9f,#a64232 12%,#631d22 55%,#230f15 90%);width:28px;height:34px;animation-duration:11s;animation-delay:-3s;top:175px;left:68px}.ornament-three{width:19px;height:23px;animation-duration:8s;animation-delay:-6s;top:82px;left:115px}.winter-opening .light-string{z-index:5;opacity:.9;height:65px}.winter-opening .light-string path{stroke:#b5a17777}.winter-opening .bulb{background:#ffe0a0;width:5px;height:9px;animation-duration:4s;box-shadow:0 0 15px 6px #f4cd7255}.winter-opening .bulb:nth-child(3n){background:#e9b776;box-shadow:0 0 17px 6px #e9b77655}.winter-opening .bulb:nth-child(4n){background:#fff1bb}.ticker{color:#bca976;background:#10291f;border-color:#d9c38b1c;padding:20px 0}.ticker>div{color:#bfae81;letter-spacing:2.5px;font-size:8px;animation-duration:85s}.ticker span{color:#d5b57c}.how{padding-top:80px;padding-bottom:80px}.how .eyebrow,.family-section .eyebrow{color:#8e947c}.steps{gap:24px;margin-top:36px}.steps article{transform-style:preserve-3d;background:linear-gradient(135deg,#fffcf4,#f1f1e5);border-color:#dedfce;padding:29px 28px 31px;transition:transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .7s;overflow:hidden}.steps article:after{content:"";pointer-events:none;background:radial-gradient(#e1c89222,#0000 70%);border-radius:50%;width:180px;height:180px;position:absolute;top:-90px;right:-100px}.steps article:hover{transform:translateY(-10px)rotate(-1deg);box-shadow:0 20px 35px #183d3510}.steps article:nth-child(2):hover{transform:translateY(-10px)rotate(1deg)}.step-icon{width:42px;height:42px;animation:7s ease-in-out infinite stepBreathe}.steps article:nth-child(2) .step-icon{animation-delay:-2s}.steps article:nth-child(3) .step-icon{animation-delay:-4s}.steps h3{margin-top:23px;font-size:25px}.steps p{font-size:12px}.family-section{background:#e9ecdd;position:relative;overflow:hidden}.family-section:before{content:"✳";color:#d8deca88;pointer-events:none;font:400px Georgia;animation:90s linear infinite slowTurn;position:absolute;top:0;right:-90px}.family-section>.wrap{z-index:1;position:relative}.closing{padding-block:64px}.closing p{font-size:32px}.closing>span{animation:5s ease-in-out infinite starBreathe}.closing>span:last-child{animation-delay:-2.5s}.scroll-reveal{opacity:0;transition:opacity 1s,transform 1s cubic-bezier(.2,.7,.2,1);transform:translateY(28px)}.scroll-reveal.visible{opacity:1;transform:translateY(0)}.winter-opening .hero-copy>.eyebrow{animation:1.2s .1s both cinemaEnter}.winter-opening h1{animation:1.5s .2s both cinemaEnter}.winter-opening .hero-description{animation:1.5s .4s both cinemaEnter}.winter-opening .hero-actions{animation:1.5s .6s both cinemaEnter}.winter-opening .hero-note{animation:1.5s .8s both cinemaEnter}.motion-paused *,.motion-paused :before,.motion-paused :after{animation-play-state:paused!important}.motion-paused .scroll-reveal{opacity:1;transform:none}.motion-paused .cinema-background,.motion-paused .christmas-world{transform:none!important}@keyframes roomBreathe{0%{filter:brightness(.93);scale:1}to{filter:brightness(1.04);scale:1.035}}@keyframes hearthLight{0%,to{opacity:.45}20%{opacity:.8}40%{opacity:.6}60%{opacity:.9}80%{opacity:.55}}@keyframes ornamentSwing{0%,to{rotate:-5deg}50%{rotate:5deg}}@keyframes tagSwing{0%,to{rotate:-6deg}50%{rotate:8deg}}@keyframes starBreathe{0%,to{opacity:.55;filter:drop-shadow(0 0 #e9c778)}50%{opacity:1;filter:drop-shadow(0 0 10px #e9c77888)}}@keyframes ctaGlow{0%,to{box-shadow:0 4px 30px #e9bc6c18}50%{box-shadow:0 4px 35px #e9bc6c3b}}@keyframes buttonShine{0%,60%{transform:translate(-80%)rotate(-25deg)}to{transform:translate(80%)rotate(-25deg)}}@keyframes messageFloat{0%,to{translate:0;rotate:-1deg}50%{translate:0 -10px;rotate:1deg}}@keyframes orbit{0%{rotate:0deg}to{rotate:360deg}}@keyframes scrollLight{0%,to{opacity:.2;translate:0 -4px}50%{opacity:1;translate:0 4px}}@keyframes cinemaEnter{0%{opacity:0;filter:blur(6px);transform:translateY(20px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes stepBreathe{0%,to{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}@keyframes slowTurn{to{transform:rotate(360deg)}}@media (width>=1600px){.winter-opening{min-height:930px}.winter-opening .hero{min-height:720px;padding-top:90px}.winter-opening h1{font-size:90px}.winter-opening .christmas-world{height:550px}.hero-bottom{padding-bottom:40px}}@media (width<=1400px){.hero-bottom{padding-inline:60px}.winter-opening .hero{min-height:620px;padding-top:35px;padding-bottom:55px}.winter-opening h1{font-size:clamp(49px,5.2vw,72px)}.winter-opening .christmas-world{height:450px}}@media (width<=1050px){.winter-opening .header{height:118px;padding-inline:32px}.winter-opening .hero{padding-inline:32px;grid-template-columns:1.4fr 1fr;min-height:580px;padding-top:35px}.winter-opening h1{letter-spacing:-2.8px;font-size:54px}.winter-opening .hero-description{font-size:12px}.winter-opening .christmas-world{height:420px}.winter-opening .main-gift{top:55%;left:45%;scale:.95}.floating-message{white-space:nowrap;padding:12px 15px;bottom:10%;left:-5%}.floating-message strong{font-size:15px}.winter-opening .scene-caption{white-space:nowrap;font-size:7px;bottom:-20px;left:-10%}.hanging-ornaments{opacity:.75;left:52%}.hero-bottom{padding-inline:32px}.cinema-vignette{background:linear-gradient(90deg,#051810dd 0%,#071a1488 40%,#0000 80%),linear-gradient(#061810a3 0%,#0000 20% 76%,#081c17 100%)}.magic-orbit{width:240px;height:240px;top:30%;left:0}.orbit-two{width:200px;height:200px;left:10%}.winter-opening .header nav{gap:18px}.winter-opening .hero-note{font-size:8px}.winter-opening .hero-actions{gap:20px}.winter-opening .primary{padding:16px 25px}.how{padding-block:55px}}@media (width<=760px){.winter-opening{min-height:100svh}.winter-opening .header{height:108px;padding-inline:25px}.winter-opening .nav-admin{padding:10px 13px;font-size:0}.winter-opening .nav-admin span{margin:0;font-size:17px}.winter-opening .hero{flex-direction:column;align-items:stretch;gap:0;min-height:810px;padding:32px 25px 30px;display:flex}.winter-opening .hero-copy{text-align:left;z-index:4;padding-bottom:0;position:relative}.winter-opening .hero-copy>.eyebrow{letter-spacing:1.4px;font-size:8px}.winter-opening h1{letter-spacing:-2.5px;max-width:none;margin:22px 0 30px;font-size:clamp(44px,7.6vw,65px);line-height:1.1}.winter-opening .hero-description{max-width:420px;margin:34px 0 24px;font-size:12px;line-height:2}.winter-opening .hero-description br:last-child{display:none}.winter-opening .hero-actions{justify-content:flex-start;gap:25px;margin-top:22px}.winter-opening .hero-note{justify-content:flex-start;max-width:340px;font-size:8px;line-height:1.7}.winter-opening .christmas-world{z-index:3;pointer-events:none;align-self:flex-end;width:70%;max-width:none;height:260px;margin-top:20px}.winter-opening .main-gift{pointer-events:auto;top:16%;left:58%;scale:.8}.floating-message{padding:12px 16px;bottom:12%;left:0;transform:rotate(-3deg)}.floating-message strong{font-size:16px}.winter-opening .scene-caption{text-align:left;justify-content:flex-start;font-size:7px;bottom:-14px;left:0}.cinema-background{background-position:63% bottom;background-size:auto 100%;inset:-20px}.cinema-vignette{background:linear-gradient(#061a14cc 0%,#061a14b3 30%,#071a1466 50%,#071a1422 73%,#081c17 100%),linear-gradient(90deg,#051810c7 0%,#071a1444 65%,#0000 100%)}.winter-opening:after{background:radial-gradient(at 90% 65%,#ffc77b33,#0000 50%)}.hanging-ornaments{opacity:.6;top:-20px;left:auto;right:24%;scale:.65}.ornament-one{top:130px}.ornament-two{top:80px}.ornament-three{display:none}.hero-bottom{letter-spacing:1px;padding:0 25px 25px;font-size:7px}.hero-bottom>span:nth-child(2){display:none}.winter-opening .light-string{opacity:.65}.magic-orbit{width:200px;height:200px;top:-8%;left:24%}.orbit-two{width:150px;height:150px;top:0;left:35%}.how{padding-block:43px}.steps article{padding:25px 17px}.steps h3{font-size:22px}.steps p{font-size:11px}.closing{padding-block:42px}.closing p{font-size:26px}}@media (width<=420px){.winter-opening .hero{padding-top:25px;min-height:800px;padding-inline:22px}.winter-opening h1{letter-spacing:-2.3px;font-size:43px}.winter-opening .eyebrow{letter-spacing:1.1px!important;font-size:7px!important}.winter-opening .hero-description{font-size:11px}.winter-opening .primary{padding:16px 24px;font-size:11px}.winter-opening .hero-note{font-size:7px}.winter-opening .hero-actions{gap:25px}.winter-opening .christmas-world{width:80%;height:280px;margin-top:25px}.winter-opening .main-gift{top:18%;left:60%;scale:.85}.floating-message{padding:12px 15px;bottom:12%;left:0}.floating-message strong{font-size:16px}.floating-message span:not(.message-star){font-size:8px}.winter-opening .scene-caption{bottom:-8px}.steps article{padding:20px 18px 20px 75px}.steps article .step-icon{top:25px;left:19px}.steps h3{margin-top:0;font-size:22px}.hanging-ornaments{opacity:.4;right:21%}.closing p{font-size:24px}}@media (prefers-reduced-motion:reduce){.cinema-background,.winter-opening .christmas-world{transform:none!important}.scroll-reveal{opacity:1;transform:none}#magic-canvas{display:none}.winter-opening h1,.winter-opening .hero-copy>*{filter:none!important}}@media (width>=761px) and (width<=1050px){.winter-opening h1{letter-spacing:-2.4px;font-size:47px}.cinema-background{background-position:82% 58%}.floating-message{bottom:1%;left:-18%}.winter-opening .main-gift{top:42%}.winter-opening .scene-caption{bottom:-28px}}@media (width<=760px){.winter-opening h1{font-size:clamp(38px,7.7vw,58px)}.cinema-background{background-color:#071b15;background-position:100% 100%;background-repeat:no-repeat;background-size:auto 65%}.cinema-vignette{background:linear-gradient(#061a14bb 0%,#061a14cc 32%,#071a1455 53%,#071a1411 76%,#081c17 100%),linear-gradient(90deg,#05181077 0%,#071a1411 65%,#0000 100%)}.floating-message{z-index:4;bottom:0}.winter-opening .main-gift{top:10%}.winter-opening .hero{min-height:800px}.winter-opening .scene-caption{bottom:-38px}}@media (width<=420px){.winter-opening h1{letter-spacing:-1.8px;font-size:38px}.winter-opening .christmas-world{height:280px;margin-top:35px}.floating-message{bottom:0}.winter-opening .main-gift{top:2%;left:52%;scale:.85}.winter-opening .hero{min-height:825px}}@media (width>=761px){.floating-message{top:11%;bottom:auto;left:28%}}.motion-paused .hero-copy>*{opacity:1!important;filter:none!important;animation:none!important;transform:none!important}.scene-controls{align-items:center;gap:9px;display:flex}.scene-controls button{transition:background .45s,box-shadow .45s,border-color .45s,transform .45s}.scene-controls button:hover{background:#bfa36b25;border-color:#e5ca8b88;transform:translateY(-2px);box-shadow:0 0 25px #e6c78920}.scene-controls button:disabled{opacity:.4;box-shadow:none;transform:none}.scene-controls button[aria-pressed=true]{background:#a98b4b20;border-color:#d5bc7744}.interactive-lantern{z-index:1;pointer-events:none;opacity:0;background:radial-gradient(circle 240px at var(--lantern-x,65%) var(--lantern-y,45%),#eac17d19,transparent 75%);mix-blend-mode:screen;transition:opacity 1.6s;position:absolute;inset:0}.lantern-awake .interactive-lantern{opacity:1}.ornament{transform:rotate(var(--orb-push,0deg));will-change:transform;transition:transform 1.6s cubic-bezier(.18,.7,.25,1)}.ornament:after{box-shadow:0 0 calc(30px * var(--orb-glow,0)) #f9dd98}.lights-celebrate .bulb{animation:2.2s ease-in-out infinite alternate celebrationLight}.lights-celebrate .cinema-background{filter:brightness(1.09)saturate(1.1)}.lights-celebrate .cinema-vignette{animation:3s ease-in-out infinite alternate gentleGold}.scene-caption{pointer-events:none}.mobile-hint{display:none}.effects-active .scene-caption .live-dot{animation:3s ease-in-out infinite starBreathe}.steps article{--card-x:50%;--card-y:50%}.steps article:hover:after{background:radial-gradient(circle,#e1c89255,#0000 70%);width:280px;height:280px}.main-gift:focus-visible{outline-offset:18px;border-radius:8px;outline:1px solid #ebd39b}@keyframes celebrationLight{0%{filter:drop-shadow(0 0 4px #ffe3a6);opacity:.65}to{filter:drop-shadow(0 0 10px #ffe3a6);opacity:1}}@keyframes gentleGold{0%{opacity:1}to{opacity:.88}}@media (width<=760px){.hero-bottom{flex-wrap:wrap;justify-content:center;gap:17px;padding-top:15px}.hero-bottom>span:first-child{text-align:center;width:100%}.scene-controls{justify-content:center;gap:8px;width:100%}.scene-controls button{padding:10px 13px;font-size:9px}.desktop-hint{display:none}.mobile-hint{display:inline}.winter-opening .scene-caption{letter-spacing:.6px;font-size:8px}.interactive-lantern{display:none}}@media (prefers-reduced-motion:reduce){.interactive-lantern{display:none}.ornament{will-change:auto;transform:none}.lights-celebrate .cinema-background{filter:none}}.pin-input{letter-spacing:18px;text-align:center;font-variant-numeric:tabular-nums;padding-left:30px;font-size:32px;font-weight:600}.session-actions{border-top:1px solid #d9ddcc;flex-wrap:wrap;justify-content:center;gap:3px 17px;margin-top:23px;padding-top:12px;display:flex}.session-actions p{text-align:center;width:100%;margin:0 0 7px}.session-actions button{font-size:10px}.key-box{font-variant-numeric:tabular-nums;letter-spacing:12px!important;font-size:34px!important}.wall-portrait{z-index:3;filter:drop-shadow(8px 14px 10px #050b08aa);cursor:zoom-in;background:0 0;border:0;width:clamp(120px,11vw,180px);padding:0;transition:filter .8s,transform .8s;position:absolute;top:14.5%;right:4.5%;transform:perspective(900px)rotateY(-8deg)rotate(1.5deg)}.portrait-hanger{clip-path:polygon(50% 0,100% 100%,98% 100%,50% 3%,2% 100%,0 100%);background:#b39b69;width:64px;height:45px;position:absolute;top:-27px;left:calc(50% - 32px)}.portrait-moulding{background:linear-gradient(135deg,#ead3a0,#7b5329 18%,#d6b676 30%,#8c652f 65%,#e4c796);border:3px ridge #bb9352;padding:9px;display:block;box-shadow:inset 0 0 0 2px #38240e,inset 0 0 0 4px #f3d39b99,0 0 0 1px #372719}.portrait-mat{background:linear-gradient(125deg,#ebe0c6,#c7bca2);padding:9px;display:block;box-shadow:inset 2px 3px 4px #493b2933}.portrait-mat img{width:100%;height:auto;display:block;box-shadow:0 0 0 1px #5d4b2b,inset 0 0 10px #0004}.portrait-glass{pointer-events:none;background:linear-gradient(125deg,#fff9df19,#0000 40%,#ffd88808);position:absolute;inset:18px}.wall-portrait:hover{filter:drop-shadow(8px 16px 15px #050b08aa)drop-shadow(0 0 18px #eec68b33);transform:perspective(900px)rotateY(-3deg)rotate(.5deg)translateY(-2px)}.photo-viewer{background:#f1e9d6;border:8px ridge #b9995c;width:min(800px,100vw - 30px);padding:30px}.photo-viewer img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:72dvh;margin:auto;display:block}.photo-viewer p{text-align:center;font:italic 18px var(--serif);color:#6c634b;margin:18px 0 0}.photo-viewer>button{color:#594c32;background:0 0;border:0;padding:0 6px;font-size:28px;line-height:1;position:absolute;top:0;right:2px}.winter-opening .floating-message{z-index:4}@media (width<=1050px){.wall-portrait{width:115px;top:18%;right:4%}}@media (width<=760px){.wall-portrait{z-index:3;width:106px;top:46%;right:6%}.portrait-moulding{border-width:2px;padding:6px}.portrait-mat{padding:6px}.portrait-hanger{width:46px;height:35px;top:-23px;left:calc(50% - 23px)}.photo-viewer{padding:25px 13px 20px}.photo-viewer p{font-size:15px}.winter-opening .christmas-world{z-index:4}}.wall-portrait{z-index:5}.winter-opening{-webkit-user-select:none;user-select:none}.winter-opening img{-webkit-user-drag:none}.winter-opening input,.winter-opening textarea{-webkit-user-select:text;user-select:text}body{background:#0a1d17}footer.wrap{color:#e3d5b4;border-color:#d0b27124;max-width:1240px}footer>span{color:#9a9e84}footer .text-button{color:#cfbc94!important}footer .brand-sub{color:#b5b395}.brand-photo{background:linear-gradient(135deg,#dcc18b,#75512e,#d1ae69);border:2px ridge #b8975a;border-radius:1px;flex-shrink:0;width:52px;padding:4px;display:block;transform:rotate(-3deg);box-shadow:0 3px 12px #0005,inset 0 0 0 1px #efdbac66}.brand-photo img{filter:sepia(.13);border:2px solid #cdbb92;width:100%;height:auto;display:block}.winter-opening .brand{gap:12px}.footer-brand .brand-photo{width:40px}.below-stube{isolation:isolate;color:#f4ead4;background:radial-gradient(at 8% 9%,#40523525,#0000 38%),radial-gradient(at 93% 58%,#85613318,#0000 32%),#0b2018;position:relative;overflow:hidden}.below-stube:before{content:"";z-index:-1;pointer-events:none;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");position:absolute;inset:0}.below-stube .wrap{max-width:1240px}.below-stube .eyebrow{color:#b3a784;letter-spacing:2px;font-size:8px}.below-stube h2{letter-spacing:-1.8px;color:#f4ead7;margin-top:18px;font-size:51px;font-weight:500;line-height:1.18}.below-stube h2 em{color:#ddbd83;font-weight:500}.below-stube .section-top{align-items:flex-end}.section-intro{color:#a6ac94;margin:0 0 6px;padding-right:20px;font-size:12px;line-height:2}.below-stube .how{padding-top:100px;padding-bottom:85px}.below-stube .steps{gap:0;margin-top:55px}.below-stube .steps article{box-shadow:none;text-align:center;background:0 0;border:0;border-right:1px solid #cdb47a20;border-radius:0;padding:0 40px 10px;transition:transform .8s;overflow:visible}.below-stube .steps article:first-child{padding-left:0}.below-stube .steps article:last-child{border-right:0;padding-right:0}.below-stube .steps article:after{display:none}.below-stube .steps article:hover{box-shadow:none;background:0 0;transform:translateY(-7px)}.below-stube .step-number{letter-spacing:1.8px;color:#ac9b74;margin:20px 0;font-size:8px;display:block;position:static}.below-stube .steps h3{color:#eee1c7;margin:0 0 15px;font-size:25px;font-weight:500}.below-stube .steps p{color:#a1ab91;max-width:260px;margin:auto;font-size:11px;line-height:2}.step-art{filter:drop-shadow(0 14px 18px #020e0a66);width:220px;height:180px;margin:0 auto 30px;animation:9s ease-in-out infinite keepsakeFloat;position:relative}.step-art:before{content:"";background:radial-gradient(#d4b5740d,#0000 70%);border-radius:50%;position:absolute;inset:10px -10px}.art-spark{color:#d8bd88;font-size:26px;animation:5s infinite starBreathe;position:absolute;top:25px;right:5px}.letter-paper{background:linear-gradient(145deg,#e4d8b7,#b7a480);width:125px;height:135px;padding:18px 20px;position:absolute;top:8px;left:45px;transform:rotate(-9deg);box-shadow:0 4px 6px #0002}.letter-paper span{font:italic 23px var(--serif);color:#665635}.letter-paper i{background:#9a886255;width:80%;height:1px;margin-top:12px;display:block}.letter-paper i:last-child{width:55%}.letter-envelope{background:linear-gradient(30deg,#bca578 49%,#c8b48a 50%);border:1px solid #e3cfa766;border-radius:3px;width:159px;height:103px;position:absolute;top:66px;left:27px;transform:rotate(-5deg);box-shadow:inset 0 -6px 20px #69552b22}.letter-envelope:after{content:"";clip-path:polygon(0 0,100% 0,50% 60%);filter:drop-shadow(0 2px 1px #0003);background:#d0b98b;position:absolute;inset:0}.wax-seal{z-index:2;width:35px;height:35px;font:17px var(--serif);color:#d6a584;background:radial-gradient(#8e4636,#582c26);border:3px ridge #ac6652;border-radius:46% 54% 49% 51%;place-items:center;display:grid;position:absolute;top:104px;left:91px;transform:rotate(-5deg);box-shadow:0 3px 5px #0005}.secret-ticket{outline-offset:-8px;z-index:2;background:linear-gradient(135deg,#234a35,#142f23);border:1px solid #b8a165;outline:1px solid #b8a16555;flex-direction:column;justify-content:center;align-items:center;width:143px;height:151px;display:flex;position:absolute;top:12px;left:40px;transform:rotate(7deg);box-shadow:4px 10px 15px #0004}.secret-ticket span{letter-spacing:1.5px;color:#b5ad86;font-size:6px}.secret-ticket strong{font:italic 26px var(--serif);color:#e2cb94;margin:9px 0 0}.secret-ticket i{font:40px var(--serif);color:#e3c68d;margin:0 0 6px;font-style:normal}.art-secret{animation-delay:-3s}.art-secret .art-spark{font-size:18px;top:120px;right:1px}.ticket-ribbon{z-index:1;border:7px solid #9e674655;border-radius:50%;width:165px;height:68px;position:absolute;top:52px;left:27px;transform:rotate(-25deg)}.parcel-box{background:linear-gradient(100deg,#943c34,#49221f);border-radius:2px;width:117px;height:100px;position:absolute;top:64px;left:52px;transform:rotate(-6deg);box-shadow:inset -12px 0 25px #190f0a33}.parcel-box:after{content:"";background:linear-gradient(90deg,#ad8b52,#dfc391,#b39662);width:19px;height:100%;position:absolute;top:0;left:49px}.parcel-lid{background:linear-gradient(100deg,#a44a3c,#682c27);border-radius:2px;width:132px;height:23px;position:absolute;top:58px;left:44px;transform:rotate(-6deg);box-shadow:0 3px 3px #0003}.parcel-lid:after{content:"";background:#d8b67c;width:19px;height:100%;position:absolute;top:0;left:56px}.parcel-bow{color:#cfad75;text-shadow:1px 2px 1px #594125;font:105px/1 Georgia;position:absolute;top:0;left:64px;transform:rotate(-14deg)}.parcel-heart{color:#94523c;background:#d9c5a1;width:36px;height:39px;font-size:24px;line-height:39px;position:absolute;bottom:30px;right:32px;transform:rotate(12deg);box-shadow:0 2px 5px #0003}.art-parcel{animation-delay:-5s}.art-parcel .art-spark{top:12px;right:14px}.gold-divider{color:#b39c6d;justify-content:center;align-items:center;gap:25px;width:85%;max-width:1000px;margin:0 auto;display:flex}.gold-divider i{background:linear-gradient(90deg,#0000,#b39c6d44);width:45%;height:1px}.gold-divider i:last-child{transform:rotate(180deg)}.gold-divider span{font-size:25px}.below-stube .family-section{background:0 0;border:0;padding-top:90px;padding-bottom:30px;overflow:visible}.below-stube .family-section:before{display:none}.family-intro{color:#a1ad93;margin:21px 0 35px;font-size:12px;line-height:1.9}.below-stube .count-pill{color:#d4caad;background:#1c3728;border:1px solid #bcac7444;margin-bottom:7px;padding:11px 17px;font-size:10px}.below-stube .count-pill .live-dot{background:#d8bd80;box-shadow:0 0 12px #d8bd8044}.family-room{background:radial-gradient(at 50% 90%,#775b2b16,#0000 70%),linear-gradient(135deg,#20382a44,#11271d99);border:1px solid #bb9f632e;border-radius:3px;padding:32px 40px 0;position:relative;box-shadow:0 30px 70px #020e0a22,inset 0 0 60px #0a1c1433}.room-corner{pointer-events:none;border-top:1px solid #b9a16b88;border-left:1px solid #b9a16b88;width:35px;height:35px;position:absolute;top:-1px;left:-1px}.corner-two{inset:auto -1px -1px auto;transform:rotate(180deg)}.below-stube .round-info{color:#bdba99;border-bottom:1px solid #c0aa7522;align-items:center;gap:30px;padding:0 0 30px}.below-stube .round-info>span:not(#round-status){flex-direction:column;align-items:flex-start;gap:7px;min-width:170px;display:flex}.below-stube .round-info small{color:#98a287;letter-spacing:1.7px;font-size:7px}.below-stube .round-info strong{font:500 25px var(--serif);color:#dfc48e;letter-spacing:-.5px}.below-stube #round-status{letter-spacing:.2px;color:#b5b998;border:1px solid #b5b99822;border-radius:30px;padding:10px 14px;font-size:10px}.below-stube .members{grid-template-columns:repeat(4,1fr);gap:19px;padding:35px 0 30px}.below-stube .member-card{text-align:center;background:linear-gradient(155deg,#223e2b99,#14281e33);border:1px solid #d9c18b1a;border-radius:80px 80px 5px 5px;flex-direction:column;justify-content:flex-end;gap:0;min-height:223px;padding:27px 12px;transition:transform .6s,box-shadow .6s,border-color .6s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #f4d3970d}.below-stube .member-card:hover{border-color:#d9c18b55;transform:translateY(-7px);box-shadow:0 12px 30px #020e0a44,inset 0 0 40px #cbb47d08}.ornament-thread{background:linear-gradient(#b6a26f33,#d0b77f);width:1px;height:29px;position:absolute;top:0;left:50%}.below-stube .member-card .avatar{color:#e9d5a0;width:71px;height:77px;font:32px var(--serif);transform-origin:50% -29px;background:radial-gradient(circle at 30% 22%,#8e9b75 0%,#4b6547 12%,#233d2b 55%,#14291f 85%);border:1px solid #c4b17944;border-radius:50%;margin:9px auto 23px;animation:8s ease-in-out infinite baubleBreathe;position:relative;box-shadow:inset -8px -8px 16px #04150c77,inset 2px 2px 4px #f8e4a133,0 7px 14px #0004}.below-stube .member-card .avatar:before{content:"";background:linear-gradient(90deg,#80703e,#d8bb79,#7d673e);border-radius:2px 2px 0 0;width:14px;height:8px;position:absolute;top:-6px;left:calc(50% - 7px)}.below-stube .member-card .avatar:after{content:"";background:linear-gradient(135deg,#fff4ce24,#0000);border-radius:50%;position:absolute;inset:9px 15px 40px 11px;transform:rotate(-25deg)}.below-stube .member-card:nth-child(3n+2) .avatar{color:#efd4b1;background:radial-gradient(circle at 30% 22%,#bb8672,#8f4538 14%,#542820 60%,#2a1916 90%);animation-delay:-2s}.below-stube .member-card:nth-child(3n) .avatar{color:#f2e1b6;background:radial-gradient(circle at 30% 22%,#c4ae7d,#9b7945 12%,#58432a 60%,#27271b 90%);animation-delay:-4s}.below-stube .member-card h3{font:500 22px var(--serif);color:#f0e2c7;letter-spacing:-.5px;margin:0 0 8px}.below-stube .member-card p{color:#a9b092;letter-spacing:.3px;font-size:8px;line-height:1.6}.below-stube .add-member{color:#d6c08e;background:0 0;border:1px dashed #b6a06c4d;border-radius:80px 80px 5px 5px;flex-direction:column;justify-content:center;align-items:center;gap:11px;min-height:223px;transition:background .6s,transform .6s;display:flex}.below-stube .add-member:hover{background:#c6a66b0c;transform:translateY(-5px)}.below-stube .empty-ornament{width:62px;height:62px;font:30px var(--serif);color:#c3b281;border:1px dashed #b6a06c77;border-radius:50%;place-items:center;margin:0 0 10px;display:grid}.below-stube .add-member strong{font:italic 20px var(--serif);font-weight:500}.below-stube .add-member small{color:#96a084;font-size:9px}.family-room-bottom{border-top:1px solid #c0aa7522;justify-content:space-between;align-items:center;gap:20px;padding:21px 0;display:flex}.below-stube .privacy-note{color:#89977d;justify-content:flex-start;margin:0;font-size:9px}.family-room-bottom button{color:#d9c08c;text-underline-offset:5px;white-space:nowrap;font-size:10px;-webkit-text-decoration:underline #d9c08c55;text-decoration:underline #d9c08c55}.below-stube .empty-family{color:#e3d4b2;border-color:#a5946644}.below-stube .empty-family h3{color:#e3d4b2}.below-stube .empty-family p{color:#a1ad93}.below-stube .primary{color:#1e3425;background:linear-gradient(135deg,#e5c794,#bc9558);border:1px solid #ead8ad44;border-radius:30px;padding:16px 27px;font-size:12px;box-shadow:0 5px 25px #c2a1690e}.below-stube .primary:hover{box-shadow:0 8px 35px #c2a16922}.below-stube .closing{text-align:center;flex-direction:column;gap:0;padding-block:95px 100px;display:flex;position:relative}.closing-stars{color:#c6aa73;justify-content:center;align-items:center;gap:20px;margin-bottom:25px;font-size:23px;animation:7s infinite starBreathe;display:flex}.closing-stars span{font-size:12px}.below-stube .closing p{font:500 62px/1.18 var(--serif);color:#f0e5d1;letter-spacing:-2px;margin:22px 0}.below-stube .closing p em{color:#d9b981;font-weight:500}.closing-note{color:#9eaa8e;font-size:12px;line-height:1.8}.closing>.button{margin-top:30px}.candle-scene{pointer-events:none;z-index:-1;width:170px;height:190px;position:absolute;bottom:65px}.candle-left{left:3%;rotate:-5deg}.candle-right{right:3%;rotate:5deg;scale:.8}.candle-scene>div{background:linear-gradient(#b39a5d66,#5e4f3033);border-radius:50%;width:155px;height:18px;position:absolute;bottom:0;left:7px;box-shadow:0 7px 20px #0004}.candle{background:linear-gradient(90deg,#8c7854,#decca1 40%,#b5a17a 70%,#796d4e);border-radius:40% 40% 3px 3px/5% 5% 3px 3px;width:43px;height:115px;display:block;position:absolute;bottom:12px;left:25px;box-shadow:inset 0 2px 2px #f1ddb988}.candle+.candle{width:35px;height:75px;left:90px}.candle span{filter:drop-shadow(0 0 10px #f4bd7266);transform-origin:bottom;background:radial-gradient(at 50% 80%,#fff4c5 10%,#ffc46d 45%,#de853c88 70%,#0000 80%);border-radius:80% 30% 60% 40%;width:12px;height:25px;animation:2.4s ease-in-out infinite alternate candleDance;position:absolute;bottom:calc(100% + 2px);left:calc(50% - 6px)}.candle span:before{content:"";mix-blend-mode:screen;background:radial-gradient(#e5ab4c18,#0000 65%);border-radius:50%;position:absolute;inset:-70px}.candle+.candle span{animation-duration:3.1s;animation-delay:-1s}.ticker{border-bottom-color:#c2a16920}.below-stube .closing>span{animation:none}.below-stube .closing-note{font-size:12px}.below-stube .scroll-reveal{transition-duration:1.1s}@keyframes keepsakeFloat{0%,to{translate:0;rotate:-1deg}50%{translate:0 -7px;rotate:1deg}}@keyframes baubleBreathe{0%,to{rotate:-2.5deg}50%{rotate:2.5deg}}@keyframes candleDance{0%{opacity:.85;transform:rotate(-5deg)scaleY(.92)}to{opacity:1;transform:rotate(6deg)scaleY(1.06)}}@media (width<=1050px){.below-stube h2{font-size:43px}.below-stube .steps article{padding-inline:25px}.step-art{width:190px;scale:.9}.below-stube .steps h3{font-size:23px}.family-room{padding-inline:25px}.below-stube .members{gap:13px}.below-stube .round-info{gap:20px}.below-stube .round-info>span:not(#round-status){min-width:145px}.below-stube .round-info strong{font-size:23px}.below-stube #round-status{font-size:9px}.below-stube .closing p{font-size:55px}.candle-left{left:0;scale:.8}.candle-right{right:0;scale:.7}}@media (width<=760px){.brand-photo{width:46px;padding:3px}.winter-opening .brand{font-size:21px}.below-stube .how{padding-block:60px 45px}.below-stube .section-top{flex-wrap:wrap;align-items:flex-start;gap:20px}.below-stube h2{letter-spacing:-1.4px;margin-top:13px;font-size:37px}.section-intro{margin:0;padding:0;font-size:11px}.below-stube .steps{grid-template-columns:1fr;margin-top:20px}.below-stube .steps article,.below-stube .steps article:first-child,.below-stube .steps article:last-child{text-align:left;border:0;border-bottom:1px solid #c2aa7422;grid-template-columns:125px 1fr;column-gap:20px;padding:28px 0;display:grid}.below-stube .steps article:last-child{border:0}.step-art{transform-origin:0;grid-row:1/4;align-self:center;width:220px;height:180px;margin:0 -95px 0 0;scale:.64}.below-stube .step-number{letter-spacing:1.1px;margin:5px 0 13px;font-size:7px}.below-stube .steps h3{margin:0 0 10px;font-size:23px}.below-stube .steps p{max-width:none;margin:0;font-size:11px;line-height:1.9}.below-stube .family-section{padding-top:45px;padding-bottom:10px}.family-intro{margin:20px 0 25px;font-size:11px}.below-stube .count-pill{margin:0;padding:9px 12px;font-size:9px}.family-room{padding:23px 20px 0}.below-stube .round-info{justify-content:space-between;gap:22px;padding-bottom:22px}.below-stube .round-info>span:not(#round-status){gap:6px;min-width:0}.below-stube .round-info small{letter-spacing:1.1px;font-size:6px}.below-stube .round-info strong{font-size:23px}.below-stube #round-status{text-align:center;width:100%;margin:0;padding:9px 10px;display:block}.below-stube .members{grid-template-columns:repeat(2,1fr);gap:13px;padding-block:25px}.below-stube .member-card,.below-stube .add-member{border-radius:70px 70px 4px 4px;min-height:204px;padding:23px 8px}.below-stube .member-card .avatar{width:62px;height:67px;margin-bottom:20px;font-size:28px}.below-stube .member-card h3{font-size:21px}.below-stube .member-card p{letter-spacing:0;font-size:7px}.below-stube .add-member strong{font-size:18px}.below-stube .add-member small{font-size:8px}.family-room-bottom{flex-direction:column;gap:12px;padding-block:19px}.below-stube .privacy-note{text-align:center;font-size:8px;line-height:1.8}.family-room-bottom button{font-size:10px}.below-stube .closing{padding-block:65px 80px}.below-stube .closing p{letter-spacing:-1.5px;margin-block:20px;font-size:43px}.closing-stars{margin-bottom:20px}.below-stube .closing>.eyebrow{letter-spacing:1.3px;font-size:7px}.below-stube .closing-note{font-size:10px}.below-stube .closing>.button{z-index:1;padding:15px 23px;font-size:11px;position:relative}.candle-scene{opacity:.45;bottom:10px;scale:.5}.candle-left{left:-45px}.candle-right{right:-45px;scale:.43}footer.wrap{gap:24px;padding-block:26px}footer .brand-photo{width:36px}.below-stube .empty-family{padding:18px;display:flex}.winter-opening .christmas-world .main-gift{animation:8s ease-in-out infinite giftSettle;top:auto;bottom:28px;left:54%;scale:.8}.winter-opening .christmas-world{height:300px;margin-top:60px}.winter-opening .floating-message{top:auto;bottom:-55px;left:-4%}.winter-opening .scene-caption{bottom:-87px;left:0}.winter-opening .hero{padding-bottom:115px}.winter-opening .scene-controls{z-index:4;position:relative}}@media (width<=420px){.below-stube .how{padding-top:50px}.below-stube .eyebrow{letter-spacing:1.5px;font-size:7px}.below-stube h2{font-size:34px}.below-stube .steps article,.below-stube .steps article:first-child,.below-stube .steps article:last-child{grid-template-columns:100px 1fr;column-gap:12px;padding-block:22px}.step-art{margin-right:-120px;scale:.5}.below-stube .steps h3{font-size:21px}.below-stube .steps p{font-size:10px}.below-stube .step-number{font-size:6px}.family-room{padding-inline:14px}.below-stube .round-info strong{font-size:21px}.below-stube .round-info small{font-size:5.5px}.below-stube .member-card,.below-stube .add-member{min-height:190px}.below-stube .member-card p{max-width:100px;margin-inline:auto}.below-stube .add-member strong{font-size:16px}.below-stube .closing p{font-size:38px}.winter-opening .christmas-world{height:285px;margin-top:65px}.winter-opening .christmas-world .main-gift{top:auto;bottom:20px;left:54%;scale:.8}.winter-opening .hero{padding-bottom:120px}.winter-opening .brand{font-size:20px}.winter-opening .brand-sub{letter-spacing:2.5px;font-size:6px}.brand-photo{width:44px}}@keyframes giftSettle{0%,to{translate:0;rotate:-1deg}50%{translate:0 -4px;rotate:1deg}}@media (prefers-reduced-motion:reduce){.step-art,.below-stube .member-card .avatar,.candle span,.winter-opening .christmas-world .main-gift{animation:none}.below-stube .steps article:hover,.below-stube .member-card:hover{transform:none}}.below-stube:before{opacity:.027;background-size:180px 180px}.below-stube .steps p{font-size:13px;line-height:1.9}.section-intro{font-size:13px}.below-stube .members{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.family-intro{font-size:13px}.below-stube .member-card p{font-size:9px}@media (width<=1050px){.below-stube .members{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.below-stube .steps p{font-size:12px}}@media (width<=760px){.below-stube .members{grid-template-columns:repeat(2,1fr)}.below-stube .steps p,.section-intro,.family-intro{font-size:12px}.below-stube .member-card p{font-size:8px}}@media (width<=420px){.below-stube .steps p{font-size:11px}.below-stube .member-card p{font-size:7px}}html.hut-locked{overflow:hidden}html.hut-locked body{background:#071812;height:100svh;overflow:hidden}.hut-locked #site-content{pointer-events:none}.hut-gate[hidden]{display:none}.hut-gate{z-index:1000;color:#f8efda;isolation:isolate;-webkit-user-select:none;user-select:none;background:#071c20;min-height:100svh;position:fixed;inset:0;overflow:hidden}.hut-camera{z-index:-4;will-change:transform;transition:transform 2.25s cubic-bezier(.65,.05,.26,1),filter 2s;position:absolute;inset:0;transform:translate(0,0)scale(1)}.hut-world{aspect-ratio:3/2;background:#071b21 url(/images/winter-hut.jpg) 50%/100% 100% no-repeat;width:max(124vw,186svh);position:absolute;top:50%;left:50%;transform:translate(-58.6%,-50%)}.hut-doorway{perspective:850px;width:14.6%;height:34.05%;transform-style:preserve-3d;isolation:isolate;background:#0e0e09;position:absolute;top:44.15%;left:51.35%;box-shadow:0 0 0 3px #3c2518,inset 0 0 30px #000}.hut-interior{filter:brightness(.65);opacity:.85;background:#1b2c1e url(/images/christmas-room.jpg) 78%/auto 100% no-repeat;position:absolute;inset:0}.hut-inner-light{opacity:.25;background:linear-gradient(#0000 50%,#ffd28c55);transition:opacity 1.5s;position:absolute;inset:0;box-shadow:0 0 35px #e6ab4d3b}.hut-door{transform-origin:0;backface-visibility:visible;z-index:3;width:50%;height:100%;transform-style:preserve-3d;background:repeating-linear-gradient(90deg,#0000 0 20%,#090e0988 20.8%,#937a4e19 22%,#0000 23%),linear-gradient(105deg,#31402a,#182b21 24%,#233526 70%,#13261c);transition:transform 1.75s cubic-bezier(.25,.7,.15,1),filter 1.8s;position:absolute;inset:0 auto 0 0;transform:rotateY(0);box-shadow:inset 0 0 0 3px #1c2115,inset 0 0 0 6px #9b804133,inset 0 0 35px #0b120a88,0 0 2px 1px #060b07}.hut-door-right{transform-origin:100%;background:repeating-linear-gradient(90deg,#0000 0 20%,#090e0988 20.8%,#937a4e19 22%,#0000 23%),linear-gradient(85deg,#13261c,#233526 35%,#182b21 85%,#31402a);border-left:1px solid #9e854938;left:50%}.hut-door-panel{border:3px ridge #ae916544;position:absolute;inset:8% 12%;box-shadow:inset 0 0 16px #0003,0 0 3px #0d130b}.hut-door-panel:before,.hut-door-panel:after{content:"";border:1px solid #9c8c552e;height:32%;position:absolute;left:6%;right:6%;box-shadow:inset 0 0 12px #050d0844}.hut-door-panel:before{top:7%}.hut-door-panel:after{height:39%;bottom:7%}.hut-brass-handle{background:linear-gradient(90deg,#5c4726,#d9b875 42%,#8b6934 80%,#3c2e1d);border-radius:40%;width:9%;height:14%;position:absolute;top:47%;right:10%;box-shadow:1px 3px 4px #0008,inset 1px 0 1px #e5cba2aa}.hut-brass-handle:after{content:"";background:linear-gradient(90deg,#c6a15d,#715326);border-radius:3px;width:70%;height:34%;position:absolute;top:35%;left:28%;box-shadow:1px 2px 3px #0005}.hut-door-right .hut-brass-handle{left:10%;right:auto}.hut-door-right .hut-brass-handle:after{left:auto;right:28%}.hut-threshold{z-index:4;background:linear-gradient(#6d4c2b,#d29a4c66);height:2%;position:absolute;bottom:-1%;left:-2%;right:-2%;box-shadow:0 8px 18px #edb96833}.hut-vignette{z-index:-1;pointer-events:none;background:linear-gradient(90deg,#031b1cda 0%,#031b1ca8 22%,#031b1c11 52%,#0000 80%),linear-gradient(#031b1c33,#0000 25% 70%,#031718b3);transition:opacity 1.2s;position:absolute;inset:0}.hut-brand{font:500 27px/1 var(--serif);letter-spacing:-.7px;align-items:center;gap:12px;transition:opacity .5s,translate .5s;display:flex;position:absolute;top:43px;left:max(5vw,30px)}.hut-brand .brand-photo{width:48px}.hut-brand small{font:8px var(--sans);letter-spacing:2.8px;color:#dbd0b1;margin-top:8px;display:block}.hut-welcome{z-index:3;max-width:445px;transition:opacity .65s,translate .8s,filter .8s;position:absolute;top:30%;left:max(5vw,30px)}.hut-eyebrow{letter-spacing:2.1px;color:#d7c69a;font-size:8px;font-weight:600}.hut-eyebrow>span{vertical-align:middle;color:#efc88b;margin-right:7px;font-size:20px}.hut-welcome h1{font:500 clamp(43px,4.5vw,69px)/1.12 var(--serif);letter-spacing:-2.6px;white-space:normal;text-shadow:0 3px 20px #00130b55;margin:25px 0 22px}.hut-welcome h1 em{color:#e4bf81;font-weight:500}.hut-welcome>p{color:#d0d5c2bd;margin:0 0 28px;font-size:12px;line-height:2}.hut-welcome label{color:#e3d8bc;margin:0 0 9px;font-size:10px;font-weight:500}.hut-input-row{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#091f1aaf;border:1px solid #d8c59655;border-radius:8px;align-items:center;padding:5px;transition:border-color .3s;display:flex;box-shadow:0 10px 30px #0002}.hut-input-row:focus-within{border-color:#e1bf82}.hut-key-icon{color:#d1b37d;margin:0 8px 0 9px;font-size:23px}.hut-input-row input{color:#fff0cd;-webkit-user-select:text;user-select:text;outline:0;flex:1;min-width:0;padding:12px 6px;font-size:12px;box-shadow:none!important;background:0 0!important;border:0!important}.hut-input-row input::placeholder{color:#aeb89e88;font-size:11px}.hut-input-row button{color:#243425;background:linear-gradient(135deg,#ecd3a3,#c6a266);border:1px solid #f0dab04d;border-radius:5px;flex-shrink:0;padding:13px 17px;font-size:10px;font-weight:650;transition:box-shadow .3s,background .3s}.hut-input-row button:hover{box-shadow:0 0 22px #e6bc6e33}.hut-input-row button:disabled{opacity:.7;cursor:wait}.hut-remember-note{color:#acb69b9e;margin:12px 0 0;font-size:8px;line-height:1.8}#hut-error{color:#ffcfb9;margin:10px 0 0;font-size:11px;line-height:1.6}#hut-error:empty{display:none}.hut-entrance-note{letter-spacing:2px;color:#dbcfa999;justify-content:center;align-items:center;gap:12px;font-size:7px;transition:opacity .5s;display:flex;position:absolute;bottom:35px;left:0;right:0}.hut-entrance-note span{font:22px var(--serif);color:#e9c180}.hut-snow{z-index:1;pointer-events:none;transition:opacity .8s;position:absolute;inset:0}.hut-snow i{width:var(--flake-size);height:var(--flake-size);opacity:0;filter:blur(.25px);animation:hutSnow var(--flake-time) var(--flake-delay) linear infinite;background:#e6f0eb;border-radius:50%;position:absolute;top:-15px}.hut-status{text-align:center;color:#f3e2be;font:italic 25px var(--serif);letter-spacing:-.3px;opacity:0;pointer-events:none;text-shadow:0 2px 15px #0008;transition:opacity .7s;position:absolute;top:25%;left:0;right:0}.hut-opening .hut-welcome{opacity:0;filter:blur(4px);pointer-events:none;translate:0 -8px}.hut-opening .hut-brand,.hut-opening .hut-entrance-note{opacity:0}.hut-opening .hut-door-left{filter:brightness(.75);transform:rotateY(-110deg)}.hut-opening .hut-door-right{filter:brightness(.75);transform:rotateY(110deg)}.hut-opening .hut-inner-light,.hut-opening .hut-status{opacity:1}.hut-opening .hut-vignette{opacity:.3}.hut-entering .hut-camera{transform:translate3d(var(--hut-pan-x,0px),var(--hut-pan-y,-14vh),0) scale(8);filter:blur(.7px)}.hut-entering .hut-status,.hut-entering .hut-snow{opacity:0}.hut-arrived{opacity:0;pointer-events:none;transition:opacity .7s}.hut-wrong .hut-input-row{animation:.38s ease-in-out hutWrong}.hut-locked #site-content{max-height:100svh;overflow:hidden}.hut-locked #site-content:not([hidden]){pointer-events:none}@keyframes hutSnow{0%{opacity:0;transform:translate(0,0)}10%{opacity:.55}90%{opacity:.4}to{transform:translate3d(var(--flake-drift),103svh,0);opacity:0}}@keyframes hutWrong{0%,to{translate:0}25%{translate:-4px}75%{translate:4px}}@media (width<=1050px) and (width>=761px){.hut-welcome{max-width:350px;top:31%}.hut-welcome h1{font-size:51px}.hut-welcome>p{font-size:11px}.hut-input-row button{padding-inline:11px;font-size:9px}.hut-input-row input{font-size:11px}.hut-input-row input::placeholder{font-size:10px}.hut-world{width:max(124vw,186svh)}}@media (width<=760px){.hut-brand{top:max(23px,env(safe-area-inset-top));gap:10px;font-size:22px;left:25px}.hut-brand .brand-photo{width:42px}.hut-brand small{letter-spacing:2.5px;margin-top:7px;font-size:6px}.hut-vignette{background:linear-gradient(#04191ab3 0%,#04191a33 28%,#0000 50%,#04191a33 67%,#04191af0 100%),linear-gradient(90deg,#031a1933,#0000 60%)}.hut-welcome{text-align:center;flex-direction:column;align-items:center;max-width:none;display:flex;inset:18% 25px 45px}.hut-eyebrow{letter-spacing:1.6px;font-size:6px}.hut-eyebrow>span{font-size:16px}.hut-welcome h1{letter-spacing:-1.9px;margin:14px 0 12px;font-size:42px}.hut-welcome h1 br{display:none}.hut-welcome>p{color:#dee0cdcc;margin:0;font-size:10px;line-height:1.9}.hut-welcome>p br{display:none}.hut-welcome form{text-align:left;width:100%;margin-top:auto}.hut-welcome label{margin-bottom:9px;font-size:9px}.hut-input-row{background:#0a211be6;border-radius:7px;padding:5px}.hut-input-row input{min-height:43px;font-size:12px}.hut-input-row button{padding:14px 15px;font-size:10px}.hut-remember-note{text-align:center;margin-top:11px;font-size:8px}.hut-entrance-note{letter-spacing:1.3px;gap:8px;font-size:5.5px;bottom:15px}.hut-entrance-note span{font-size:16px}.hut-status{padding-inline:30px;font-size:20px;top:24%}.hut-welcome #hut-error{text-align:center;font-size:10px}}@media (width<=420px){.hut-welcome{inset:17% 22px 44px}.hut-welcome h1{font-size:37px}.hut-welcome>p{max-width:290px}.hut-key-icon{margin-inline:5px;font-size:20px}.hut-input-row button{padding-inline:12px;font-size:9px}.hut-input-row input::placeholder{font-size:10px}}@media (height<=600px) and (width>=761px){.hut-brand{top:20px}.hut-welcome{top:23%}.hut-welcome h1{margin-block:15px;font-size:42px}.hut-welcome>p{margin-bottom:18px}.hut-entrance-note{bottom:12px}}@media (height<=680px) and (width<=760px){.hut-welcome{top:17%;bottom:32px}.hut-welcome h1{margin:10px 0;font-size:31px}.hut-brand{top:18px}.hut-welcome>p{font-size:9px}.hut-input-row input{min-height:34px;padding-block:8px}.hut-input-row button{padding-block:11px}.hut-entrance-note{bottom:7px}.hut-remember-note{margin-top:6px}}@media (prefers-reduced-motion:reduce){.hut-snow{display:none}.hut-camera{transition:none}.hut-opening .hut-door{transition-duration:.1s}.hut-entering .hut-camera{filter:none;transform:none}.hut-arrived{transition-duration:.1s}.hut-status{transition:none}}@media (width>=1051px){.hut-welcome h1{font-size:clamp(43px,4.1vw,63px)}}.hut-gate{overflow:clip}@media (width<=760px){.hut-welcome h1 br{display:initial}}.hut-real-canvas{opacity:0;width:100%;height:100%;transition:opacity .5s;display:block;position:absolute;inset:0}.hut-webgl .hut-real-canvas{opacity:1}.hut-webgl .hut-world{visibility:hidden}.hut-entering .hut-camera{filter:none;transform:none}.hut-camera{transition:none;filter:none!important;transform:none!important}.hut-webgl.hut-opening .hut-status{opacity:1;transition:opacity .7s}.hut-webgl.hut-opening .hut-vignette,.hut-webgl.hut-opening .hut-snow{opacity:0}.hut-webgl.hut-opening .hut-status{animation:2.5s forwards hutWelcomeFade}@keyframes hutWelcomeFade{0%{opacity:0}20%,50%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.hut-real-canvas{transition:none}.hut-webgl.hut-opening .hut-status{animation:none}}@media (width<=760px),(pointer:coarse){.winter-opening{overflow:clip}.winter-opening .hero-copy>*,.winter-opening .hero-actions,.below-stube .scroll-reveal{opacity:1!important;visibility:visible!important;filter:none!important;transition:none!important;animation:none!important;transform:translate(0,0)!important}.winter-opening .hero-actions button,.winter-opening .hero-actions a,.scene-controls button,.closing>.button{opacity:1;visibility:visible;will-change:auto;transition:background-color .2s,border-color .2s;filter:none!important;animation:none!important;transform:none!important}.winter-opening .cinema-background{will-change:auto;filter:none!important;animation:none!important;transform:scale(1)!important}.winter-opening .christmas-world{perspective:none;transition:none;transform:none!important}.winter-opening .main-gift{will-change:auto;backface-visibility:visible;filter:none!important;animation:8s ease-in-out infinite stableMobileGift!important;translate:none!important;rotate:none!important}.winter-opening .main-gift:hover{scale:.8;filter:none!important}.winter-opening .floating-message{-webkit-backdrop-filter:none;background:#182d22ed;animation:none;translate:none;rotate:none;box-shadow:0 8px 22px #0003}.winter-opening .nav-admin,.scene-controls button,.hut-input-row{-webkit-backdrop-filter:none}.winter-opening .bulb{filter:none!important;animation:5s ease-in-out infinite alternate stableMobileLight!important}.winter-opening .scene-spark,.ornament,.gift-tag,.step-art,.below-stube .member-card .avatar,.closing-stars{will-change:auto;filter:none!important;animation:none!important}.below-stube:before{display:none}.below-stube .closing>*,.below-stube .steps article{opacity:1!important;visibility:visible!important}.below-stube .steps article:hover,.below-stube .member-card:hover,.below-stube .add-member:hover{box-shadow:none;transform:none}.candle span{filter:none}.magic-orbit{display:none}#magic-canvas{contain:strict;will-change:auto}.hut-camera{will-change:auto}.hut-welcome,.hut-brand{transition:opacity .4s;filter:none!important}.hut-input-row{background:#0a211bf5}.hut-opening .hut-welcome{translate:none;filter:none!important}.hut-input-row input,input:not(.pin-input),select,textarea{font-size:16px!important}.hut-input-row input::placeholder{font-size:12px}.pin-input{font-size:32px!important}.hut-brand{top:max(23px,env(safe-area-inset-top))}.hut-real-canvas{object-fit:fill;max-width:100%;max-height:100%;width:100%!important;height:100%!important}dialog::backdrop{-webkit-backdrop-filter:none;background:#112e2aeb}.lights-celebrate .cinema-vignette{animation:none}}@keyframes stableMobileGift{0%,to{transform:translate(-50%)translateY(0)rotate(-6deg)}50%{transform:translate(-50%)translateY(-3px)rotate(-5deg)}}@keyframes stableMobileLight{0%{opacity:.6}to{opacity:1}}@media (prefers-reduced-motion:reduce){.winter-opening .main-gift,.winter-opening .bulb{animation:none!important}}
