@font-face{font-family:Montserrat;src:url('assets/montserrat-latin.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;src:url('assets/montserrat-cyrillic.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
:root{font-family:Montserrat,Arial,sans-serif;color:#314b55;background:#fffbf0;font-synthesis:none;--blue:#3787ba;--ink:#314b55}*{box-sizing:border-box}body{margin:0}button,a,input,select{-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #3787ba;outline-offset:5px}.page{max-width:1260px;padding:0 48px;margin:auto}.masthead{height:112px;display:flex;align-items:center;gap:27px;border-bottom:1px solid #e8e4d7}.logo{width:91px;height:74px;object-fit:contain}.brand-note{font-size:12px;color:#788380}.languages{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12px;color:#a5aaa4}.languages button{background:none;border:0;padding:9px 4px;color:#8b9693;font-size:12px}.languages button[aria-pressed=true]{color:var(--ink);font-weight:700}.hero{position:relative;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;min-height:410px;padding:32px 0 22px;gap:12px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2px;color:#658486;margin:0 0 18px}h1{font-size:clamp(30px,3.1vw,44px);line-height:1.23;letter-spacing:-1.4px;margin:0 0 20px;font-weight:650}.intro{font-size:13px;line-height:1.9;color:#71807d;margin:0 0 25px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:32px;padding:14px 22px;border:0;border-radius:5px;background:var(--blue);color:white;text-decoration:none;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.primary:hover{background:#296e9b;transform:translateY(-2px)}.hero-foot{margin-top:23px;font-size:9px;color:#7c8983;display:flex;align-items:center;gap:8px}.little-star{font-size:23px;color:#ba9549}.winter-scene{width:100%;height:auto;max-height:370px}.calendar-section{padding-top:23px;scroll-margin-top:25px}.calendar-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.calendar-heading .eyebrow{font-size:9px;margin-bottom:10px}h2{font-size:25px;letter-spacing:-.6px;font-weight:600;margin:0}.date-status{margin:0 0 3px;font-size:11px;color:#72857d;background:#eff0e5;padding:9px 13px;border-radius:30px}.legend{display:flex;align-items:center;gap:21px;margin:23px 0 18px;font-size:9px;color:#879088}.legend>span{display:flex;align-items:center;gap:6px}.legend-dot{width:7px;height:7px;background:#719789;border-radius:50%;display:inline-block}.legend-dot.future{background:#dddcd2}#progress{margin-left:auto}.doors{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:13px}.door{position:relative;isolation:isolate;aspect-ratio:.87;border:0;border-radius:8px;color:#52645d;background:var(--tile);padding:15px 10px 12px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;transition:transform .22s,box-shadow .22s;overflow:hidden}.door:before{content:'';position:absolute;inset:7px;border:1px solid #ffffff70;border-radius:5px;pointer-events:none}.door:hover{transform:translateY(-4px);box-shadow:0 8px 16px #475b4614}.door-number{align-self:flex-start;z-index:1;margin-left:7px;font-size:25px;font-weight:500;letter-spacing:-1px;line-height:1}.door svg{width:52px;height:52px;opacity:.78}.door-label{font-size:8px;letter-spacing:.3px;min-height:10px}.door.locked{color:#8e988f}.door.locked svg{opacity:.39}.door.locked .door-number{opacity:.8}.door.today{box-shadow:0 0 0 2px #6c958a;overflow:visible}.door.today:after{content:attr(data-today);position:absolute;top:-7px;right:9px;color:white;background:#638d80;padding:4px 7px;border-radius:3px;font-size:7px;font-weight:600;letter-spacing:.5px}.door.opened:before{border-style:dashed;border-color:#7b968c77}.opened-mark{position:absolute;top:16px;right:15px;font-size:12px}.calendar-note{text-align:center;font-size:10px;color:#8a9489;margin:24px 0 38px}.calendar-note>span:first-child{color:#b79a5c;margin-right:5px}.together{display:flex;gap:23px;align-items:center;padding:28px 34px;background:#f2eee0;border-radius:8px;margin:0 0 30px}.book-icon{font-size:48px;color:#a1afa0;line-height:1}.together h2{font-size:16px;letter-spacing:-.25px;margin-bottom:9px}.together p{font-size:11px;line-height:1.8;color:#819083;max-width:650px;margin:0}.together-star{font-size:42px;color:#d5b77a;margin-left:auto}footer{display:flex;align-items:center;justify-content:center;gap:17px;font-size:9px;color:#8c988d;padding:0 0 28px}footer>span:nth-child(2){color:#c0a96b}.preview-panel{border-top:1px solid #e6e3d9;padding:16px 0 24px;font-size:10px;color:#829086}.preview-panel summary{cursor:pointer;list-style-position:inside}.preview-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-top:15px}.preview-controls label{display:flex;gap:8px;align-items:center}.preview-controls select,.preview-controls button{font-size:10px;background:#fffdf7;border:1px solid #d7ddcf;border-radius:4px;padding:7px;color:var(--ink)}.preview-controls p{flex-basis:100%;line-height:1.6;margin:0}.preview-controls input{accent-color:var(--blue)}dialog{border:0;border-radius:16px;padding:36px;max-width:440px;width:calc(100% - 32px);color:var(--ink);background:#fffbf0;text-align:center;box-shadow:0 24px 90px #172a4244}dialog::backdrop{background:#2b414c77;backdrop-filter:blur(4px)}.close{position:absolute;top:10px;right:13px;border:0;background:none;color:#829086;font-size:27px;width:36px;height:36px}.modal-art{width:100px;height:100px;background:#e5eddf;border-radius:50%;margin:4px auto 24px;display:grid;place-items:center}.modal-art svg{width:70px;height:70px}.modal-art.locked-art{background:#f0e9d9}dialog h2{font-size:26px;line-height:1.35}#surprise-body{font-size:13px;line-height:1.9;margin:18px 0;color:#748277}.sample-label{font-size:9px;letter-spacing:.5px;color:#9c9f90;margin-bottom:24px}dialog .primary{width:100%;font-size:11px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#314b55;color:white;font-size:12px;padding:13px 20px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s}#toast.visible{opacity:1}
h1,.intro{white-space:pre-line}
@media(min-width:1450px){.page{max-width:1320px}.hero{min-height:440px}.winter-scene{max-height:410px}.door{aspect-ratio:.95}}
@media(max-width:1000px){.page{padding:0 28px}.doors{grid-template-columns:repeat(6,minmax(0,1fr))}.hero{min-height:380px}.hero-foot{font-size:8px}.door{aspect-ratio:1}.brand-note{font-size:10px}}
@media(max-width:650px){.page{padding:0 20px}.masthead{height:85px;gap:15px}.logo{width:72px;height:59px}.brand-note{font-size:8px;max-width:125px;line-height:1.6}.hero{display:flex;flex-direction:column-reverse;gap:0;padding:12px 0 30px}.winter-scene{height:225px;width:290px;max-width:100%;margin-bottom:-8px}.hero-copy{text-align:center;width:100%}h1{font-size:30px;letter-spacing:-1px}.eyebrow{font-size:8px;letter-spacing:1.5px}.intro{font-size:11px;margin-bottom:20px}.hero-foot{justify-content:center;font-size:8px;margin-top:15px}.hero .primary{padding:12px 22px}.calendar-section{padding-top:15px}.calendar-heading{align-items:start;flex-direction:column;gap:14px}h2{font-size:22px}.date-status{font-size:10px;padding:7px 11px}.legend{gap:12px;font-size:8px;flex-wrap:wrap;margin-top:18px}.doors{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.door{aspect-ratio:.9;padding:14px 9px 12px}.door-number{font-size:25px}.door svg{width:43px;height:43px}.door-label{font-size:7px}.calendar-note{font-size:9px;line-height:1.8;margin:22px 12px 27px}.together{padding:22px 19px;gap:15px}.together h2{font-size:14px;line-height:1.5}.together p{font-size:10px}.together-star{display:none}.book-icon{font-size:35px}footer{gap:9px;font-size:8px;flex-wrap:wrap}.preview-controls{align-items:start;flex-direction:column;gap:12px}dialog{padding:30px 25px}#surprise-body{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
