:root{--red:#8e211f;--red2:#65161c;--gold:#e8bd28;--gold2:#c99b0d;--cream:#fff8e8;--ink:#2c211f;--muted:#746866;--line:#eadfca;--white:#fff;--green:#315f43;--shadow:0 18px 60px rgba(78,25,20,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fffdfa;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.narrow{width:min(820px,calc(100% - 40px));text-align:center}.topbar{background:var(--red2);color:#fff;text-align:center;padding:9px 16px;font-size:.82rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.topbar span{color:var(--gold);padding:0 8px}.site-header{height:78px;padding:0 max(24px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;background:rgba(255,253,250,.96);border-bottom:1px solid rgba(142,33,31,.1);position:sticky;top:0;z-index:1000;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;color:var(--red);line-height:1}.brand-mark{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--red2);font-size:1.2rem}.brand b{display:block;font-family:Rockwell,Georgia,serif;font-size:1.2rem;text-transform:uppercase;letter-spacing:.05em}.brand small{display:block;color:var(--ink);font-weight:700;margin-top:3px;letter-spacing:.09em;text-transform:uppercase;font-size:.58rem}.site-header nav{display:flex;gap:28px;align-items:center}.site-header nav a{font-weight:800;font-size:.88rem}.site-header nav a:hover{color:var(--red)}.nav-toggle{display:none;border:0;background:none;font-size:1.5rem;color:var(--red)}
.hero{position:relative;overflow:hidden;background:linear-gradient(130deg,#fffaf0 0%,#fffdf7 48%,#f6df8d 150%);border-bottom:1px solid var(--line)}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 20%,rgba(232,189,40,.23) 0 3px,transparent 4px),radial-gradient(circle at 82% 20%,rgba(142,33,31,.08) 0 2px,transparent 3px);background-size:78px 78px,54px 54px;opacity:.9}.hero-grid{min-height:660px;display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center;position:relative}.hero-copy{padding:72px 0}.eyebrow{font-size:.74rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--gold2);margin:0 0 15px}.eyebrow.red{color:var(--red)}.eyebrow.light{color:#f7da73}.gold-text{color:var(--gold2)}.hero h1{margin:0;color:var(--red);font-family:Rockwell,"Roboto Slab",Georgia,serif;text-transform:uppercase;font-size:clamp(4rem,8vw,7.7rem);line-height:.78;letter-spacing:-.045em;text-shadow:0 3px 0 rgba(116,52,25,.04)}.hero h1 em{font-style:normal;color:var(--ink);font-size:.43em;letter-spacing:.03em}.tagline{font-family:Georgia,serif;font-size:clamp(1.4rem,2.4vw,2rem);margin:32px 0 14px}.tagline strong{color:var(--red)}.lead{font-size:1.08rem;color:#594c49;max-width:650px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:5px;font-weight:900;letter-spacing:.02em;transition:.2s ease}.btn:hover{transform:translateY(-2px)}.btn.gold{background:var(--gold);color:#42191b;box-shadow:0 10px 30px rgba(199,155,13,.24)}.btn.outline{border:2px solid var(--red);color:var(--red)}.btn.cream{background:#fff7de;color:var(--red2);margin-top:8px}.date-card{width:min(440px,100%);justify-self:end;background:linear-gradient(155deg,var(--red) 0%,var(--red2) 100%);color:#fff;text-align:center;border:8px solid #fff;outline:2px solid var(--gold);box-shadow:var(--shadow);position:relative;padding:54px 30px 38px;transform:rotate(1.1deg);overflow:hidden}.date-card:before,.date-card:after{content:"";position:absolute;width:190px;height:190px;border:3px solid rgba(232,189,40,.22);border-radius:50%}.date-card:before{left:-110px;bottom:-90px}.date-card:after{right:-90px;top:-100px}.date-ribbon{position:absolute;left:0;right:0;top:0;background:var(--gold);color:#5b1c1c;font-weight:950;letter-spacing:.18em;padding:9px;font-size:.74rem}.date-month{font-family:Rockwell,Georgia,serif;font-size:3.4rem;line-height:1;margin-top:12px}.date-day{font-family:Rockwell,Georgia,serif;font-size:9.5rem;line-height:.8;color:#fff7dc;text-shadow:5px 5px 0 #b58f16}.date-meta{display:flex;flex-direction:column;margin-top:20px;font-size:1.05rem}.date-meta span{color:#f8dda0}.ornament{position:absolute;right:16px;bottom:6px;font-size:2.5rem;color:rgba(255,255,255,.12)}
.countdown-band{background:var(--red);color:#fff;padding:30px 0}.countdown-wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}.countdown-wrap h2{margin:0;font-family:Georgia,serif;font-size:1.7rem}.countdown{display:flex;gap:10px}.countdown>div{min-width:92px;padding:13px 12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);text-align:center;border-radius:6px}.countdown b{display:block;font-size:2rem;line-height:1}.countdown span{font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;opacity:.72}.section{padding:96px 0}.intro{background:#fffdfa}.intro h2,.section-head h2,.participation h2,.history h2,.closing h2{font-family:Georgia,serif;font-size:clamp(2.2rem,4.5vw,4rem);line-height:1.06;margin:0 0 22px}.intro h2 span{color:var(--red)}.intro .narrow>p:last-child{font-size:1.12rem;color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}.feature-grid article{padding:30px;border:1px solid var(--line);background:#fff;border-radius:8px;box-shadow:0 10px 30px rgba(54,34,25,.05)}.feature-grid article>span{font-size:2.1rem}.feature-grid h3{margin:14px 0 6px;font-family:Georgia,serif;font-size:1.25rem}.feature-grid p{margin:0;color:var(--muted);font-size:.94rem}
.map-section{background:#f6f0e5}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:34px}.section-head>div{max-width:760px}.section-head p{color:var(--muted);margin-bottom:0}.map-key{display:flex;gap:14px;flex-wrap:wrap;font-size:.76rem;font-weight:900;text-transform:uppercase}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.dot.activity{background:var(--red)}.dot.shop{background:var(--gold2)}.dot.food{background:var(--green)}.map-layout{display:grid;grid-template-columns:1.4fr .6fr;min-height:500px;border-radius:10px;overflow:hidden;box-shadow:var(--shadow);background:#fff}.map-layout #event-map{min-height:500px}.stops{padding:22px;background:#fff;overflow:auto}.stops-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;border-bottom:1px solid var(--line)}.stops-top span{font-size:.72rem;color:var(--muted);font-weight:800;text-transform:uppercase}.stop-card{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;padding:20px 0;display:flex;gap:15px;cursor:pointer;color:var(--ink)}.stop-card:hover{background:#fffaf0}.stop-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--red);flex:0 0 auto}.stop-icon img{width:32px;height:32px;display:block}.stop-card small{display:block;color:var(--red);font-weight:900;font-size:.66rem;letter-spacing:.08em}.stop-card strong,.stop-card em{display:block}.stop-card strong{font-family:Georgia,serif;font-size:1.08rem;margin:3px 0}.stop-card em{font-style:normal;color:var(--muted);font-size:.82rem}.stop-card p{margin:8px 0 0;font-size:.86rem;color:var(--muted)}.coming-stop{display:flex;gap:13px;padding:24px 0;color:var(--muted)}.coming-stop>span{width:36px;height:36px;border-radius:50%;border:1px dashed #c8baa3;display:grid;place-items:center;flex:none}.coming-stop strong{display:block;color:var(--ink);font-size:.9rem}.coming-stop p{font-size:.82rem;margin:4px 0}.participation{background:linear-gradient(145deg,var(--red2),#8f2725);color:#fff}.participation>.wrap>h2{max-width:800px}.participate-lead{max-width:700px;color:#f0d9d3;font-size:1.08rem}.registration-clock{margin:34px 0;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:22px 24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:8px}.registration-clock small,.registration-clock strong,.registration-clock>div>span{display:block}.registration-clock small{font-weight:900;letter-spacing:.12em;color:#f4cf5c}.registration-clock strong{font-family:Georgia,serif;font-size:1.25rem}.registration-clock>div>span{font-size:.74rem;color:#e8c9c5;margin-top:3px}.countdown.mini>div{min-width:74px;padding:10px}.countdown.mini b{font-size:1.55rem}.participation-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.participation-grid article{background:#fff;color:var(--ink);padding:36px;border-radius:8px;box-shadow:0 15px 50px rgba(32,0,0,.16)}.participation-icon{font-size:2.2rem}.card-kicker{font-size:.7rem;letter-spacing:.13em;color:var(--red);font-weight:950;text-transform:uppercase;margin:9px 0}.participation-grid h3{font-family:Georgia,serif;font-size:1.85rem;line-height:1.1;margin:0 0 15px}.participation-grid p,.participation-grid li{color:var(--muted)}.participation-grid ul{padding-left:20px;margin:18px 0 24px}.participation-grid li{margin:5px 0}.schedule{background:#fffdfa}.text-link{font-weight:900;color:var(--red)}.schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.time-card{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:26px;border:1px solid var(--line);border-radius:8px;background:#fff}.time-card time{font-family:Georgia,serif;font-size:1.45rem;color:var(--red);font-weight:800}.time-card span{font-size:.66rem;letter-spacing:.12em;color:var(--gold2);font-weight:950}.time-card h3{font-family:Georgia,serif;font-size:1.3rem;margin:3px 0}.time-card p{margin:0;color:var(--muted)}.time-card.featured{border-left:5px solid var(--gold)}.time-card.muted{background:#f8f4ed}.history{background:#2d2422;color:#fff}.history-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:center}.history-year{border:1px solid rgba(255,255,255,.16);padding:36px;text-align:center;position:relative}.history-year:before{content:"";position:absolute;inset:8px;border:1px solid rgba(232,189,40,.35)}.history-year span,.history-year strong,.history-year em{display:block;position:relative}.history-year span{text-transform:uppercase;letter-spacing:.2em;color:#e4c665}.history-year strong{font-family:Rockwell,Georgia,serif;font-size:6.5rem;line-height:1;color:#fff7dc}.history-year em{font-style:normal;font-family:Georgia,serif;color:#d5c8c0}.history p{color:#d4c8c3}.light-link{color:#f3d264}.closing{text-align:center;padding:110px 0;background:linear-gradient(180deg,#fffdfa,#fff6dd)}.big-flake{display:block;font-size:3rem;color:var(--gold2);margin-bottom:8px}.closing p{color:var(--muted)}.closing-copy{max-width:700px;margin:15px auto 30px;font-size:1.05rem}footer{background:#181312;color:#d8ceca;padding:44px 0 28px}.footer-grid{display:flex;justify-content:space-between;gap:30px}.footer-grid b{font-family:Georgia,serif;color:#fff;font-size:1.25rem}.footer-grid p{margin:4px 0;color:#9f938f}.footer-grid>div:last-child{display:flex;gap:20px;font-weight:800;font-size:.86rem}.footnote{border-top:1px solid rgba(255,255,255,.09);margin-top:26px;padding-top:20px;font-size:.72rem;color:#817875}.mobile-cta{display:none}
@media(max-width:900px){.site-header nav{display:none}.nav-toggle{display:block}.site-header.open nav{display:flex;position:absolute;left:0;right:0;top:78px;background:#fff;padding:22px;flex-direction:column;box-shadow:0 20px 30px rgba(0,0,0,.1)}.hero-grid{grid-template-columns:1fr;gap:20px;padding-bottom:60px}.hero-copy{padding:60px 0 20px}.hero h1{font-size:clamp(3.7rem,16vw,6rem)}.date-card{justify-self:center;max-width:380px}.countdown-wrap,.section-head,.registration-clock{align-items:flex-start;flex-direction:column}.feature-grid{grid-template-columns:1fr 1fr}.map-layout{grid-template-columns:1fr}.map-layout #event-map{min-height:400px}.participation-grid,.schedule-grid,.history-grid{grid-template-columns:1fr}.history-grid{gap:35px}.history-year{max-width:470px}.footer-grid{flex-direction:column}.mobile-cta{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:12px;right:12px;bottom:12px;z-index:1200;background:#fff;border-radius:8px;box-shadow:0 10px 35px rgba(0,0,0,.23);overflow:hidden}.mobile-cta a{padding:13px;text-align:center;font-weight:900}.mobile-cta a:first-child{background:var(--gold);color:#4d1a18}.mobile-cta a:last-child{background:var(--red);color:#fff}footer{padding-bottom:88px}}
@media(max-width:620px){.topbar{font-size:.68rem}.topbar span:nth-of-type(n+2){display:none}.wrap,.narrow{width:min(100% - 28px,1160px)}.site-header{padding:0 16px}.hero-grid{min-height:auto}.hero-copy{padding-top:48px}.lead{font-size:1rem}.date-day{font-size:8rem}.countdown{width:100%}.countdown>div{min-width:0;flex:1}.countdown b{font-size:1.5rem}.section{padding:70px 0}.feature-grid{grid-template-columns:1fr}.map-layout #event-map{min-height:330px}.registration-clock{padding:18px}.countdown.mini{width:100%}.participation-grid article{padding:26px}.schedule-grid{grid-template-columns:1fr}.time-card{grid-template-columns:90px 1fr;padding:20px}.history-year strong{font-size:5rem}.closing{padding:80px 0}.footer-grid>div:last-child{flex-direction:column;gap:8px}}
/* 2026-09-15 production polish: supplied hero, gallery, mobile + CA privacy choices */
.hero{background-image:linear-gradient(90deg,rgba(38,18,16,.74),rgba(38,18,16,.36)),url('/hero-current.webp');background-size:cover;background-position:center}.hero:before{background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.12))}.hero-grid{grid-template-columns:1fr;place-items:center;text-align:center}.hero-copy{max-width:780px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.45)}.hero h1,.hero h1 em,.hero .eyebrow,.hero .tagline,.hero .tagline strong,.hero .lead{color:#fff}.hero .lead{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.hero .btn.outline{border-color:#fff;color:#fff;background:rgba(0,0,0,.18)}.date-card{display:none}.photo-gallery{background:#fffdfa}.gallery-head{text-align:center;max-width:720px;margin:0 auto 32px}.gallery-head h2{font-family:Georgia,serif;font-size:clamp(2.2rem,4.5vw,4rem);line-height:1.06;margin:0 0 12px}.gallery-head p:last-child{color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:12px}.gallery-grid img{width:100%;height:100%;object-fit:cover;border-radius:8px}.gallery-grid img:nth-child(1),.gallery-grid img:nth-child(7){grid-column:span 2}.privacy-links button{border:0;background:none;color:inherit;text-decoration:underline;cursor:pointer;padding:0;font:inherit}.privacy-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:2000;display:flex;justify-content:space-between;align-items:center;gap:24px;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 12px 45px rgba(0,0,0,.22);border-radius:10px;padding:18px 20px}.privacy-banner>div:first-child{display:grid;gap:3px;max-width:760px}.privacy-banner span{font-size:.83rem;color:var(--muted)}.privacy-banner>div:last-child,.privacy-actions{display:flex;gap:8px;flex:none}.privacy-btn{border:0;border-radius:5px;background:var(--red);color:#fff;padding:11px 15px;font-weight:850;cursor:pointer}.privacy-btn.secondary{background:#eee5d7;color:var(--ink)}.privacy-modal{position:fixed;inset:0;z-index:2100;background:rgba(0,0,0,.55);display:grid;place-items:center;padding:20px}.privacy-modal[hidden]{display:none}.privacy-dialog{position:relative;width:min(620px,100%);background:#fff;border-radius:10px;padding:30px;box-shadow:0 20px 70px rgba(0,0,0,.3)}.privacy-dialog h2{font-family:Georgia,serif;color:var(--red);margin-top:0}.privacy-close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:1.8rem;cursor:pointer}.privacy-actions{margin-top:22px;justify-content:flex-end}
@media(max-width:900px){.hero-grid{padding-bottom:0;min-height:620px}.hero-copy{padding:70px 0}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}.privacy-banner{bottom:76px;flex-direction:column;align-items:stretch}.privacy-banner>div:last-child{justify-content:flex-end}}
@media(max-width:620px){.hero{background-position:center center}.hero-grid{min-height:560px}.hero-copy{padding:54px 0}.hero h1{font-size:clamp(3.1rem,15vw,5rem);line-height:.84}.hero-actions .btn{width:100%}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:240px}.gallery-grid img:nth-child(1),.gallery-grid img:nth-child(7){grid-column:auto}.privacy-banner{left:10px;right:10px;padding:15px;max-height:55vh;overflow:auto}.privacy-banner>div:last-child,.privacy-actions{display:grid;grid-template-columns:1fr 1fr}.privacy-btn{padding:10px 8px;font-size:.8rem}}

/* 2026-09-15 hero artwork + privacy interaction hardening */
.hero{background:#1d1716!important;border-bottom:0!important;}
.hero:before,.hero-snow{display:none!important;}
.hero .hero-copy,.hero .date-card{display:none!important;}
.hero-grid{display:block!important;width:min(1160px,100%)!important;min-height:0!important;aspect-ratio:720/276;margin:0 auto!important;padding:0!important;background:url('/hero-current.webp') center center/contain no-repeat!important;}
@media(max-width:900px){.hero-grid{width:100%!important;aspect-ratio:720/276!important;padding:0!important;}.hero{min-height:0!important;}}
@media(max-width:620px){.hero-grid{width:100%!important;aspect-ratio:720/276!important;background-size:contain!important;}.hero{min-height:0!important;}}
/* Keep consent UI above the fixed mobile call-to-action and clickable. */
[id*="privacy" i],[class*="privacy" i],[id*="consent" i],[class*="consent" i]{pointer-events:auto;}
body.privacy-open .mobile-cta{pointer-events:none;}
/* 2026-09-16 event-stop icon sizing + Mail N More winter wonderland */
.stop-icon.yeti-stop-icon{width:58px;height:58px;background:var(--red);box-shadow:0 2px 9px rgba(0,0,0,.08)}
.stop-icon.snowflake-stop-icon{width:52px;height:52px;background:#e5f6fc;color:#4e9fc6;font-size:2rem;font-weight:900}

/* 2026-09-16 countdown mobile ordering */
.countdown-wrap{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:30px;row-gap:4px}.countdown-label{grid-column:1;grid-row:1}.countdown-label .eyebrow{margin-bottom:0}.countdown-wrap>.countdown{grid-column:2;grid-row:1 / span 2}.countdown-message{grid-column:1;grid-row:2;margin:0;font-family:Georgia,serif;font-size:1.7rem}
@media(max-width:900px){.countdown-wrap{display:flex;flex-direction:column;align-items:stretch;gap:18px}.countdown-label{order:1}.countdown-wrap>.countdown{order:2}.countdown-message{order:3;margin:0;font-size:clamp(1.8rem,7vw,2.5rem)}}
