/* ==========================================================================
   Halloween offer strip — styles

   SECTION 1 is the handoff's stylesheet (references/offer-strip.html) as
   delivered, with four edits:
     - #hw7 is position: fixed instead of relative. The brief is a bar that
       stays on screen the whole way down, on every page.
     - z-index 1030 instead of 99990: above the header (41, 999 when sticky)
       and the hanging card above everything on the page, but UNDER Bootstrap's
       modals (1040/1050), so the login and "schedule a meeting" dialogs are
       never cut off by the bar.
     - "closed" is html.hw7-shut, not #hw7.hw7-closed, because the reserved
       space (section 2) lives on <html> and has to follow the same switch.
       A closed bar is also visibility: hidden once it has folded away, so its
       buttons drop out of the tab order instead of being focusable at 0px.
     - No transition before html.hw7-ready (set by script.js after the first
       frame), so a visitor who closed it is never shown it folding on load.
   SECTION 2 is new: it makes room for the bar on each page family.
   ========================================================================== */

/* ---------- 1. the strip (handoff) ---------- */
#hw7{
  --h7-h:56px;
  --h7-ink:#1c0b4a;
  --h7-amber:#ffb21a;
  --h7-gold:#ffd23f;
  --h7-mist:#cbbdf5;
  --h7-hot:linear-gradient(180deg,#ffe066 0%,#ffb21a 45%,#ff7a00 100%);
  --h7-bg:linear-gradient(90deg,#120833 0%,#21106a 28%,#2c1590 55%,#24117a 78%,#140a3e 100%);
  position:fixed;top:0;left:0;right:0;z-index:1030;
  font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  line-height:1.2;-webkit-font-smoothing:antialiased;
}
#hw7 *,#hw7 *::before,#hw7 *::after{box-sizing:border-box}
#hw7 button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;line-height:1.2}
#hw7 p{margin:0}
#hw7 svg{display:block}
#hw7 :focus-visible{outline:2px solid var(--h7-amber);outline-offset:2px}
#hw7 .hw7-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#hw7 .hw7-sprite{position:absolute;width:0;height:0;overflow:hidden}

/* ---------- the strip ---------- */
#hw7 .hw7-bar{position:relative;z-index:3;height:var(--h7-h);overflow:hidden;background:var(--h7-bg);color:#fff;
  transition:height .4s cubic-bezier(.6,0,.2,1)}
#hw7 .hw7-bar::before{content:"";position:absolute;left:-40px;top:50%;width:200px;height:150px;transform:translateY(-50%);
  background:radial-gradient(closest-side,rgba(255,220,120,.3),rgba(255,220,120,0));pointer-events:none}
#hw7 .hw7-bar::after{content:"";position:absolute;left:22%;right:22%;top:35%;height:140px;
  background:radial-gradient(closest-side,rgba(150,90,255,.38),rgba(150,90,255,0));pointer-events:none}
.hw7-shut #hw7 .hw7-bar{height:0;visibility:hidden;transition:height .4s cubic-bezier(.6,0,.2,1),visibility 0s .4s}
html:not(.hw7-ready) #hw7 .hw7-bar{transition:none}

/* slime drips hanging over your header */
#hw7 .hw7-drips{position:absolute;z-index:3;left:0;right:0;top:100%;height:16px;background:var(--h7-bg);pointer-events:none;transition:opacity .3s;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='16' viewBox='0 0 160 16'%3E%3Cpath d='M0 0h160v3c-6 0-7 2-7 5s-2 5-4 5-4-2-4-5-1-5-6-5H96c-4 0-5 1-5 3s-1.5 3-3 3-3-1-3-3-1-3-5-3H52c-5 0-6 2-6 6s-2 6-4.5 6S37 12 37 8s-1-5-6-5H0z'/%3E%3C/svg%3E") 0 0/160px 16px repeat-x;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='16' viewBox='0 0 160 16'%3E%3Cpath d='M0 0h160v3c-6 0-7 2-7 5s-2 5-4 5-4-2-4-5-1-5-6-5H96c-4 0-5 1-5 3s-1.5 3-3 3-3-1-3-3-1-3-5-3H52c-5 0-6 2-6 6s-2 6-4.5 6S37 12 37 8s-1-5-6-5H0z'/%3E%3C/svg%3E") 0 0/160px 16px repeat-x}
.hw7-shut #hw7 .hw7-drips{opacity:0}

/* flashlight: hover the strip to find cobwebs and ghosts */
#hw7 .hw7-beam,#hw7 .hw7-reveal{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s}
#hw7 .hw7-beam{background:radial-gradient(circle 130px at var(--mx,50%) var(--my,50%),rgba(255,214,150,.2),rgba(255,214,150,.06) 45%,rgba(255,214,150,0) 70%)}
#hw7 .hw7-reveal{
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='56' viewBox='0 0 180 56'%3E%3Cg fill='none' stroke='%23e2d4ff' stroke-width='.8' stroke-linecap='round' opacity='.7'%3E%3Cpath d='M30 0L0 30M30 0L12 48M30 0L34 48M30 0L56 42M30 0L72 18'/%3E%3Cpath d='M19.5 10.5Q23 13 23.7 16.8Q27.5 15 31.4 16.8Q35.5 13.5 39.1 14.7Q41 9.5 44.7 6.3'/%3E%3Cpath d='M10.5 19.5Q16 24 18.3 31.2Q25.5 28 32.6 31.2Q40.5 26 46.9 27.3Q51 18 57.3 11.7'/%3E%3Cpath d='M1.5 28.5Q9 36 12.6 45.6Q23 42 33.8 45.6Q45 38 54.7 39.9Q61 27 70.5 17.1'/%3E%3Cpath d='M118 0V25'/%3E%3C/g%3E%3Cg fill='%23e2d4ff' stroke='%23e2d4ff' stroke-width='.9' opacity='.8'%3E%3Ccircle cx='118' cy='28' r='3'/%3E%3Cpath d='M115 26l-4-3M115 28h-5M115 30l-4 3M121 26l4-3M121 28h5M121 30l4 3' fill='none'/%3E%3C/g%3E%3C/svg%3E") 0 0/180px 56px repeat-x;
  -webkit-mask-image:radial-gradient(circle 110px at var(--mx,50%) var(--my,50%),#000 35%,transparent 100%);
          mask-image:radial-gradient(circle 110px at var(--mx,50%) var(--my,50%),#000 35%,transparent 100%)}
@media (hover:hover) and (pointer:fine){
  #hw7 .hw7-bar:hover .hw7-beam,#hw7 .hw7-bar:hover .hw7-reveal{opacity:1}
}
#hw7 .hw7-ghost{position:absolute;top:50%;width:22px;height:24px;color:#f5efff;opacity:.5;transform:translateY(-50%)}
#hw7 .hw7-boo{position:absolute;top:50%;transform:translateY(-50%) rotate(-8deg);font-family:"Creepster",cursive;font-size:24px;color:var(--h7-gold);opacity:.65}

/* scenery: moon + haunted house on the left, bare tree on the right */
#hw7 .hw7-tree{position:absolute;z-index:1;right:0;bottom:0;height:100%;width:auto;color:#0b0426;pointer-events:none}

/* occasional bat fly-by */
#hw7 .hw7-bat{position:absolute;top:0;left:0;z-index:4;width:30px;height:15px;color:#0b0426;visibility:hidden;pointer-events:none;
  filter:drop-shadow(0 0 3px rgba(255,190,90,.95))}
#hw7 .hw7-bat svg{width:100%;height:100%}
#hw7 .hw7-bat.hw7-go{visibility:visible;animation:hw7-fly 6.5s linear forwards}
#hw7 .hw7-bat.hw7-go svg{animation:hw7-flap .14s ease-in-out infinite alternate}
@keyframes hw7-flap{to{transform:scaleY(.35)}}
@keyframes hw7-fly{
  0%{transform:translate(-50px,26px)} 20%{transform:translate(20vw,8px)} 40%{transform:translate(40vw,30px)}
  60%{transform:translate(60vw,10px)} 80%{transform:translate(80vw,24px)} 100%{transform:translate(calc(100vw + 50px),6px)}}

/* row */
#hw7 .hw7-row{position:relative;z-index:2;display:flex;align-items:center;gap:16px;height:var(--h7-h);max-width:1680px;margin:0 auto;padding:0 12px 0 0}

/* left scene + pumpkin button */
#hw7 .hw7-scene{position:relative;display:flex;align-items:center;height:100%;flex:0 0 auto;padding-left:88px}
#hw7 .hw7-scene-art{position:absolute;left:0;bottom:0;height:100%;width:auto;color:#0b0426;pointer-events:none}
#hw7 .hw7-pk-btn{position:relative;display:flex;align-items:center;gap:8px;height:100%;padding:0 4px;border-radius:10px}
#hw7 .hw7-pk{width:42px;height:50px;overflow:visible;filter:drop-shadow(0 0 7px rgba(255,138,0,.6));transition:transform .2s}
#hw7 .hw7-pk-btn:hover .hw7-pk{transform:rotate(-6deg) scale(1.06)}
#hw7 .hw7-pk-label{font-family:"Creepster",cursive;font-size:20px;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;padding:2px 2px 5px;
  background:var(--h7-hot);-webkit-background-clip:text;background-clip:text;color:transparent}
#hw7 .hw7-pk-face{animation:hw7-flicker 3.2s infinite}
#hw7 .hw7-pk-btn[aria-expanded="true"] .hw7-pk-face{fill:#fff6b0}
#hw7 .hw7-pk-lid{transform-box:fill-box;transform-origin:50% 100%}
#hw7 .hw7-shake .hw7-pk{animation:hw7-wobble .6s}
#hw7 .hw7-shake .hw7-pk-lid{animation:hw7-lid .7s}
@keyframes hw7-flicker{0%,42%,50%,100%{opacity:1}44%{opacity:.6}46%{opacity:.95}48%{opacity:.7}78%{opacity:.88}}
@keyframes hw7-wobble{20%{transform:rotate(-14deg) scale(1.1)}40%{transform:rotate(10deg) scale(1.12)}60%{transform:rotate(-6deg)}80%{transform:rotate(3deg)}}
@keyframes hw7-lid{30%{transform:translateY(-9px) rotate(-22deg)}70%{transform:translateY(-5px) rotate(12deg)}}

/* running marquee, "Boo-st Your Budget" style */
#hw7 .hw7-mq{position:relative;flex:1 1 auto;min-width:0;height:100%;display:flex;align-items:center;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 22px,#000 calc(100% - 22px),transparent);
          mask-image:linear-gradient(90deg,transparent,#000 22px,#000 calc(100% - 22px),transparent)}
#hw7 .hw7-mq-track{display:flex;width:max-content;animation:hw7-scroll 30s linear infinite}
#hw7 .hw7-mq:hover .hw7-mq-track{animation-play-state:paused}
#hw7 .hw7-mq-group{display:flex;align-items:center;flex:0 0 auto}
#hw7 .hw7-mq-i{display:inline-block;white-space:nowrap;font-family:"Creepster",cursive;font-weight:400;font-size:23px;letter-spacing:1.2px;
  text-transform:uppercase;line-height:1;padding:4px 0 6px;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.35)}
#hw7 .hw7-hot{display:inline-block;padding:0 2px 2px;background:var(--h7-hot);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;
  filter:drop-shadow(0 0 8px rgba(255,138,0,.45))}
#hw7 .hw7-big20{font-size:27px}
#hw7 .hw7-chip{display:inline-block;vertical-align:3px;margin-left:4px;padding:3px 10px;border:1.5px dashed var(--h7-amber);border-radius:7px;
  font-family:"Poppins",system-ui,sans-serif;font-size:14px;font-weight:700;letter-spacing:1px;text-transform:none;text-shadow:none;color:var(--h7-gold);background:rgba(10,4,30,.3)}
#hw7 .hw7-sep{width:20px;height:24px;margin:0 22px;flex:0 0 auto;overflow:visible}
@keyframes hw7-scroll{to{transform:translateX(-50%)}}

/* countdown */
#hw7 .hw7-cd{display:flex;align-items:center;gap:8px;flex:0 0 auto;font-size:12.5px;font-weight:500;color:var(--h7-mist);white-space:nowrap}
#hw7 .hw7-cd-v{display:inline-flex;gap:6px;padding:6px 11px;border:1px solid rgba(255,178,26,.5);border-radius:8px;background:rgba(10,4,30,.45);color:#fff;font-size:13.5px}
#hw7 [data-hw7-cd]{font-variant-numeric:tabular-nums}
#hw7 [data-hw7-cd] b{font-weight:700}
#hw7 [data-hw7-cd] i{font-style:normal;font-weight:500;color:var(--h7-amber);margin-left:1px}

/* orange "Claim Now" pill with a slime drip on hover */
#hw7 .hw7-cta{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;height:38px;padding:0 18px 0 22px;
  border-radius:999px;background:linear-gradient(180deg,#ffc53a 0%,#ff8a00 100%);color:var(--h7-ink);font-weight:700;font-size:14.5px;
  text-decoration:none;white-space:nowrap;box-shadow:0 4px 14px rgba(255,138,0,.38),inset 0 1px 0 rgba(255,255,255,.45);
  transition:transform .15s,box-shadow .2s}
#hw7 .hw7-cta svg{width:11px;height:11px}
#hw7 .hw7-cta:hover{transform:translateY(-1px);box-shadow:0 6px 22px rgba(255,138,0,.6),inset 0 1px 0 rgba(255,255,255,.45);color:var(--h7-ink);text-decoration:none}
#hw7 .hw7-cta::after{content:"";position:absolute;left:18%;right:18%;top:calc(100% - 1px);height:10px;background:#ff8a00;
  transform:scaleY(0);transform-origin:top;transition:transform .3s cubic-bezier(.3,1.4,.5,1);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='10' viewBox='0 0 60 10'%3E%3Cpath d='M0 0h60v2c-3 0-3 2-3 4s-1 3-2 3-2-1-2-3 0-4-3-4H30c-2 0-2 1-2 2.5S27 9 26 9s-2-1-2-2.5S23 2 21 2H12c-2 0-2 1-2 3s-1 3-2 3-2-1-2-3S5 2 3 2H0z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='10' viewBox='0 0 60 10'%3E%3Cpath d='M0 0h60v2c-3 0-3 2-3 4s-1 3-2 3-2-1-2-3 0-4-3-4H30c-2 0-2 1-2 2.5S27 9 26 9s-2-1-2-2.5S23 2 21 2H12c-2 0-2 1-2 3s-1 3-2 3-2-1-2-3S5 2 3 2H0z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
#hw7 .hw7-cta:hover::after{transform:scaleY(1)}

#hw7 .hw7-x{flex:0 0 auto;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#e4dbff;transition:background .2s,color .2s}
#hw7 .hw7-x:hover{background:rgba(255,255,255,.12);color:#fff}
#hw7 .hw7-x svg{width:13px;height:13px}

/* ---------- treat card: hangs on strings under the strip ---------- */
#hw7 .hw7-pop{position:absolute;top:calc(100% + 30px);left:24px;z-index:2;width:310px;max-width:calc(100vw - 20px);padding:18px 18px 14px;
  border-radius:16px;background:linear-gradient(165deg,#2c1592 0%,#1a0b55 75%);border:1.5px solid rgba(255,178,26,.65);color:#fff;
  box-shadow:0 22px 50px rgba(8,0,30,.6),0 0 28px rgba(255,138,0,.18);transform-origin:50% -30px;will-change:transform}
#hw7 .hw7-pop[hidden],#hw7 .hw7-fab[hidden]{display:none}
#hw7 .hw7-pop:focus{outline:none}
#hw7 .hw7-str{position:absolute;bottom:100%;width:2px;height:420px;margin-bottom:-2px;pointer-events:none;
  background:linear-gradient(to top,#ffb21a 0,#ffb21a 40px,rgba(255,178,26,.45))}
#hw7 .hw7-str--l{left:44px}
#hw7 .hw7-str--r{right:44px}
#hw7 .hw7-str::after{content:"";position:absolute;bottom:-2px;left:-3px;width:8px;height:8px;border-radius:50%;background:var(--h7-gold);box-shadow:0 0 8px #ff8a00}
#hw7 .hw7-pop.hw7-pop--fab{position:fixed;top:auto;bottom:94px;left:20px;transform-origin:30px 100%}
#hw7 .hw7-pop--fab .hw7-str{display:none}
#hw7 .hw7-pop--fab::before{content:"";position:absolute;bottom:-8px;left:26px;width:13px;height:13px;background:#1c0c58;
  border-right:1.5px solid rgba(255,178,26,.65);border-bottom:1.5px solid rgba(255,178,26,.65);transform:rotate(45deg)}
#hw7 .hw7-pop.hw7-anim{animation:hw7-spring .55s cubic-bezier(.25,1.55,.45,1)}
@keyframes hw7-spring{from{opacity:0;transform:translateY(24px) scale(.6)}to{opacity:1;transform:none}}
#hw7 .hw7-pop-h{display:inline-block;font-family:"Creepster",cursive;font-size:30px;letter-spacing:1.5px;text-transform:uppercase;line-height:1.1;margin:0 0 6px;padding:0 2px 4px 0;
  background:var(--h7-hot);-webkit-background-clip:text;background-clip:text;color:transparent}
#hw7 .hw7-pop-t{font-size:14px;line-height:1.5;color:#e4dbff}
#hw7 .hw7-pop-t b{color:var(--h7-gold);font-weight:700}
#hw7 .hw7-code{display:flex;align-items:stretch;margin:14px 0 10px;border:1.5px dashed rgba(255,178,26,.8);border-radius:10px;overflow:hidden;background:rgba(10,4,30,.35)}
#hw7 .hw7-code-v{flex:1;display:flex;align-items:center;padding:0 12px;font-weight:700;font-size:18px;letter-spacing:2px;color:var(--h7-gold)}
#hw7 .hw7-copy{padding:10px 14px;background:rgba(255,178,26,.16);font-size:13px;font-weight:600;color:var(--h7-gold);transition:background .2s}
#hw7 .hw7-copy:hover{background:rgba(255,178,26,.28)}
#hw7 .hw7-pop-cd{font-size:12.5px;color:#bfaef0;margin:10px 0 12px}
#hw7 .hw7-pop-cd [data-hw7-cd]{display:inline-flex;gap:5px;color:#fff;margin-left:4px}
#hw7 .hw7-pop .hw7-cta{display:flex;width:100%;height:42px;font-size:15px}
#hw7 .hw7-fine{margin-top:12px;font-size:11.5px;line-height:1.5;color:#a898d8}
#hw7 .hw7-reopen{display:none;margin-left:4px;text-decoration:underline;color:var(--h7-mist);font-size:11.5px}
.hw7-shut #hw7 .hw7-reopen{display:inline}
#hw7 .hw7-pop-x{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#bfaef0}
#hw7 .hw7-pop-x:hover{background:rgba(255,255,255,.1);color:#fff}
#hw7 .hw7-pop-x svg{width:12px;height:12px}

/* ---------- corner pumpkin (appears once the strip is gone) ---------- */
#hw7 .hw7-fab{position:fixed;left:20px;bottom:20px;z-index:4;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 50% 40%,#3a1ca8,#140a3e 72%);
  box-shadow:0 8px 24px rgba(20,0,60,.5),0 0 0 2px rgba(255,138,0,.75);animation:hw7-fab-in .5s cubic-bezier(.2,1.5,.4,1)}
#hw7 .hw7-fab svg{width:38px;height:45px;overflow:visible;animation:hw7-bob 3s ease-in-out infinite}
#hw7 .hw7-fab-tag{position:absolute;top:-6px;right:-12px;padding:4px 7px;border-radius:999px;background:linear-gradient(180deg,#ffc53a,#ff8a00);
  color:var(--h7-ink);font-size:11px;font-weight:700;line-height:1;white-space:nowrap}
@keyframes hw7-bob{50%{transform:translateY(-3px) rotate(4deg)}}
@keyframes hw7-fab-in{from{transform:scale(0) rotate(-90deg)}to{transform:none}}

/* candy burst (lives on <body>) */
.hw7-candy{position:fixed;z-index:99999;pointer-events:none;width:9px;height:11px;margin:-5px 0 0 -4px;will-change:transform,opacity}
.hw7-candy--0{clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(#fffaf0 0 30%,#ff8a1a 30% 64%,#ffd23f 64%)}
.hw7-candy--1{width:8px;height:8px;border-radius:50%;background:#ffd23f;box-shadow:0 0 6px #ffb21a}
.hw7-candy--2{width:9px;height:9px;border-radius:50%;background:#a46bff}

/* ---------- responsive ---------- */
@media (max-width:1240px){#hw7 .hw7-pk-label{display:none}}
@media (max-width:1100px){#hw7 .hw7-cd-l{display:none}}
@media (max-width:900px){#hw7 .hw7-cd,#hw7 .hw7-tree{display:none}}
@media (max-width:640px){
  #hw7{--h7-h:50px}
  #hw7 .hw7-scene{padding-left:0}
  #hw7 .hw7-scene-art{display:none}
  #hw7 .hw7-row{gap:8px;padding:0 6px 0 4px}
  #hw7 .hw7-pk{width:36px;height:43px}
  #hw7 .hw7-mq-i{font-size:19px;letter-spacing:1px}
  #hw7 .hw7-big20{font-size:22px}
  #hw7 .hw7-chip{font-size:12.5px;padding:2px 8px}
  #hw7 .hw7-sep{margin:0 14px}
  #hw7 .hw7-row .hw7-cta{height:32px;padding:0 12px 0 14px;font-size:13px}
  #hw7 .hw7-cta-more{display:none}
  #hw7 .hw7-x{width:26px;height:26px}
  #hw7 .hw7-pop{left:8px;width:calc(100vw - 16px);max-width:330px}
  #hw7 .hw7-pop.hw7-pop--fab{left:12px;bottom:86px}
  #hw7 .hw7-fab{left:14px;bottom:14px;width:56px;height:56px}
}
@media (prefers-reduced-motion:reduce){
  #hw7 .hw7-mq-track,#hw7 .hw7-pk-face,#hw7 .hw7-fab svg,#hw7 .hw7-pop,#hw7 .hw7-fab{animation:none}
  #hw7 .hw7-bat{display:none}
  #hw7 .hw7-bar{transition:none}
}

/* ---------- 2. making room for a fixed bar ----------
   --hw7-bar-h is the bar's height while it is open and 0 once closed. Every
   rule below is gated on html.hw7-on, which the boot script in strip.php sets
   before the first paint, so with the strip gone (campaign over, folder
   deleted) not one of them applies.

   The site has three header behaviours (CLAUDE.md §9) and each one gets the
   offset where it already positions itself, not by changing how it works:
     classic pages  .th-header is in the flow and .sticky-wrapper goes fixed
                    past 500px (assets/js/main.js): pad <body>, drop the
                    sticky bar to sit under the strip.
     CPA Goal,      the header is in the flow and scrolls away: padding
     offers, ...    <body> is all they need.
     ad-format      ScrollSmoother makes #smooth-wrapper position: fixed, so
     pages          padding <body> would only lengthen the scroll. The room
                    is made INSIDE #smooth-content instead (a ::before, so it
                    is part of what the smoother measures), and the docked
                    header (text-ads/js/header.js) sits under the strip.
                    When it hides on the way down it slides up behind the bar.
   Closing the bar animates all of them together with the bar's own fold, and
   script.js refreshes ScrollTrigger afterwards, since pinned sections were
   measured with the bar's height in the document. */
html.hw7-on{--hw7-bar-h:56px}
@media (max-width:640px){html.hw7-on{--hw7-bar-h:50px}}
html.hw7-on.hw7-shut{--hw7-bar-h:0px}

html.hw7-on body:not(.text-ads-body){padding-top:var(--hw7-bar-h)}
html.hw7-on .sticky-wrapper.sticky{top:var(--hw7-bar-h)}
html.hw7-on #smooth-content::before{content:"";display:block;height:var(--hw7-bar-h)}
html.hw7-on .th-header.ta-header-dock{top:var(--hw7-bar-h)}

html.hw7-ready body:not(.text-ads-body){transition:padding-top .4s cubic-bezier(.6,0,.2,1)}
html.hw7-ready .sticky-wrapper.sticky{transition:top .4s cubic-bezier(.6,0,.2,1)}
html.hw7-ready #smooth-content::before{transition:height .4s cubic-bezier(.6,0,.2,1)}
html.hw7-ready .th-header.ta-header-dock{transition:transform 450ms var(--ease-out,ease),top .4s cubic-bezier(.6,0,.2,1)}

/* The offers page IS the offer, and its countdown tab already owns the
   bottom-left corner the closed-bar pumpkin would take. */
.offers-body #hw7 .hw7-fab{display:none}

@media (prefers-reduced-motion:reduce){
  html.hw7-ready body:not(.text-ads-body),html.hw7-ready .sticky-wrapper.sticky,html.hw7-ready #smooth-content::before{transition:none}
}
