/* ===== Motion layer: everything here is decorative and degrades to the static design ===== */

/* Scroll progress */
.progress{position:fixed;inset:0 0 auto 0;height:2px;z-index:120;pointer-events:none}
.progress span{display:block;height:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#a8841f,#f3d47a 60%,#d4af37)}

/* Custom cursor (fine pointers only, enabled by JS) */
.cur{display:none}
.has-cursor .cur{display:block;position:fixed;inset:0;pointer-events:none;z-index:130}
.has-cursor .cur__dot,.has-cursor .cur__ring{position:fixed;left:0;top:0;border-radius:50%;transform:translate3d(-100px,-100px,0)}
.cur__dot{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--gold)}
.cur__ring{width:38px;height:38px;margin:-19px 0 0 -19px;border:1px solid rgba(212,175,55,.6);display:grid;place-items:center;transition:width .45s var(--ease),height .45s var(--ease),margin .45s var(--ease),background .45s var(--ease),border-color .45s}
.cur__label{font:700 11px/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);opacity:0;transition:opacity .25s}
.cur.is-link .cur__ring{width:58px;height:58px;margin:-29px 0 0 -29px;border-color:var(--gold)}
.cur.is-label .cur__ring{width:96px;height:96px;margin:-48px 0 0 -48px;background:var(--gold);border-color:var(--gold)}
.cur.is-label .cur__label{opacity:1}
.cur.is-label .cur__dot{opacity:0}
.has-cursor,.has-cursor a,.has-cursor button,.has-cursor .pillar{cursor:none}
.has-cursor input{cursor:text}

/* Hero dust */
.hero__dust{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;mix-blend-mode:screen}
.hero__media{will-change:transform}
.m-on .hero__title .ln>span{transform:none;transition:none}
.hero__title .ch{display:inline-block;will-change:transform}
.hero__title em{position:relative;display:inline-block;background:linear-gradient(110deg,#a8841f 0%,#d4af37 35%,#fff1b8 50%,#d4af37 65%,#a8841f 100%);background-size:250% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent}
.m-on .hero__title em{animation:shine 5.5s ease-in-out 2.4s infinite}
@keyframes shine{0%,55%{background-position:100% 0}85%,100%{background-position:-50% 0}}

/* Word-mask headings */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.w>span{display:inline-block;will-change:transform}
.hw{transition:color .2s}

/* Buttons: gold sheen + magnetic */
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn::before{content:"";position:absolute;inset:-2px;z-index:-1;background:linear-gradient(105deg,transparent 30%,rgba(255,244,200,.7) 50%,transparent 70%);transform:translateX(-120%);transition:transform .9s var(--ease)}
.btn:hover::before{transform:translateX(120%)}
.btn--ghost::after{content:"";position:absolute;inset:0;z-index:-2;background:var(--gold);transform:scaleY(0);transform-origin:50% 100%;transition:transform .5s var(--ease)}
.btn--ghost:hover{color:var(--ink);border-color:var(--gold);background:transparent}
.btn--ghost:hover::after{transform:scaleY(1)}
.btn>*{pointer-events:none}

/* Pillar spotlight */
.pillar::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity .5s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(212,175,55,.22),transparent 60%)}
.pillar:hover::before{opacity:1}
.pillar__body{z-index:1}

/* Kinetic band */
.kin{background:var(--ink);padding-block:clamp(2.5rem,6vw,5rem);overflow:hidden;border-block:1px solid var(--line)}
.kin__row{white-space:nowrap;line-height:.95}
.kin__track{display:inline-flex;align-items:center;gap:clamp(1.25rem,3vw,3rem);padding-right:clamp(1.25rem,3vw,3rem);will-change:transform}
.kin__track span{font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:-.03em;font-size:clamp(3rem,9vw,8.5rem);color:var(--text)}
.kin__row--o .kin__track span{color:transparent;-webkit-text-stroke:1.5px var(--gold)}
.kin__track i{width:clamp(14px,1.6vw,24px);height:clamp(14px,1.6vw,24px);background:var(--gold);transform:rotate(45deg);flex:none}
.kin__row--o .kin__track i{background:transparent;border:1.5px solid var(--gold)}

/* Footer wordmark */
.foot__mark{overflow:hidden;text-align:center;font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:-.045em;line-height:.85;font-size:clamp(2.5rem,9.4vw,11rem);padding:var(--space-16) var(--gutter) 0;white-space:nowrap;color:var(--text)}
.foot__mark em{font-style:normal;background:linear-gradient(180deg,#f3d47a,#a8841f);-webkit-background-clip:text;background-clip:text;color:transparent}
.foot__mark .ch{display:inline-block}

/* Image reveals */
.rv{will-change:clip-path}

@media (max-width:640px){
  .foot__mark{font-size:10.4vw;padding-top:var(--space-12)}
  .kin__row--o .kin__track span{-webkit-text-stroke-width:1px}
}
@media (prefers-reduced-motion:reduce){
  .hero__dust,.progress{display:none}
  .m-on .hero__title em{animation:none}
}
.m-on .mat__b{transition:none}
