.christmas-icon{width:64px;height:64px;object-fit:contain;display:block;flex-shrink:0;pointer-events:none}.christmas-garland{height:88px;position:relative;display:flex;justify-content:space-around;align-items:flex-start;margin-top:-7px;margin-bottom:8px;border-top:2px solid #627856;border-radius:50% 50% 0 0/15px 15px 0 0}.christmas-garland>span{display:flex;flex-direction:column;align-items:center;transform-origin:top center}.christmas-garland>span::before{content:'';display:block;height:14px;width:1px;background:#c9af79}.christmas-garland>span:nth-child(even){transform:rotate(-8deg)}.christmas-garland>span:nth-child(3n){transform:rotate(7deg)}.christmas-garland .christmas-icon{width:48px;height:48px}.christmas-garland>span:nth-child(3n)::before{height:23px}.theme-jump a{display:flex;align-items:center;gap:7px;padding:7px 15px 7px 9px}.theme-jump .christmas-icon{width:29px;height:29px}.decorated-box{position:relative;padding-top:50px!important}.corner-icon{position:absolute;top:-26px;left:16px;width:64px;height:64px;transform:rotate(-10deg);filter:drop-shadow(0 3px 0 #fff9ed)}.holiday-note{position:relative;padding-left:63px!important;min-height:70px}.holiday-note .note-icon{position:absolute;left:8px;top:9px;width:46px;height:46px}.icon-heading{display:flex;align-items:center;gap:10px}.icon-heading .christmas-icon{width:46px;height:46px;transform:rotate(-5deg)}.festive-message{margin-top:24px;margin-bottom:24px;padding:35px 32px!important;background:#fffdf6;border:1px solid #dedac6;border-radius:22px;box-shadow:0 6px 0 #ece4d0}.festive-message .message-corner{position:absolute;right:18px;top:-24px;transform:rotate(18deg);width:62px;height:62px}.festive-message>.doodle-star{display:none}.community{position:relative;padding-top:70px}.community-corner{position:absolute;top:-31px;left:10px;width:68px;height:68px;transform:rotate(-8deg)}.footer-christmas{display:flex;align-items:center;justify-content:center;gap:20px;padding:20px 18px 28px;border-top:1px solid #dfddc8;background:#f2eddf}.footer-christmas .christmas-icon{width:46px;height:46px}.footer-christmas>span{font-family:Georgia,serif;font-size:18px;font-style:italic;color:#486348}.theme-room::after{content:'';pointer-events:none;position:absolute;right:24px;top:22px;width:52px;height:52px;opacity:.16;background:url('/assets/icons/snowflake.svg') center/contain no-repeat}.room-heading{position:relative;z-index:1}.theme-room .wrap{position:relative}
@media(max-width:680px){.christmas-garland{height:67px;margin-top:5px}.christmas-garland .christmas-icon{width:35px;height:35px}.christmas-garland>span:nth-child(3n){display:none}.christmas-garland>span::before{height:10px}.festive-message{padding:29px 18px!important;gap:13px}.festive-message>.mascot{width:65px;height:65px}.festive-message h2{font-size:24px}.festive-message p{font-size:13px}.festive-message .message-corner{width:48px;height:48px;top:-20px;right:8px}.footer-christmas{gap:10px;flex-wrap:wrap}.footer-christmas .christmas-icon{width:37px;height:37px}.footer-christmas>span{order:2;flex-basis:100%;text-align:center;font-size:16px}.theme-room::after{right:8px;width:36px}.icon-heading{font-size:27px}.decorated-box{margin-top:15px}}

@media print{.christmas-garland,.christmas-icon,.footer-christmas,.theme-room::after{display:none!important}.decorated-box{padding-top:0!important}.holiday-note{padding-left:12px!important;min-height:0}}
.christmas-site-header{padding:0;margin:0;background:#fff8e9}.top-fresco{display:block;max-width:1600px;margin:0 auto;line-height:0}.top-fresco img{width:100%;height:auto;aspect-ratio:3/1;object-fit:contain;display:block}.top-fresco:focus-visible{outline:3px solid var(--red);outline-offset:-3px}.festive-nav{display:flex;justify-content:center;padding:17px 0;border-bottom:1px solid #dcd5ba}.festive-nav nav{display:flex;justify-content:center;align-items:center;gap:35px;flex-wrap:wrap;font-size:13px;font-weight:600}.festive-nav a{padding:5px 0}.festive-nav a:hover{text-decoration:underline;text-underline-offset:6px}.christmas-site-header+.christmas-garland{margin-top:0}.workshop-hero .hero-ribbon{margin-top:12px}.workshop-title{margin-top:36px}.treat-photo img,.creative-head figure img{object-position:center}
@media(max-width:680px){.festive-nav{padding:10px 0}.festive-nav nav{gap:9px 19px;font-size:11px}.workshop-hero .hero-ribbon{font-size:9px;padding:10px 12px}.workshop-title{margin-top:31px}}
@media print{.christmas-site-header{display:none}}

.theme-jump a:focus-visible{outline:3px solid #b23f45;outline-offset:3px}

/* The existing logo sits in the empty linen area of the fresco. */
.top-fresco{position:relative}
.top-fresco .banner-logo{position:absolute;left:3%;top:50%;transform:translateY(-50%);width:24%;max-width:330px;height:auto;aspect-ratio:1;object-fit:contain}
.site-footer .brand img{width:96px;height:96px}
.recipe-brandline{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:4px 0 18px;margin:0 0 25px;break-inside:avoid}
.recipe-brandline>a{flex:0 0 auto}
.recipe-brandline img{width:104px;height:104px;object-fit:contain}
.recipe-brandline p{margin:0}
.recipe-brandline .eyebrow{margin-bottom:5px;font-size:10px}
.recipe-brand-name{font-family:Georgia,serif;font-size:25px;line-height:1.2;color:var(--ink)}
.recipe-brand-caption{margin-top:7px!important;font-size:12px;color:var(--muted)}
@media(max-width:680px){.top-fresco .banner-logo{width:28%;left:1.5%}.recipe-brandline{gap:14px;padding-bottom:15px;margin-bottom:20px}.recipe-brandline img{width:80px;height:80px}.recipe-brand-name{font-size:22px}.recipe-brand-caption{font-size:11px}.site-footer .brand img{width:84px;height:84px}}
@media print{.recipe-brandline{display:flex!important;padding:0 0 4mm;margin:0 0 5mm;gap:5mm;border-bottom:1px solid #bbb;break-after:avoid}.recipe-brandline img{display:block!important;width:22mm;height:22mm}.recipe-brand-name{font-size:18pt;color:#000}.recipe-brand-caption{font-size:9pt}}

/* Keep long collection names and touch controls usable on narrow screens. */
@media(max-width:680px){
 .festive-nav nav{font-size:13px;gap:4px 14px}
 .festive-nav a{display:inline-flex;align-items:center;min-height:44px;padding:9px 3px}
 .room-heading{flex-wrap:wrap;align-items:flex-start;gap:12px}
 .room-identity{flex:1 1 210px;min-width:0}
 .room-identity>div{min-width:0}
 .room-identity h2{overflow-wrap:anywhere}
 .rail-controls{margin-left:auto;gap:8px}
 .rail-controls button{width:44px;height:44px}
 .recipe-tabs a,.theme-jump a,.filters button{min-height:44px;display:inline-flex;align-items:center}
}
