/* CUBIT motion layer (Higgsfield set 1), 2026-11-01. Progressive: everything is added by cubit-motion.js. */
.cb-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;border:0}
/* Ivory grain on ivory sections */
section.ivory{position:relative;isolation:isolate}
.cb-grain{z-index:-1;opacity:.28;mix-blend-mode:multiply;transition:opacity 1.2s}
.cb-grain.cb-wait{opacity:0}
/* Brass wipe divider */
.cb-divider{position:relative;height:clamp(56px,8vw,110px);overflow:hidden;background:var(--obsidian,#0D0D0E)}
.cb-divider .cb-media{mix-blend-mode:screen}
/* Space Score question transition */
.score{position:relative}
.cb-q{transition:opacity .45s ease,transform .45s ease}
.cb-q.leaving{opacity:0;transform:translateX(-24px)}
.cb-q.entering{opacity:0;transform:translateX(24px)}
.cb-score-wipe{position:absolute;left:0;right:0;top:-34px;height:70px;overflow:hidden;pointer-events:none;mix-blend-mode:screen;z-index:1;opacity:.75;
  -webkit-mask-image:radial-gradient(ellipse 60% 18% at 50% 50%,#000 30%,transparent 100%);mask-image:radial-gradient(ellipse 60% 18% at 50% 50%,#000 30%,transparent 100%)}
.cb-score-wipe .cb-media{filter:brightness(1.15) contrast(1.4)}
/* Loader cube */
.cb-loader{position:relative;display:block;width:96px;height:96px;border-radius:50%;overflow:hidden;background:var(--obsidian,#0D0D0E);margin:40px auto;box-shadow:0 0 0 1px rgba(198,164,106,.25)}
.cb-loader-sm{display:inline-block;vertical-align:middle;width:28px;height:28px;margin:0 0 0 12px;border-radius:50%}
.cb-calc{text-align:center;padding:40px 0}
.cb-calc p{font:400 12px/1 var(--mono,monospace);letter-spacing:.3em;text-transform:uppercase;color:var(--stone,#8B867C)}
/* Intro: ambient + logo, revealed by a brass wipe into the clean hero */
html.cb-intro-on{overflow:hidden}
#cb-intro{position:fixed;inset:0;z-index:9999;background:#0D0D0E;cursor:pointer;clip-path:inset(0 0 0 0);
  transition:clip-path 1.3s cubic-bezier(.65,0,.25,1)}
#cb-intro.cb-reveal{clip-path:inset(0 0 0 100%)}
#cb-intro.cb-fast{transition-duration:.8s}
#cb-intro .cb-i-amb{opacity:.85}
#cb-intro .cb-i-logo{object-fit:contain;mix-blend-mode:screen;filter:contrast(1.25) brightness(.95);
  -webkit-mask-image:radial-gradient(closest-side,#000 55%,transparent 100%);mask-image:radial-gradient(closest-side,#000 55%,transparent 100%)}
@media (max-aspect-ratio:1/1){#cb-intro .cb-i-logo{inset:auto 0;top:50%;height:auto;aspect-ratio:1344/768;transform:translateY(-50%);-webkit-mask-image:radial-gradient(ellipse 50% 50%,#000 60%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50%,#000 60%,transparent 100%)}}
#cb-intro .cb-i-wipe{mix-blend-mode:screen;opacity:0;transition:opacity .2s}
#cb-intro.cb-reveal .cb-i-wipe{opacity:1}
#cb-intro.cb-reveal .cb-i-logo{opacity:0;transition:opacity .6s}
#cb-intro button{position:absolute;right:24px;bottom:24px;background:none;border:1px solid rgba(198,164,106,.5);color:#F1ECE3;
  font:400 11px/1 var(--mono,monospace);letter-spacing:.3em;text-transform:uppercase;padding:12px 18px;cursor:pointer}
#cb-intro button:hover,#cb-intro button:focus-visible{border-color:var(--brass,#C6A46A)}
/* Brass hover underline */
header.site .links a,.menu a:not(.btn),.more,.next-link,.foot a{position:relative;text-decoration:none}
header.site .links a::after,.more::after,.next-link::after{content:"";position:absolute;left:0;bottom:-3px;height:1px;width:100%;background:var(--brass,#C6A46A);
  transform:scaleX(0);transform-origin:right;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
header.site .links a:hover::after,header.site .links a:focus-visible::after,a:hover .more::after,.more:hover::after,.next-link:hover::after,.next-link:focus-visible::after{transform:scaleX(1);transform-origin:left}
/* Button brass sheen */
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(110deg,transparent 30%,rgba(198,164,106,.35) 50%,transparent 70%);
  transform:translateX(-120%);transition:transform .9s ease}
.btn:hover::before{transform:translateX(120%)}
/* K·2·04 tick */
.cb-addr b,.cb-addr s{display:inline-block;font:inherit;text-decoration:none;letter-spacing:inherit;opacity:0;transform:translateY(.4em)}
.cb-addr.cb-go b,.cb-addr.cb-go s{animation:cbTick .6s cubic-bezier(.2,.8,.2,1) forwards}
.cb-addr :nth-child(2){animation-delay:.15s!important}.cb-addr :nth-child(3){animation-delay:.3s!important}
.cb-addr :nth-child(4){animation-delay:.45s!important}.cb-addr :nth-child(5){animation-delay:.6s!important}
@keyframes cbTick{to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){
  .cb-media,#cb-intro,.cb-divider,.cb-score-wipe{display:none!important}
  .cb-q,.btn::before,.cb-grain{transition:none!important}
  .cb-addr b,.cb-addr s{animation:none!important;opacity:1;transform:none}
}
