/* Christmas header (Nov 2026): logo, tagline lights, Santa hat, snowy menu. REVERT: remove the <link> to /assets/xmas.css on every page, delete the .xm-b span, and swap header-art-xmas4- back to header-art- (r5: tagline lights + hat are now baked into header-art-xmas4-*; the old SVG string/hat overlay span.xm-fx was removed, backup in video-backup-2026-11-04/r5c). */
/* calm header badge: show the Christmas logo circle */
.rd-hdr--calm .rd-badge img,.rd-hdr--calm .rd-badge .rd-name,.rd-hdr--calm .rd-badge .rd-sub{display:none}
.rd-hdr--calm .rd-badge .rd-ring{background:#fffaf2 url(/assets/img/rd/xmas-logo-circle-560.webp) center/cover no-repeat}

/* tagline lights + Santa hat on the picture header (positions are in the art's own pixels, so they scale with it) */
.rd-hdr--art .rd-art{position:relative}
.xm-fx{position:absolute;inset:0;pointer-events:none;z-index:2;line-height:0}
.xm-fx svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.xm-fx .xm-fx-m{display:none}
@media (max-width:640px){.xm-fx .xm-fx-d{display:none}.xm-fx .xm-fx-m{display:block}}
.xm-g{opacity:.45;animation:xmTw 2.8s ease-in-out infinite alternate}
.xm-g1{animation-duration:3.5s;animation-delay:-1.2s}
.xm-g2{animation-duration:2.3s;animation-delay:-2s}
@keyframes xmTw{0%{opacity:.12}100%{opacity:.75}}
/* calm header (text tagline): same hat on the B and a little garland under the words */
.rd-hdr--calm .rd-tag .xm-b{position:relative;display:inline-block}
.rd-hdr--calm .rd-tag .xm-b::before{content:"";position:absolute;left:-.2em;top:-.86em;width:1.05em;height:1.1em;background:url(/assets/img/rd/santa-hat.webp) center/contain no-repeat;transform:rotate(-11deg);pointer-events:none}
.rd-hdr--calm .rd-tag .t2{position:relative}
.rd-hdr--calm .rd-tag .t2::after{content:"";position:absolute;left:0;right:0;top:92%;height:.62em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='64' viewBox='0 0 240 64'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='4'/%3E%3C/filter%3E%3C/defs%3E%3Cpath d='M0 6Q120 40 240 6' fill='none' stroke='%238d7a62' stroke-opacity='.7' stroke-width='1.6'/%3E%3Cg filter='url(%23b)' opacity='.55'%3E%3Ccircle cx='40' cy='31.5' r='16' fill='%23ffd98a'/%3E%3Ccircle cx='120' cy='39' r='16' fill='%23f7b7c8'/%3E%3Ccircle cx='200' cy='31.5' r='16' fill='%23bfe3cf'/%3E%3C/g%3E%3Crect x='36.5' y='14.5' width='7' height='7' rx='2' fill='%23b9a07a'/%3E%3Cellipse cx='40' cy='31.5' rx='8.5' ry='12' fill='%23ffd98a'/%3E%3Cellipse cx='37' cy='27.5' rx='2.4' ry='4' fill='%23fff' fill-opacity='.75'/%3E%3Crect x='116.5' y='22' width='7' height='7' rx='2' fill='%23b9a07a'/%3E%3Cellipse cx='120' cy='39' rx='8.5' ry='12' fill='%23f7b7c8'/%3E%3Cellipse cx='117' cy='35' rx='2.4' ry='4' fill='%23fff' fill-opacity='.75'/%3E%3Crect x='196.5' y='14.5' width='7' height='7' rx='2' fill='%23b9a07a'/%3E%3Cellipse cx='200' cy='31.5' rx='8.5' ry='12' fill='%23bfe3cf'/%3E%3Cellipse cx='197' cy='27.5' rx='2.4' ry='4' fill='%23fff' fill-opacity='.75'/%3E%3C/svg%3E") repeat-x 0 0/2.3em .62em;pointer-events:none}
/* snow on the sticky menu: snowy cap along the top + a few slow flakes (behind the links, never clickable) */
.rd-nav::before{content:"";position:absolute;left:0;right:0;top:-1px;height:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='10' viewBox='0 0 120 10'%3E%3Cpath d='M0 0H120V4C112 4 110 8 104 8S97 4 90 4 83 9.5 76 9.5 70 4 62 4 55 7 48 7 41 3.5 34 3.5 27 8 20 8 13 4 8 4 3 6 0 5Z' fill='%23fff'/%3E%3C/svg%3E") repeat-x 0 0/120px 10px;filter:drop-shadow(0 1px 1px rgba(120,100,80,.18));pointer-events:none;z-index:1}
.rd-nav::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='90' viewBox='0 0 180 90'%3E%3Cg fill='%23fff'%3E%3Ccircle cx='14' cy='12' r='2.2'/%3E%3Ccircle cx='52' cy='40' r='1.6'/%3E%3Ccircle cx='88' cy='18' r='2.6'/%3E%3Ccircle cx='124' cy='60' r='1.8'/%3E%3Ccircle cx='160' cy='30' r='2.2'/%3E%3Ccircle cx='36' cy='72' r='2'/%3E%3Ccircle cx='104' cy='82' r='1.5'/%3E%3Ccircle cx='150' cy='84' r='2.4'/%3E%3C/g%3E%3C/svg%3E") repeat 0 0/180px 90px;opacity:.9;pointer-events:none;z-index:-1;animation:xmSnow 14s linear infinite}

@keyframes xmSnow{from{background-position:0 0}to{background-position:24px 90px}}
@media (prefers-reduced-motion:reduce){.xm-g{animation:none;opacity:.45}.rd-nav::after{animation:none}}

/* r5 (4 Nov): calm pages - old floating hat + hanging string replaced by the plush hat snug on the B */
.rd-hdr--calm .rd-tag .t2::after{display:none!important}
.rd-hdr--calm .rd-tag .xm-b::before{background-image:url(/assets/img/rd/santa-hat-plush.webp)!important;width:1em!important;height:.88em!important;left:-.14em!important;top:-.46em!important;transform:rotate(-10deg)!important;filter:drop-shadow(1px 3px 2px rgba(90,40,30,.22))}

/* r5 (4 Nov): Seasonal band "snow sprinkles" - gentle falling flakes + static sprinkle, behind the card, no clicks. REVERT: delete this block */
.rd-seasonal-wrap.xm{isolation:isolate}
.rd-seasonal-wrap.xm::before,.rd-seasonal-wrap.xm::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none}
.rd-seasonal-wrap.xm::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='300'%3E%3Ccircle cx='39' cy='251.0' r='4.1' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='39' cy='250' r='3.1' fill='%23fff' fill-opacity='1' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='69' cy='149.5' r='3.7' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='69' cy='149' r='2.7' fill='%23fff' fill-opacity='1' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='168' cy='233.8' r='3.3' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='168' cy='233' r='2.3' fill='%23fff' fill-opacity='1' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='13' cy='247.5' r='3.7' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='13' cy='247' r='2.7' fill='%23fff' fill-opacity='1' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='195' cy='7.4' r='3.7' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='195' cy='7' r='2.7' fill='%23fff' fill-opacity='1' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='185' cy='72.9' r='4.3' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='185' cy='72' r='3.3' fill='%23fff' fill-opacity='1' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='230' cy='15.5' r='3.2' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='230' cy='15' r='2.2' fill='%23fff' fill-opacity='1' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='140' cy='277.3' r='3.7' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='140' cy='276' r='2.7' fill='%23fff' fill-opacity='1' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='60' cy='128.2' r='3.2' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='60' cy='128' r='2.2' fill='%23fff' fill-opacity='1' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='61' cy='133.0' r='3.8' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='61' cy='132' r='2.8' fill='%23fff' fill-opacity='1' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='64' cy='73.2' r='3.5' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='64' cy='72' r='2.5' fill='%23fff' fill-opacity='1' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='380' height='440'%3E%3Ccircle cx='358' cy='412.8' r='4.9' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='358' cy='412' r='3.9' fill='%23fff' fill-opacity='1' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='37' cy='365.1' r='6.0' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='37' cy='364' r='5.0' fill='%23fff' fill-opacity='1' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='252' cy='139.3' r='5.8' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='252' cy='138' r='4.8' fill='%23fff' fill-opacity='1' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='229' cy='256.0' r='5.1' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='229' cy='255' r='4.1' fill='%23fff' fill-opacity='1' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='164' cy='175.9' r='6.0' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='164' cy='174' r='5.0' fill='%23fff' fill-opacity='1' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='372' cy='413.7' r='5.7' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='372' cy='412' r='4.7' fill='%23fff' fill-opacity='1' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='170' cy='122.0' r='4.9' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='170' cy='121' r='3.9' fill='%23fff' fill-opacity='1' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3C/svg%3E");background-size:260px 300px,380px 440px;background-repeat:repeat;animation:xmSnowFall 26s linear infinite;will-change:background-position}
.rd-seasonal-wrap.xm::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='340'%3E%3Ccircle cx='75' cy='185.1' r='2.9' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='75' cy='185' r='1.9' fill='%23fff' fill-opacity='0.95' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='180' cy='211.7' r='2.6' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='180' cy='211' r='1.6' fill='%23fff' fill-opacity='0.95' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='10' cy='281.2' r='2.8' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='10' cy='281' r='1.8' fill='%23fff' fill-opacity='0.95' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='73' cy='333.2' r='3.0' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='73' cy='333' r='2.0' fill='%23fff' fill-opacity='0.95' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='247' cy='162.9' r='3.2' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='247' cy='162' r='2.2' fill='%23fff' fill-opacity='0.95' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='49' cy='215.0' r='3.5' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='49' cy='214' r='2.5' fill='%23fff' fill-opacity='0.95' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='157' cy='249.8' r='3.2' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='157' cy='249' r='2.2' fill='%23fff' fill-opacity='0.95' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='24' cy='255.3' r='3.2' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='24' cy='255' r='2.2' fill='%23fff' fill-opacity='0.95' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='93' cy='16.9' r='3.5' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='93' cy='16' r='2.5' fill='%23fff' fill-opacity='0.95' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='142' cy='242.5' r='3.5' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='142' cy='242' r='2.5' fill='%23fff' fill-opacity='0.95' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='212' cy='308.7' r='2.9' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='212' cy='308' r='1.9' fill='%23fff' fill-opacity='0.95' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='237' cy='152.6' r='3.5' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='237' cy='152' r='2.5' fill='%23fff' fill-opacity='0.95' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3Ccircle cx='259' cy='38.5' r='2.6' fill='%23647c9a' fill-opacity='.2'/%3E%3Ccircle cx='259' cy='38' r='1.6' fill='%23fff' fill-opacity='0.95' stroke='%238aa1bd' stroke-opacity='.75' stroke-width='.8'/%3E%3C/svg%3E");background-size:300px 340px;background-position:40px 20px;opacity:.85}
@keyframes xmSnowFall{0%{background-position:0 0,120px 0}100%{background-position:26px 600px,94px 440px}}
@media (max-width:640px){.rd-seasonal-wrap.xm::before{background-size:200px 230px,290px 336px;animation-name:xmSnowFallM}.rd-seasonal-wrap.xm::after{background-size:230px 260px}}
@keyframes xmSnowFallM{0%{background-position:0 0,80px 0}100%{background-position:20px 460px,60px 336px}}
@media (prefers-reduced-motion:reduce){.rd-seasonal-wrap.xm::before{animation:none}}
