/* Kent Build: one refined four-second seasonal welcome; no persistent weather panel. */
.kb-season-note, .kb-season-ribbon { display:none!important; }
.kb-season-arrival {
  box-sizing:border-box; position:fixed; z-index:110; bottom:26px; right:28px;
  display:flex; align-items:center; gap:16px; max-width:calc(100vw - 32px); width:428px;
  padding:21px 46px 23px 22px; overflow:hidden;
  border:1px solid rgba(223,186,108,.58); border-radius:15px;
  background:linear-gradient(115deg,rgba(23,25,23,.96),rgba(12,14,13,.97));
  color:#f5f0e8; box-shadow:0 22px 60px rgba(0,0,0,.34), 0 1px 16px rgba(215,179,104,.08);
  transform:translate3d(0,19px,0); opacity:0; pointer-events:none;
  transition:opacity .52s ease,transform .52s cubic-bezier(.2,.7,.2,1);
}
.kb-season-arrival.is-active{transform:translate3d(0,0,0);opacity:1;pointer-events:auto}
.kb-arrival-mark{flex:none;align-self:flex-start;display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(228,193,117,.32);border-radius:50%;color:#e6bd70;font:20px/1 Georgia,serif;box-shadow:0 0 22px rgba(212,161,65,.1)}
.kb-arrival-copy{min-width:0;flex:1}
.kb-arrival-title{display:block;color:#deb975;font:700 10px/1.4 Arial,sans-serif;letter-spacing:.19em;text-transform:uppercase;margin-bottom:5px}
.kb-arrival-slogan{display:block;font:400 clamp(17px,1.45vw,20px)/1.22 Georgia,'Times New Roman',serif;letter-spacing:.005em;color:#f7f0e5}
.kb-arrival-close{position:absolute;right:15px;top:14px;border:0;background:transparent;color:#bca67f;cursor:pointer;display:grid;place-items:center;width:26px;height:26px;font:24px/1 Arial,sans-serif}
.kb-arrival-close:hover{color:white}.kb-arrival-close:focus-visible{outline:2px solid #d9b36d;outline-offset:1px;border-radius:3px}
.kb-arrival-timer{position:absolute;bottom:0;left:0;height:3px;width:100%;transform-origin:left;background:linear-gradient(90deg,#a77835,#f5d997 58%,#bd8e48);transform:scaleX(1)}
.kb-season-arrival.is-active .kb-arrival-timer{animation:kb-intro-countdown 4.2s linear both}
@keyframes kb-intro-countdown{to{transform:scaleX(0)}}
.kb-intro-atmosphere{position:fixed;inset:0;z-index:100;overflow:hidden;pointer-events:none;user-select:none;opacity:0;transition:opacity .55s ease}
.kb-intro-atmosphere.is-active{opacity:1}
.kb-intro-speck{position:absolute;left:var(--x);top:var(--y);display:block;width:var(--size);height:var(--size);border-radius:50%;background:rgba(240,205,140,.73);box-shadow:0 0 10px rgba(220,182,103,.24);opacity:0;animation:kb-intro-glimmer 1.85s ease-in-out var(--delay) 3 both}
@keyframes kb-intro-glimmer{0%,100%{opacity:0;transform:scale(.4) translateY(6px)}45%{opacity:.65;transform:scale(1.3) translateY(-8px)}}
.kb-intro-atmosphere[data-kind='spring'] .kb-intro-speck{background:rgba(255,204,191,.67);box-shadow:0 0 9px rgba(240,194,191,.24)}
.kb-intro-atmosphere[data-kind='winter'] .kb-intro-speck{background:rgba(229,241,255,.72);box-shadow:0 0 9px rgba(194,220,246,.28)}
.kb-intro-atmosphere[data-kind='rain'] .kb-intro-speck{width:1px;height:18px;border-radius:2px;background:linear-gradient(to bottom,transparent,rgba(210,226,241,.4),transparent);box-shadow:none;transform:rotate(14deg);animation:kb-intro-raindrop 1.7s linear var(--delay) 4 both}
@keyframes kb-intro-raindrop{0%{opacity:0;translate:-10px -24px}35%{opacity:.55}100%{opacity:0;translate:25px 80px}}
.kb-intro-atmosphere[data-kind='christmas'] .kb-intro-speck{top:-9vh;background:rgba(255,254,241,.88);box-shadow:0 0 7px rgba(255,250,229,.23);animation:kb-intro-snowfall 4.1s linear var(--delay) 1 both}
@keyframes kb-intro-snowfall{0%{opacity:.0;transform:translate3d(0,-4vh,0)}20%{opacity:.7}80%{opacity:.55}100%{opacity:0;transform:translate3d(var(--drift),114vh,0)}}
.kb-forecast-attribution{display:block!important;margin-top:9px!important;font:400 10px/1.4 Arial,sans-serif!important;color:#8d8c86!important}
.kb-forecast-attribution a{color:inherit;text-decoration:underline;text-underline-offset:2px}
/* The Christmas lights can remain, but snowfall has an automatic four-second end. */
body[data-kb-season='christmas'] .site-header{position:relative;isolation:isolate;border-bottom:1px solid rgba(238,203,127,.42)}
body[data-kb-season='christmas'] .site-header::after{content:'';position:absolute;left:0;right:0;bottom:-9px;height:17px;pointer-events:none;z-index:8;background:
 radial-gradient(circle at 9px 6px,#fff5d7 0 2px,#e5c382 3px,transparent 5px) 0 0/64px 17px repeat-x,
 radial-gradient(circle at 41px 9px,#fff3d4 0 2px,#e1bb75 3px,transparent 5px) 0 0/64px 17px repeat-x,
 repeating-linear-gradient(174deg,transparent 0 14px,rgba(40,83,56,.7) 15px 17px,transparent 18px 34px),
 linear-gradient(0deg,transparent 11px,rgba(43,83,55,.55) 12px 13px,transparent 14px);
 filter:drop-shadow(0 1px 4px rgba(239,197,112,.4))}
body[data-kb-season='christmas'] .hero-video-panel{border-color:rgba(219,184,106,.48)}
body[data-kb-season='christmas'] .footer{border-top-color:rgba(211,176,108,.45)}
@media(max-width:600px){
 .kb-season-arrival{right:12px;bottom:14px;width:calc(100vw - 24px);padding:17px 39px 19px 15px;gap:11px;border-radius:11px}
 .kb-arrival-title{font-size:9px;letter-spacing:.12em}
 .kb-arrival-slogan{font-size:16px}
 .kb-arrival-mark{width:27px;height:27px;font-size:17px}
 .kb-intro-speck:nth-child(n+14){display:none}
}
@media(prefers-reduced-motion:reduce){
 .kb-season-arrival,.kb-intro-atmosphere{transition:none!important;transform:none!important}
 .kb-intro-atmosphere,.kb-intro-speck{display:none!important}
 .kb-arrival-timer{animation:none!important}
}
