/* Halloween Special 2026 */
.halloween-page{
  --hx-ink:#070908;
  --hx-paper:#edf0e9;
  --hx-muted:#aeb6ab;
  --hx-signal:#d6b361;
  --hx-alert:#a62d39;
  background:var(--hx-ink);
  color:var(--hx-paper);
}
.halloween-page:before,.halloween-page:after{display:none}
.halloween-page .topbar{border-color:rgba(214,179,97,.2);background:rgba(7,9,8,.96);box-shadow:0 18px 58px rgba(0,0,0,.44);transform:translateX(-50%) translateZ(0);backface-visibility:hidden;backdrop-filter:none;-webkit-backdrop-filter:none;isolation:isolate}
.halloween-page .wolfmark{border-color:rgba(214,179,97,.25);background:#0b0f0c;box-shadow:0 0 32px rgba(214,179,97,.08) inset;filter:drop-shadow(0 0 16px rgba(214,179,97,.18))}
.halloween-page .wolfmark:before{background:radial-gradient(circle,rgba(214,179,97,.2),transparent 68%)}
.halloween-page .wolfmark img{filter:grayscale(.35) sepia(.25) drop-shadow(0 0 10px rgba(214,179,97,.25))}
.halloween-page .navlinks a.active{color:#fff;background:rgba(214,179,97,.1)}
.halloween-page .topbar .cta-btn{color:#11130e;background:#d6b361;box-shadow:0 12px 34px rgba(214,179,97,.18),0 0 0 1px rgba(255,255,255,.18) inset}
.halloween-page .topbar .cta-btn:before{display:none}
.halloween-page main{overflow:clip;background:transparent}
.hx-skip{position:fixed;z-index:120;top:8px;left:8px;padding:11px 15px;color:#10120e;background:var(--hx-signal);text-decoration:none;transform:translateY(-150%);transition:transform 180ms cubic-bezier(.22,1,.36,1)}
.hx-skip:focus{transform:none}
.hx-world{position:fixed;z-index:0;inset:0;overflow:hidden;pointer-events:none;background:#070908;contain:strict}
.hx-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity 900ms cubic-bezier(.22,1,.36,1)}
.hx-webgl .hx-canvas{opacity:1}
.hx-fallback{position:absolute;inset:0;overflow:hidden;background:radial-gradient(circle at 66% 28%,rgba(190,164,104,.12),transparent 19%),linear-gradient(180deg,#0a0d0a 0,#070908 72%)}
.hx-webgl .hx-fallback{opacity:.15}
.hx-fallback:before{content:"";position:absolute;left:50%;top:20%;width:min(32vw,430px);height:66%;border:clamp(16px,2vw,28px) solid #10140f;border-bottom:0;background:linear-gradient(90deg,rgba(0,0,0,.85),rgba(42,48,39,.13),rgba(0,0,0,.85));box-shadow:0 0 0 1px rgba(214,179,97,.06),0 -50px 90px rgba(0,0,0,.7) inset;transform:translateX(-50%)}
.hx-fallback:after{content:"";position:absolute;left:71%;top:15%;width:5px;height:47%;background:#26281f;box-shadow:0 0 0 1px rgba(255,255,255,.03)}
.hx-fallback-wall{position:absolute;bottom:-12%;width:46%;height:88%;display:block;background:#0d120e;box-shadow:0 0 0 1px rgba(197,209,193,.05) inset;transform:perspective(700px) rotateY(21deg)}
.hx-wall-a{left:-18%;clip-path:polygon(0 0,78% 8%,100% 100%,0 100%)}
.hx-wall-b{right:-18%;clip-path:polygon(22% 8%,100% 0,100% 100%,0 100%);transform:perspective(700px) rotateY(-21deg)}
.hx-fallback-light{position:absolute;left:52%;top:3%;width:34%;height:96%;background:linear-gradient(180deg,rgba(214,179,97,.13),rgba(111,130,109,.04) 50%,transparent 88%);clip-path:polygon(48% 0,54% 0,100% 100%,0 100%);filter:blur(16px);opacity:.72}
.hx-mist{position:absolute;width:82vw;height:56vh;border-radius:50%;background:radial-gradient(ellipse,rgba(168,179,165,.11) 0,rgba(103,118,101,.06) 42%,transparent 72%);filter:blur(22px);will-change:transform,opacity}
.hx-mist-a{left:-30vw;top:18vh;animation:hxMistA 24s linear infinite}
.hx-mist-b{right:-34vw;bottom:-4vh;opacity:.72;animation:hxMistB 31s linear infinite}
.hx-vignette{position:absolute;inset:0;box-shadow:inset 0 0 170px rgba(0,0,0,.58),inset 0 -90px 130px rgba(0,0,0,.28)}
.hx-main,.halloween-footer{position:relative;z-index:1}
.hx-hero{min-height:100svh;position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.55fr);grid-template-rows:auto 1fr auto;gap:24px 6vw;align-items:end;width:min(1420px,calc(100% - 48px));margin:0 auto;padding:118px 0 38px}
.hx-hero>*{min-width:0}
.hx-hero-mark{position:absolute;left:49%;top:19%;width:min(42vw,570px);aspect-ratio:1;border:1px solid rgba(214,179,97,.1);border-radius:50%;opacity:.58;animation:hxMarkDrift 18s ease-in-out infinite alternate}
.hx-hero-mark:before,.hx-hero-mark:after{content:"";position:absolute;inset:13%;border:1px solid rgba(214,179,97,.08);border-radius:50%}
.hx-hero-mark:after{inset:39%;background:rgba(214,179,97,.045);box-shadow:0 0 70px rgba(214,179,97,.08)}
.hx-hero-mark span{position:absolute;left:50%;top:-4%;width:1px;height:108%;background:rgba(214,179,97,.1);transform-origin:center}
.hx-hero-mark span:nth-child(2){transform:rotate(60deg)}
.hx-hero-mark span:nth-child(3){transform:rotate(120deg)}
.hx-hero-brand{grid-column:1/-1;align-self:start;display:flex;justify-content:space-between;padding-top:10px;border-top:1px solid rgba(237,240,233,.17);color:rgba(237,240,233,.72);font-size:12px;font-weight:800;text-transform:uppercase}
.hx-hero-title{grid-column:1;align-self:center;position:relative;z-index:2}
.hx-warning{max-width:440px;margin:0 0 22px;color:#d7c99f;font-size:clamp(13px,1vw,16px);font-weight:850;text-transform:uppercase}
.hx-hero h1{margin:0;max-width:900px;color:var(--hx-paper);font-size:clamp(62px,8vw,128px);line-height:.77;letter-spacing:0;text-transform:uppercase;text-shadow:0 12px 55px rgba(0,0,0,.72)}
.hx-hero h1 span,.hx-hero h1 strong{display:block}
.hx-hero h1 span{font-weight:1000}
.hx-hero h1 strong{margin-top:17px;color:var(--hx-signal);font-size:.35em;line-height:1;font-weight:850}
.hx-hero-brief{grid-column:2;align-self:center;position:relative;max-width:430px;padding:28px 0 28px 30px;border-left:1px solid rgba(214,179,97,.42)}
.hx-hero-brief:before{content:"";position:absolute;left:-4px;top:24px;width:7px;height:7px;border-radius:50%;background:var(--hx-alert);box-shadow:0 0 20px rgba(166,45,57,.7)}
.hx-hero-brief p{margin:0;color:#e4e7df;font-size:clamp(18px,1.6vw,23px);line-height:1.45;font-weight:680}
.hx-hero-brief p+p{margin-top:18px;color:var(--hx-muted);font-size:clamp(15px,1.2vw,18px);font-weight:560}
.hx-hero-data{grid-column:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-self:end;border-top:1px solid rgba(237,240,233,.17)}
.hx-hero-data span{min-width:0;padding:16px 22px 0 0;color:rgba(237,240,233,.6);font-size:11px;text-transform:uppercase}
.hx-hero-data strong{display:block;margin-bottom:5px;color:var(--hx-paper);font-size:18px;font-weight:850;text-transform:none}
.hx-scroll-cue{grid-column:2;justify-self:end;display:flex;align-items:center;gap:13px;color:rgba(237,240,233,.68);font-size:12px;font-weight:800;text-decoration:none;text-transform:uppercase}
.hx-scroll-cue i{position:relative;width:52px;height:1px;background:rgba(237,240,233,.26);overflow:hidden}
.hx-scroll-cue i:after{content:"";position:absolute;inset:0;background:var(--hx-signal);transform:translateX(-100%);animation:hxTrace 2.8s cubic-bezier(.77,0,.175,1) infinite}
.hx-story{position:relative}
.hx-chapter{position:relative;min-height:108svh;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;width:min(1420px,calc(100% - 48px));margin:0 auto;padding:120px 0}
.hx-copy{position:relative;isolation:isolate;min-width:0;max-width:100%;width:min(620px,47vw);transition:opacity 600ms cubic-bezier(.22,1,.36,1),transform 900ms cubic-bezier(.22,1,.36,1)}
.hx-copy:before{content:"";position:absolute;z-index:-2;inset:-70px -100px;background:radial-gradient(ellipse at 50% 48%,rgba(5,7,6,.9),rgba(5,7,6,.58) 55%,transparent 76%);filter:blur(10px);pointer-events:none}
.hx-js .hx-copy{opacity:.3}
.hx-js .hx-chapter.is-active .hx-copy{opacity:1;transform:translate3d(0,0,0)}
.hx-copy-left{justify-self:start;transform:translate3d(-24px,36px,0)}
.hx-copy-right{justify-self:end;transform:translate3d(24px,36px,0)}
.hx-chapter-number{display:inline-flex;align-items:center;min-width:40px;margin:0 14px 18px 0;color:rgba(237,240,233,.42);font-size:11px;line-height:1;font-weight:900;vertical-align:middle}
.hx-chapter-number:after{content:"";width:22px;height:1px;margin-left:10px;background:rgba(214,179,97,.45)}
.hx-kicker{display:inline-block;margin:0 0 18px;color:#d6b361;font-size:11px!important;line-height:1!important;font-weight:900;text-transform:uppercase;vertical-align:middle}
.hx-copy h2{margin:0;max-width:620px;color:var(--hx-paper);font-size:clamp(38px,4.25vw,64px);line-height:1.03;letter-spacing:0;font-weight:930;text-wrap:balance}
.hx-chapter-case .hx-copy h2{font-size:clamp(36px,3.8vw,56px)}
.hx-chapter-gear .hx-copy h2{font-size:clamp(38px,4.1vw,60px)}
.hx-chapter-flow .hx-copy h2{font-size:clamp(38px,4vw,60px)}
.hx-chapter-doubt .hx-copy h2{font-size:clamp(36px,3.7vw,54px)}
.hx-chapter-modes .hx-copy h2{font-size:clamp(36px,3.75vw,56px)}
.hx-copy>p{max-width:54ch;margin:30px 0 0;color:#c8cec4;font-size:clamp(17px,1.45vw,21px);line-height:1.62}
.hx-copy>.hx-note{max-width:47ch;margin-top:22px;padding:16px 0 16px 20px;border-left:2px solid rgba(214,179,97,.48);color:#e5e8e0;font-size:15px;line-height:1.55}
.hx-equipment{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin:40px 0 0;padding:0;list-style:none;border-top:1px solid rgba(214,179,97,.2)}
.hx-equipment li{position:relative;padding:15px 0 15px 20px;border-bottom:1px solid rgba(237,240,233,.12);color:#e5e8e1;font-size:14px;font-weight:700}
.hx-equipment li:before{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;border-radius:50%;background:var(--hx-signal);transform:translateY(-50%);box-shadow:0 0 12px rgba(214,179,97,.45)}
.hx-cycle{counter-reset:hx-cycle;margin:46px 0 0;padding:0;list-style:none;border-left:1px solid rgba(214,179,97,.3)}
.hx-cycle li{counter-increment:hx-cycle;position:relative;min-height:58px;padding:4px 0 22px 46px;color:#e7e9e3;font-size:clamp(18px,1.7vw,23px);font-weight:750}
.hx-cycle li:before{content:counter(hx-cycle,decimal-leading-zero);position:absolute;left:-15px;top:0;width:30px;height:30px;display:grid;place-items:center;color:#131711;background:var(--hx-signal);border-radius:50%;font-size:10px;font-weight:1000}
.hx-finale{position:relative;min-height:108svh;display:grid;align-items:center;width:min(1420px,calc(100% - 48px));margin:0 auto;padding:140px 0 90px}
.hx-finale:before{content:"";position:absolute;inset:12% -18% -15%;z-index:-1;background:radial-gradient(ellipse at 50% 50%,rgba(115,132,113,.1),transparent 63%);filter:blur(20px)}
.hx-finale-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(320px,.58fr);gap:8vw;align-items:end;padding-top:46px;border-top:1px solid rgba(214,179,97,.32);transform:translateZ(0);backface-visibility:hidden}
.hx-finale h2{margin:0;font-size:clamp(48px,6vw,88px);line-height:.95;letter-spacing:0;color:var(--hx-paper);font-weight:1000}
.hx-finale h2 span{display:block}
.hx-finale h2 span:nth-child(2){color:var(--hx-signal)}
.hx-finale-copy>p{margin:0 0 34px;color:#c8cec4;font-size:clamp(17px,1.4vw,20px);line-height:1.62}
.hx-facts{margin:0 0 38px}
.hx-facts div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid rgba(237,240,233,.14)}
.hx-facts div:last-child{border-bottom:1px solid rgba(237,240,233,.14)}
.hx-facts dt{color:rgba(237,240,233,.55);font-size:12px;text-transform:uppercase}
.hx-facts dd{margin:0;color:var(--hx-paper);font-weight:820;text-align:right}
.hx-finale-copy>.hx-demand{margin:-12px 0 24px;color:#d7c99f;font-size:13px;font-weight:780}
.hx-book{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:0 20px;color:#12140f;background:var(--hx-signal);text-decoration:none;font-weight:950;transition:transform 180ms cubic-bezier(.22,1,.36,1),background-color 180ms cubic-bezier(.22,1,.36,1)}
.hx-book i{font-style:normal;font-size:23px}
.hx-book:active{transform:scale(.98)}
.halloween-footer{background:#050605;border-top:1px solid rgba(214,179,97,.14)}
.halloween-footer a{color:#d7c99f}
@media(hover:hover) and (pointer:fine){
  .hx-book:hover{transform:translateY(-2px);background:#e2c375}
  .hx-scroll-cue:hover{color:#fff}
}
@media(max-width:900px){
  .hx-hero{grid-template-columns:1fr;grid-template-rows:auto 1fr auto auto;width:min(100% - 32px,720px);padding-top:104px}
  .hx-hero-mark{left:38%;top:21%;width:72vw}
  .hx-hero-title{grid-column:1;align-self:end}
  .hx-hero-brief{grid-column:1;align-self:start;width:min(88%,450px);margin-left:auto}
  .hx-hero-data{grid-column:1}
  .hx-scroll-cue{grid-column:1}
  .hx-chapter,.hx-finale{width:min(100% - 32px,720px)}
  .hx-copy{width:min(100%,600px)}
  .hx-finale-inner{grid-template-columns:1fr;gap:48px}
  .hx-finale-copy{width:min(100%,540px);margin-left:auto}
}
@media(max-width:620px){
  .halloween-page .topbar{background:rgba(7,9,8,.94)}
  .halloween-page .topbar .cta-btn{background:#d6b361;color:#10120e}
  .halloween-page .navlinks{background:rgba(7,9,8,.98);border-color:rgba(214,179,97,.24)}
  .hx-mist{filter:blur(16px)}
  .hx-hero{min-height:100svh;width:calc(100% - 28px);gap:18px;padding:88px 0 22px}
  .hx-hero-brand{font-size:10px;gap:18px}
  .hx-hero-brand span:last-child{text-align:right}
  .hx-hero-mark{left:25%;top:18%;width:92vw;opacity:.45}
  .hx-warning{margin-bottom:15px;font-size:14px}
  .hx-hero h1{max-width:100%;font-size:clamp(46px,15vw,64px);line-height:.8}
  .hx-hero h1 strong{margin-top:12px;font-size:.36em}
  .hx-hero-brief{width:92%;margin:0;padding:16px 0 16px 20px}
  .hx-hero-brief p{font-size:17px}
  .hx-hero-brief p+p{margin-top:10px;font-size:14px}
  .hx-hero-data{grid-template-columns:1fr 1fr}
  .hx-hero-data span{padding:11px 8px 9px 0;border-bottom:1px solid rgba(237,240,233,.1);font-size:9px}
  .hx-hero-data strong{font-size:15px}
  .hx-scroll-cue{justify-self:start}
  .hx-chapter{min-height:100svh;width:calc(100% - 32px);padding:100px 0 84px}
  .hx-copy-left,.hx-copy-right{justify-self:start;transform:translate3d(0,24px,0)}
  .hx-copy:before{inset:-50px 0}
  .hx-chapter-number{top:-68px;left:-12px;font-size:150px}
  .hx-chapter-number{min-width:36px;margin-bottom:14px;font-size:10px}
  .hx-kicker{margin-bottom:14px;font-size:10px!important}
  .hx-copy h2{font-size:clamp(34px,10.5vw,48px);line-height:1.02;hyphens:auto;overflow-wrap:break-word}
  .hx-chapter-modes .hx-copy h2{font-size:clamp(32px,9.8vw,46px);hyphens:none;overflow-wrap:normal}
  .hx-copy>p{margin-top:22px;font-size:16px;line-height:1.58}
  .hx-equipment{grid-template-columns:1fr;margin-top:30px}
  .hx-equipment li{padding-top:11px;padding-bottom:11px;font-size:13px}
  .hx-cycle{margin-top:34px}
  .hx-cycle li{min-height:50px;font-size:17px}
  .hx-finale{min-height:auto;width:calc(100% - 32px);padding:118px 0 74px}
  .hx-finale-inner{gap:38px;background:linear-gradient(180deg,transparent 0,rgba(7,9,8,.9) 43%,#070908 58%)}
  .hx-finale h2{font-size:clamp(40px,11.5vw,54px);line-height:.94}
  .hx-finale-copy>p{font-size:16px}
  .hx-facts div{align-items:baseline;padding:13px 0}
  .hx-facts dd{font-size:14px}
  .hx-book{min-height:56px}
}
@media(max-height:690px) and (max-width:620px){.hx-hero{min-height:760px}}
@media(prefers-reduced-motion:reduce){
  .hx-canvas{display:none}
  .hx-mist,.hx-scroll-cue i:after,.hx-hero-mark{animation:none!important}
  .hx-copy{opacity:1!important;transform:none!important;transition:none!important}
  .hx-book,.hx-skip{transition:none}
}
@keyframes hxTrace{0%,16%{transform:translateX(-100%)}58%,100%{transform:translateX(110%)}}
@keyframes hxMistA{0%{transform:translate3d(-8%,0,0)}50%{transform:translate3d(32%,7%,0)}100%{transform:translate3d(70%,-2%,0)}}
@keyframes hxMistB{0%{transform:translate3d(12%,0,0)}50%{transform:translate3d(-28%,-8%,0)}100%{transform:translate3d(-64%,2%,0)}}
@keyframes hxMarkDrift{from{transform:rotate(-2deg) scale(.98)}to{transform:rotate(3deg) scale(1.02)}}
