*{box-sizing:border-box}
:root{--ink:#111321;--red:#ca2224;--gold:#ac8657;--paper:#f5f6f9;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
body{margin:0;color:var(--ink);background:#eff2f6;font-family:var(--sans)}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}
button,input,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default}
:focus-visible{outline:3px solid #1866a0;outline-offset:3px}
.winter{isolation:isolate;position:relative;overflow:clip;margin:auto;max-width:680px;display:grid;grid-template-areas:"mast" "intro" "scene" "action";background:radial-gradient(ellipse at 47% 22%,#fffaf4 0,transparent 49%),linear-gradient(125deg,#e5ebf4,#fbf9f6 52%,#e4ebf4)}
.winter:before,.winter:after{content:"";position:absolute;z-index:-1;top:0;pointer-events:none;width:22%;height:clamp(210px,78vw,470px);background-size:100% 100%;opacity:.84}
.winter:before{left:0;background-image:url(frost-left.webp);mask-image:linear-gradient(90deg,#000,transparent)}
.winter:after{right:0;background-image:url(frost-right.webp);mask-image:linear-gradient(-90deg,#000,transparent)}
.mast{grid-area:mast;display:flex;align-items:center;justify-content:space-between;padding:clamp(10px,4vw,20px) 6% 4px;position:relative;z-index:5}
.mast:after{content:"";position:absolute;z-index:-1;right:10%;top:0;width:25%;height:140%;background:url(fir.webp) center top/100% auto no-repeat;mask-image:linear-gradient(#000 30%,transparent 96%);opacity:.81;pointer-events:none}
.brand{display:flex;gap:11px;align-items:center;font-size:clamp(13px,3.6vw,19px);font-weight:700;letter-spacing:-.035em;line-height:1.07}
.brand img{width:clamp(28px,7vw,41px);height:auto}
.menu-toggle{width:44px;height:44px;border:0;background:transparent;display:grid;align-content:center;justify-content:center;gap:5px}
.menu-toggle i{height:1.6px;width:23px;background:var(--ink)}
nav{position:absolute;right:5%;top:95%;padding:7px;border:1px solid #ddd9d3;border-radius:12px;background:#fffaf6;box-shadow:0 10px 28px #25233924;min-width:160px}
nav a,nav button{display:block;width:100%;border:0;background:transparent;color:var(--ink);text-align:left;text-decoration:none;font:600 14px var(--sans);padding:12px;border-radius:7px}
nav :is(a,button):hover{background:#f2e8df}
.intro{grid-area:intro;text-align:center;padding:clamp(8px,2.3vw,15px) 12px 0;position:relative;z-index:1}
h1,.subhead,.action p,.cta,h2{font-family:var(--serif)}
h1{font-size:clamp(37px,10.9vw,69px);letter-spacing:-.068em;line-height:.94;margin:0;font-weight:700;color:#0b0c15}
.badge{position:relative;display:inline-flex;align-items:center;gap:.28em;padding:.15em .55em .19em;border:1px solid #a61c20;border-radius:.42em;transform:rotate(-2deg);background:linear-gradient(166deg,#e43a2e,#bd1c21);color:#fffaf1;font:bold clamp(21px,5.95vw,36px)/1.12 'Arial Narrow',var(--sans);letter-spacing:-.04em;box-shadow:0 3px 3px #62321e25;margin:.38em auto .29em}
.badge svg{width:.87em;height:1.16em}
.rays,.rays:before,.rays:after{display:block;width:.39em;height:.1em;background:#d92627;border-radius:1em}
.rays{position:absolute;left:-.75em;top:50%}.rays:before,.rays:after{content:"";position:absolute;left:.05em;top:-.39em;transform:rotate(38deg)}.rays:after{top:.39em;transform:rotate(-38deg)}.rays.end{left:auto;right:-.75em;transform:rotate(180deg)}
.subhead{margin:0;font-size:clamp(21px,5.7vw,34px);letter-spacing:-.041em;line-height:1.03}
.flourish{display:flex;align-items:center;justify-content:center;gap:8px;margin:.34em auto .14em}
.flourish span{width:clamp(39px,13vw,84px);height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.flourish span:last-child{transform:rotate(180deg)}.flourish img{width:clamp(14px,4.1vw,22px);height:auto;filter:grayscale(1) sepia(.9);opacity:.75}
.scene{grid-area:scene;position:relative;line-height:0;margin:0;align-self:stretch}
.duo{display:block;width:100%;height:auto}
.scene:before,.scene:after{content:"";position:absolute;left:0;right:0;height:3%;pointer-events:none}
.scene:before{top:0;background:linear-gradient(#f6f5f6,transparent)}
.scene:after{bottom:0;background:linear-gradient(transparent,#f1f3f7)}
.action{grid-area:action;z-index:1;text-align:center;padding:0 6% clamp(17px,4vw,30px);background:linear-gradient(#f1f3f7,#faf9fb);margin-top:-1px}
.cta,.send{border:1px solid #bd2021;color:#fff;background:linear-gradient(125deg,#d52c24,#bb171c 75%,#ce2c24);box-shadow:inset 0 1px 0 #ffffff3b,0 4px 10px #9e241c15;border-radius:14px}
.cta{display:flex;width:100%;align-items:center;justify-content:center;gap:.48em;min-height:54px;padding:.43em .7em;font-size:clamp(24px,6.7vw,36px);font-weight:700;letter-spacing:-.035em}
.cta span{font:normal 1.28em/.7 var(--sans);margin-top:-.08em}.cta:hover,.send:hover{filter:brightness(1.08)}
.action p{margin:.6em 0 0;font-size:clamp(15px,4.1vw,22px);letter-spacing:-.025em}
.mast:after{mask-image:radial-gradient(ellipse at 55% 0%,#000 15%,#0009 44%,transparent 72%)}
.winter:before,.winter:after{mask-image:linear-gradient(90deg,#000,transparent),linear-gradient(#000 65%,transparent);mask-composite:intersect}
.winter:after{mask-image:linear-gradient(-90deg,#000,transparent),linear-gradient(#000 65%,transparent)}
@media(max-width:799px) and (max-height:740px){
 .mast{padding-top:4px}.intro{padding-top:1px}
 h1{font-size:clamp(32px,9vw,44px)}.badge{font-size:clamp(18px,5vw,24px);margin:.24em auto}
 .subhead{font-size:clamp(18px,4.8vw,23px)}.flourish{margin:2px auto}
 .scene{height:clamp(248px,calc(100svh - 265px),112vw);overflow:hidden}
 .duo{height:100%;object-fit:cover;object-position:center 35%}
 .action{padding-bottom:8px}.cta{min-height:45px;font-size:24px}.action p{margin:5px 0 0;font-size:14px}
}
@media(min-width:600px) and (max-aspect-ratio:23/20){
 .winter{max-width:min(680px,48svh);box-shadow:0 0 70px #26345317}
}
@media(min-width:800px) and (min-aspect-ratio:23/20){
 body{min-height:100svh;background:#ecf0f5}
 .winter{max-width:none;height:100vh;height:100dvh;grid-template-columns:minmax(0,1fr) min(55%,87.08dvh);grid-template-rows:auto minmax(0,1fr) auto minmax(auto,1fr);grid-template-areas:"mast scene" ". scene" "intro scene" "action scene";align-content:center}
 .winter:before{width:19%;height:90%;opacity:.35}.winter:after{left:33%;right:auto;width:20%;height:45%;opacity:.15}
 .mast{padding:clamp(24px,3vw,50px) 0 0 9%;max-width:100%}
 .mast:after{right:8%;width:32%;height:160%;opacity:.7}
 .brand{gap:14px;font-size:clamp(15px,1.35vw,22px);letter-spacing:-.025em}.brand img{width:clamp(33px,3vw,47px)}
 .menu-toggle{margin-right:7%;border-radius:50%;border:1px solid #19203332;background:#f8faf8aa}
 .intro{padding:16px 3% 0}
 h1{font-size:clamp(54px,5.85vw,108px);line-height:.96}
 .badge{font-size:clamp(23px,2.5vw,44px);margin:.5em auto .58em}
 .subhead{font-size:clamp(26px,2.55vw,46px);line-height:1.08}
 .flourish{margin:clamp(16px,1.7vw,29px) auto 0}.flourish img{width:20px}
 .action{align-self:start;margin:0;padding:clamp(18px,2vw,34px) 5% 45px;background:none}
 .cta{margin:auto;max-width:clamp(275px,26vw,455px);font-size:clamp(25px,2.3vw,42px);min-height:58px}
 .action p{font-size:clamp(15px,1.34vw,24px);margin-top:14px}
 .scene{overflow:hidden;min-height:100%;background:#e4e9ef}
 .duo{position:absolute;height:100%;width:100%;object-fit:contain;object-position:center}
 .scene:before{inset:0;z-index:1;width:6%;height:100%;background:linear-gradient(90deg,#f0f2f5,transparent)}
 .scene:after{display:none}
}
@media(min-width:800px) and (max-height:720px) and (min-aspect-ratio:23/20){
 .mast{padding-top:10px}.intro{padding-top:2px}h1{font-size:min(5.8vw,11vh)}.badge{margin:.32em auto;font-size:min(2.7vw,5.5vh)}.subhead{font-size:min(2.8vw,5.5vh)}.flourish{margin:6px auto 0}.action{padding:8px 5% 10px}.action p{margin-top:6px}
}
dialog{position:fixed;border:1px solid #ddd6cd;border-radius:22px;padding:0;width:min(454px,calc(100% - 20px));max-height:calc(100dvh - 20px);color:var(--ink);background:#fffcf8;box-shadow:0 25px 85px #14111f3d;overscroll-behavior:contain}
dialog::backdrop{background:#1014209e}body:has(dialog[open]){overflow:hidden}
.sheet{padding:25px clamp(17px,5vw,30px) 21px}.close{position:absolute;right:10px;top:9px;width:42px;height:42px;border:0;background:transparent;font-size:29px}
.form-kicker{display:flex;align-items:center;gap:7px;font:700 12px var(--sans);color:#8a342e}
h2{margin:10px 30px 5px 0;font-size:35px;line-height:1.04;letter-spacing:-.05em}.hint,.privacy,.selection,.error,#success p{font-size:14px;line-height:1.4}
.hint{margin:4px 0 12px;color:#54535b}.calendar{padding:8px;border:1px solid #ded8d1;border-radius:14px;background:white}
.month,.days,.week{display:grid;gap:2px}.month{grid-template-columns:38px 1fr 38px;align-items:center;text-align:center}
.month button{font-size:25px;border:none;border-radius:8px;background:#f4f1ed;height:35px}.month button:disabled{opacity:.32}
.days,.week{grid-template-columns:repeat(7,1fr)}.week span{text-align:center;font-size:12px;color:#62616a;padding:8px 0 4px}
.days button{border:1px solid transparent;border-radius:7px;background:transparent;min-height:34px;font-size:14px}
.days button:disabled{color:#aaa7aa}.days button:not(:disabled):hover{border-color:#bd6059}.days button[aria-pressed=true]{color:white;background:#ad1d22}
.selection{margin:7px 0 13px;color:#6a4142;font-size:12px}
form label{display:block;font-size:14px;font-weight:700;margin:10px 0 5px}
small{font-size:12px;font-weight:400;color:#6d6971;margin-left:4px}input,textarea{width:100%;border:1px solid #c8c4c1;border-radius:8px;padding:10px;background:white;font-size:16px;color:var(--ink)}textarea{resize:vertical;min-height:52px}
.error{color:#a1171e;margin:6px 0}.error:empty{display:none}.send{width:100%;margin-top:11px;padding:12px;font-size:17px;font-weight:700}.send:disabled{opacity:.6}
.privacy{font-size:11px;margin:8px 0 0;color:#66616a;text-align:center}
.secure-link{display:block;margin-top:9px;text-align:center;padding:12px;border-radius:12px;background:#b82425;color:#fff;font-weight:700;text-decoration:none}
