/* ===========================================================
   Fall / Halloween seasonal layer — Skin & Body 101
   To remove after the season: delete the two lines that load
   seasonal.css and seasonal.js from each page (or set
   ENABLED = false at the top of seasonal.js).
   =========================================================== */
.fall-on section, .fall-on footer.site{ position:relative; }
.fall-on section > .wrap, .fall-on footer.site > .wrap{ position:relative; z-index:1; }

.fall-deco{
  position:absolute; z-index:0; display:block;
  width:var(--s,42px); height:auto;
  transform:rotate(var(--r,0deg));
  opacity:.8; pointer-events:none; user-select:none;
}
.fall-deco.is-leaf{ opacity:.62; }
.fall-deco svg{ display:block; width:100%; height:auto; overflow:visible; }
.hero-photo .fall-deco{ opacity:.95; filter:drop-shadow(0 1px 6px rgba(0,0,0,.35)); }

@media (max-width:700px){
  .fall-deco{ --s:30px !important; }
  .fall-deco:nth-of-type(2){ display:none; }
}
@media print{ .fall-deco{ display:none; } }

/* ---- Fall header ---- */
/* Garland hanging from the sticky header */
.fall-on header.site::after{
  content:""; position:absolute; left:0; right:0; top:100%; height:28px;
  background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22240%22 height=%2228%22 viewBox=%220 0 240 28%22%3E%3Cpath d=%22M0 4Q20 12 40 4T80 4T120 4T160 4T200 4T240 4%22 fill=%22none%22 stroke=%22%236F7A52%22 stroke-width=%221.2%22 stroke-linecap=%22round%22/%3E%3Cg transform=%22translate(20%2C8)%22%3E%3Cpath d=%22M0 0v4%22 stroke=%22%236F7A52%22 stroke-width=%22.9%22 fill=%22none%22/%3E%3Cg transform=%22translate(0%2C4) rotate(8) translate(-6%2C0) scale(.5)%22%3E%3Cpath d=%22M12 2C17 6 20 10 19 15c-1 4-4.5 6.3-7 7-2.5-.7-6-3-7-7C4 10 7 6 12 2z%22 fill=%22%23B8582B%22/%3E%3C/g%3E%3C/g%3E%3Cg transform=%22translate(60%2C0)%22%3E%3Cpath d=%22M0 0v4%22 stroke=%22%236F7A52%22 stroke-width=%22.9%22 fill=%22none%22/%3E%3Cg transform=%22translate(0%2C4) rotate(-6) translate(-6%2C0) scale(.5)%22%3E%3Cpath d=%22M12 1.5l2.2 4.6 2.8-1.1-.9 4.6 4.6-1.4-2.1 4.2 2.7 1.3-5.3 3.4.9 2.6-4.1-.8.2 4.4h-2l.2-4.4-4.1.8.9-2.6-5.3-3.4 2.7-1.3L3 7.6l4.6 1.4-.9-4.6 2.8 1.1z%22 fill=%22%23D08A34%22/%3E%3C/g%3E%3C/g%3E%3Cg transform=%22translate(100%2C8)%22%3E%3Cpath d=%22M0 0v4%22 stroke=%22%236F7A52%22 stroke-width=%22.9%22 fill=%22none%22/%3E%3Cg transform=%22translate(0%2C4) rotate(-10) translate(-6%2C0) scale(.5)%22%3E%3Cpath d=%22M12 2C17 6 20 10 19 15c-1 4-4.5 6.3-7 7-2.5-.7-6-3-7-7C4 10 7 6 12 2z%22 fill=%22%23A89A3E%22/%3E%3C/g%3E%3C/g%3E%3Cg transform=%22translate(140%2C0)%22%3E%3Cpath d=%22M0 0v4%22 stroke=%22%236F7A52%22 stroke-width=%22.9%22 fill=%22none%22/%3E%3Cg transform=%22translate(-7%2C3.5) scale(.29)%22%3E%3Cpath d=%22M22.5 8.5c0-3.2 1.2-5.4 3.6-6.8l1.4 2.4c-1.3.8-1.9 2-1.9 4.4z%22 fill=%22%236F7A52%22/%3E%3Cellipse cx=%2213.5%22 cy=%2226%22 rx=%2210.5%22 ry=%2214.5%22 fill=%22%23CC7620%22/%3E%3Cellipse cx=%2234.5%22 cy=%2226%22 rx=%2210.5%22 ry=%2214.5%22 fill=%22%23CC7620%22/%3E%3Cellipse cx=%2224%22 cy=%2226%22 rx=%2211.5%22 ry=%2215.5%22 fill=%22%23E08A2E%22/%3E%3Cpath d=%22M14.5 22.5l3.8-6 3.8 6zM25.9 22.5l3.8-6 3.8 6z%22 fill=%22%23FBE2A0%22/%3E%3Cpath d=%22M24 26.5l-2.6 4.6h5.2z%22 fill=%22%23FBE2A0%22/%3E%3Cpath d=%22M14 32l4 4.5 3-3 3 3.5 3-3.5 3 3 4-4.5-1.5 6.5L24 40l-8.5-1.5z%22 fill=%22%23FBE2A0%22/%3E%3C/g%3E%3C/g%3E%3Cg transform=%22translate(180%2C8)%22%3E%3Cpath d=%22M0 0v4%22 stroke=%22%236F7A52%22 stroke-width=%22.9%22 fill=%22none%22/%3E%3Cg transform=%22translate(0%2C4) rotate(6) translate(-6%2C0) scale(.5)%22%3E%3Cpath d=%22M12 1.5l2.2 4.6 2.8-1.1-.9 4.6 4.6-1.4-2.1 4.2 2.7 1.3-5.3 3.4.9 2.6-4.1-.8.2 4.4h-2l.2-4.4-4.1.8.9-2.6-5.3-3.4 2.7-1.3L3 7.6l4.6 1.4-.9-4.6 2.8 1.1z%22 fill=%22%23B8582B%22/%3E%3C/g%3E%3C/g%3E%3Cg transform=%22translate(220%2C0)%22%3E%3Cpath d=%22M0 0v4%22 stroke=%22%236F7A52%22 stroke-width=%22.9%22 fill=%22none%22/%3E%3Cg transform=%22translate(0%2C4) rotate(-8) translate(-6%2C0) scale(.5)%22%3E%3Cpath d=%22M12 2C17 6 20 10 19 15c-1 4-4.5 6.3-7 7-2.5-.7-6-3-7-7C4 10 7 6 12 2z%22 fill=%22%23D08A34%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") repeat-x 0 0 / 240px 28px;
  pointer-events:none; opacity:.9;
}

/* Slim seasonal banner above the header */
.fall-banner{
  display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap;
  padding:7px 16px; text-align:center;
  background:#F6E8D6; color:#8E3F25;
  font-family:'Newsreader',Georgia,serif; font-style:italic; font-size:.98rem; letter-spacing:.02em;
  border-bottom:1px solid #EBD3B4;
}
.fall-banner svg{ width:18px; height:auto; flex:none; }
.fall-banner a{ color:#8E3F25; font-style:normal; text-decoration:underline; text-underline-offset:3px; margin-left:4px; }
.fall-banner a:hover{ color:#5D6B55; }
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .fall-banner{ background:#3A2E22; color:#F0D9BC; border-bottom-color:#4A3A2A; }
  :root:not([data-theme="light"]) .fall-banner a{ color:#F0D9BC; }
}
:root[data-theme="dark"] .fall-banner{ background:#3A2E22; color:#F0D9BC; border-bottom-color:#4A3A2A; }
:root[data-theme="dark"] .fall-banner a{ color:#F0D9BC; }
@media (max-width:700px){
  .fall-banner{ font-size:.88rem; padding:6px 12px; }
  .fall-on header.site::after{ height:20px; background-size:170px 20px; }
}
@media print{ .fall-banner{ display:none; } .fall-on header.site::after{ display:none; } }
