@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700;800&display=swap');:root{font-family:'DM Sans',Arial,sans-serif;color:#183a32;background:#f6f5f0}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 5% 0%,#e9f1e9,transparent 40%),radial-gradient(circle at 95% 40%,#f8e9dc,transparent 40%),#f7f6f1}a{color:inherit;text-decoration:none}.top{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1120px)/2));background:#fffdf8dd;border-bottom:1px solid #e8e9df;position:relative;z-index:2;gap:15px}.brand{font-size:23px;font-weight:800;letter-spacing:-1px;color:#153b31}.brand:first-letter{color:#bb8b42}.top nav{display:flex;align-items:center;gap:22px;font-size:13px;font-weight:700}.navbutton,.textbutton{border:0;background:none;color:#315c4e;cursor:pointer;font:inherit}.inline{display:inline-block}main{max-width:1120px;margin:auto;padding:36px 24px 75px}.mini{text-align:center;color:#9b8c67;font-size:10px;font-weight:800;letter-spacing:4px;margin:0 0 25px}.hero{border-radius:30px;padding:70px 30px 42px;text-align:center;color:white;background:radial-gradient(circle at 50% -15%,#43745e,#153d33 63%,#102a26);box-shadow:0 24px 55px #123a2b20;position:relative;overflow:hidden}.hero:before,.hero:after{content:'';position:absolute;pointer-events:none;border-radius:50%;background:radial-gradient(circle,#ffffff38 0 1px,transparent 2px);background-size:38px 53px;inset:0;opacity:.5}.hero:after{background-size:71px 87px;opacity:.3;transform:translate(13px,21px)}.hero>*{position:relative;z-index:1}.ornament{font-size:28px;color:#e6c583;letter-spacing:25px;margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:800;color:#bc9858}.hero .eyebrow{color:#f0d49b}.hero h1,.auth h1{font:700 clamp(39px,5.5vw,68px)/1.12 'Playfair Display',Georgia,serif;letter-spacing:-2px;max-width:800px;margin:20px auto}.hero h1 em{color:#e7c789;font-style:normal}.hero p{color:#d7e6dc;font-size:16px}.countdown{display:flex;justify-content:center;gap:12px;margin:38px auto 25px;flex-wrap:wrap}.countdown div{background:#ffffff17;border:1px solid #ffffff30;border-radius:17px;width:96px;padding:16px 5px;backdrop-filter:blur(8px)}.countdown strong{font-size:33px;display:block;font-variant-numeric:tabular-nums}.countdown span{font-size:9px;letter-spacing:2px;color:#e2dbc8}.hero-bottom{font-size:12px;color:#f0d49b;font-weight:700}.hero.compact{padding:45px}.hero.compact h1{font-size:48px}.two{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:24px 0}.card{background:#fffefa;border:1px solid #e7e9df;border-radius:25px;padding:32px;box-shadow:0 12px 38px #25402d0b}.card h2{font:700 30px 'Playfair Display',Georgia,serif;letter-spacing:-.6px;margin:12px 0}.card h3{font-size:15px;margin-top:30px}.card p{color:#67776e;line-height:1.7;font-size:14px}.emoji{font-size:43px;margin:16px 0}.primary,.secondary,.danger{border:0;border-radius:13px;padding:14px 19px;font:700 13px 'DM Sans',sans-serif;cursor:pointer;transition:transform .2s,box-shadow .2s}.primary{background:#185640;color:white;box-shadow:0 8px 17px #18564026}.primary:hover,.secondary:hover{transform:translateY(-2px);box-shadow:0 9px 19px #18564024}.secondary{background:#e8f0e9;color:#185640}.danger{background:#fbe8e5;color:#9b3328}.pill{display:inline-block;padding:12px 16px;background:#f2f4e9;border-radius:40px;font-size:12px;font-weight:700;color:#65816b}.secret{margin-top:24px;background:#f0f6e9;border:1px dashed #88a27c;border-radius:20px;padding:24px;animation:pop .4s}.secret h2{color:#17533e;font-size:38px}.announcement{white-space:normal;font-size:16px!important}.wishlist{display:grid;grid-template-columns:1fr 1fr;gap:35px}.auth{max-width:490px;margin:45px auto;text-align:center;padding:43px}.auth h1{font-size:40px}.auth form{text-align:left}.auth .primary{width:100%;margin-top:10px}.auth small{display:block;margin-top:25px;color:#8c9a8f}label{display:block;font-size:12px;font-weight:700;color:#476053;margin:15px 0 8px}input,textarea,select{display:block;width:100%;margin-top:7px;border:1px solid #dce5dc;border-radius:12px;padding:13px 14px;background:#fbfcf8;font:14px 'DM Sans',sans-serif;color:#173c31;outline:none}input:focus,textarea:focus,select:focus{border-color:#2e785b;box-shadow:0 0 0 3px #2e785b18}textarea{resize:vertical}.section-title{font:700 29px 'Playfair Display',Georgia,serif;margin:38px 0 0}.sub{font-size:12px!important}.alert{padding:16px;border-radius:12px;background:#ffebe6;color:#9c342a;margin:14px 0}.alert.good{background:#e4f4e5;color:#28663e}.member{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-top:1px solid #edf0e8;gap:15px}.member small{display:block;color:#829086;margin-top:5px}.member-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.member-actions input{width:175px;margin:0}.member-actions button{padding:10px}footer{text-align:center;color:#94a198;font-size:11px;padding:25px}.snow{position:fixed;inset:0;pointer-events:none;z-index:4;opacity:.32;background-image:radial-gradient(2px 2px at 25px 35px,#fff 99%,transparent),radial-gradient(3px 3px at 90px 120px,#b8cfc1 99%,transparent);background-size:170px 210px;animation:snow 25s linear infinite}@keyframes snow{to{background-position:0 500px,0 450px}}@keyframes pop{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media(max-width:750px){.top{padding:15px 18px;height:auto;flex-wrap:wrap}.brand{font-size:19px}.top nav{gap:12px}.hello{display:none}main{padding:25px 14px}.hero{padding:45px 15px}.hero h1{font-size:42px}.two,.wishlist{grid-template-columns:1fr}.card{padding:24px}.member{align-items:flex-start;flex-direction:column}.countdown div{width:70px}.countdown strong{font-size:25px}}

.exclusion-options{border:1px solid #dce5dc;border-radius:16px;padding:14px;margin:16px 0;background:#f8fbf6}.exclusion-options legend{font-size:12px;font-weight:700;color:#315c4e;padding:0 6px}.exclusion-option{display:flex;align-items:center;gap:12px;background:white;border:1px solid #e2eae1;border-radius:11px;padding:11px;margin:8px 0;cursor:pointer}.exclusion-option input{width:19px;height:19px;margin:0;accent-color:#185640}.exclusion-option:has(input:checked){background:#e4f3e7;border-color:#6da481}.exclusion-option:has(input:disabled){opacity:.48;cursor:not-allowed}.exclusion-count{font-weight:700;color:#185640!important}

/* Elegant, emoji-free holiday theme; mobile-first refinements. */
body{background:linear-gradient(145deg,#f9fbf8 0%,#fffefa 55%,#f6f6f0 100%)}
.brand:first-letter{color:inherit}.brand{font-family:'Playfair Display',Georgia,serif;font-weight:700;letter-spacing:-.5px}
.mini{display:flex;align-items:center;justify-content:center;gap:18px;letter-spacing:4px;color:#998263}
.mini:before,.mini:after{content:'';display:block;width:55px;max-width:12%;height:1px;background:#bfa57a}
.hero{background:radial-gradient(ellipse at 50% 0%,#335d50 0%,#173d34 48%,#102e29 100%);padding:78px 32px 58px;isolation:isolate}
.hero h1{max-width:760px;line-height:1.12}.hero p{max-width:660px;margin:24px auto;line-height:1.65}
.hero-bottom{display:flex;align-items:center;justify-content:center;gap:18px;font-family:'Playfair Display',Georgia,serif;font-size:16px;font-weight:600}
.hero-bottom:before,.hero-bottom:after{content:'';height:1px;width:55px;background:#dfc591;opacity:.85}
.countdown{margin:46px auto 48px}.countdown div{border:1px solid #ffffff42;background:#ffffff0d}
.emoji,.ornament{display:none}.snow{z-index:1;opacity:.17}.top{z-index:5}
@media(max-width:750px){.mini{font-size:9px;letter-spacing:2.5px;gap:9px}.mini:before,.mini:after{width:20px}.hero{border-radius:27px;padding:57px 18px 52px}.hero h1{font-size:clamp(36px,9vw,54px);letter-spacing:-1.7px;line-height:1.15}.hero p{font-size:15px}.hero .eyebrow{font-size:9px;letter-spacing:2px}.countdown{gap:7px;margin:34px auto 42px;flex-wrap:nowrap}.countdown div{width:auto;min-width:0;flex:1;padding:16px 2px}.countdown strong{font-size:clamp(21px,6vw,32px)}.countdown span{font-size:8px;letter-spacing:1px}.hero-bottom{font-size:12px;gap:8px}.hero-bottom:before,.hero-bottom:after{width:15px;flex-shrink:0}.top{padding:18px}.brand{font-size:20px}}
@media(prefers-reduced-motion:reduce){.snow,.secret{animation:none!important}}


/* Reference-matched Christmas hero: typography, spacing, pine, snow and mobile proportions. */
:root{font-family:'DM Sans',Arial,sans-serif;color:#103b32}
body{background:#fcfdfa}
.top{background:#fffefa;height:100px;border-bottom:1px solid #e9ece7;padding:0 max(24px,calc((100vw - 1120px)/2))}
.brand{font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:clamp(23px,3vw,32px);letter-spacing:-1px;color:#123c32}
.brand:first-letter{color:inherit}
.top nav{font-size:15px;gap:22px}.navbutton{font-size:15px;font-weight:700;color:#123c32}
main{max-width:1120px;padding:54px 24px 80px}
.mini{display:flex;justify-content:center;align-items:center;gap:22px;color:#a48a65;font-size:12px;letter-spacing:6px;font-weight:700;margin:0 0 43px;white-space:nowrap}
.mini:before,.mini:after{content:'';width:60px;height:1px;background:#b99c6a;flex-shrink:0}
.hero:not(.compact){background:linear-gradient(180deg,rgba(10,42,37,.08),rgba(8,42,36,.22)),url('winter-branches.png') center center / cover no-repeat,#102f29;border-radius:36px;padding:105px 54px 84px;box-shadow:0 20px 50px #153d3017;isolation:isolate}
.hero:not(.compact):before{content:'';position:absolute;inset:0;border-radius:inherit;background-image:radial-gradient(2px 2px at 30px 40px,#ffffffad 95%,transparent),radial-gradient(3px 3px at 100px 140px,#ffffff55 95%,transparent),radial-gradient(1px 1px at 175px 95px,#ffffffc0 95%,transparent);background-size:230px 250px,310px 350px,190px 190px;opacity:.7;pointer-events:none}
.hero:not(.compact):after{display:none}
.hero:not(.compact)>.eyebrow{display:block;color:#f5d9a5;font-size:12px;letter-spacing:5px;font-weight:700;margin-bottom:62px}
.hero:not(.compact) h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(49px,6.4vw,82px);font-weight:700;line-height:1.1;letter-spacing:-2.5px;max-width:940px;margin:0 auto 52px;text-wrap:balance}
.hero:not(.compact) h1 em{color:#ffebc8;font-style:normal;display:block}
.hero:not(.compact) p{font-size:clamp(17px,2vw,22px);line-height:1.6;max-width:680px;margin:0 auto;color:#f1f4ee;font-weight:400}
.hero:not(.compact) .countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:780px;gap:18px;margin:68px auto 68px}
.hero:not(.compact) .countdown div{width:auto;min-width:0;border:1px solid #ffffff55;border-radius:27px;background:#ffffff0a;padding:32px 8px 29px;backdrop-filter:blur(3px)}
.hero:not(.compact) .countdown strong{font-size:clamp(30px,4vw,53px);font-weight:700;line-height:1.2}
.hero:not(.compact) .countdown span{display:block;font-size:11px;letter-spacing:3px;margin-top:22px;color:#f6ead6}
.hero:not(.compact) .hero-bottom{display:flex;align-items:center;justify-content:center;gap:22px;color:#f4e3c5;font:600 clamp(15px,1.7vw,21px) 'Playfair Display',Georgia,serif}
.hero:not(.compact) .hero-bottom:before,.hero:not(.compact) .hero-bottom:after{content:'';display:block;width:75px;height:1px;background:#e9d0a3;flex-shrink:1}
.snow{position:fixed;z-index:1;opacity:.12;pointer-events:none}.top{z-index:5}.hero>*{z-index:2}
@media(max-width:750px){
.top{height:84px;padding:0 24px;flex-wrap:nowrap}.brand{font-size:clamp(22px,5vw,29px)}.top nav{gap:10px}.top nav a{font-size:13px}.navbutton{font-size:14px}
main{padding:40px 14px 65px}.mini{font-size:clamp(8px,2.1vw,11px);letter-spacing:clamp(2px,.7vw,4px);gap:11px;margin-bottom:35px}.mini:before,.mini:after{width:30px;min-width:15px}
.hero:not(.compact){border-radius:29px;padding:83px 22px 70px;background-position:center center}
.hero:not(.compact)>.eyebrow{font-size:clamp(8px,1.95vw,11px);letter-spacing:clamp(2px,.65vw,4px);line-height:1.8;margin-bottom:45px}
.hero:not(.compact) h1{font-size:clamp(39px,9vw,65px);letter-spacing:-1.7px;line-height:1.13;margin:0 auto 45px;max-width:620px}
.hero:not(.compact) p{font-size:clamp(15px,3.5vw,20px);line-height:1.6;margin:0 auto}
.hero:not(.compact) .countdown{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:56px auto 62px}
.hero:not(.compact) .countdown div{padding:22px 2px 20px;border-radius:19px}
.hero:not(.compact) .countdown strong{font-size:clamp(23px,6.1vw,38px)}
.hero:not(.compact) .countdown span{font-size:clamp(7px,1.65vw,10px);letter-spacing:clamp(.5px,.27vw,2px);margin-top:14px}
.hero:not(.compact) .hero-bottom{font-size:clamp(12px,3vw,17px);gap:10px;white-space:nowrap}.hero:not(.compact) .hero-bottom:before,.hero:not(.compact) .hero-bottom:after{width:clamp(12px,5vw,45px)}
}
@media(max-width:370px){.hero:not(.compact){padding-left:13px;padding-right:13px}.hero:not(.compact) h1{font-size:36px}.mini{letter-spacing:1.4px}.hero:not(.compact) .hero-bottom{font-size:11px}}
@media(prefers-reduced-motion:reduce){.snow{animation:none}}
