
/* ===== round-2 overrides: motion, sweep v4, clean bg, glass frames ===== */
:root{--spr:cubic-bezier(.34,1.34,.42,1);--wash:rgba(23,67,242,.05);
  --grainbg:none;
  --dith1:linear-gradient(180deg,var(--pt,rgba(247,246,242,0)),var(--paper) 82%);
  --dith2:linear-gradient(180deg,var(--pt,rgba(247,246,242,0)),var(--paper))}
html:not([data-theme="light"]){--wash:rgba(107,132,255,.07)}
body{background:radial-gradient(1150px 600px at 82% -10%,var(--wash),transparent 60%),var(--paper)}
/* sweep v4: thick, slow, heavily feathered */
.btn-solid::before{inset:-60%;
  background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.05) 22%,rgba(255,255,255,.24) 50%,rgba(255,255,255,.05) 78%,transparent 100%);
  filter:blur(14px);transform:translateX(-125%);transition:none}
.btn-solid:hover::before{transform:translateX(125%);transition:transform 3.4s cubic-bezier(.25,.5,.25,1)}
/* logos: identical treatment for every mark on dark, crisp white, no mush */
html:not([data-theme="light"]) .marq-track img,
html:not([data-theme="light"]) .marq-track img[alt="GetJacked"],
html:not([data-theme="light"]) .marq-track img[alt="Gamer Supps"],
html:not([data-theme="light"]) .marq-track img[alt="Sanctum"],
html:not([data-theme="light"]) .f-logos img{filter:brightness(0) invert(1);opacity:.8}
html:not([data-theme="light"]) .marq-track img:hover,
html:not([data-theme="light"]) .f-logos img:hover{opacity:1}
/* work grid caption scrim: tight and clean on dark */
html:not([data-theme="light"]) .wi::after{background:linear-gradient(to top,rgba(7,6,5,.8),rgba(7,6,5,0) 36%)}
/* hero: rounded, centered period */
.hero h1 .b{color:transparent;position:relative;display:inline-block;width:.34em}
.hero h1 .b::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:.08em;width:.17em;height:.17em;border-radius:50%;background:var(--blue)}
.hero-mark::after{display:none}
/* case pages: client logo as title, liquid glass mat behind videos */
.pj-h1-logo{height:clamp(46px,7.2vw,86px);width:auto;display:inline-block;vertical-align:baseline}
html:not([data-theme="light"]) .pj-h1-logo{filter:invert(1)}
.case-frame,.pj-video,.reel-frame,.oc-frame{isolation:isolate}
.case-frame,.pj-video,.reel-frame{position:relative}
.case-frame::before,.pj-video::before,.reel-frame::before{content:"";position:absolute;inset:-14px;border-radius:26px;z-index:-1;
  background:var(--glass);border:1px solid var(--glass-line);
  -webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);
  box-shadow:inset 0 1px 1px var(--spec2),var(--card-sh)}
/* exit handled in fx7 without body filters */
/* ===== apple-style motion language: gentle spring everywhere ===== */
@media (prefers-reduced-motion: no-preference){
  .btn{transition:transform .5s var(--spr),box-shadow .5s var(--spr),background-color .32s ease,border-color .32s ease,color .32s ease}
  .btn:hover{transform:translateY(-2px)}
  .btn:active{transform:translateY(0) scale(.965);transition-duration:.16s}
  .tier,.door,.svc,.role-card,.perk,.call-card,.wi{transition:transform .55s var(--spr),box-shadow .55s var(--spr),background-color .35s ease,border-color .35s ease}
  .tier:hover,.door:hover,.svc:hover,.role-card:hover,.wi:hover{transform:translateY(-4px)}
  .to-top{transition:transform .5s var(--spr),opacity .3s ease,border-color .3s ease}
  .to-top:hover{transform:translateY(-3px) scale(1.05)}
  .marq-track img{transition:transform .5s var(--spr),opacity .3s ease,filter .3s ease}
  .marq-track img:hover{transform:translateY(-3px)}
  .nav-pill{transition:left .55s var(--spr),width .55s var(--spr),opacity .28s ease}
  .theme-tg .kn{transition:transform .55s var(--spr)}
  .nav-links a.link{transition:color .3s ease,transform .45s var(--spr)}
  .nav-links a.link:hover{transform:translateY(-1px)}
  .dd.open .dd-menu{animation:ddPop .5s var(--spr)}
}
@keyframes ddPop{from{opacity:0;transform:translateY(-6px) scale(.96)}}
