/* Seasonal decoration only. Removed automatically at 4 January UK midnight. */
[data-tca-newyear] { box-sizing:border-box; }
body.tca-newyear { --ny-champagne:#e9c67d; --ny-gold:#d69c36; --ny-amber:#d58b17; --ny-spark-teal:#058e9e; --ny-spark-coral:#e36383; --ny-spark-lilac:#9a68d4; --ny-spark-ivory:#fff1bd; }
.tca-newyear-banner { position:absolute; left:0; right:0; top:0; height:78px; pointer-events:none; z-index:2; }
.topbar > .tca-newyear-banner { top:100%; }
.tca-newyear-cord { position:absolute; left:0; top:0; width:100%; height:26px; }
.tca-newyear-pennant { position:absolute; width:clamp(16px,3.6vw,40px); height:clamp(28px,4.8vw,55px); padding:5px 0 12px; display:grid; place-items:center; font-size:clamp(12px,2.1vw,24px); line-height:1; font-weight:700; transform-origin:50% 0; transform:translateX(-50%) rotate(var(--ny-tilt)); clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%); background:linear-gradient(112deg,#fff7,transparent 35%,#fff2 50%,transparent 65%),var(--ny-flag); color:var(--ny-letter); animation:tca-newyear-sway 5s ease-in-out var(--ny-delay) infinite alternate; }
.tca-newyear-pennant::before { content:''; position:absolute; left:2px; right:2px; top:3px; height:1px; background:currentColor; opacity:.25; }
.tca-newyear-gold { --ny-flag:#e9c06a; --ny-letter:#173c4a; }
.tca-newyear-teal { --ny-flag:var(--practice-primary, #087f8c); --ny-letter:#fff1c4; }
.tca-newyear-navy { --ny-flag:#193c4e; --ny-letter:#f2d48e; }
.tca-newyear-coral { --ny-flag:#e88977; --ny-letter:#173c4a; }
.tca-newyear-fireworks { position:fixed; top:0; left:0; pointer-events:none; z-index:21; contain:strict; }
.tca-newyear-login .login-story { padding-top:89px; }
.tca-newyear-login .login-entry { position:relative; padding-top:96px; }
body.tca-newyear-client.signed-in #app { padding-top:104px; }
.tca-newyear-client .portal-sidebar { top:162px; }
.tca-newyear-toggle { position:absolute; top:50%; right:76px; transform:translateY(-50%); width:30px; height:30px; min-height:30px !important; padding:6px !important; border:0; border-radius:50%; background:#f8f3e7; color:var(--practice-primary, #087f8c); display:grid; place-items:center; z-index:3; box-shadow:none; }
.login-entry > .tca-newyear-toggle { top:68px; right:16px; transform:none; }
.tca-newyear-toggle svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; pointer-events:none; }
.tca-newyear-toggle:hover { background:#f1e6c9; }
.tca-newyear-paused .tca-newyear-pennant { animation-play-state:paused; }
@keyframes tca-newyear-sway { from { transform:translateX(-50%) rotate(calc(var(--ny-tilt) - 2deg)); } to { transform:translateX(-50%) rotate(calc(var(--ny-tilt) + 2deg)); } }
@media(max-width:760px) { .tca-newyear-login .login-story { padding-top:72px; } .tca-newyear-login .login-entry { padding-top:52px; } .login-entry > .tca-newyear-toggle { top:12px; right:16px; } body.tca-newyear-client.signed-in #app { padding-top:78px; } .tca-newyear-toggle { right:70px; } }
@media(pointer:coarse) { .tca-newyear-toggle { width:44px; height:44px; min-height:44px !important; padding:13px !important; } }
@media(prefers-reduced-motion:reduce) { .tca-newyear-pennant { animation:none; } .tca-newyear-toggle { display:none; } }
