/* Winter holiday party (Premium) — deep evergreen night, falling snow, hanging ornaments, cranberry + champagne gold */
.t-win { --bg: #F6F1E7; --surface: #FFFCF6; --surface-2: #EEE5D3; --ink: #0F2E24; --ink-2: #4C5E57; --accent: #9E1B32; --accent-hover: #84142A; --accent-ink: #FFFFFF; --accent-text: #8C1730; --tint: #F4E1E1; --line: #E3D8C2; --line-strong: #CBBB98; --display: "Cormorant Garamond", Georgia, serif; --body: "Figtree", system-ui, sans-serif; --script: "Pinyon Script", "Snell Roundhand", Georgia, serif; --radius: 16px; }
.t-win h1, .t-win h2, .t-win h3 { font-family: var(--display); color: var(--ink); font-weight: 600; }
.wn-hero { position: relative; overflow: hidden; isolation: isolate; min-height: min(92vh, 820px); display: grid; align-items: center; text-align: center; color: #F6F1E7; background: radial-gradient(ellipse at 50% 120%, #1D5A43 0%, #0F2E24 55%, #091C16 100%); padding: 110px 0 70px; }
.wn-snow { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.wn-snow i { position: absolute; top: -10px; width: 6px; height: 6px; border-radius: 50%; background: #fff; opacity: .8; animation: snow 12s linear infinite; }
.wn-snow i:nth-child(1) { left: 5%; animation-duration: 11s; } .wn-snow i:nth-child(2) { left: 14%; width: 4px; height: 4px; animation-delay: -3s; animation-duration: 9s; }
.wn-snow i:nth-child(3) { left: 23%; animation-delay: -6s; } .wn-snow i:nth-child(4) { left: 31%; width: 8px; height: 8px; animation-delay: -1s; animation-duration: 14s; }
.wn-snow i:nth-child(5) { left: 42%; width: 4px; height: 4px; animation-delay: -8s; } .wn-snow i:nth-child(6) { left: 51%; animation-delay: -4s; animation-duration: 10s; }
.wn-snow i:nth-child(7) { left: 60%; width: 7px; height: 7px; animation-delay: -9s; animation-duration: 13s; } .wn-snow i:nth-child(8) { left: 69%; width: 4px; height: 4px; animation-delay: -2s; }
.wn-snow i:nth-child(9) { left: 77%; animation-delay: -7s; animation-duration: 15s; } .wn-snow i:nth-child(10) { left: 85%; width: 5px; height: 5px; animation-delay: -5s; }
.wn-snow i:nth-child(11) { left: 92%; animation-delay: -10s; animation-duration: 11s; } .wn-snow i:nth-child(12) { left: 97%; width: 4px; height: 4px; animation-delay: -6.5s; }
@keyframes snow { from { transform: translate3d(0, -10px, 0); } to { transform: translate3d(30px, 105vh, 0); } }
.wn-orns svg { position: absolute; top: 0; width: 54px; transform-origin: 50% 0; animation: sway 5s var(--ease-inout, ease-in-out) infinite alternate; }
.wn-orns .o1 { left: 8%; height: 170px; } .wn-orns .o2 { right: 12%; height: 130px; animation-delay: -2s; } .wn-orns .o3 { left: 22%; height: 190px; animation-delay: -1s; }
@keyframes sway { from { transform: rotate(-4deg); } to { transform: rotate(4deg); } }
.wn-pre { font: italic 400 24px/1.3 var(--display); color: #E9D7A8; }
.wn-hero h1 { margin-top: 10px; color: #F6F1E7; font: 600 clamp(52px, 10vw, 112px)/.95 var(--display); }
.wn-hero h1 span { display: block; font: 400 .62em/1.2 var(--script); color: #E9D7A8; }
.wn-when { margin-top: 18px; font: 600 15px/1.5 var(--body); letter-spacing: .1em; text-transform: uppercase; color: #CFE0D7; }
.wn-count { --count-bg: rgba(246, 241, 231, .08); --count-line: rgba(233, 215, 168, .45); justify-content: center; }
.wn-count b { color: #F6F1E7; }
.wn-count span { color: #E9D7A8; }
.wn-cta { margin-top: 26px; display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.t-win .wn-hero .btn.line { color: #F6F1E7; border-color: rgba(233, 215, 168, .7); }
.wn-sec { padding-block: clamp(56px, 8vw, 96px); }
.wn-sec h2 { font-size: clamp(38px, 6vw, 60px); font-style: italic; }
.wn-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(28px, 5vw, 60px); align-items: center; }
.wn-plan { list-style: none; margin: 18px 0 0; padding: 0; }
.wn-plan li { display: grid; grid-template-columns: 70px 1fr; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 17.5px; }
.wn-plan b { font: 600 20px/1.2 var(--display); color: var(--accent-text); }
.wn-tag { display: grid; place-items: center; }
.wn-tag-in { position: relative; width: min(100%, 300px); padding: 46px 26px 28px; background: #9E1B32; color: #F6F1E7; clip-path: polygon(14% 0, 86% 0, 100% 12%, 100% 100%, 0 100%, 0 12%); transform: rotate(4deg); text-align: center; }
.wn-hole { position: absolute; top: 16px; left: 50%; width: 16px; height: 16px; margin-left: -8px; border-radius: 50%; background: var(--bg); box-shadow: 0 0 0 3px #E9D7A8; }
.wn-tag-in h3 { color: #fff; font-size: 30px; font-style: italic; }
.wn-tag-in p { margin-top: 8px; }
.wn-where { background: var(--surface-2); text-align: center; }
.wn-where p { margin-top: 10px; font-size: 18px; }
.wn-map { margin-top: 18px; color: var(--ink); border-color: var(--ink); }
.wn-rsvp { text-align: center; }
.wn-sub { color: var(--ink-2); margin-top: 6px; }
.wn-rsvp .rsvp { margin-top: 24px; text-align: left; }
.wn-foot { padding: 54px 20px 42px; text-align: center; background: #0F2E24; color: #CFE0D7; }
.wn-foot .big { font: 400 clamp(40px, 7vw, 60px)/1.1 var(--script); color: #E9D7A8; }
.wn-foot .made { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; color: inherit; text-decoration: none; font-size: 14px; }
@media (max-width: 780px) { .wn-grid { grid-template-columns: minmax(0, 1fr); } .wn-orns .o3 { display: none; } }
@media (prefers-reduced-motion: reduce) { .wn-snow i, .wn-orns svg { animation: none; } .wn-snow { display: none; } }
